lusid-sdk 2.0.50b0__py3-none-any.whl → 2.1.683__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- lusid/__init__.py +1647 -15
- lusid/api/__init__.py +87 -0
- lusid/api/abor_api.py +807 -305
- lusid/api/abor_configuration_api.py +72 -70
- lusid/api/address_key_definition_api.py +30 -29
- lusid/api/aggregation_api.py +41 -40
- lusid/api/allocations_api.py +83 -71
- lusid/api/amortisation_rule_sets_api.py +1101 -0
- lusid/api/application_metadata_api.py +30 -29
- lusid/api/blocks_api.py +45 -44
- lusid/api/calendars_api.py +492 -142
- lusid/api/chart_of_accounts_api.py +2488 -644
- lusid/api/complex_market_data_api.py +41 -40
- lusid/api/compliance_api.py +1147 -444
- lusid/api/configuration_recipe_api.py +1237 -94
- lusid/api/conventions_api.py +111 -110
- lusid/api/corporate_action_sources_api.py +98 -97
- lusid/api/counterparties_api.py +75 -74
- lusid/api/custom_data_models_api.py +1043 -0
- lusid/api/custom_entities_api.py +116 -115
- lusid/api/custom_entity_definitions_api.py +39 -38
- lusid/api/custom_entity_types_api.py +39 -38
- lusid/api/cut_label_definitions_api.py +57 -64
- lusid/api/data_types_api.py +417 -97
- lusid/api/derived_transaction_portfolios_api.py +21 -20
- lusid/api/entities_api.py +1110 -13
- lusid/api/executions_api.py +49 -48
- lusid/api/fee_types_api.py +1053 -0
- lusid/api/fund_configuration_api.py +1120 -0
- lusid/api/funds_api.py +4402 -0
- lusid/api/group_reconciliations_api.py +2497 -0
- lusid/api/instrument_event_types_api.py +1288 -0
- lusid/api/instrument_events_api.py +232 -42
- lusid/api/instruments_api.py +391 -211
- lusid/api/legacy_compliance_api.py +87 -86
- lusid/api/legal_entities_api.py +201 -200
- lusid/api/order_graph_api.py +46 -45
- lusid/api/order_instructions_api.py +45 -44
- lusid/api/order_management_api.py +1537 -67
- lusid/api/orders_api.py +58 -65
- lusid/api/packages_api.py +45 -44
- lusid/api/participations_api.py +39 -38
- lusid/api/persons_api.py +342 -182
- lusid/api/placements_api.py +51 -50
- lusid/api/portfolio_groups_api.py +263 -254
- lusid/api/portfolios_api.py +1343 -417
- lusid/api/property_definitions_api.py +304 -98
- lusid/api/queryable_keys_api.py +212 -0
- lusid/api/quotes_api.py +106 -121
- lusid/api/reconciliations_api.py +548 -2115
- lusid/api/reference_lists_api.py +41 -40
- lusid/api/reference_portfolio_api.py +215 -38
- lusid/api/relation_definitions_api.py +30 -29
- lusid/api/relations_api.py +22 -21
- lusid/api/relationship_definitions_api.py +48 -47
- lusid/api/relationships_api.py +23 -22
- lusid/api/schemas_api.py +46 -53
- lusid/api/scopes_api.py +192 -11
- lusid/api/scripted_translation_api.py +105 -102
- lusid/api/search_api.py +39 -38
- lusid/api/sequences_api.py +39 -38
- lusid/api/simple_position_portfolios_api.py +213 -0
- lusid/api/staged_modifications_api.py +763 -0
- lusid/api/staging_rule_set_api.py +886 -0
- lusid/api/structured_result_data_api.py +90 -89
- lusid/api/system_configuration_api.py +66 -65
- lusid/api/tax_rule_sets_api.py +48 -47
- lusid/api/timelines_api.py +1307 -0
- lusid/api/transaction_configuration_api.py +124 -123
- lusid/api/transaction_fees_api.py +48 -47
- lusid/api/transaction_portfolios_api.py +1454 -925
- lusid/api/translation_api.py +21 -20
- lusid/api/workspace_api.py +3482 -0
- lusid/api_client.py +31 -20
- lusid/api_response.py +1 -1
- lusid/configuration.py +102 -8
- lusid/extensions/__init__.py +12 -7
- lusid/extensions/api_client.py +28 -18
- lusid/extensions/api_client_factory.py +168 -45
- lusid/extensions/api_configuration.py +172 -14
- lusid/extensions/configuration_loaders.py +117 -20
- lusid/extensions/configuration_options.py +67 -0
- lusid/extensions/file_access_token.py +42 -0
- lusid/extensions/proxy_config.py +8 -5
- lusid/extensions/rest.py +78 -26
- lusid/extensions/retry.py +109 -37
- lusid/extensions/socket_keep_alive.py +14 -15
- lusid/extensions/tcp_keep_alive_connector.py +93 -46
- lusid/models/__init__.py +1537 -14
- lusid/models/a2_b_breakdown.py +9 -1
- lusid/models/a2_b_category.py +9 -1
- lusid/models/a2_b_data_record.py +9 -1
- lusid/models/a2_b_movement_record.py +9 -1
- lusid/models/abor.py +18 -3
- lusid/models/abor_configuration.py +17 -9
- lusid/models/abor_configuration_properties.py +9 -1
- lusid/models/abor_configuration_request.py +18 -10
- lusid/models/abor_properties.py +9 -1
- lusid/models/abor_request.py +10 -2
- lusid/models/accept_estimate_valuation_point_response.py +108 -0
- lusid/models/access_controlled_action.py +9 -1
- lusid/models/access_controlled_resource.py +9 -1
- lusid/models/access_metadata_operation.py +12 -4
- lusid/models/access_metadata_value.py +10 -2
- lusid/models/account.py +16 -3
- lusid/models/account_properties.py +9 -1
- lusid/models/accounted_transaction.py +96 -0
- lusid/models/accounting_method.py +10 -0
- lusid/models/accounts_upsert_response.py +9 -1
- lusid/models/accumulation_event.py +112 -0
- lusid/models/action_id.py +10 -2
- lusid/models/add_business_days_to_date_request.py +9 -1
- lusid/models/add_business_days_to_date_response.py +9 -1
- lusid/models/additional_payment.py +12 -4
- lusid/models/address_definition.py +9 -1
- lusid/models/address_key_compliance_parameter.py +13 -12
- lusid/models/address_key_definition.py +9 -1
- lusid/models/address_key_filter.py +9 -1
- lusid/models/address_key_list.py +13 -5
- lusid/models/address_key_list_compliance_parameter.py +12 -4
- lusid/models/address_key_option_definition.py +12 -2
- lusid/models/adjust_global_commitment_event.py +101 -0
- lusid/models/adjust_holding.py +9 -1
- lusid/models/adjust_holding_for_date_request.py +9 -1
- lusid/models/adjust_holding_request.py +9 -1
- lusid/models/aggregate_spec.py +12 -4
- lusid/models/aggregated_return.py +9 -1
- lusid/models/aggregated_returns_dispersion_request.py +9 -1
- lusid/models/aggregated_returns_request.py +9 -1
- lusid/models/aggregated_returns_response.py +9 -1
- lusid/models/aggregated_transactions_request.py +9 -1
- lusid/models/aggregation_context.py +9 -1
- lusid/models/aggregation_measure_failure_detail.py +9 -1
- lusid/models/aggregation_op.py +1 -0
- lusid/models/aggregation_options.py +9 -1
- lusid/models/aggregation_query.py +9 -1
- lusid/models/alias.py +79 -0
- lusid/models/allocation.py +9 -1
- lusid/models/allocation_request.py +9 -1
- lusid/models/allocation_service_run_response.py +9 -1
- lusid/models/allocation_set_request.py +9 -1
- lusid/models/amortisation_event.py +13 -7
- lusid/models/amortisation_rule.py +112 -0
- lusid/models/amortisation_rule_set.py +141 -0
- lusid/models/amount.py +77 -0
- lusid/models/annul_quotes_response.py +9 -1
- lusid/models/annul_single_structured_data_response.py +9 -1
- lusid/models/annul_structured_data_response.py +9 -1
- lusid/models/applicable_instrument_event.py +138 -0
- lusid/models/{underlying_leg.py → asset_leg.py} +25 -17
- lusid/models/barrier.py +9 -1
- lusid/models/basket.py +12 -4
- lusid/models/basket_identifier.py +9 -1
- lusid/models/batch_adjust_holdings_response.py +9 -1
- lusid/models/batch_update_user_review_for_comparison_result_request.py +89 -0
- lusid/models/batch_update_user_review_for_comparison_result_response.py +154 -0
- lusid/models/batch_upsert_dates_for_calendar_response.py +154 -0
- lusid/models/batch_upsert_instrument_properties_response.py +9 -1
- lusid/models/batch_upsert_portfolio_access_metadata_request.py +100 -0
- lusid/models/batch_upsert_portfolio_access_metadata_response.py +130 -0
- lusid/models/batch_upsert_portfolio_access_metadata_response_item.py +100 -0
- lusid/models/batch_upsert_portfolio_transactions_response.py +9 -1
- lusid/models/batch_upsert_property_definition_properties_response.py +9 -1
- lusid/models/block.py +9 -1
- lusid/models/block_and_order_id_request.py +86 -0
- lusid/models/block_and_orders.py +91 -0
- lusid/models/block_and_orders_create_request.py +85 -0
- lusid/models/block_and_orders_request.py +142 -0
- lusid/models/block_request.py +9 -1
- lusid/models/block_set_request.py +9 -1
- lusid/models/blocked_order_request.py +138 -0
- lusid/models/bond.py +29 -8
- lusid/models/bond_conversion_entry.py +83 -0
- lusid/models/bond_conversion_schedule.py +138 -0
- lusid/models/bond_coupon_event.py +110 -0
- lusid/models/bond_default_event.py +16 -18
- lusid/models/bond_principal_event.py +110 -0
- lusid/models/bonus_issue_event.py +174 -0
- lusid/models/book_transactions_request.py +105 -0
- lusid/models/book_transactions_response.py +9 -1
- lusid/models/bool_compliance_parameter.py +12 -4
- lusid/models/bool_list_compliance_parameter.py +12 -4
- lusid/models/branch_step.py +109 -0
- lusid/models/branch_step_request.py +106 -0
- lusid/models/break_code_source.py +81 -0
- lusid/models/bucketed_cash_flow_request.py +9 -1
- lusid/models/bucketed_cash_flow_response.py +9 -1
- lusid/models/bucketing_schedule.py +9 -1
- lusid/models/calculation_info.py +9 -1
- lusid/models/calendar.py +26 -3
- lusid/models/calendar_date.py +9 -1
- lusid/models/calendar_dependency.py +9 -1
- lusid/models/call_on_intermediate_securities_event.py +147 -0
- lusid/models/cancel_order_and_move_remaining_result.py +92 -0
- lusid/models/cancel_orders_and_move_remaining_request.py +91 -0
- lusid/models/cancel_orders_and_move_remaining_response.py +161 -0
- lusid/models/cancel_orders_response.py +161 -0
- lusid/models/cancel_placements_response.py +161 -0
- lusid/models/cancel_single_holding_adjustment_request.py +104 -0
- lusid/models/cancelled_order_result.py +81 -0
- lusid/models/cancelled_placement_result.py +91 -0
- lusid/models/cap_floor.py +42 -9
- lusid/models/capital_distribution_event.py +125 -0
- lusid/models/cash.py +101 -0
- lusid/models/cash_and_security_offer_election.py +98 -0
- lusid/models/cash_dependency.py +9 -1
- lusid/models/cash_dividend_event.py +40 -10
- lusid/models/cash_election.py +99 -0
- lusid/models/cash_flow_event.py +14 -8
- lusid/models/cash_flow_lineage.py +9 -1
- lusid/models/cash_flow_value.py +9 -1
- lusid/models/cash_flow_value_set.py +9 -1
- lusid/models/cash_ladder_record.py +9 -1
- lusid/models/cash_offer_election.py +85 -0
- lusid/models/cash_perpetual.py +12 -4
- lusid/models/cds_credit_event.py +113 -0
- lusid/models/cds_flow_conventions.py +10 -2
- lusid/models/cds_index.py +31 -8
- lusid/models/cds_protection_detail_specification.py +9 -1
- lusid/models/cdx_credit_event.py +122 -0
- lusid/models/change.py +9 -1
- lusid/models/change_history.py +9 -1
- lusid/models/change_interval.py +131 -0
- lusid/models/change_interval_with_order_management_detail.py +145 -0
- lusid/models/change_item.py +9 -1
- lusid/models/chart_of_accounts.py +9 -1
- lusid/models/chart_of_accounts_properties.py +9 -1
- lusid/models/chart_of_accounts_request.py +9 -1
- lusid/models/check_step.py +118 -0
- lusid/models/check_step_request.py +106 -0
- lusid/models/cleardown_module_details.py +103 -0
- lusid/models/cleardown_module_request.py +125 -0
- lusid/models/cleardown_module_response.py +147 -0
- lusid/models/cleardown_module_rule.py +102 -0
- lusid/models/cleardown_module_rules_updated_response.py +118 -0
- lusid/models/client.py +9 -1
- lusid/models/close_event.py +12 -4
- lusid/models/close_period_diary_entry_request.py +157 -0
- lusid/models/closed_period.py +136 -0
- lusid/models/comparison_attribute_value_pair.py +84 -0
- lusid/models/complete_portfolio.py +20 -5
- lusid/models/complete_relation.py +9 -1
- lusid/models/complete_relationship.py +9 -1
- lusid/models/complex_bond.py +30 -9
- lusid/models/complex_market_data.py +15 -6
- lusid/models/complex_market_data_id.py +9 -1
- lusid/models/compliance_breached_order_info.py +9 -1
- lusid/models/compliance_parameter.py +19 -6
- lusid/models/compliance_parameter_type.py +5 -0
- lusid/models/compliance_rule.py +9 -1
- lusid/models/compliance_rule_breakdown.py +25 -9
- lusid/models/compliance_rule_breakdown_request.py +21 -5
- lusid/models/compliance_rule_response.py +9 -1
- lusid/models/compliance_rule_result.py +9 -1
- lusid/models/compliance_rule_result_detail.py +9 -1
- lusid/models/compliance_rule_result_portfolio_detail.py +9 -1
- lusid/models/compliance_rule_result_v2.py +93 -0
- lusid/models/compliance_rule_template.py +161 -0
- lusid/models/compliance_rule_upsert_request.py +9 -1
- lusid/models/compliance_rule_upsert_response.py +9 -1
- lusid/models/compliance_run_configuration.py +81 -0
- lusid/models/compliance_run_info.py +9 -1
- lusid/models/compliance_run_info_v2.py +9 -1
- lusid/models/compliance_step.py +108 -0
- lusid/models/compliance_step_request.py +107 -0
- lusid/models/compliance_step_type.py +43 -0
- lusid/models/compliance_step_type_request.py +42 -0
- lusid/models/compliance_summary_rule_result.py +20 -15
- lusid/models/compliance_summary_rule_result_request.py +20 -15
- lusid/models/compliance_template.py +9 -1
- lusid/models/compliance_template_parameter.py +9 -1
- lusid/models/compliance_template_variation.py +29 -4
- lusid/models/compliance_template_variation_dto.py +120 -0
- lusid/models/compliance_template_variation_request.py +120 -0
- lusid/models/component_filter.py +93 -0
- lusid/models/component_transaction.py +107 -0
- lusid/models/composite_breakdown.py +9 -1
- lusid/models/composite_breakdown_request.py +9 -1
- lusid/models/composite_breakdown_response.py +9 -1
- lusid/models/composite_dispersion.py +39 -6
- lusid/models/composite_dispersion_response.py +9 -1
- lusid/models/compounding.py +13 -5
- lusid/models/configuration_recipe.py +18 -19
- lusid/models/constant_volatility_surface.py +110 -0
- lusid/models/constituents_adjustment_header.py +9 -1
- lusid/models/contract_details.py +109 -0
- lusid/models/contract_for_difference.py +16 -6
- lusid/models/contract_initialisation_event.py +107 -0
- lusid/models/contribution_to_non_passing_rule_detail.py +97 -0
- lusid/models/corporate_action.py +9 -1
- lusid/models/corporate_action_source.py +9 -1
- lusid/models/corporate_action_transition.py +9 -1
- lusid/models/corporate_action_transition_component.py +9 -1
- lusid/models/corporate_action_transition_component_request.py +9 -1
- lusid/models/corporate_action_transition_request.py +9 -1
- lusid/models/counterparty_agreement.py +9 -1
- lusid/models/counterparty_risk_information.py +9 -1
- lusid/models/counterparty_signatory.py +9 -1
- lusid/models/create_address_key_definition_request.py +9 -1
- lusid/models/create_amortisation_rule_set_request.py +110 -0
- lusid/models/create_calendar_request.py +9 -1
- lusid/models/create_closed_period_request.py +104 -0
- lusid/models/create_compliance_template_request.py +103 -0
- lusid/models/create_corporate_action_source_request.py +9 -1
- lusid/models/create_custom_entity_type_request.py +9 -1
- lusid/models/create_cut_label_definition_request.py +9 -1
- lusid/models/create_data_map_request.py +9 -1
- lusid/models/create_data_type_request.py +9 -1
- lusid/models/create_date_request.py +9 -1
- lusid/models/create_derived_property_definition_request.py +16 -6
- lusid/models/create_derived_transaction_portfolio_request.py +33 -7
- lusid/models/create_group_reconciliation_comparison_ruleset_request.py +105 -0
- lusid/models/create_group_reconciliation_definition_request.py +121 -0
- lusid/models/create_portfolio_details.py +9 -1
- lusid/models/create_portfolio_group_request.py +9 -1
- lusid/models/create_property_definition_request.py +21 -6
- lusid/models/create_recipe_request.py +9 -1
- lusid/models/create_reconciliation_request.py +9 -1
- lusid/models/create_reference_portfolio_request.py +9 -1
- lusid/models/create_relation_definition_request.py +9 -1
- lusid/models/create_relation_request.py +9 -1
- lusid/models/create_relationship_definition_request.py +11 -3
- lusid/models/create_relationship_request.py +9 -1
- lusid/models/create_sequence_request.py +9 -1
- lusid/models/create_simple_position_portfolio_request.py +196 -0
- lusid/models/create_staging_rule_set_request.py +94 -0
- lusid/models/create_tax_rule_set_request.py +9 -1
- lusid/models/create_timeline_request.py +110 -0
- lusid/models/create_trade_tickets_response.py +95 -0
- lusid/models/create_transaction_portfolio_request.py +33 -7
- lusid/models/create_unit_definition.py +9 -1
- lusid/models/credit_default_swap.py +32 -9
- lusid/models/credit_premium_cash_flow_event.py +110 -0
- lusid/models/credit_rating.py +9 -1
- lusid/models/credit_spread_curve_data.py +13 -5
- lusid/models/credit_support_annex.py +9 -1
- lusid/models/currency_and_amount.py +10 -7
- lusid/models/curve_options.py +9 -1
- lusid/models/custodian_account.py +10 -2
- lusid/models/custodian_account_properties.py +9 -1
- lusid/models/custodian_account_request.py +11 -3
- lusid/models/custodian_accounts_upsert_response.py +9 -1
- lusid/models/custom_data_model.py +97 -0
- lusid/models/custom_data_model_criteria.py +142 -0
- lusid/models/custom_data_model_identifier_type_specification.py +79 -0
- lusid/models/custom_data_model_identifier_type_specification_with_display_name.py +86 -0
- lusid/models/custom_data_model_property_specification.py +79 -0
- lusid/models/custom_data_model_property_specification_with_display_name.py +86 -0
- lusid/models/custom_entity_definition.py +32 -3
- lusid/models/custom_entity_definition_request.py +9 -1
- lusid/models/custom_entity_entity.py +154 -0
- lusid/models/custom_entity_field.py +9 -1
- lusid/models/custom_entity_field_definition.py +9 -1
- lusid/models/custom_entity_id.py +9 -1
- lusid/models/custom_entity_request.py +9 -1
- lusid/models/custom_entity_response.py +16 -2
- lusid/models/custom_entity_type.py +32 -3
- lusid/models/cut_label_definition.py +16 -2
- lusid/models/cut_local_time.py +14 -4
- lusid/models/data_definition.py +9 -1
- lusid/models/data_map_key.py +9 -1
- lusid/models/data_mapping.py +9 -1
- lusid/models/data_model_summary.py +120 -0
- lusid/models/data_scope.py +9 -1
- lusid/models/data_type.py +29 -9
- lusid/models/data_type_entity.py +139 -0
- lusid/models/data_type_summary.py +17 -3
- lusid/models/date_attributes.py +9 -1
- lusid/models/date_or_diary_entry.py +9 -1
- lusid/models/date_range.py +9 -1
- lusid/models/date_time_compliance_parameter.py +12 -4
- lusid/models/date_time_list_compliance_parameter.py +12 -4
- lusid/models/day_month.py +79 -0
- lusid/models/decimal_compliance_parameter.py +12 -4
- lusid/models/decimal_list.py +13 -5
- lusid/models/decimal_list_compliance_parameter.py +12 -4
- lusid/models/decorated_compliance_run_summary.py +9 -1
- lusid/models/delete_accounts_response.py +9 -1
- lusid/models/delete_custodian_accounts_response.py +9 -1
- lusid/models/delete_instrument_properties_response.py +16 -2
- lusid/models/delete_instrument_response.py +16 -2
- lusid/models/delete_instruments_response.py +31 -2
- lusid/models/delete_relation_request.py +9 -1
- lusid/models/delete_relationship_request.py +9 -1
- lusid/models/deleted_entity_response.py +30 -2
- lusid/models/dependency_source_filter.py +34 -4
- lusid/models/described_address_key.py +9 -1
- lusid/models/dialect.py +18 -4
- lusid/models/dialect_id.py +9 -1
- lusid/models/dialect_schema.py +9 -1
- lusid/models/diary_entry.py +10 -2
- lusid/models/diary_entry_request.py +20 -3
- lusid/models/discount_factor_curve_data.py +12 -4
- lusid/models/discounting_dependency.py +9 -1
- lusid/models/dividend_option_event.py +137 -0
- lusid/models/dividend_reinvestment_event.py +137 -0
- lusid/models/drawdown_event.py +107 -0
- lusid/models/early_redemption_election.py +81 -0
- lusid/models/early_redemption_event.py +132 -0
- lusid/models/economic_dependency.py +9 -1
- lusid/models/economic_dependency_with_complex_market_data.py +9 -1
- lusid/models/economic_dependency_with_quote.py +9 -1
- lusid/models/effective_range.py +79 -0
- lusid/models/election_specification.py +81 -0
- lusid/models/eligibility_calculation.py +81 -0
- lusid/models/empty_model_options.py +12 -4
- lusid/models/entity_identifier.py +9 -1
- lusid/models/equity.py +16 -6
- lusid/models/equity_all_of_identifiers.py +9 -1
- lusid/models/equity_curve_by_prices_data.py +12 -4
- lusid/models/equity_curve_dependency.py +9 -1
- lusid/models/equity_model_options.py +12 -4
- lusid/models/equity_option.py +54 -10
- lusid/models/equity_swap.py +31 -8
- lusid/models/equity_vol_dependency.py +9 -1
- lusid/models/equity_vol_surface_data.py +12 -4
- lusid/models/error_detail.py +9 -1
- lusid/models/event_date_range.py +9 -1
- lusid/models/ex_dividend_configuration.py +9 -1
- lusid/models/exchange_traded_option.py +21 -7
- lusid/models/exchange_traded_option_contract_details.py +29 -5
- lusid/models/execution.py +9 -1
- lusid/models/execution_request.py +9 -1
- lusid/models/execution_set_request.py +9 -1
- lusid/models/exercise_event.py +13 -7
- lusid/models/exotic_instrument.py +12 -4
- lusid/models/expanded_group.py +9 -1
- lusid/models/expiry_event.py +99 -0
- lusid/models/external_fee_component_filter.py +102 -0
- lusid/models/fee.py +223 -0
- lusid/models/fee_accrual.py +113 -0
- lusid/models/{reconciliation_run_break.py → fee_properties.py} +42 -35
- lusid/models/fee_request.py +192 -0
- lusid/models/fee_rule.py +9 -1
- lusid/models/fee_rule_upsert_request.py +9 -1
- lusid/models/fee_rule_upsert_response.py +9 -1
- lusid/models/fee_transaction_template_specification.py +87 -0
- lusid/models/fee_type.py +123 -0
- lusid/models/fee_type_request.py +113 -0
- lusid/models/field_definition.py +19 -4
- lusid/models/field_schema.py +9 -1
- lusid/models/field_value.py +25 -5
- lusid/models/file_response.py +9 -1
- lusid/models/filter_predicate_compliance_parameter.py +99 -0
- lusid/models/filter_step.py +109 -0
- lusid/models/filter_step_request.py +106 -0
- lusid/models/fixed_leg.py +12 -4
- lusid/models/fixed_leg_all_of_overrides.py +9 -1
- lusid/models/fixed_schedule.py +16 -13
- lusid/models/flexible_deposit.py +113 -0
- lusid/models/flexible_loan.py +113 -0
- lusid/models/float_schedule.py +34 -16
- lusid/models/floating_leg.py +12 -4
- lusid/models/flow_convention_name.py +10 -2
- lusid/models/flow_conventions.py +26 -5
- lusid/models/forward_rate_agreement.py +12 -4
- lusid/models/from_recipe.py +89 -0
- lusid/models/fund.py +195 -0
- lusid/models/fund_amount.py +77 -0
- lusid/models/fund_configuration.py +201 -0
- lusid/models/fund_configuration_properties.py +123 -0
- lusid/models/fund_configuration_request.py +171 -0
- lusid/models/fund_details.py +82 -0
- lusid/models/fund_id_list.py +107 -0
- lusid/models/fund_pnl_breakdown.py +118 -0
- lusid/models/fund_previous_nav.py +77 -0
- lusid/models/fund_properties.py +123 -0
- lusid/models/fund_request.py +178 -0
- lusid/models/fund_share_class.py +122 -0
- lusid/models/fund_valuation_point_data.py +154 -0
- lusid/models/funding_leg.py +12 -4
- lusid/models/funding_leg_options.py +12 -4
- lusid/models/future.py +28 -8
- lusid/models/future_expiry_event.py +108 -0
- lusid/models/future_mark_to_market_event.py +108 -0
- lusid/models/futures_contract_details.py +24 -4
- lusid/models/fx_conventions.py +81 -0
- lusid/models/fx_dependency.py +9 -1
- lusid/models/fx_forward.py +18 -8
- lusid/models/fx_forward_curve_by_quote_reference.py +13 -5
- lusid/models/fx_forward_curve_data.py +12 -4
- lusid/models/fx_forward_model_options.py +12 -4
- lusid/models/fx_forward_pips_curve_data.py +12 -4
- lusid/models/fx_forward_settlement_event.py +152 -0
- lusid/models/fx_forward_tenor_curve_data.py +13 -5
- lusid/models/fx_forward_tenor_pips_curve_data.py +13 -5
- lusid/models/fx_forwards_dependency.py +9 -1
- lusid/models/fx_linked_notional_schedule.py +116 -0
- lusid/models/fx_option.py +12 -4
- lusid/models/fx_rate_schedule.py +12 -4
- lusid/models/fx_swap.py +13 -5
- lusid/models/fx_tenor_convention.py +9 -1
- lusid/models/fx_vol_dependency.py +9 -1
- lusid/models/fx_vol_surface_data.py +12 -4
- lusid/models/general_ledger_profile_mapping.py +9 -1
- lusid/models/general_ledger_profile_request.py +9 -1
- lusid/models/general_ledger_profile_response.py +9 -1
- lusid/models/generated_event_diagnostics.py +83 -0
- lusid/models/get_cds_flow_conventions_response.py +9 -1
- lusid/models/get_complex_market_data_response.py +9 -1
- lusid/models/get_counterparty_agreement_response.py +9 -1
- lusid/models/get_credit_support_annex_response.py +9 -1
- lusid/models/get_data_map_response.py +9 -1
- lusid/models/get_flow_conventions_response.py +9 -1
- lusid/models/get_index_convention_response.py +9 -1
- lusid/models/get_instruments_response.py +9 -1
- lusid/models/get_quotes_response.py +9 -1
- lusid/models/{reconciliation_run.py → get_recipe_composer_response.py} +24 -16
- lusid/models/get_recipe_response.py +9 -1
- lusid/models/get_reference_portfolio_constituents_response.py +9 -1
- lusid/models/get_structured_result_data_response.py +9 -1
- lusid/models/get_virtual_document_response.py +9 -1
- lusid/models/group_by_selector_compliance_parameter.py +99 -0
- lusid/models/group_by_step.py +109 -0
- lusid/models/group_by_step_request.py +106 -0
- lusid/models/group_calculation_compliance_parameter.py +99 -0
- lusid/models/group_filter_predicate_compliance_parameter.py +99 -0
- lusid/models/group_filter_step.py +109 -0
- lusid/models/group_filter_step_request.py +106 -0
- lusid/models/group_of_market_data_key_rules.py +87 -0
- lusid/models/group_reconciliation_aggregate_attribute_rule.py +92 -0
- lusid/models/group_reconciliation_aggregate_attribute_values.py +94 -0
- lusid/models/group_reconciliation_aggregate_comparison_rule_operand.py +79 -0
- lusid/models/group_reconciliation_comparison_result.py +156 -0
- lusid/models/group_reconciliation_comparison_rule_string_value_map.py +81 -0
- lusid/models/group_reconciliation_comparison_rule_tolerance.py +79 -0
- lusid/models/group_reconciliation_comparison_ruleset.py +133 -0
- lusid/models/group_reconciliation_core_attribute_rule.py +103 -0
- lusid/models/group_reconciliation_core_attribute_values.py +94 -0
- lusid/models/group_reconciliation_core_comparison_rule_operand.py +79 -0
- lusid/models/group_reconciliation_date_pair.py +89 -0
- lusid/models/group_reconciliation_dates.py +86 -0
- lusid/models/group_reconciliation_definition.py +144 -0
- lusid/models/group_reconciliation_definition_comparison_ruleset_ids.py +91 -0
- lusid/models/group_reconciliation_definition_currencies.py +79 -0
- lusid/models/group_reconciliation_definition_portfolio_entity_ids.py +94 -0
- lusid/models/group_reconciliation_definition_recipe_ids.py +86 -0
- lusid/models/group_reconciliation_instance_id.py +79 -0
- lusid/models/group_reconciliation_result_statuses.py +97 -0
- lusid/models/group_reconciliation_result_types.py +104 -0
- lusid/models/group_reconciliation_review_statuses.py +104 -0
- lusid/models/group_reconciliation_run_details.py +84 -0
- lusid/models/group_reconciliation_run_request.py +83 -0
- lusid/models/group_reconciliation_run_response.py +85 -0
- lusid/models/group_reconciliation_summary.py +129 -0
- lusid/models/group_reconciliation_user_review.py +120 -0
- lusid/models/group_reconciliation_user_review_add.py +96 -0
- lusid/models/group_reconciliation_user_review_break_code.py +88 -0
- lusid/models/group_reconciliation_user_review_comment.py +88 -0
- lusid/models/group_reconciliation_user_review_match_key.py +88 -0
- lusid/models/group_reconciliation_user_review_remove.py +96 -0
- lusid/models/grouped_result_of_address_key.py +9 -1
- lusid/models/holding_adjustment.py +9 -1
- lusid/models/holding_adjustment_with_date.py +9 -1
- lusid/models/holding_context.py +9 -1
- lusid/models/holding_contributor.py +19 -4
- lusid/models/holding_ids_request.py +77 -0
- lusid/models/holding_pricing_info.py +118 -0
- lusid/models/holdings_adjustment.py +9 -1
- lusid/models/holdings_adjustment_header.py +9 -1
- lusid/models/i_unit_definition_dto.py +9 -1
- lusid/models/id_selector_definition.py +9 -1
- lusid/models/identifier_part_schema.py +9 -1
- lusid/models/index_convention.py +11 -3
- lusid/models/index_model_options.py +12 -4
- lusid/models/index_projection_dependency.py +9 -1
- lusid/models/industry_classifier.py +9 -1
- lusid/models/inflation_fixing_dependency.py +9 -1
- lusid/models/inflation_index_conventions.py +11 -3
- lusid/models/inflation_leg.py +12 -4
- lusid/models/inflation_linked_bond.py +28 -7
- lusid/models/inflation_swap.py +31 -8
- lusid/models/informational_error_event.py +12 -4
- lusid/models/informational_event.py +13 -7
- lusid/models/inline_valuation_request.py +9 -1
- lusid/models/inline_valuations_reconciliation_request.py +9 -1
- lusid/models/input_transition.py +9 -1
- lusid/models/instrument.py +22 -2
- lusid/models/instrument_capabilities.py +9 -1
- lusid/models/instrument_cash_flow.py +9 -1
- lusid/models/instrument_definition.py +17 -3
- lusid/models/instrument_definition_format.py +9 -1
- lusid/models/instrument_entity.py +154 -0
- lusid/models/instrument_event.py +54 -6
- lusid/models/instrument_event_configuration.py +88 -0
- lusid/models/instrument_event_holder.py +28 -3
- lusid/models/instrument_event_instruction.py +151 -0
- lusid/models/instrument_event_instruction_request.py +102 -0
- lusid/models/instrument_event_instructions_response.py +115 -0
- lusid/models/instrument_event_type.py +40 -0
- lusid/models/instrument_id_type_descriptor.py +9 -1
- lusid/models/instrument_id_value.py +9 -1
- lusid/models/instrument_leg.py +12 -4
- lusid/models/instrument_list.py +13 -5
- lusid/models/instrument_list_compliance_parameter.py +12 -4
- lusid/models/instrument_match.py +9 -1
- lusid/models/instrument_models.py +9 -1
- lusid/models/instrument_payment_diary.py +9 -1
- lusid/models/instrument_payment_diary_leg.py +13 -3
- lusid/models/instrument_payment_diary_row.py +9 -1
- lusid/models/instrument_properties.py +9 -1
- lusid/models/instrument_resolution_detail.py +127 -0
- lusid/models/instrument_search_property.py +9 -1
- lusid/models/instrument_type.py +7 -0
- lusid/models/interest_rate_swap.py +14 -6
- lusid/models/interest_rate_swaption.py +13 -5
- lusid/models/intermediate_compliance_step.py +118 -0
- lusid/models/intermediate_compliance_step_request.py +106 -0
- lusid/models/intermediate_securities_distribution_event.py +148 -0
- lusid/models/ir_vol_cube_data.py +12 -4
- lusid/models/ir_vol_dependency.py +9 -1
- lusid/models/is_business_day_response.py +9 -1
- lusid/models/journal_entry_line.py +60 -5
- lusid/models/journal_entry_lines_query_parameters.py +10 -2
- lusid/models/label_value_set.py +10 -2
- lusid/models/lapse_election.py +81 -0
- lusid/models/leg_definition.py +24 -3
- lusid/models/legal_entity.py +9 -1
- lusid/models/level_step.py +9 -1
- lusid/models/life_cycle_event_lineage.py +9 -1
- lusid/models/life_cycle_event_value.py +9 -1
- lusid/models/lineage_member.py +95 -0
- lusid/models/link.py +9 -1
- lusid/models/list_aggregation_reconciliation.py +9 -1
- lusid/models/list_aggregation_response.py +9 -1
- lusid/models/list_complex_market_data_with_meta_data_response.py +9 -1
- lusid/models/loan_facility.py +115 -0
- lusid/models/loan_interest_repayment_event.py +105 -0
- lusid/models/loan_period.py +9 -1
- lusid/models/lock_period_diary_entry_request.py +99 -0
- lusid/models/lusid_instrument.py +20 -6
- lusid/models/lusid_problem_details.py +9 -1
- lusid/models/lusid_trade_ticket.py +17 -2
- lusid/models/lusid_unique_id.py +9 -1
- lusid/models/lusid_validation_problem_details.py +9 -1
- lusid/models/mapped_string.py +9 -1
- lusid/models/mapping.py +9 -1
- lusid/models/mapping_rule.py +9 -1
- lusid/models/mark_to_market_conventions.py +82 -0
- lusid/models/market_context.py +26 -3
- lusid/models/market_context_suppliers.py +9 -1
- lusid/models/market_data_key_rule.py +17 -7
- lusid/models/market_data_options.py +9 -1
- lusid/models/market_data_overrides.py +9 -1
- lusid/models/market_data_specific_rule.py +17 -7
- lusid/models/market_data_type.py +1 -0
- lusid/models/market_options.py +9 -1
- lusid/models/market_quote.py +12 -4
- lusid/models/mastered_instrument.py +147 -0
- lusid/models/match_criterion.py +9 -1
- lusid/models/maturity_event.py +99 -0
- lusid/models/mbs_coupon_event.py +110 -0
- lusid/models/mbs_interest_deferral_event.py +110 -0
- lusid/models/mbs_interest_shortfall_event.py +110 -0
- lusid/models/mbs_principal_event.py +110 -0
- lusid/models/mbs_principal_write_off_event.py +110 -0
- lusid/models/merger_event.py +180 -0
- lusid/models/metric_value.py +9 -1
- lusid/models/model_options.py +14 -7
- lusid/models/model_options_type.py +0 -1
- lusid/models/model_property.py +9 -1
- lusid/models/model_schema.py +9 -1
- lusid/models/model_selection.py +12 -4
- lusid/models/move_orders_to_different_blocks_request.py +85 -0
- lusid/models/moved_order_to_different_block_response.py +93 -0
- lusid/models/movement_type.py +4 -0
- lusid/models/multi_currency_amounts.py +79 -0
- lusid/models/new_instrument.py +101 -0
- lusid/models/next_value_in_sequence_response.py +9 -1
- lusid/models/opaque_dependency.py +9 -1
- lusid/models/opaque_market_data.py +12 -4
- lusid/models/opaque_model_options.py +12 -4
- lusid/models/open_event.py +12 -4
- lusid/models/operation.py +10 -2
- lusid/models/operation_type.py +1 -0
- lusid/models/option_entry.py +19 -4
- lusid/models/option_exercise_cash_event.py +159 -0
- lusid/models/option_exercise_election.py +81 -0
- lusid/models/option_exercise_physical_event.py +164 -0
- lusid/models/optionality_schedule.py +12 -4
- lusid/models/order.py +9 -1
- lusid/models/order_by_spec.py +9 -1
- lusid/models/order_flow_configuration.py +10 -2
- lusid/models/order_graph_block.py +19 -3
- lusid/models/order_graph_block_allocation_detail.py +9 -1
- lusid/models/order_graph_block_allocation_synopsis.py +9 -1
- lusid/models/order_graph_block_execution_detail.py +9 -1
- lusid/models/order_graph_block_execution_synopsis.py +9 -1
- lusid/models/order_graph_block_order_detail.py +42 -5
- lusid/models/order_graph_block_order_synopsis.py +18 -3
- lusid/models/order_graph_block_placement_detail.py +9 -1
- lusid/models/order_graph_block_placement_synopsis.py +18 -3
- lusid/models/{upsert_reconciliation_run_request.py → order_graph_block_transaction_detail.py} +21 -15
- lusid/models/order_graph_block_transaction_synopsis.py +87 -0
- lusid/models/order_graph_placement.py +9 -1
- lusid/models/order_graph_placement_allocation_detail.py +9 -1
- lusid/models/order_graph_placement_allocation_synopsis.py +9 -1
- lusid/models/order_graph_placement_child_placement_detail.py +9 -1
- lusid/models/order_graph_placement_execution_detail.py +9 -1
- lusid/models/order_graph_placement_execution_synopsis.py +9 -1
- lusid/models/order_graph_placement_order_detail.py +9 -1
- lusid/models/order_graph_placement_order_synopsis.py +9 -1
- lusid/models/order_graph_placement_placement_synopsis.py +9 -1
- lusid/models/order_instruction.py +9 -1
- lusid/models/order_instruction_request.py +9 -1
- lusid/models/order_instruction_set_request.py +9 -1
- lusid/models/order_request.py +9 -1
- lusid/models/order_set_request.py +9 -1
- lusid/models/order_update_request.py +129 -0
- lusid/models/otc_confirmation.py +9 -1
- lusid/models/output_transaction.py +46 -3
- lusid/models/output_transition.py +9 -1
- lusid/models/package.py +9 -1
- lusid/models/package_request.py +9 -1
- lusid/models/package_set_request.py +9 -1
- lusid/models/paged_resource_list_of_abor.py +9 -1
- lusid/models/paged_resource_list_of_abor_configuration.py +9 -1
- lusid/models/paged_resource_list_of_account.py +9 -1
- lusid/models/paged_resource_list_of_address_key_definition.py +9 -1
- lusid/models/paged_resource_list_of_allocation.py +9 -1
- lusid/models/paged_resource_list_of_amortisation_rule_set.py +121 -0
- lusid/models/paged_resource_list_of_block.py +9 -1
- lusid/models/paged_resource_list_of_calendar.py +9 -1
- lusid/models/paged_resource_list_of_chart_of_accounts.py +9 -1
- lusid/models/paged_resource_list_of_cleardown_module_response.py +121 -0
- lusid/models/paged_resource_list_of_cleardown_module_rule.py +121 -0
- lusid/models/paged_resource_list_of_closed_period.py +121 -0
- lusid/models/paged_resource_list_of_compliance_rule_response.py +9 -1
- lusid/models/paged_resource_list_of_compliance_run_info_v2.py +9 -1
- lusid/models/paged_resource_list_of_compliance_template.py +9 -1
- lusid/models/paged_resource_list_of_corporate_action_source.py +9 -1
- lusid/models/paged_resource_list_of_custodian_account.py +9 -1
- lusid/models/paged_resource_list_of_custom_entity_definition.py +9 -1
- lusid/models/paged_resource_list_of_custom_entity_response.py +9 -1
- lusid/models/paged_resource_list_of_custom_entity_type.py +9 -1
- lusid/models/paged_resource_list_of_cut_label_definition.py +9 -1
- lusid/models/paged_resource_list_of_data_type_summary.py +9 -1
- lusid/models/paged_resource_list_of_dialect_id.py +9 -1
- lusid/models/paged_resource_list_of_diary_entry.py +9 -1
- lusid/models/paged_resource_list_of_execution.py +9 -1
- lusid/models/{paged_resource_list_of_reconciliation_run.py → paged_resource_list_of_fee.py} +20 -12
- lusid/models/paged_resource_list_of_fee_type.py +121 -0
- lusid/models/{paged_resource_list_of_reconciliation_run_break.py → paged_resource_list_of_fund.py} +20 -12
- lusid/models/paged_resource_list_of_fund_configuration.py +121 -0
- lusid/models/paged_resource_list_of_general_ledger_profile_response.py +9 -1
- lusid/models/paged_resource_list_of_group_reconciliation_comparison_result.py +121 -0
- lusid/models/paged_resource_list_of_group_reconciliation_comparison_ruleset.py +121 -0
- lusid/models/paged_resource_list_of_group_reconciliation_definition.py +121 -0
- lusid/models/paged_resource_list_of_instrument.py +9 -1
- lusid/models/paged_resource_list_of_instrument_event_holder.py +9 -1
- lusid/models/paged_resource_list_of_instrument_event_instruction.py +121 -0
- lusid/models/paged_resource_list_of_legal_entity.py +9 -1
- lusid/models/paged_resource_list_of_order.py +9 -1
- lusid/models/paged_resource_list_of_order_graph_block.py +9 -1
- lusid/models/paged_resource_list_of_order_graph_placement.py +9 -1
- lusid/models/paged_resource_list_of_order_instruction.py +9 -1
- lusid/models/paged_resource_list_of_package.py +9 -1
- lusid/models/paged_resource_list_of_participation.py +9 -1
- lusid/models/paged_resource_list_of_person.py +9 -1
- lusid/models/paged_resource_list_of_placement.py +9 -1
- lusid/models/paged_resource_list_of_portfolio_group.py +9 -1
- lusid/models/paged_resource_list_of_portfolio_group_search_result.py +9 -1
- lusid/models/paged_resource_list_of_portfolio_search_result.py +9 -1
- lusid/models/paged_resource_list_of_posting_module_response.py +9 -1
- lusid/models/paged_resource_list_of_posting_module_rule.py +9 -1
- lusid/models/paged_resource_list_of_property_definition.py +121 -0
- lusid/models/paged_resource_list_of_property_definition_search_result.py +9 -1
- lusid/models/paged_resource_list_of_reconciliation.py +9 -1
- lusid/models/paged_resource_list_of_reference_list_response.py +9 -1
- lusid/models/paged_resource_list_of_relationship_definition.py +9 -1
- lusid/models/paged_resource_list_of_sequence_definition.py +9 -1
- lusid/models/paged_resource_list_of_staged_modification.py +121 -0
- lusid/models/paged_resource_list_of_staged_modifications_requested_change_interval.py +121 -0
- lusid/models/paged_resource_list_of_staging_rule_set.py +121 -0
- lusid/models/paged_resource_list_of_transaction_template.py +121 -0
- lusid/models/paged_resource_list_of_transaction_template_specification.py +121 -0
- lusid/models/paged_resource_list_of_translation_script_id.py +9 -1
- lusid/models/paged_resource_list_of_valuation_point_overview.py +121 -0
- lusid/models/paged_resource_list_of_virtual_row.py +9 -1
- lusid/models/paged_resource_list_of_workspace.py +121 -0
- lusid/models/paged_resource_list_of_workspace_item.py +121 -0
- lusid/models/participation.py +9 -1
- lusid/models/participation_request.py +12 -10
- lusid/models/participation_set_request.py +9 -1
- lusid/models/percent_check_step.py +118 -0
- lusid/models/percent_check_step_request.py +106 -0
- lusid/models/performance_return.py +9 -1
- lusid/models/performance_returns_metric.py +10 -2
- lusid/models/period_diary_entries_reopened_response.py +112 -0
- lusid/models/perpetual_property.py +9 -1
- lusid/models/person.py +26 -3
- lusid/models/place_blocks_request.py +85 -0
- lusid/models/placement.py +9 -1
- lusid/models/placement_request.py +9 -1
- lusid/models/placement_set_request.py +9 -1
- lusid/models/placement_update_request.py +129 -0
- lusid/models/pnl_journal_entry_line.py +103 -0
- lusid/models/portfolio.py +41 -9
- lusid/models/portfolio_cash_flow.py +9 -1
- lusid/models/portfolio_cash_ladder.py +9 -1
- lusid/models/portfolio_details.py +38 -6
- lusid/models/portfolio_entity.py +154 -0
- lusid/models/portfolio_entity_id.py +11 -19
- lusid/models/portfolio_group.py +9 -1
- lusid/models/portfolio_group_id_compliance_parameter.py +12 -4
- lusid/models/portfolio_group_id_list.py +13 -5
- lusid/models/portfolio_group_id_list_compliance_parameter.py +12 -4
- lusid/models/portfolio_group_properties.py +9 -1
- lusid/models/portfolio_group_search_result.py +9 -1
- lusid/models/portfolio_holding.py +52 -4
- lusid/models/portfolio_id.py +88 -0
- lusid/models/portfolio_id_compliance_parameter.py +12 -4
- lusid/models/portfolio_id_list.py +13 -5
- lusid/models/portfolio_id_list_compliance_parameter.py +12 -4
- lusid/models/portfolio_properties.py +16 -2
- lusid/models/portfolio_reconciliation_request.py +9 -1
- lusid/models/portfolio_result_data_key_rule.py +9 -1
- lusid/models/portfolio_return_breakdown.py +9 -1
- lusid/models/portfolio_search_result.py +12 -4
- lusid/models/portfolio_trade_ticket.py +9 -1
- lusid/models/portfolio_type.py +1 -0
- lusid/models/portfolio_without_href.py +228 -0
- lusid/models/portfolios_reconciliation_request.py +9 -1
- lusid/models/posting_module_details.py +9 -1
- lusid/models/posting_module_request.py +9 -1
- lusid/models/posting_module_response.py +9 -1
- lusid/models/posting_module_rule.py +14 -6
- lusid/models/posting_module_rules_updated_response.py +9 -1
- lusid/models/pre_trade_configuration.py +77 -0
- lusid/models/premium.py +9 -1
- lusid/models/previous_fund_valuation_point_data.py +81 -0
- lusid/models/{action_result_of_portfolio.py → previous_nav.py} +24 -18
- lusid/models/previous_share_class_breakdown.py +89 -0
- lusid/models/pricing_context.py +17 -3
- lusid/models/pricing_model.py +3 -1
- lusid/models/pricing_options.py +17 -3
- lusid/models/processed_command.py +9 -1
- lusid/models/property_definition.py +34 -5
- lusid/models/property_definition_entity.py +154 -0
- lusid/models/property_definition_search_result.py +15 -5
- lusid/models/property_domain.py +41 -0
- lusid/models/property_filter.py +9 -1
- lusid/models/property_interval.py +9 -1
- lusid/models/property_key_compliance_parameter.py +12 -4
- lusid/models/property_key_list_compliance_parameter.py +12 -4
- lusid/models/property_list.py +107 -0
- lusid/models/property_list_compliance_parameter.py +103 -0
- lusid/models/property_schema.py +9 -1
- lusid/models/property_value.py +9 -1
- lusid/models/property_value_equals.py +9 -1
- lusid/models/property_value_in.py +9 -1
- lusid/models/protection_payout_cash_flow_event.py +110 -0
- lusid/models/query_applicable_instrument_events_request.py +97 -0
- lusid/models/query_bucketed_cash_flows_request.py +9 -1
- lusid/models/query_cash_flows_request.py +9 -1
- lusid/models/query_instrument_events_request.py +9 -1
- lusid/models/query_trade_tickets_request.py +9 -1
- lusid/models/queryable_key.py +132 -0
- lusid/models/quote.py +9 -1
- lusid/models/quote_access_metadata_rule.py +9 -1
- lusid/models/quote_access_metadata_rule_id.py +11 -3
- lusid/models/quote_dependency.py +9 -1
- lusid/models/quote_id.py +9 -1
- lusid/models/quote_series_id.py +15 -23
- lusid/models/quote_type.py +3 -0
- lusid/models/raw_vendor_event.py +14 -8
- lusid/models/re_open_period_diary_entry_request.py +92 -0
- lusid/models/realised_gain_loss.py +11 -3
- lusid/models/recipe_block.py +95 -0
- lusid/models/recipe_composer.py +108 -0
- lusid/models/recipe_value.py +95 -0
- lusid/models/recombine_step.py +109 -0
- lusid/models/recommended_sort_by.py +84 -0
- lusid/models/reconcile_date_time_rule.py +9 -1
- lusid/models/reconcile_numeric_rule.py +9 -1
- lusid/models/reconcile_string_rule.py +9 -1
- lusid/models/reconciled_transaction.py +9 -1
- lusid/models/reconciliation.py +9 -1
- lusid/models/reconciliation_break.py +9 -1
- lusid/models/reconciliation_configuration.py +9 -1
- lusid/models/reconciliation_id.py +9 -1
- lusid/models/reconciliation_left_right_address_key_pair.py +9 -1
- lusid/models/reconciliation_line.py +9 -1
- lusid/models/reconciliation_request.py +9 -1
- lusid/models/reconciliation_response.py +9 -1
- lusid/models/reconciliation_rule.py +9 -1
- lusid/models/reconciliation_side_configuration.py +9 -1
- lusid/models/reconciliation_transactions.py +9 -1
- lusid/models/reference_data.py +9 -1
- lusid/models/reference_instrument.py +12 -4
- lusid/models/reference_list.py +16 -6
- lusid/models/reference_list_request.py +9 -1
- lusid/models/reference_list_response.py +9 -1
- lusid/models/reference_list_type.py +2 -0
- lusid/models/reference_portfolio_constituent.py +9 -1
- lusid/models/reference_portfolio_constituent_request.py +9 -1
- lusid/models/related_entity.py +10 -2
- lusid/models/relation.py +9 -1
- lusid/models/relation_definition.py +9 -1
- lusid/models/relationship.py +9 -1
- lusid/models/relationship_definition.py +9 -1
- lusid/models/relative_date_offset.py +86 -0
- lusid/models/repo.py +12 -4
- lusid/models/requested_changes.py +84 -0
- lusid/models/reset_event.py +13 -7
- lusid/models/resource_id.py +9 -1
- lusid/models/resource_list_of_access_controlled_resource.py +9 -1
- lusid/models/resource_list_of_access_metadata_value_of.py +9 -1
- lusid/models/resource_list_of_address_key_definition.py +9 -1
- lusid/models/resource_list_of_aggregated_return.py +9 -1
- lusid/models/resource_list_of_aggregation_query.py +9 -1
- lusid/models/resource_list_of_allocation.py +9 -1
- lusid/models/resource_list_of_applicable_instrument_event.py +121 -0
- lusid/models/resource_list_of_block.py +9 -1
- lusid/models/resource_list_of_block_and_orders.py +121 -0
- lusid/models/resource_list_of_calendar_date.py +9 -1
- lusid/models/resource_list_of_change.py +9 -1
- lusid/models/resource_list_of_change_history.py +9 -1
- lusid/models/resource_list_of_change_interval.py +121 -0
- lusid/models/resource_list_of_change_interval_with_order_management_detail.py +121 -0
- lusid/models/resource_list_of_compliance_breached_order_info.py +9 -1
- lusid/models/resource_list_of_compliance_rule.py +9 -1
- lusid/models/resource_list_of_compliance_rule_result.py +9 -1
- lusid/models/resource_list_of_compliance_run_info.py +9 -1
- lusid/models/resource_list_of_constituents_adjustment_header.py +9 -1
- lusid/models/resource_list_of_corporate_action.py +9 -1
- lusid/models/resource_list_of_data_model_summary.py +121 -0
- lusid/models/resource_list_of_data_type.py +9 -1
- lusid/models/resource_list_of_execution.py +9 -1
- lusid/models/resource_list_of_fee_rule.py +9 -1
- lusid/models/resource_list_of_get_cds_flow_conventions_response.py +9 -1
- lusid/models/resource_list_of_get_counterparty_agreement_response.py +9 -1
- lusid/models/resource_list_of_get_credit_support_annex_response.py +9 -1
- lusid/models/resource_list_of_get_flow_conventions_response.py +9 -1
- lusid/models/resource_list_of_get_index_convention_response.py +9 -1
- lusid/models/resource_list_of_get_recipe_composer_response.py +121 -0
- lusid/models/resource_list_of_get_recipe_response.py +9 -1
- lusid/models/resource_list_of_holdings_adjustment_header.py +9 -1
- lusid/models/resource_list_of_i_unit_definition_dto.py +9 -1
- lusid/models/resource_list_of_instrument_cash_flow.py +9 -1
- lusid/models/resource_list_of_instrument_event_holder.py +9 -1
- lusid/models/resource_list_of_instrument_id_type_descriptor.py +9 -1
- lusid/models/resource_list_of_legal_entity.py +9 -1
- lusid/models/resource_list_of_list_complex_market_data_with_meta_data_response.py +9 -1
- lusid/models/resource_list_of_mapping.py +9 -1
- lusid/models/resource_list_of_moved_order_to_different_block_response.py +121 -0
- lusid/models/resource_list_of_order.py +9 -1
- lusid/models/resource_list_of_order_instruction.py +9 -1
- lusid/models/resource_list_of_output_transaction.py +121 -0
- lusid/models/resource_list_of_package.py +9 -1
- lusid/models/resource_list_of_participation.py +9 -1
- lusid/models/resource_list_of_performance_return.py +9 -1
- lusid/models/resource_list_of_person.py +9 -1
- lusid/models/resource_list_of_placement.py +9 -1
- lusid/models/resource_list_of_portfolio.py +9 -1
- lusid/models/resource_list_of_portfolio_cash_flow.py +9 -1
- lusid/models/resource_list_of_portfolio_cash_ladder.py +9 -1
- lusid/models/resource_list_of_portfolio_trade_ticket.py +9 -1
- lusid/models/resource_list_of_processed_command.py +9 -1
- lusid/models/resource_list_of_property.py +9 -1
- lusid/models/resource_list_of_property_definition.py +9 -1
- lusid/models/resource_list_of_property_interval.py +9 -1
- lusid/models/resource_list_of_queryable_key.py +121 -0
- lusid/models/resource_list_of_quote.py +9 -1
- lusid/models/resource_list_of_quote_access_metadata_rule.py +9 -1
- lusid/models/resource_list_of_reconciliation_break.py +9 -1
- lusid/models/resource_list_of_relation.py +9 -1
- lusid/models/resource_list_of_relationship.py +9 -1
- lusid/models/resource_list_of_scope_definition.py +9 -1
- lusid/models/resource_list_of_side_definition.py +9 -1
- lusid/models/resource_list_of_string.py +9 -1
- lusid/models/resource_list_of_tax_rule_set.py +9 -1
- lusid/models/resource_list_of_transaction.py +9 -1
- lusid/models/resource_list_of_transaction_type.py +9 -1
- lusid/models/resource_list_of_value_type.py +9 -1
- lusid/models/response_meta_data.py +9 -1
- lusid/models/result_data_key_rule.py +9 -1
- lusid/models/result_data_schema.py +9 -1
- lusid/models/result_key_rule.py +9 -1
- lusid/models/result_value.py +9 -1
- lusid/models/result_value0_d.py +9 -1
- lusid/models/result_value_bool.py +9 -1
- lusid/models/result_value_currency.py +9 -1
- lusid/models/result_value_date_time_offset.py +9 -1
- lusid/models/result_value_decimal.py +9 -1
- lusid/models/result_value_dictionary.py +9 -1
- lusid/models/result_value_int.py +9 -1
- lusid/models/result_value_string.py +9 -1
- lusid/models/return_zero_pv_options.py +77 -0
- lusid/models/reverse_stock_split_event.py +135 -0
- lusid/models/rounding_configuration.py +9 -1
- lusid/models/rounding_configuration_component.py +9 -1
- lusid/models/rounding_convention.py +9 -1
- lusid/models/rules_interval.py +91 -0
- lusid/models/schedule.py +16 -6
- lusid/models/schedule_type.py +2 -0
- lusid/models/scope_definition.py +9 -1
- lusid/models/scrip_dividend_event.py +135 -0
- lusid/models/script_map_reference.py +102 -0
- lusid/models/security_election.py +94 -0
- lusid/models/security_offer_election.py +87 -0
- lusid/models/sequence_definition.py +9 -1
- lusid/models/set_amortisation_rules_request.py +81 -0
- lusid/models/set_legal_entity_identifiers_request.py +9 -1
- lusid/models/set_legal_entity_properties_request.py +9 -1
- lusid/models/set_person_identifiers_request.py +9 -1
- lusid/models/set_person_properties_request.py +9 -1
- lusid/models/set_share_class_instruments_request.py +87 -0
- lusid/models/set_transaction_configuration_alias.py +9 -1
- lusid/models/set_transaction_configuration_source_request.py +9 -1
- lusid/models/settlement_cycle.py +87 -0
- lusid/models/settlement_schedule.py +86 -0
- lusid/models/share_class_amount.py +79 -0
- lusid/models/share_class_breakdown.py +162 -0
- lusid/models/share_class_data.py +87 -0
- lusid/models/share_class_dealing_breakdown.py +105 -0
- lusid/models/share_class_details.py +135 -0
- lusid/models/share_class_pnl_breakdown.py +118 -0
- lusid/models/side_configuration_data.py +9 -1
- lusid/models/side_configuration_data_request.py +9 -1
- lusid/models/side_definition.py +17 -9
- lusid/models/side_definition_request.py +18 -3
- lusid/models/sides_definition_request.py +9 -8
- lusid/models/simple_cash_flow_loan.py +12 -4
- lusid/models/simple_instrument.py +12 -4
- lusid/models/simple_rounding_convention.py +84 -0
- lusid/models/specific_holding_pricing_info.py +83 -0
- lusid/models/spin_off_event.py +148 -0
- lusid/models/staged_modification.py +197 -0
- lusid/models/staged_modification_decision.py +105 -0
- lusid/models/staged_modification_decision_request.py +79 -0
- lusid/models/staged_modification_effective_range.py +79 -0
- lusid/models/staged_modification_staging_rule.py +93 -0
- lusid/models/staged_modifications_entity_hrefs.py +111 -0
- lusid/models/staged_modifications_info.py +86 -0
- lusid/models/staged_modifications_requested_change_interval.py +121 -0
- lusid/models/staging_rule.py +98 -0
- lusid/models/staging_rule_approval_criteria.py +96 -0
- lusid/models/staging_rule_match_criteria.py +103 -0
- lusid/models/staging_rule_set.py +126 -0
- lusid/models/step_schedule.py +12 -4
- lusid/models/stock_dividend_event.py +135 -0
- lusid/models/stock_split_event.py +51 -11
- lusid/models/strategy.py +89 -0
- lusid/models/stream.py +9 -1
- lusid/models/string_compliance_parameter.py +12 -4
- lusid/models/string_list.py +13 -5
- lusid/models/string_list_compliance_parameter.py +12 -4
- lusid/models/structured_result_data.py +9 -1
- lusid/models/structured_result_data_id.py +9 -1
- lusid/models/sub_holding_key_value_equals.py +9 -1
- lusid/models/swap_cash_flow_event.py +105 -0
- lusid/models/swap_principal_event.py +105 -0
- lusid/models/target_tax_lot.py +32 -3
- lusid/models/target_tax_lot_request.py +32 -3
- lusid/models/tax_rule.py +9 -1
- lusid/models/tax_rule_set.py +9 -1
- lusid/models/template_field.py +87 -0
- lusid/models/tender_event.py +180 -0
- lusid/models/term_deposit.py +12 -4
- lusid/models/term_deposit_interest_event.py +108 -0
- lusid/models/term_deposit_principal_event.py +108 -0
- lusid/models/timeline.py +143 -0
- lusid/models/total_return_swap.py +41 -18
- lusid/models/touch.py +9 -1
- lusid/models/trade_ticket.py +9 -1
- lusid/models/trading_conventions.py +81 -0
- lusid/models/transaction.py +40 -4
- lusid/models/transaction_configuration_data.py +9 -1
- lusid/models/transaction_configuration_data_request.py +9 -1
- lusid/models/transaction_configuration_movement_data.py +13 -5
- lusid/models/transaction_configuration_movement_data_request.py +13 -5
- lusid/models/transaction_configuration_type_alias.py +9 -1
- lusid/models/transaction_currency_and_amount.py +89 -0
- lusid/models/transaction_date_windows.py +93 -0
- lusid/models/transaction_diagnostics.py +79 -0
- lusid/models/transaction_field_map.py +110 -0
- lusid/models/transaction_price.py +12 -4
- lusid/models/transaction_price_and_type.py +89 -0
- lusid/models/transaction_price_type.py +3 -0
- lusid/models/transaction_property_map.py +89 -0
- lusid/models/transaction_property_mapping.py +9 -1
- lusid/models/transaction_property_mapping_request.py +9 -1
- lusid/models/transaction_query_parameters.py +9 -1
- lusid/models/transaction_reconciliation_request.py +9 -1
- lusid/models/transaction_reconciliation_request_v2.py +9 -1
- lusid/models/transaction_request.py +34 -4
- lusid/models/transaction_set_configuration_data.py +9 -1
- lusid/models/transaction_set_configuration_data_request.py +9 -1
- lusid/models/transaction_template.py +108 -0
- lusid/models/transaction_template_request.py +87 -0
- lusid/models/transaction_template_specification.py +107 -0
- lusid/models/transaction_type.py +9 -1
- lusid/models/transaction_type_alias.py +9 -8
- lusid/models/transaction_type_calculation.py +26 -13
- lusid/models/transaction_type_details.py +81 -0
- lusid/models/transaction_type_movement.py +30 -5
- lusid/models/transaction_type_property_mapping.py +35 -3
- lusid/models/transaction_type_request.py +9 -1
- lusid/models/transactions_reconciliations_response.py +9 -1
- lusid/models/transition_event.py +12 -4
- lusid/models/translate_entities_inlined_request.py +9 -1
- lusid/models/translate_entities_request.py +9 -1
- lusid/models/translate_entities_response.py +9 -1
- lusid/models/translate_instrument_definitions_request.py +9 -1
- lusid/models/translate_instrument_definitions_response.py +9 -1
- lusid/models/translate_trade_ticket_request.py +9 -1
- lusid/models/translate_trade_tickets_response.py +9 -1
- lusid/models/translation_context.py +83 -0
- lusid/models/translation_input.py +9 -1
- lusid/models/translation_result.py +9 -1
- lusid/models/translation_script.py +18 -4
- lusid/models/translation_script_id.py +9 -1
- lusid/models/trial_balance.py +58 -15
- lusid/models/trial_balance_query_parameters.py +23 -6
- lusid/models/trigger_event.py +12 -4
- lusid/models/typed_resource_id.py +9 -1
- lusid/models/unitisation_data.py +81 -0
- lusid/models/units_ratio.py +79 -0
- lusid/models/update_amortisation_rule_set_details_request.py +101 -0
- lusid/models/update_calendar_request.py +9 -1
- lusid/models/update_compliance_template_request.py +103 -0
- lusid/models/update_custom_entity_definition_request.py +9 -1
- lusid/models/update_custom_entity_type_request.py +9 -1
- lusid/models/update_cut_label_definition_request.py +9 -1
- lusid/models/update_data_type_request.py +9 -1
- lusid/models/update_derived_property_definition_request.py +13 -3
- lusid/models/update_fee_type_request.py +104 -0
- lusid/models/update_group_reconciliation_comparison_ruleset_request.py +99 -0
- lusid/models/update_group_reconciliation_definition_request.py +115 -0
- lusid/models/update_instrument_identifier_request.py +9 -1
- lusid/models/update_orders_response.py +161 -0
- lusid/models/update_placements_response.py +161 -0
- lusid/models/update_portfolio_group_request.py +9 -1
- lusid/models/update_portfolio_request.py +9 -1
- lusid/models/update_property_definition_request.py +9 -1
- lusid/models/update_reconciliation_request.py +9 -1
- lusid/models/update_reference_data_request.py +95 -0
- lusid/models/update_relationship_definition_request.py +9 -1
- lusid/models/update_staging_rule_set_request.py +94 -0
- lusid/models/update_tax_rule_set_request.py +9 -1
- lusid/models/update_timeline_request.py +104 -0
- lusid/models/update_unit_request.py +9 -1
- lusid/models/upsert_cds_flow_conventions_request.py +9 -1
- lusid/models/upsert_complex_market_data_request.py +9 -1
- lusid/models/upsert_compliance_rule_request.py +9 -1
- lusid/models/upsert_compliance_run_summary_request.py +9 -1
- lusid/models/{compliance_run_summary.py → upsert_compliance_run_summary_result.py} +17 -9
- lusid/models/upsert_corporate_action_request.py +9 -1
- lusid/models/upsert_corporate_actions_response.py +9 -1
- lusid/models/upsert_counterparty_agreement_request.py +9 -1
- lusid/models/upsert_credit_support_annex_request.py +9 -1
- lusid/models/upsert_custom_data_model_request.py +176 -0
- lusid/models/upsert_custom_entities_response.py +29 -2
- lusid/models/upsert_custom_entity_access_metadata_request.py +9 -1
- lusid/models/upsert_dialect_request.py +87 -0
- lusid/models/upsert_flow_conventions_request.py +9 -1
- lusid/models/upsert_index_convention_request.py +9 -1
- lusid/models/upsert_instrument_event_request.py +20 -3
- lusid/models/upsert_instrument_events_response.py +9 -1
- lusid/models/upsert_instrument_properties_response.py +9 -1
- lusid/models/upsert_instrument_property_request.py +9 -1
- lusid/models/upsert_instruments_response.py +29 -2
- lusid/models/upsert_legal_entities_response.py +9 -1
- lusid/models/upsert_legal_entity_access_metadata_request.py +9 -1
- lusid/models/upsert_legal_entity_request.py +9 -1
- lusid/models/upsert_person_access_metadata_request.py +9 -1
- lusid/models/upsert_person_request.py +9 -1
- lusid/models/upsert_persons_response.py +122 -0
- lusid/models/upsert_portfolio_access_metadata_request.py +9 -1
- lusid/models/upsert_portfolio_group_access_metadata_request.py +9 -1
- lusid/models/upsert_portfolio_transactions_response.py +9 -1
- lusid/models/upsert_quote_access_metadata_rule_request.py +9 -1
- lusid/models/upsert_quote_request.py +10 -2
- lusid/models/upsert_quotes_response.py +9 -1
- lusid/models/upsert_recipe_composer_request.py +81 -0
- lusid/models/upsert_recipe_request.py +12 -10
- lusid/models/upsert_reference_portfolio_constituent_properties_request.py +92 -0
- lusid/models/upsert_reference_portfolio_constituent_properties_response.py +123 -0
- lusid/models/upsert_reference_portfolio_constituents_request.py +9 -1
- lusid/models/upsert_reference_portfolio_constituents_response.py +9 -1
- lusid/models/upsert_result_values_data_request.py +9 -1
- lusid/models/upsert_returns_response.py +9 -1
- lusid/models/upsert_single_structured_data_response.py +9 -1
- lusid/models/upsert_structured_data_response.py +9 -1
- lusid/models/upsert_structured_result_data_request.py +9 -1
- lusid/models/upsert_transaction_properties_response.py +9 -1
- lusid/models/upsert_translation_script_request.py +83 -0
- lusid/models/upsert_valuation_point_request.py +130 -0
- lusid/models/user.py +9 -1
- lusid/models/valuation_point_data_query_parameters.py +81 -0
- lusid/models/valuation_point_data_request.py +84 -0
- lusid/models/valuation_point_data_response.py +164 -0
- lusid/models/valuation_point_overview.py +133 -0
- lusid/models/valuation_point_resource_list_of_accounted_transaction.py +133 -0
- lusid/models/valuation_point_resource_list_of_journal_entry_line.py +133 -0
- lusid/models/valuation_point_resource_list_of_pnl_journal_entry_line.py +133 -0
- lusid/models/valuation_point_resource_list_of_trial_balance.py +133 -0
- lusid/models/valuation_request.py +9 -1
- lusid/models/valuation_schedule.py +19 -4
- lusid/models/valuations_reconciliation_request.py +9 -1
- lusid/models/vendor_dependency.py +9 -1
- lusid/models/vendor_model_rule.py +9 -1
- lusid/models/version.py +25 -10
- lusid/models/version_summary_dto.py +9 -1
- lusid/models/versioned_resource_list_of_a2_b_data_record.py +9 -1
- lusid/models/versioned_resource_list_of_a2_b_movement_record.py +9 -1
- lusid/models/versioned_resource_list_of_holding_contributor.py +9 -1
- lusid/models/versioned_resource_list_of_journal_entry_line.py +9 -1
- lusid/models/versioned_resource_list_of_output_transaction.py +9 -1
- lusid/models/versioned_resource_list_of_portfolio_holding.py +9 -1
- lusid/models/versioned_resource_list_of_transaction.py +9 -1
- lusid/models/versioned_resource_list_of_trial_balance.py +9 -1
- lusid/models/versioned_resource_list_with_warnings_of_portfolio_holding.py +9 -1
- lusid/models/virtual_document.py +9 -1
- lusid/models/virtual_document_row.py +9 -1
- lusid/models/virtual_row.py +9 -1
- lusid/models/warning.py +9 -1
- lusid/models/weekend_mask.py +9 -1
- lusid/models/weighted_instrument.py +29 -3
- lusid/models/weighted_instrument_in_line_lookup_identifiers.py +97 -0
- lusid/models/weighted_instruments.py +9 -1
- lusid/models/workspace.py +100 -0
- lusid/models/workspace_creation_request.py +86 -0
- lusid/models/workspace_item.py +120 -0
- lusid/models/workspace_item_creation_request.py +113 -0
- lusid/models/workspace_item_update_request.py +95 -0
- lusid/models/workspace_update_request.py +77 -0
- lusid/models/yield_curve_data.py +12 -4
- lusid/rest.py +75 -22
- {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.1.683.dist-info}/METADATA +614 -245
- lusid_sdk-2.1.683.dist-info/RECORD +1273 -0
- {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.1.683.dist-info}/WHEEL +1 -1
- lusid/extensions/api_client_builder.py +0 -138
- lusid/models/configuration_recipe_snippet.py +0 -139
- lusid/models/je_lines_query_parameters.py +0 -105
- lusid/models/look_up_pricing_model_options.py +0 -93
- lusid/models/reconciliation_break_id.py +0 -88
- lusid/models/reconciliation_run_id.py +0 -85
- lusid/models/upsert_reconciliation_break_request.py +0 -98
- lusid_sdk-2.0.50b0.dist-info/RECORD +0 -917
lusid/models/fixed_schedule.py
CHANGED
@@ -19,7 +19,7 @@ import json
|
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
21
|
from typing import Any, Dict, Optional, Union
|
22
|
-
from pydantic import Field, StrictFloat, StrictInt, StrictStr, validator
|
22
|
+
from pydantic.v1 import Field, StrictFloat, StrictInt, StrictStr, validator
|
23
23
|
from lusid.models.ex_dividend_configuration import ExDividendConfiguration
|
24
24
|
from lusid.models.flow_convention_name import FlowConventionName
|
25
25
|
from lusid.models.flow_conventions import FlowConventions
|
@@ -29,25 +29,25 @@ class FixedSchedule(Schedule):
|
|
29
29
|
"""
|
30
30
|
Schedule for fixed coupon payments # noqa: E501
|
31
31
|
"""
|
32
|
-
start_date: datetime = Field(..., alias="startDate", description="Date
|
33
|
-
maturity_date: datetime = Field(..., alias="maturityDate", description="
|
32
|
+
start_date: datetime = Field(..., alias="startDate", description="Date from which LUSID starts generating the payment schedule.")
|
33
|
+
maturity_date: datetime = Field(..., alias="maturityDate", description="Last date of the payment generation schedule. May not necessarily be the maturity date of the underlying instrument (e.g. in case the instrument has multiple payment schedules).")
|
34
34
|
flow_conventions: Optional[FlowConventions] = Field(None, alias="flowConventions")
|
35
35
|
coupon_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="couponRate", description="Coupon rate given as a fraction.")
|
36
36
|
convention_name: Optional[FlowConventionName] = Field(None, alias="conventionName")
|
37
37
|
ex_dividend_days: Optional[StrictInt] = Field(None, alias="exDividendDays", description="Optional. Number of calendar days in the ex-dividend period. If the settlement date falls in the ex-dividend period then the coupon paid is zero and the accrued interest is negative. If set, this must be a non-negative number. If not set, or set to 0, then there is no ex-dividend period. NOTE: This field is deprecated. If you wish to set the ExDividendDays on a bond, please use the ExDividendConfiguration.")
|
38
38
|
notional: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Scaling factor, the quantity outstanding on which the rate will be paid.")
|
39
|
-
payment_currency:
|
40
|
-
stub_type: Optional[StrictStr] = Field(None, alias="stubType", description="
|
39
|
+
payment_currency: StrictStr = Field(..., alias="paymentCurrency", description="Payment currency. This does not have to be the same as the nominal bond or observation/reset currency.")
|
40
|
+
stub_type: Optional[StrictStr] = Field(None, alias="stubType", description="When a payment schedule doesn't have regular payment intervals just because of the first and/or last coupons of the schedule, we call those irregular coupons stubs. This configuration specifies what type of stub is used when building the schedule Supported values are: None = this is a regular payment schedule with no stubs. DO NOT use it with irregular schedules or you will get incorrect and unexpected behaviour. ShortFront = this is an irregular payment schedule where only the first coupon is irregular, and covers a payment period that is shorter than the regular payment period. ShortBack = this is an irregular payment schedule where only the last coupon is irregular, and covers a payment period that is shorter than the regular payment period. LongFront = this is an irregular payment schedule where only the first coupon is irregular, and covers a payment period that is longer than the regular payment period. LongBack = this is an irregular payment schedule where only the last coupon is irregular, and covers a payment period that is longer than the regular payment period. Both = this is an irregular payment schedule where both the first and the last coupons are irregular, and the length of these periods is calculated based on the first coupon payment date that should have been explicitly set.")
|
41
41
|
ex_dividend_configuration: Optional[ExDividendConfiguration] = Field(None, alias="exDividendConfiguration")
|
42
|
-
schedule_type: StrictStr = Field(..., alias="scheduleType", description="The available values are: FixedSchedule, FloatSchedule, OptionalitySchedule, StepSchedule, Exercise, FxRateSchedule, Invalid")
|
42
|
+
schedule_type: StrictStr = Field(..., alias="scheduleType", description="The available values are: FixedSchedule, FloatSchedule, OptionalitySchedule, StepSchedule, Exercise, FxRateSchedule, FxLinkedNotionalSchedule, BondConversionSchedule, Invalid")
|
43
43
|
additional_properties: Dict[str, Any] = {}
|
44
44
|
__properties = ["scheduleType", "startDate", "maturityDate", "flowConventions", "couponRate", "conventionName", "exDividendDays", "notional", "paymentCurrency", "stubType", "exDividendConfiguration"]
|
45
45
|
|
46
46
|
@validator('schedule_type')
|
47
47
|
def schedule_type_validate_enum(cls, value):
|
48
48
|
"""Validates the enum"""
|
49
|
-
if value not in ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'Invalid'):
|
50
|
-
raise ValueError("must be one of enum values ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'Invalid')")
|
49
|
+
if value not in ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'FxLinkedNotionalSchedule', 'BondConversionSchedule', 'Invalid'):
|
50
|
+
raise ValueError("must be one of enum values ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'FxLinkedNotionalSchedule', 'BondConversionSchedule', 'Invalid')")
|
51
51
|
return value
|
52
52
|
|
53
53
|
class Config:
|
@@ -55,6 +55,14 @@ class FixedSchedule(Schedule):
|
|
55
55
|
allow_population_by_field_name = True
|
56
56
|
validate_assignment = True
|
57
57
|
|
58
|
+
def __str__(self):
|
59
|
+
"""For `print` and `pprint`"""
|
60
|
+
return pprint.pformat(self.dict(by_alias=False))
|
61
|
+
|
62
|
+
def __repr__(self):
|
63
|
+
"""For `print` and `pprint`"""
|
64
|
+
return self.to_str()
|
65
|
+
|
58
66
|
def to_str(self) -> str:
|
59
67
|
"""Returns the string representation of the model using alias"""
|
60
68
|
return pprint.pformat(self.dict(by_alias=True))
|
@@ -94,11 +102,6 @@ class FixedSchedule(Schedule):
|
|
94
102
|
if self.ex_dividend_days is None and "ex_dividend_days" in self.__fields_set__:
|
95
103
|
_dict['exDividendDays'] = None
|
96
104
|
|
97
|
-
# set to None if payment_currency (nullable) is None
|
98
|
-
# and __fields_set__ contains the field
|
99
|
-
if self.payment_currency is None and "payment_currency" in self.__fields_set__:
|
100
|
-
_dict['paymentCurrency'] = None
|
101
|
-
|
102
105
|
# set to None if stub_type (nullable) is None
|
103
106
|
# and __fields_set__ contains the field
|
104
107
|
if self.stub_type is None and "stub_type" in self.__fields_set__:
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
LUSID API
|
5
|
+
|
6
|
+
FINBOURNE Technology # noqa: E501
|
7
|
+
|
8
|
+
Contact: info@finbourne.com
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
"""
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
import pprint
|
17
|
+
import re # noqa: F401
|
18
|
+
import json
|
19
|
+
|
20
|
+
from datetime import datetime
|
21
|
+
from typing import Any, Dict, List
|
22
|
+
from pydantic.v1 import Field, StrictStr, conlist, validator
|
23
|
+
from lusid.models.lusid_instrument import LusidInstrument
|
24
|
+
from lusid.models.schedule import Schedule
|
25
|
+
|
26
|
+
class FlexibleDeposit(LusidInstrument):
|
27
|
+
"""
|
28
|
+
LUSID flexible deposit instrument. Represents the basic building block of a bank account structure that can handle deferred interest payments. # noqa: E501
|
29
|
+
"""
|
30
|
+
start_date: datetime = Field(..., alias="startDate", description="The start date of the instrument. This is normally synonymous with the trade-date.")
|
31
|
+
maturity_date: datetime = Field(..., alias="maturityDate", description="The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it.")
|
32
|
+
dom_ccy: StrictStr = Field(..., alias="domCcy", description="The domestic currency of the instrument.")
|
33
|
+
schedules: conlist(Schedule) = Field(..., description="Repayment schedules for the deposit instrument.")
|
34
|
+
instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument, LoanFacility, FlexibleDeposit")
|
35
|
+
additional_properties: Dict[str, Any] = {}
|
36
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "domCcy", "schedules"]
|
37
|
+
|
38
|
+
@validator('instrument_type')
|
39
|
+
def instrument_type_validate_enum(cls, value):
|
40
|
+
"""Validates the enum"""
|
41
|
+
if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash', 'MasteredInstrument', 'LoanFacility', 'FlexibleDeposit'):
|
42
|
+
raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash', 'MasteredInstrument', 'LoanFacility', 'FlexibleDeposit')")
|
43
|
+
return value
|
44
|
+
|
45
|
+
class Config:
|
46
|
+
"""Pydantic configuration"""
|
47
|
+
allow_population_by_field_name = True
|
48
|
+
validate_assignment = True
|
49
|
+
|
50
|
+
def __str__(self):
|
51
|
+
"""For `print` and `pprint`"""
|
52
|
+
return pprint.pformat(self.dict(by_alias=False))
|
53
|
+
|
54
|
+
def __repr__(self):
|
55
|
+
"""For `print` and `pprint`"""
|
56
|
+
return self.to_str()
|
57
|
+
|
58
|
+
def to_str(self) -> str:
|
59
|
+
"""Returns the string representation of the model using alias"""
|
60
|
+
return pprint.pformat(self.dict(by_alias=True))
|
61
|
+
|
62
|
+
def to_json(self) -> str:
|
63
|
+
"""Returns the JSON representation of the model using alias"""
|
64
|
+
return json.dumps(self.to_dict())
|
65
|
+
|
66
|
+
@classmethod
|
67
|
+
def from_json(cls, json_str: str) -> FlexibleDeposit:
|
68
|
+
"""Create an instance of FlexibleDeposit from a JSON string"""
|
69
|
+
return cls.from_dict(json.loads(json_str))
|
70
|
+
|
71
|
+
def to_dict(self):
|
72
|
+
"""Returns the dictionary representation of the model using alias"""
|
73
|
+
_dict = self.dict(by_alias=True,
|
74
|
+
exclude={
|
75
|
+
"additional_properties"
|
76
|
+
},
|
77
|
+
exclude_none=True)
|
78
|
+
# override the default output from pydantic by calling `to_dict()` of each item in schedules (list)
|
79
|
+
_items = []
|
80
|
+
if self.schedules:
|
81
|
+
for _item in self.schedules:
|
82
|
+
if _item:
|
83
|
+
_items.append(_item.to_dict())
|
84
|
+
_dict['schedules'] = _items
|
85
|
+
# puts key-value pairs in additional_properties in the top level
|
86
|
+
if self.additional_properties is not None:
|
87
|
+
for _key, _value in self.additional_properties.items():
|
88
|
+
_dict[_key] = _value
|
89
|
+
|
90
|
+
return _dict
|
91
|
+
|
92
|
+
@classmethod
|
93
|
+
def from_dict(cls, obj: dict) -> FlexibleDeposit:
|
94
|
+
"""Create an instance of FlexibleDeposit from a dict"""
|
95
|
+
if obj is None:
|
96
|
+
return None
|
97
|
+
|
98
|
+
if not isinstance(obj, dict):
|
99
|
+
return FlexibleDeposit.parse_obj(obj)
|
100
|
+
|
101
|
+
_obj = FlexibleDeposit.parse_obj({
|
102
|
+
"instrument_type": obj.get("instrumentType"),
|
103
|
+
"start_date": obj.get("startDate"),
|
104
|
+
"maturity_date": obj.get("maturityDate"),
|
105
|
+
"dom_ccy": obj.get("domCcy"),
|
106
|
+
"schedules": [Schedule.from_dict(_item) for _item in obj.get("schedules")] if obj.get("schedules") is not None else None
|
107
|
+
})
|
108
|
+
# store additional fields in additional_properties
|
109
|
+
for _key in obj.keys():
|
110
|
+
if _key not in cls.__properties:
|
111
|
+
_obj.additional_properties[_key] = obj.get(_key)
|
112
|
+
|
113
|
+
return _obj
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
LUSID API
|
5
|
+
|
6
|
+
FINBOURNE Technology # noqa: E501
|
7
|
+
|
8
|
+
Contact: info@finbourne.com
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
"""
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
import pprint
|
17
|
+
import re # noqa: F401
|
18
|
+
import json
|
19
|
+
|
20
|
+
from datetime import datetime
|
21
|
+
from typing import Any, Dict, List
|
22
|
+
from pydantic.v1 import Field, StrictStr, conlist, validator
|
23
|
+
from lusid.models.lusid_instrument import LusidInstrument
|
24
|
+
from lusid.models.schedule import Schedule
|
25
|
+
|
26
|
+
class FlexibleLoan(LusidInstrument):
|
27
|
+
"""
|
28
|
+
LUSID flexible loan instrument. Represents the basic building block of a more complex loan structure that can handle deferred interest payments. # noqa: E501
|
29
|
+
"""
|
30
|
+
start_date: datetime = Field(..., alias="startDate", description="The start date of the instrument. This is normally synonymous with the trade-date.")
|
31
|
+
maturity_date: datetime = Field(..., alias="maturityDate", description="The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it.")
|
32
|
+
dom_ccy: StrictStr = Field(..., alias="domCcy", description="The domestic currency of the instrument.")
|
33
|
+
schedules: conlist(Schedule) = Field(..., description="Repayment schedules for the loan.")
|
34
|
+
instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument, LoanFacility, FlexibleDeposit")
|
35
|
+
additional_properties: Dict[str, Any] = {}
|
36
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "domCcy", "schedules"]
|
37
|
+
|
38
|
+
@validator('instrument_type')
|
39
|
+
def instrument_type_validate_enum(cls, value):
|
40
|
+
"""Validates the enum"""
|
41
|
+
if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash', 'MasteredInstrument', 'LoanFacility', 'FlexibleDeposit'):
|
42
|
+
raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash', 'MasteredInstrument', 'LoanFacility', 'FlexibleDeposit')")
|
43
|
+
return value
|
44
|
+
|
45
|
+
class Config:
|
46
|
+
"""Pydantic configuration"""
|
47
|
+
allow_population_by_field_name = True
|
48
|
+
validate_assignment = True
|
49
|
+
|
50
|
+
def __str__(self):
|
51
|
+
"""For `print` and `pprint`"""
|
52
|
+
return pprint.pformat(self.dict(by_alias=False))
|
53
|
+
|
54
|
+
def __repr__(self):
|
55
|
+
"""For `print` and `pprint`"""
|
56
|
+
return self.to_str()
|
57
|
+
|
58
|
+
def to_str(self) -> str:
|
59
|
+
"""Returns the string representation of the model using alias"""
|
60
|
+
return pprint.pformat(self.dict(by_alias=True))
|
61
|
+
|
62
|
+
def to_json(self) -> str:
|
63
|
+
"""Returns the JSON representation of the model using alias"""
|
64
|
+
return json.dumps(self.to_dict())
|
65
|
+
|
66
|
+
@classmethod
|
67
|
+
def from_json(cls, json_str: str) -> FlexibleLoan:
|
68
|
+
"""Create an instance of FlexibleLoan from a JSON string"""
|
69
|
+
return cls.from_dict(json.loads(json_str))
|
70
|
+
|
71
|
+
def to_dict(self):
|
72
|
+
"""Returns the dictionary representation of the model using alias"""
|
73
|
+
_dict = self.dict(by_alias=True,
|
74
|
+
exclude={
|
75
|
+
"additional_properties"
|
76
|
+
},
|
77
|
+
exclude_none=True)
|
78
|
+
# override the default output from pydantic by calling `to_dict()` of each item in schedules (list)
|
79
|
+
_items = []
|
80
|
+
if self.schedules:
|
81
|
+
for _item in self.schedules:
|
82
|
+
if _item:
|
83
|
+
_items.append(_item.to_dict())
|
84
|
+
_dict['schedules'] = _items
|
85
|
+
# puts key-value pairs in additional_properties in the top level
|
86
|
+
if self.additional_properties is not None:
|
87
|
+
for _key, _value in self.additional_properties.items():
|
88
|
+
_dict[_key] = _value
|
89
|
+
|
90
|
+
return _dict
|
91
|
+
|
92
|
+
@classmethod
|
93
|
+
def from_dict(cls, obj: dict) -> FlexibleLoan:
|
94
|
+
"""Create an instance of FlexibleLoan from a dict"""
|
95
|
+
if obj is None:
|
96
|
+
return None
|
97
|
+
|
98
|
+
if not isinstance(obj, dict):
|
99
|
+
return FlexibleLoan.parse_obj(obj)
|
100
|
+
|
101
|
+
_obj = FlexibleLoan.parse_obj({
|
102
|
+
"instrument_type": obj.get("instrumentType"),
|
103
|
+
"start_date": obj.get("startDate"),
|
104
|
+
"maturity_date": obj.get("maturityDate"),
|
105
|
+
"dom_ccy": obj.get("domCcy"),
|
106
|
+
"schedules": [Schedule.from_dict(_item) for _item in obj.get("schedules")] if obj.get("schedules") is not None else None
|
107
|
+
})
|
108
|
+
# store additional fields in additional_properties
|
109
|
+
for _key in obj.keys():
|
110
|
+
if _key not in cls.__properties:
|
111
|
+
_obj.additional_properties[_key] = obj.get(_key)
|
112
|
+
|
113
|
+
return _obj
|
lusid/models/float_schedule.py
CHANGED
@@ -19,7 +19,8 @@ import json
|
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
21
|
from typing import Any, Dict, Optional, Union
|
22
|
-
from pydantic import Field, StrictFloat, StrictInt, StrictStr, validator
|
22
|
+
from pydantic.v1 import Field, StrictBool, StrictFloat, StrictInt, StrictStr, constr, validator
|
23
|
+
from lusid.models.compounding import Compounding
|
23
24
|
from lusid.models.ex_dividend_configuration import ExDividendConfiguration
|
24
25
|
from lusid.models.flow_convention_name import FlowConventionName
|
25
26
|
from lusid.models.flow_conventions import FlowConventions
|
@@ -28,29 +29,32 @@ from lusid.models.schedule import Schedule
|
|
28
29
|
|
29
30
|
class FloatSchedule(Schedule):
|
30
31
|
"""
|
31
|
-
Schedule for
|
32
|
+
Schedule for floating rate coupon payments. # noqa: E501
|
32
33
|
"""
|
33
|
-
start_date: Optional[datetime] = Field(None, alias="startDate", description="Date
|
34
|
-
maturity_date: Optional[datetime] = Field(None, alias="maturityDate", description="
|
34
|
+
start_date: Optional[datetime] = Field(None, alias="startDate", description="Date from which LUSID starts generating the payment schedule.")
|
35
|
+
maturity_date: Optional[datetime] = Field(None, alias="maturityDate", description="Last date of the payment generation schedule. May not necessarily be the maturity date of the underlying instrument (e.g. in case the instrument has multiple payment schedules).")
|
35
36
|
flow_conventions: Optional[FlowConventions] = Field(None, alias="flowConventions")
|
36
37
|
convention_name: Optional[FlowConventionName] = Field(None, alias="conventionName")
|
37
38
|
ex_dividend_days: Optional[StrictInt] = Field(None, alias="exDividendDays", description="Optional. Number of calendar days in the ex-dividend period. If the settlement date falls in the ex-dividend period then the coupon paid is zero and the accrued interest is negative. If set, this must be a non-negative number. If not set, or set to 0, then there is no ex-dividend period. NOTE: This field is deprecated. If you wish to set the ExDividendDays on a bond, please use the ExDividendConfiguration.")
|
38
39
|
index_convention_name: Optional[FlowConventionName] = Field(None, alias="indexConventionName")
|
39
40
|
index_conventions: Optional[IndexConvention] = Field(None, alias="indexConventions")
|
40
41
|
notional: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Scaling factor, the quantity outstanding on which the rate will be paid.")
|
41
|
-
payment_currency:
|
42
|
+
payment_currency: StrictStr = Field(..., alias="paymentCurrency", description="Payment currency. This does not have to be the same as the nominal bond or observation/reset currency.")
|
42
43
|
spread: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Spread over floating rate given as a fraction.")
|
43
|
-
stub_type: Optional[StrictStr] = Field(None, alias="stubType", description="
|
44
|
+
stub_type: Optional[StrictStr] = Field(None, alias="stubType", description="When a payment schedule doesn't have regular payment intervals just because of the first and/or last coupons of the schedule, we call those irregular coupons stubs. This configuration specifies what type of stub is used when building the schedule Supported values are: None = this is a regular payment schedule with no stubs. DO NOT use it with irregular schedules or you will get incorrect and unexpected behaviour. ShortFront = this is an irregular payment schedule where only the first coupon is irregular, and covers a payment period that is shorter than the regular payment period. ShortBack = this is an irregular payment schedule where only the last coupon is irregular, and covers a payment period that is shorter than the regular payment period. LongFront = this is an irregular payment schedule where only the first coupon is irregular, and covers a payment period that is longer than the regular payment period. LongBack = this is an irregular payment schedule where only the last coupon is irregular, and covers a payment period that is longer than the regular payment period. Both = this is an irregular payment schedule where both the first and the last coupons are irregular, and the length of these periods is calculated based on the first coupon payment date that should have been explicitly set.")
|
44
45
|
ex_dividend_configuration: Optional[ExDividendConfiguration] = Field(None, alias="exDividendConfiguration")
|
45
|
-
|
46
|
+
compounding: Optional[Compounding] = None
|
47
|
+
reset_convention: Optional[constr(strict=True, max_length=16, min_length=0)] = Field(None, alias="resetConvention", description="Control how resets are generated relative to payment convention(s). Supported string (enumeration) values are: [InAdvance, InArrears].")
|
48
|
+
use_annualised_direct_rates: Optional[StrictBool] = Field(None, alias="useAnnualisedDirectRates", description="Flag indicating whether to use daily updated annualised interest rates for calculating the accrued interest. Defaults to false.")
|
49
|
+
schedule_type: StrictStr = Field(..., alias="scheduleType", description="The available values are: FixedSchedule, FloatSchedule, OptionalitySchedule, StepSchedule, Exercise, FxRateSchedule, FxLinkedNotionalSchedule, BondConversionSchedule, Invalid")
|
46
50
|
additional_properties: Dict[str, Any] = {}
|
47
|
-
__properties = ["scheduleType", "startDate", "maturityDate", "flowConventions", "conventionName", "exDividendDays", "indexConventionName", "indexConventions", "notional", "paymentCurrency", "spread", "stubType", "exDividendConfiguration"]
|
51
|
+
__properties = ["scheduleType", "startDate", "maturityDate", "flowConventions", "conventionName", "exDividendDays", "indexConventionName", "indexConventions", "notional", "paymentCurrency", "spread", "stubType", "exDividendConfiguration", "compounding", "resetConvention", "useAnnualisedDirectRates"]
|
48
52
|
|
49
53
|
@validator('schedule_type')
|
50
54
|
def schedule_type_validate_enum(cls, value):
|
51
55
|
"""Validates the enum"""
|
52
|
-
if value not in ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'Invalid'):
|
53
|
-
raise ValueError("must be one of enum values ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'Invalid')")
|
56
|
+
if value not in ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'FxLinkedNotionalSchedule', 'BondConversionSchedule', 'Invalid'):
|
57
|
+
raise ValueError("must be one of enum values ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'FxLinkedNotionalSchedule', 'BondConversionSchedule', 'Invalid')")
|
54
58
|
return value
|
55
59
|
|
56
60
|
class Config:
|
@@ -58,6 +62,14 @@ class FloatSchedule(Schedule):
|
|
58
62
|
allow_population_by_field_name = True
|
59
63
|
validate_assignment = True
|
60
64
|
|
65
|
+
def __str__(self):
|
66
|
+
"""For `print` and `pprint`"""
|
67
|
+
return pprint.pformat(self.dict(by_alias=False))
|
68
|
+
|
69
|
+
def __repr__(self):
|
70
|
+
"""For `print` and `pprint`"""
|
71
|
+
return self.to_str()
|
72
|
+
|
61
73
|
def to_str(self) -> str:
|
62
74
|
"""Returns the string representation of the model using alias"""
|
63
75
|
return pprint.pformat(self.dict(by_alias=True))
|
@@ -93,6 +105,9 @@ class FloatSchedule(Schedule):
|
|
93
105
|
# override the default output from pydantic by calling `to_dict()` of ex_dividend_configuration
|
94
106
|
if self.ex_dividend_configuration:
|
95
107
|
_dict['exDividendConfiguration'] = self.ex_dividend_configuration.to_dict()
|
108
|
+
# override the default output from pydantic by calling `to_dict()` of compounding
|
109
|
+
if self.compounding:
|
110
|
+
_dict['compounding'] = self.compounding.to_dict()
|
96
111
|
# puts key-value pairs in additional_properties in the top level
|
97
112
|
if self.additional_properties is not None:
|
98
113
|
for _key, _value in self.additional_properties.items():
|
@@ -103,16 +118,16 @@ class FloatSchedule(Schedule):
|
|
103
118
|
if self.ex_dividend_days is None and "ex_dividend_days" in self.__fields_set__:
|
104
119
|
_dict['exDividendDays'] = None
|
105
120
|
|
106
|
-
# set to None if payment_currency (nullable) is None
|
107
|
-
# and __fields_set__ contains the field
|
108
|
-
if self.payment_currency is None and "payment_currency" in self.__fields_set__:
|
109
|
-
_dict['paymentCurrency'] = None
|
110
|
-
|
111
121
|
# set to None if stub_type (nullable) is None
|
112
122
|
# and __fields_set__ contains the field
|
113
123
|
if self.stub_type is None and "stub_type" in self.__fields_set__:
|
114
124
|
_dict['stubType'] = None
|
115
125
|
|
126
|
+
# set to None if reset_convention (nullable) is None
|
127
|
+
# and __fields_set__ contains the field
|
128
|
+
if self.reset_convention is None and "reset_convention" in self.__fields_set__:
|
129
|
+
_dict['resetConvention'] = None
|
130
|
+
|
116
131
|
return _dict
|
117
132
|
|
118
133
|
@classmethod
|
@@ -137,7 +152,10 @@ class FloatSchedule(Schedule):
|
|
137
152
|
"payment_currency": obj.get("paymentCurrency"),
|
138
153
|
"spread": obj.get("spread"),
|
139
154
|
"stub_type": obj.get("stubType"),
|
140
|
-
"ex_dividend_configuration": ExDividendConfiguration.from_dict(obj.get("exDividendConfiguration")) if obj.get("exDividendConfiguration") is not None else None
|
155
|
+
"ex_dividend_configuration": ExDividendConfiguration.from_dict(obj.get("exDividendConfiguration")) if obj.get("exDividendConfiguration") is not None else None,
|
156
|
+
"compounding": Compounding.from_dict(obj.get("compounding")) if obj.get("compounding") is not None else None,
|
157
|
+
"reset_convention": obj.get("resetConvention"),
|
158
|
+
"use_annualised_direct_rates": obj.get("useAnnualisedDirectRates")
|
141
159
|
})
|
142
160
|
# store additional fields in additional_properties
|
143
161
|
for _key in obj.keys():
|
lusid/models/floating_leg.py
CHANGED
@@ -19,7 +19,7 @@ import json
|
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
21
|
from typing import Any, Dict, Optional, Union
|
22
|
-
from pydantic import Field, StrictFloat, StrictInt, StrictStr, validator
|
22
|
+
from pydantic.v1 import Field, StrictFloat, StrictInt, StrictStr, validator
|
23
23
|
from lusid.models.fixed_leg_all_of_overrides import FixedLegAllOfOverrides
|
24
24
|
from lusid.models.instrument_leg import InstrumentLeg
|
25
25
|
from lusid.models.leg_definition import LegDefinition
|
@@ -35,15 +35,15 @@ class FloatingLeg(InstrumentLeg):
|
|
35
35
|
overrides: Optional[FixedLegAllOfOverrides] = None
|
36
36
|
cap_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="capRate", description="The maximum floating rate which a cashflow can accrue.")
|
37
37
|
floor_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="floorRate", description="The minimum floating rate which a cashflow can accrue.")
|
38
|
-
instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg")
|
38
|
+
instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument, LoanFacility, FlexibleDeposit")
|
39
39
|
additional_properties: Dict[str, Any] = {}
|
40
40
|
__properties = ["instrumentType", "startDate", "maturityDate", "legDefinition", "notional", "overrides", "capRate", "floorRate"]
|
41
41
|
|
42
42
|
@validator('instrument_type')
|
43
43
|
def instrument_type_validate_enum(cls, value):
|
44
44
|
"""Validates the enum"""
|
45
|
-
if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg'):
|
46
|
-
raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg')")
|
45
|
+
if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash', 'MasteredInstrument', 'LoanFacility', 'FlexibleDeposit'):
|
46
|
+
raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash', 'MasteredInstrument', 'LoanFacility', 'FlexibleDeposit')")
|
47
47
|
return value
|
48
48
|
|
49
49
|
class Config:
|
@@ -51,6 +51,14 @@ class FloatingLeg(InstrumentLeg):
|
|
51
51
|
allow_population_by_field_name = True
|
52
52
|
validate_assignment = True
|
53
53
|
|
54
|
+
def __str__(self):
|
55
|
+
"""For `print` and `pprint`"""
|
56
|
+
return pprint.pformat(self.dict(by_alias=False))
|
57
|
+
|
58
|
+
def __repr__(self):
|
59
|
+
"""For `print` and `pprint`"""
|
60
|
+
return self.to_str()
|
61
|
+
|
54
62
|
def to_str(self) -> str:
|
55
63
|
"""Returns the string representation of the model using alias"""
|
56
64
|
return pprint.pformat(self.dict(by_alias=True))
|
@@ -19,7 +19,7 @@ import json
|
|
19
19
|
|
20
20
|
|
21
21
|
from typing import Any, Dict, Optional
|
22
|
-
from pydantic import BaseModel, Field, StrictStr, constr
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictStr, constr
|
23
23
|
|
24
24
|
class FlowConventionName(BaseModel):
|
25
25
|
"""
|
@@ -27,7 +27,7 @@ class FlowConventionName(BaseModel):
|
|
27
27
|
"""
|
28
28
|
currency: StrictStr = Field(..., description="Currency of the flow convention name.")
|
29
29
|
index_name: Optional[StrictStr] = Field(None, alias="indexName", description="The index, if present, that is required. e.g. \"IBOR\", \"OIS\" or \"SONIA\".")
|
30
|
-
tenor: constr(strict=True, min_length=1) = Field(..., description="Tenor for the convention name.")
|
30
|
+
tenor: constr(strict=True, min_length=1) = Field(..., description="Tenor for the convention name. For more information on tenors, see [knowledge base article KA-02097](https://support.lusid.com/knowledgebase/article/KA-02097)")
|
31
31
|
__properties = ["currency", "indexName", "tenor"]
|
32
32
|
|
33
33
|
class Config:
|
@@ -35,6 +35,14 @@ class FlowConventionName(BaseModel):
|
|
35
35
|
allow_population_by_field_name = True
|
36
36
|
validate_assignment = True
|
37
37
|
|
38
|
+
def __str__(self):
|
39
|
+
"""For `print` and `pprint`"""
|
40
|
+
return pprint.pformat(self.dict(by_alias=False))
|
41
|
+
|
42
|
+
def __repr__(self):
|
43
|
+
"""For `print` and `pprint`"""
|
44
|
+
return self.to_str()
|
45
|
+
|
38
46
|
def to_str(self) -> str:
|
39
47
|
"""Returns the string representation of the model using alias"""
|
40
48
|
return pprint.pformat(self.dict(by_alias=True))
|
lusid/models/flow_conventions.py
CHANGED
@@ -19,26 +19,29 @@ import json
|
|
19
19
|
|
20
20
|
|
21
21
|
from typing import Any, Dict, List, Optional
|
22
|
-
from pydantic import BaseModel, Field, StrictBool, StrictInt, StrictStr, conlist, constr, validator
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictBool, StrictInt, StrictStr, conlist, constr, validator
|
23
|
+
from lusid.models.relative_date_offset import RelativeDateOffset
|
23
24
|
|
24
25
|
class FlowConventions(BaseModel):
|
25
26
|
"""
|
26
27
|
A flow convention defines the specification for generation of the date schedule for a leg or set of cashflows. It determines the tenor of these and, how to map the unadjusted set of dates to dates which are 'good business days'. For example, if an unadjusted date falls on a Saturday or a bank holiday, should it be rolled forward or backward to obtain the adjusted date. For more information, see https://support.lusid.com/knowledgebase/article/KA-02055/ # noqa: E501
|
27
28
|
"""
|
28
29
|
currency: StrictStr = Field(..., description="Currency of the flow convention.")
|
29
|
-
payment_frequency: constr(strict=True, max_length=50, min_length=0) = Field(..., alias="paymentFrequency", description="When generating a multiperiod flow, or when the maturity of the flow is not given but the start date is, the tenor is the time-step from the anchor-date to the nominal maturity of the flow prior to any adjustment.")
|
30
|
+
payment_frequency: constr(strict=True, max_length=50, min_length=0) = Field(..., alias="paymentFrequency", description="When generating a multiperiod flow, or when the maturity of the flow is not given but the start date is, the tenor is the time-step from the anchor-date to the nominal maturity of the flow prior to any adjustment. For more information on tenors, see [knowledge base article KA-02097](https://support.lusid.com/knowledgebase/article/KA-02097)")
|
30
31
|
day_count_convention: constr(strict=True, max_length=50, min_length=0) = Field(..., alias="dayCountConvention", description="when calculating the fraction of a year between two dates, what convention is used to represent the number of days in a year and difference between them. For more information on day counts, see [knowledge base article KA-01798](https://support.lusid.com/knowledgebase/article/KA-01798) Supported string (enumeration) values are: [Actual360, Act360, MoneyMarket, Actual365, Act365, Thirty360, ThirtyU360, Bond, ThirtyE360, EuroBond, ActualActual, ActAct, ActActIsda, ActActIsma, ActActIcma, OneOne, Act364, Act365F, Act365L, Act365_25, Act252, Bus252, NL360, NL365, ActActAFB, Act365Cad, ThirtyActIsda, Thirty365Isda, ThirtyEActIsda, ThirtyE360Isda, ThirtyE365Isda, ThirtyU360EOM].")
|
31
|
-
roll_convention: constr(strict=True, max_length=50, min_length=0) = Field(..., alias="rollConvention", description="For backward compatibility, this can either specify a business day convention or a roll convention. If the business day convention is provided using the BusinessDayConvention property, this must be a valid roll convention. When used as a roll convention: The conventions specifying the rule used to generate dates in a schedule. Supported string (enumeration) values are: [None, EndOfMonth, IMM, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]. When in backward compatible mode: Supported string (enumeration) values are: [NoAdjustment, None, Previous, P, Following, F, ModifiedPrevious, MP, ModifiedFollowing, MF, HalfMonthModifiedFollowing].")
|
32
|
+
roll_convention: constr(strict=True, max_length=50, min_length=0) = Field(..., alias="rollConvention", description="For backward compatibility, this can either specify a business day convention or a roll convention. If the business day convention is provided using the BusinessDayConvention property, this must be a valid roll convention. When used as a roll convention: The conventions specifying the rule used to generate dates in a schedule. Supported string (enumeration) values are: [None, EndOfMonth, IMM, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, FirstMonday, FirstWednesday, FirstThursday, ThirdWednesday]. When in backward compatible mode: Supported string (enumeration) values are: [NoAdjustment, None, Previous, P, Following, F, ModifiedPrevious, MP, ModifiedFollowing, MF, HalfMonthModifiedFollowing].")
|
32
33
|
payment_calendars: conlist(StrictStr) = Field(..., alias="paymentCalendars", description="An array of strings denoting holiday calendars that apply to generation of payment schedules.")
|
33
34
|
reset_calendars: conlist(StrictStr) = Field(..., alias="resetCalendars", description="An array of strings denoting holiday calendars that apply to generation of reset schedules.")
|
34
35
|
settle_days: Optional[StrictInt] = Field(None, alias="settleDays", description="DEPRECATED Number of Good Business Days between the trade date and the effective or settlement date of the instrument. This field is now deprecated and not picked up in schedule generation or adjustment to bond accrual start date. Defaulted to 0 if not set.")
|
35
36
|
reset_days: Optional[StrictInt] = Field(None, alias="resetDays", description="The number of Good Business Days between determination and payment of reset. Defaulted to 0 if not set.")
|
36
37
|
leap_days_included: Optional[StrictBool] = Field(None, alias="leapDaysIncluded", description="If this flag is set to true, the 29th of February is included in the date schedule when the business roll convention is applied. If this flag is set to false, the business roll convention ignores February 29 for date schedules, cash flow payments etc. This flag defaults to true if not specified, i.e., leap days are included in a date schedule generation.")
|
37
|
-
accrual_date_adjustment: Optional[constr(strict=True, max_length=50, min_length=0)] = Field(None, alias="accrualDateAdjustment", description="Indicates if the accrual dates are adjusted
|
38
|
+
accrual_date_adjustment: Optional[constr(strict=True, max_length=50, min_length=0)] = Field(None, alias="accrualDateAdjustment", description="Indicates if the accrual dates are adjusted using the business day convention. The default value is 'Adjusted'. Supported string (enumeration) values are: [Adjusted, Unadjusted].")
|
38
39
|
business_day_convention: Optional[StrictStr] = Field(None, alias="businessDayConvention", description="When generating a set of dates, what convention should be used for adjusting dates that coincide with a non-business day. Supported string (enumeration) values are: [NoAdjustment, None, Previous, P, Following, F, ModifiedPrevious, MP, ModifiedFollowing, MF, HalfMonthModifiedFollowing, Nearest].")
|
40
|
+
accrual_day_count_convention: Optional[constr(strict=True, max_length=50, min_length=0)] = Field(None, alias="accrualDayCountConvention", description="Optional, if not set the main DayCountConvention is used for all accrual calculations. This only needs to be set when accrual uses a different day count to the coupon calculation.")
|
41
|
+
coupon_payment_lag: Optional[RelativeDateOffset] = Field(None, alias="couponPaymentLag")
|
39
42
|
scope: Optional[constr(strict=True, max_length=256, min_length=1)] = Field(None, description="The scope used when updating or inserting the convention.")
|
40
43
|
code: Optional[constr(strict=True, max_length=256, min_length=1)] = Field(None, description="The code of the convention.")
|
41
|
-
__properties = ["currency", "paymentFrequency", "dayCountConvention", "rollConvention", "paymentCalendars", "resetCalendars", "settleDays", "resetDays", "leapDaysIncluded", "accrualDateAdjustment", "businessDayConvention", "scope", "code"]
|
44
|
+
__properties = ["currency", "paymentFrequency", "dayCountConvention", "rollConvention", "paymentCalendars", "resetCalendars", "settleDays", "resetDays", "leapDaysIncluded", "accrualDateAdjustment", "businessDayConvention", "accrualDayCountConvention", "couponPaymentLag", "scope", "code"]
|
42
45
|
|
43
46
|
@validator('scope')
|
44
47
|
def scope_validate_regular_expression(cls, value):
|
@@ -65,6 +68,14 @@ class FlowConventions(BaseModel):
|
|
65
68
|
allow_population_by_field_name = True
|
66
69
|
validate_assignment = True
|
67
70
|
|
71
|
+
def __str__(self):
|
72
|
+
"""For `print` and `pprint`"""
|
73
|
+
return pprint.pformat(self.dict(by_alias=False))
|
74
|
+
|
75
|
+
def __repr__(self):
|
76
|
+
"""For `print` and `pprint`"""
|
77
|
+
return self.to_str()
|
78
|
+
|
68
79
|
def to_str(self) -> str:
|
69
80
|
"""Returns the string representation of the model using alias"""
|
70
81
|
return pprint.pformat(self.dict(by_alias=True))
|
@@ -84,6 +95,9 @@ class FlowConventions(BaseModel):
|
|
84
95
|
exclude={
|
85
96
|
},
|
86
97
|
exclude_none=True)
|
98
|
+
# override the default output from pydantic by calling `to_dict()` of coupon_payment_lag
|
99
|
+
if self.coupon_payment_lag:
|
100
|
+
_dict['couponPaymentLag'] = self.coupon_payment_lag.to_dict()
|
87
101
|
# set to None if leap_days_included (nullable) is None
|
88
102
|
# and __fields_set__ contains the field
|
89
103
|
if self.leap_days_included is None and "leap_days_included" in self.__fields_set__:
|
@@ -99,6 +113,11 @@ class FlowConventions(BaseModel):
|
|
99
113
|
if self.business_day_convention is None and "business_day_convention" in self.__fields_set__:
|
100
114
|
_dict['businessDayConvention'] = None
|
101
115
|
|
116
|
+
# set to None if accrual_day_count_convention (nullable) is None
|
117
|
+
# and __fields_set__ contains the field
|
118
|
+
if self.accrual_day_count_convention is None and "accrual_day_count_convention" in self.__fields_set__:
|
119
|
+
_dict['accrualDayCountConvention'] = None
|
120
|
+
|
102
121
|
# set to None if scope (nullable) is None
|
103
122
|
# and __fields_set__ contains the field
|
104
123
|
if self.scope is None and "scope" in self.__fields_set__:
|
@@ -132,6 +151,8 @@ class FlowConventions(BaseModel):
|
|
132
151
|
"leap_days_included": obj.get("leapDaysIncluded"),
|
133
152
|
"accrual_date_adjustment": obj.get("accrualDateAdjustment"),
|
134
153
|
"business_day_convention": obj.get("businessDayConvention"),
|
154
|
+
"accrual_day_count_convention": obj.get("accrualDayCountConvention"),
|
155
|
+
"coupon_payment_lag": RelativeDateOffset.from_dict(obj.get("couponPaymentLag")) if obj.get("couponPaymentLag") is not None else None,
|
135
156
|
"scope": obj.get("scope"),
|
136
157
|
"code": obj.get("code")
|
137
158
|
})
|