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/fx_forward.py
CHANGED
@@ -19,32 +19,33 @@ import json
|
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
21
|
from typing import Any, Dict, Optional, Union
|
22
|
-
from pydantic import Field, StrictBool, StrictFloat, StrictInt, StrictStr, validator
|
22
|
+
from pydantic.v1 import Field, StrictBool, StrictFloat, StrictInt, StrictStr, validator
|
23
23
|
from lusid.models.lusid_instrument import LusidInstrument
|
24
24
|
|
25
25
|
class FxForward(LusidInstrument):
|
26
26
|
"""
|
27
|
-
LUSID representation of an FX Forward. Including FX Spot and Non-Deliverable Forwards. # noqa: E501
|
27
|
+
LUSID representation of an FX Forward. Including FX Spot and Non-Deliverable Forwards. This instrument has multiple legs, to see how legs are used in LUSID see [knowledge base article KA-02252](https://support.lusid.com/knowledgebase/article/KA-02252). | Leg Index | Leg Identifier | Description | | --------- | -------------- | ----------- | | 1 | DomesticLeg | Cash flows in the domestic currency of the forward. | | 2 | ForeignLeg | Cash flows in the foreign currency of the forward (not present for non-deliverable forwards). | # noqa: E501
|
28
28
|
"""
|
29
29
|
start_date: datetime = Field(..., alias="startDate", description="The start date of the instrument. This is normally synonymous with the trade-date.")
|
30
30
|
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.")
|
31
31
|
dom_amount: Union[StrictFloat, StrictInt] = Field(..., alias="domAmount", description="The amount that is to be paid in the domestic currency on the maturity date.")
|
32
32
|
dom_ccy: StrictStr = Field(..., alias="domCcy", description="The domestic currency of the instrument.")
|
33
33
|
fgn_amount: Union[StrictFloat, StrictInt] = Field(..., alias="fgnAmount", description="The amount that is to be paid in the foreign currency on the maturity date.")
|
34
|
-
fgn_ccy: StrictStr = Field(..., alias="fgnCcy", description="The foreign (other) currency of the instrument. In the NDF case, only payments are made in the domestic currency. For the outright forward, currencies are exchanged.
|
34
|
+
fgn_ccy: StrictStr = Field(..., alias="fgnCcy", description="The foreign (other) currency of the instrument. In the NDF case, only payments are made in the domestic currency. For the outright forward, currencies are exchanged.")
|
35
35
|
ref_spot_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="refSpotRate", description="The reference Fx Spot rate for currency pair Foreign-Domestic that was seen on the trade start date (time).")
|
36
36
|
is_ndf: Optional[StrictBool] = Field(None, alias="isNdf", description="Is the contract an Fx-Forward of \"Non-Deliverable\" type, meaning a single payment in the domestic currency based on the change in fx-rate vs a reference rate is used.")
|
37
37
|
fixing_date: Optional[datetime] = Field(None, alias="fixingDate", description="The fixing date.")
|
38
38
|
settlement_ccy: Optional[StrictStr] = Field(None, alias="settlementCcy", description="The settlement currency. If provided, present value will be calculated in settlement currency, otherwise the domestic currency. Applies only to non-deliverable FX Forwards.")
|
39
|
-
|
39
|
+
booked_as_spot: Optional[StrictBool] = Field(None, alias="bookedAsSpot", description="Boolean flag for FX Forward transactions booked with Spot settlement. This will default to False if not provided. For information purposes only, this does not impact LUSID valuation, analytics, cashflows or events, but may be used by third party vendors.")
|
40
|
+
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")
|
40
41
|
additional_properties: Dict[str, Any] = {}
|
41
|
-
__properties = ["instrumentType", "startDate", "maturityDate", "domAmount", "domCcy", "fgnAmount", "fgnCcy", "refSpotRate", "isNdf", "fixingDate", "settlementCcy"]
|
42
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "domAmount", "domCcy", "fgnAmount", "fgnCcy", "refSpotRate", "isNdf", "fixingDate", "settlementCcy", "bookedAsSpot"]
|
42
43
|
|
43
44
|
@validator('instrument_type')
|
44
45
|
def instrument_type_validate_enum(cls, value):
|
45
46
|
"""Validates the enum"""
|
46
|
-
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'):
|
47
|
-
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')")
|
47
|
+
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'):
|
48
|
+
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')")
|
48
49
|
return value
|
49
50
|
|
50
51
|
class Config:
|
@@ -52,6 +53,14 @@ class FxForward(LusidInstrument):
|
|
52
53
|
allow_population_by_field_name = True
|
53
54
|
validate_assignment = True
|
54
55
|
|
56
|
+
def __str__(self):
|
57
|
+
"""For `print` and `pprint`"""
|
58
|
+
return pprint.pformat(self.dict(by_alias=False))
|
59
|
+
|
60
|
+
def __repr__(self):
|
61
|
+
"""For `print` and `pprint`"""
|
62
|
+
return self.to_str()
|
63
|
+
|
55
64
|
def to_str(self) -> str:
|
56
65
|
"""Returns the string representation of the model using alias"""
|
57
66
|
return pprint.pformat(self.dict(by_alias=True))
|
@@ -104,7 +113,8 @@ class FxForward(LusidInstrument):
|
|
104
113
|
"ref_spot_rate": obj.get("refSpotRate"),
|
105
114
|
"is_ndf": obj.get("isNdf"),
|
106
115
|
"fixing_date": obj.get("fixingDate"),
|
107
|
-
"settlement_ccy": obj.get("settlementCcy")
|
116
|
+
"settlement_ccy": obj.get("settlementCcy"),
|
117
|
+
"booked_as_spot": obj.get("bookedAsSpot")
|
108
118
|
})
|
109
119
|
# store additional fields in additional_properties
|
110
120
|
for _key in obj.keys():
|
@@ -19,7 +19,7 @@ import json
|
|
19
19
|
|
20
20
|
|
21
21
|
from typing import Any, Dict, List, Optional
|
22
|
-
from pydantic import Field, StrictStr, conlist, constr, validator
|
22
|
+
from pydantic.v1 import Field, StrictStr, conlist, constr, validator
|
23
23
|
from lusid.models.complex_market_data import ComplexMarketData
|
24
24
|
from lusid.models.fx_tenor_convention import FxTenorConvention
|
25
25
|
from lusid.models.market_data_options import MarketDataOptions
|
@@ -30,21 +30,21 @@ class FxForwardCurveByQuoteReference(ComplexMarketData):
|
|
30
30
|
"""
|
31
31
|
dom_ccy: StrictStr = Field(..., alias="domCcy", description="Domestic currency of the fx forward")
|
32
32
|
fgn_ccy: StrictStr = Field(..., alias="fgnCcy", description="Foreign currency of the fx forward")
|
33
|
-
tenors: conlist(StrictStr) = Field(..., description="Tenors for which the forward rates apply")
|
33
|
+
tenors: conlist(StrictStr) = Field(..., description="Tenors for which the forward rates apply. For more information on tenors, see [knowledge base article KA-02097](https://support.lusid.com/knowledgebase/article/KA-02097)")
|
34
34
|
quote_references: conlist(Dict[str, StrictStr]) = Field(..., alias="quoteReferences", description="For each tenor, a collection of identifiers. These will be looked up in the LUSID Quote Store to resolve the actual rates. Accepts an array of Dictionary<string, string>. The keys of each dictionary must be chosen from the following enumeration: [LusidInstrumentId, Isin, Sedol, Cusip, ClientInternal, Figi, RIC, QuotePermId, REDCode, BBGId, ICECode]. For example: <br /> \"quoteReferences\": [{\"ClientInternal\": \"SomeIdentifierForFirstTenor\"},{\"ClientInternal\": \"SomeIdentifierForSecondTenor\"}")
|
35
35
|
lineage: Optional[constr(strict=True, max_length=1024, min_length=0)] = Field(None, description="Description of the complex market data's lineage e.g. 'FundAccountant_GreenQuality'.")
|
36
36
|
market_data_options: Optional[MarketDataOptions] = Field(None, alias="marketDataOptions")
|
37
37
|
calendars: Optional[conlist(FxTenorConvention)] = Field(None, description="The list of conventions that should be used when interpreting tenors as dates.")
|
38
38
|
spot_days_calculation_type: Optional[StrictStr] = Field(None, alias="spotDaysCalculationType", description="Configures how to calculate the spot date from the build date using the Calendars provided. Supported string (enumeration) values are: [ SingleCalendar, UnionCalendars ]")
|
39
|
-
market_data_type: StrictStr = Field(..., alias="marketDataType", description="The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData")
|
39
|
+
market_data_type: StrictStr = Field(..., alias="marketDataType", description="The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData, ConstantVolatilitySurface")
|
40
40
|
additional_properties: Dict[str, Any] = {}
|
41
41
|
__properties = ["marketDataType", "domCcy", "fgnCcy", "tenors", "quoteReferences", "lineage", "marketDataOptions", "calendars", "spotDaysCalculationType"]
|
42
42
|
|
43
43
|
@validator('market_data_type')
|
44
44
|
def market_data_type_validate_enum(cls, value):
|
45
45
|
"""Validates the enum"""
|
46
|
-
if value not in ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData'):
|
47
|
-
raise ValueError("must be one of enum values ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData')")
|
46
|
+
if value not in ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData', 'ConstantVolatilitySurface'):
|
47
|
+
raise ValueError("must be one of enum values ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData', 'ConstantVolatilitySurface')")
|
48
48
|
return value
|
49
49
|
|
50
50
|
class Config:
|
@@ -52,6 +52,14 @@ class FxForwardCurveByQuoteReference(ComplexMarketData):
|
|
52
52
|
allow_population_by_field_name = True
|
53
53
|
validate_assignment = True
|
54
54
|
|
55
|
+
def __str__(self):
|
56
|
+
"""For `print` and `pprint`"""
|
57
|
+
return pprint.pformat(self.dict(by_alias=False))
|
58
|
+
|
59
|
+
def __repr__(self):
|
60
|
+
"""For `print` and `pprint`"""
|
61
|
+
return self.to_str()
|
62
|
+
|
55
63
|
def to_str(self) -> str:
|
56
64
|
"""Returns the string representation of the model using alias"""
|
57
65
|
return pprint.pformat(self.dict(by_alias=True))
|
@@ -19,7 +19,7 @@ import json
|
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
21
|
from typing import Any, Dict, List, Optional, Union
|
22
|
-
from pydantic import Field, StrictFloat, StrictInt, StrictStr, conlist, constr, validator
|
22
|
+
from pydantic.v1 import Field, StrictFloat, StrictInt, StrictStr, conlist, constr, validator
|
23
23
|
from lusid.models.complex_market_data import ComplexMarketData
|
24
24
|
from lusid.models.market_data_options import MarketDataOptions
|
25
25
|
|
@@ -34,15 +34,15 @@ class FxForwardCurveData(ComplexMarketData):
|
|
34
34
|
rates: conlist(Union[StrictFloat, StrictInt]) = Field(..., description="Rates provided for the fx forward (price in FgnCcy per unit of DomCcy)")
|
35
35
|
lineage: Optional[constr(strict=True, max_length=1024, min_length=0)] = Field(None, description="Description of the complex market data's lineage e.g. 'FundAccountant_GreenQuality'.")
|
36
36
|
market_data_options: Optional[MarketDataOptions] = Field(None, alias="marketDataOptions")
|
37
|
-
market_data_type: StrictStr = Field(..., alias="marketDataType", description="The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData")
|
37
|
+
market_data_type: StrictStr = Field(..., alias="marketDataType", description="The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData, ConstantVolatilitySurface")
|
38
38
|
additional_properties: Dict[str, Any] = {}
|
39
39
|
__properties = ["marketDataType", "baseDate", "domCcy", "fgnCcy", "dates", "rates", "lineage", "marketDataOptions"]
|
40
40
|
|
41
41
|
@validator('market_data_type')
|
42
42
|
def market_data_type_validate_enum(cls, value):
|
43
43
|
"""Validates the enum"""
|
44
|
-
if value not in ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData'):
|
45
|
-
raise ValueError("must be one of enum values ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData')")
|
44
|
+
if value not in ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData', 'ConstantVolatilitySurface'):
|
45
|
+
raise ValueError("must be one of enum values ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData', 'ConstantVolatilitySurface')")
|
46
46
|
return value
|
47
47
|
|
48
48
|
class Config:
|
@@ -50,6 +50,14 @@ class FxForwardCurveData(ComplexMarketData):
|
|
50
50
|
allow_population_by_field_name = True
|
51
51
|
validate_assignment = True
|
52
52
|
|
53
|
+
def __str__(self):
|
54
|
+
"""For `print` and `pprint`"""
|
55
|
+
return pprint.pformat(self.dict(by_alias=False))
|
56
|
+
|
57
|
+
def __repr__(self):
|
58
|
+
"""For `print` and `pprint`"""
|
59
|
+
return self.to_str()
|
60
|
+
|
53
61
|
def to_str(self) -> str:
|
54
62
|
"""Returns the string representation of the model using alias"""
|
55
63
|
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
|
22
|
-
from pydantic import Field, StrictBool, StrictStr, validator
|
22
|
+
from pydantic.v1 import Field, StrictBool, StrictStr, validator
|
23
23
|
from lusid.models.model_options import ModelOptions
|
24
24
|
|
25
25
|
class FxForwardModelOptions(ModelOptions):
|
@@ -29,7 +29,7 @@ class FxForwardModelOptions(ModelOptions):
|
|
29
29
|
forward_rate_observable_type: StrictStr = Field(..., alias="forwardRateObservableType", description="The available values are: ForwardPoints, ForwardRate, RatesCurve, FxForwardCurve, Invalid")
|
30
30
|
discounting_method: StrictStr = Field(..., alias="discountingMethod", description="The available values are: Standard, ConstantTimeValueOfMoney, Invalid")
|
31
31
|
convert_to_report_ccy: StrictBool = Field(..., alias="convertToReportCcy", description="Convert all FX flows to the report currency By setting this all FX forwards will be priced using Forward Curves that have Report Currency as the base.")
|
32
|
-
model_options_type: StrictStr = Field(..., alias="modelOptionsType", description="The available values are: Invalid, OpaqueModelOptions, EmptyModelOptions, IndexModelOptions, FxForwardModelOptions, FundingLegModelOptions, EquityModelOptions
|
32
|
+
model_options_type: StrictStr = Field(..., alias="modelOptionsType", description="The available values are: Invalid, OpaqueModelOptions, EmptyModelOptions, IndexModelOptions, FxForwardModelOptions, FundingLegModelOptions, EquityModelOptions")
|
33
33
|
additional_properties: Dict[str, Any] = {}
|
34
34
|
__properties = ["modelOptionsType", "forwardRateObservableType", "discountingMethod", "convertToReportCcy"]
|
35
35
|
|
@@ -50,8 +50,8 @@ class FxForwardModelOptions(ModelOptions):
|
|
50
50
|
@validator('model_options_type')
|
51
51
|
def model_options_type_validate_enum(cls, value):
|
52
52
|
"""Validates the enum"""
|
53
|
-
if value not in ('Invalid', 'OpaqueModelOptions', 'EmptyModelOptions', 'IndexModelOptions', 'FxForwardModelOptions', 'FundingLegModelOptions', 'EquityModelOptions'
|
54
|
-
raise ValueError("must be one of enum values ('Invalid', 'OpaqueModelOptions', 'EmptyModelOptions', 'IndexModelOptions', 'FxForwardModelOptions', 'FundingLegModelOptions', 'EquityModelOptions'
|
53
|
+
if value not in ('Invalid', 'OpaqueModelOptions', 'EmptyModelOptions', 'IndexModelOptions', 'FxForwardModelOptions', 'FundingLegModelOptions', 'EquityModelOptions'):
|
54
|
+
raise ValueError("must be one of enum values ('Invalid', 'OpaqueModelOptions', 'EmptyModelOptions', 'IndexModelOptions', 'FxForwardModelOptions', 'FundingLegModelOptions', 'EquityModelOptions')")
|
55
55
|
return value
|
56
56
|
|
57
57
|
class Config:
|
@@ -59,6 +59,14 @@ class FxForwardModelOptions(ModelOptions):
|
|
59
59
|
allow_population_by_field_name = True
|
60
60
|
validate_assignment = True
|
61
61
|
|
62
|
+
def __str__(self):
|
63
|
+
"""For `print` and `pprint`"""
|
64
|
+
return pprint.pformat(self.dict(by_alias=False))
|
65
|
+
|
66
|
+
def __repr__(self):
|
67
|
+
"""For `print` and `pprint`"""
|
68
|
+
return self.to_str()
|
69
|
+
|
62
70
|
def to_str(self) -> str:
|
63
71
|
"""Returns the string representation of the model using alias"""
|
64
72
|
return pprint.pformat(self.dict(by_alias=True))
|
@@ -19,7 +19,7 @@ import json
|
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
21
|
from typing import Any, Dict, List, Optional, Union
|
22
|
-
from pydantic import Field, StrictFloat, StrictInt, StrictStr, conlist, constr, validator
|
22
|
+
from pydantic.v1 import Field, StrictFloat, StrictInt, StrictStr, conlist, constr, validator
|
23
23
|
from lusid.models.complex_market_data import ComplexMarketData
|
24
24
|
from lusid.models.market_data_options import MarketDataOptions
|
25
25
|
|
@@ -34,15 +34,15 @@ class FxForwardPipsCurveData(ComplexMarketData):
|
|
34
34
|
pip_rates: conlist(Union[StrictFloat, StrictInt]) = Field(..., alias="pipRates", description="Rates provided for the fx forward (price in FgnCcy per unit of DomCcy), expressed in pips")
|
35
35
|
lineage: Optional[constr(strict=True, max_length=1024, min_length=0)] = Field(None, description="Description of the complex market data's lineage e.g. 'FundAccountant_GreenQuality'.")
|
36
36
|
market_data_options: Optional[MarketDataOptions] = Field(None, alias="marketDataOptions")
|
37
|
-
market_data_type: StrictStr = Field(..., alias="marketDataType", description="The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData")
|
37
|
+
market_data_type: StrictStr = Field(..., alias="marketDataType", description="The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData, ConstantVolatilitySurface")
|
38
38
|
additional_properties: Dict[str, Any] = {}
|
39
39
|
__properties = ["marketDataType", "baseDate", "domCcy", "fgnCcy", "dates", "pipRates", "lineage", "marketDataOptions"]
|
40
40
|
|
41
41
|
@validator('market_data_type')
|
42
42
|
def market_data_type_validate_enum(cls, value):
|
43
43
|
"""Validates the enum"""
|
44
|
-
if value not in ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData'):
|
45
|
-
raise ValueError("must be one of enum values ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData')")
|
44
|
+
if value not in ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData', 'ConstantVolatilitySurface'):
|
45
|
+
raise ValueError("must be one of enum values ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData', 'ConstantVolatilitySurface')")
|
46
46
|
return value
|
47
47
|
|
48
48
|
class Config:
|
@@ -50,6 +50,14 @@ class FxForwardPipsCurveData(ComplexMarketData):
|
|
50
50
|
allow_population_by_field_name = True
|
51
51
|
validate_assignment = True
|
52
52
|
|
53
|
+
def __str__(self):
|
54
|
+
"""For `print` and `pprint`"""
|
55
|
+
return pprint.pformat(self.dict(by_alias=False))
|
56
|
+
|
57
|
+
def __repr__(self):
|
58
|
+
"""For `print` and `pprint`"""
|
59
|
+
return self.to_str()
|
60
|
+
|
53
61
|
def to_str(self) -> str:
|
54
62
|
"""Returns the string representation of the model using alias"""
|
55
63
|
return pprint.pformat(self.dict(by_alias=True))
|
@@ -0,0 +1,152 @@
|
|
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, Optional, Union
|
22
|
+
from pydantic.v1 import Field, StrictBool, StrictFloat, StrictInt, StrictStr, validator
|
23
|
+
from lusid.models.instrument_event import InstrumentEvent
|
24
|
+
|
25
|
+
class FxForwardSettlementEvent(InstrumentEvent):
|
26
|
+
"""
|
27
|
+
Settlement for FX Forward, including NDF and deliverable. # noqa: E501
|
28
|
+
"""
|
29
|
+
maturity_date: datetime = Field(..., alias="maturityDate", description="Maturity date of the forward")
|
30
|
+
dom_amount_per_unit: Union[StrictFloat, StrictInt] = Field(..., alias="domAmountPerUnit", description="Amount per unit in the DomCcy (domestic currency)")
|
31
|
+
dom_ccy: StrictStr = Field(..., alias="domCcy", description="The domestic currency of the forward")
|
32
|
+
fgn_amount_per_unit: Union[StrictFloat, StrictInt] = Field(..., alias="fgnAmountPerUnit", description="Amount per unit in the FgnCcy (foreign currency)")
|
33
|
+
fgn_ccy: StrictStr = Field(..., alias="fgnCcy", description="The foreign currency of the forward.")
|
34
|
+
is_ndf: StrictBool = Field(..., alias="isNdf", description="Is this settlement corresponding to a deliverable forward, or an NDF")
|
35
|
+
fixing_date: Optional[datetime] = Field(None, alias="fixingDate", description="Optional. Required if the event is an NDF (i.e. if IsNdf = true). Date of the FxRate fixings.")
|
36
|
+
settlement_ccy: Optional[StrictStr] = Field(None, alias="settlementCcy", description="Optional. Required if the event is an NDF (i.e. if IsNdf = true). May be set to either DomCcy or FgnCcy, or a third currency.")
|
37
|
+
cash_flow_per_unit: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="cashFlowPerUnit", description="Optional. Required if the event is an NDF (i.e. if IsNdf = true). CashFlow per unit. Paid in the SettlementCcy.")
|
38
|
+
domestic_to_foreign_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="domesticToForeignRate", description="Domestic currency to foreign currency FX rate. Not required, only used to override quotes.")
|
39
|
+
domestic_to_settlement_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="domesticToSettlementRate", description="Domestic currency to settlement currency FX rate Not required, only used to override quotes.")
|
40
|
+
foreign_to_settlement_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="foreignToSettlementRate", description="Foreign currency to settlement currency FX rate Not required, only used to override quotes.")
|
41
|
+
instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent, CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent, MbsPrincipalEvent, BonusIssueEvent, MbsPrincipalWriteOffEvent, MbsInterestDeferralEvent, MbsInterestShortfallEvent, TenderEvent, CallOnIntermediateSecuritiesEvent, IntermediateSecuritiesDistributionEvent, OptionExercisePhysicalEvent, OptionExerciseCashEvent, ProtectionPayoutCashFlowEvent, TermDepositInterestEvent, TermDepositPrincipalEvent, EarlyRedemptionEvent, FutureMarkToMarketEvent, AdjustGlobalCommitmentEvent, ContractInitialisationEvent, DrawdownEvent, LoanInterestRepaymentEvent")
|
42
|
+
additional_properties: Dict[str, Any] = {}
|
43
|
+
__properties = ["instrumentEventType", "maturityDate", "domAmountPerUnit", "domCcy", "fgnAmountPerUnit", "fgnCcy", "isNdf", "fixingDate", "settlementCcy", "cashFlowPerUnit", "domesticToForeignRate", "domesticToSettlementRate", "foreignToSettlementRate"]
|
44
|
+
|
45
|
+
@validator('instrument_event_type')
|
46
|
+
def instrument_event_type_validate_enum(cls, value):
|
47
|
+
"""Validates the enum"""
|
48
|
+
if value not in ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent', 'ScripDividendEvent', 'StockDividendEvent', 'ReverseStockSplitEvent', 'CapitalDistributionEvent', 'SpinOffEvent', 'MergerEvent', 'FutureExpiryEvent', 'SwapCashFlowEvent', 'SwapPrincipalEvent', 'CreditPremiumCashFlowEvent', 'CdsCreditEvent', 'CdxCreditEvent', 'MbsCouponEvent', 'MbsPrincipalEvent', 'BonusIssueEvent', 'MbsPrincipalWriteOffEvent', 'MbsInterestDeferralEvent', 'MbsInterestShortfallEvent', 'TenderEvent', 'CallOnIntermediateSecuritiesEvent', 'IntermediateSecuritiesDistributionEvent', 'OptionExercisePhysicalEvent', 'OptionExerciseCashEvent', 'ProtectionPayoutCashFlowEvent', 'TermDepositInterestEvent', 'TermDepositPrincipalEvent', 'EarlyRedemptionEvent', 'FutureMarkToMarketEvent', 'AdjustGlobalCommitmentEvent', 'ContractInitialisationEvent', 'DrawdownEvent', 'LoanInterestRepaymentEvent'):
|
49
|
+
raise ValueError("must be one of enum values ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent', 'ScripDividendEvent', 'StockDividendEvent', 'ReverseStockSplitEvent', 'CapitalDistributionEvent', 'SpinOffEvent', 'MergerEvent', 'FutureExpiryEvent', 'SwapCashFlowEvent', 'SwapPrincipalEvent', 'CreditPremiumCashFlowEvent', 'CdsCreditEvent', 'CdxCreditEvent', 'MbsCouponEvent', 'MbsPrincipalEvent', 'BonusIssueEvent', 'MbsPrincipalWriteOffEvent', 'MbsInterestDeferralEvent', 'MbsInterestShortfallEvent', 'TenderEvent', 'CallOnIntermediateSecuritiesEvent', 'IntermediateSecuritiesDistributionEvent', 'OptionExercisePhysicalEvent', 'OptionExerciseCashEvent', 'ProtectionPayoutCashFlowEvent', 'TermDepositInterestEvent', 'TermDepositPrincipalEvent', 'EarlyRedemptionEvent', 'FutureMarkToMarketEvent', 'AdjustGlobalCommitmentEvent', 'ContractInitialisationEvent', 'DrawdownEvent', 'LoanInterestRepaymentEvent')")
|
50
|
+
return value
|
51
|
+
|
52
|
+
class Config:
|
53
|
+
"""Pydantic configuration"""
|
54
|
+
allow_population_by_field_name = True
|
55
|
+
validate_assignment = True
|
56
|
+
|
57
|
+
def __str__(self):
|
58
|
+
"""For `print` and `pprint`"""
|
59
|
+
return pprint.pformat(self.dict(by_alias=False))
|
60
|
+
|
61
|
+
def __repr__(self):
|
62
|
+
"""For `print` and `pprint`"""
|
63
|
+
return self.to_str()
|
64
|
+
|
65
|
+
def to_str(self) -> str:
|
66
|
+
"""Returns the string representation of the model using alias"""
|
67
|
+
return pprint.pformat(self.dict(by_alias=True))
|
68
|
+
|
69
|
+
def to_json(self) -> str:
|
70
|
+
"""Returns the JSON representation of the model using alias"""
|
71
|
+
return json.dumps(self.to_dict())
|
72
|
+
|
73
|
+
@classmethod
|
74
|
+
def from_json(cls, json_str: str) -> FxForwardSettlementEvent:
|
75
|
+
"""Create an instance of FxForwardSettlementEvent from a JSON string"""
|
76
|
+
return cls.from_dict(json.loads(json_str))
|
77
|
+
|
78
|
+
def to_dict(self):
|
79
|
+
"""Returns the dictionary representation of the model using alias"""
|
80
|
+
_dict = self.dict(by_alias=True,
|
81
|
+
exclude={
|
82
|
+
"foreign_to_settlement_rate",
|
83
|
+
"additional_properties"
|
84
|
+
},
|
85
|
+
exclude_none=True)
|
86
|
+
# puts key-value pairs in additional_properties in the top level
|
87
|
+
if self.additional_properties is not None:
|
88
|
+
for _key, _value in self.additional_properties.items():
|
89
|
+
_dict[_key] = _value
|
90
|
+
|
91
|
+
# set to None if fixing_date (nullable) is None
|
92
|
+
# and __fields_set__ contains the field
|
93
|
+
if self.fixing_date is None and "fixing_date" in self.__fields_set__:
|
94
|
+
_dict['fixingDate'] = None
|
95
|
+
|
96
|
+
# set to None if settlement_ccy (nullable) is None
|
97
|
+
# and __fields_set__ contains the field
|
98
|
+
if self.settlement_ccy is None and "settlement_ccy" in self.__fields_set__:
|
99
|
+
_dict['settlementCcy'] = None
|
100
|
+
|
101
|
+
# set to None if cash_flow_per_unit (nullable) is None
|
102
|
+
# and __fields_set__ contains the field
|
103
|
+
if self.cash_flow_per_unit is None and "cash_flow_per_unit" in self.__fields_set__:
|
104
|
+
_dict['cashFlowPerUnit'] = None
|
105
|
+
|
106
|
+
# set to None if domestic_to_foreign_rate (nullable) is None
|
107
|
+
# and __fields_set__ contains the field
|
108
|
+
if self.domestic_to_foreign_rate is None and "domestic_to_foreign_rate" in self.__fields_set__:
|
109
|
+
_dict['domesticToForeignRate'] = None
|
110
|
+
|
111
|
+
# set to None if domestic_to_settlement_rate (nullable) is None
|
112
|
+
# and __fields_set__ contains the field
|
113
|
+
if self.domestic_to_settlement_rate is None and "domestic_to_settlement_rate" in self.__fields_set__:
|
114
|
+
_dict['domesticToSettlementRate'] = None
|
115
|
+
|
116
|
+
# set to None if foreign_to_settlement_rate (nullable) is None
|
117
|
+
# and __fields_set__ contains the field
|
118
|
+
if self.foreign_to_settlement_rate is None and "foreign_to_settlement_rate" in self.__fields_set__:
|
119
|
+
_dict['foreignToSettlementRate'] = None
|
120
|
+
|
121
|
+
return _dict
|
122
|
+
|
123
|
+
@classmethod
|
124
|
+
def from_dict(cls, obj: dict) -> FxForwardSettlementEvent:
|
125
|
+
"""Create an instance of FxForwardSettlementEvent from a dict"""
|
126
|
+
if obj is None:
|
127
|
+
return None
|
128
|
+
|
129
|
+
if not isinstance(obj, dict):
|
130
|
+
return FxForwardSettlementEvent.parse_obj(obj)
|
131
|
+
|
132
|
+
_obj = FxForwardSettlementEvent.parse_obj({
|
133
|
+
"instrument_event_type": obj.get("instrumentEventType"),
|
134
|
+
"maturity_date": obj.get("maturityDate"),
|
135
|
+
"dom_amount_per_unit": obj.get("domAmountPerUnit"),
|
136
|
+
"dom_ccy": obj.get("domCcy"),
|
137
|
+
"fgn_amount_per_unit": obj.get("fgnAmountPerUnit"),
|
138
|
+
"fgn_ccy": obj.get("fgnCcy"),
|
139
|
+
"is_ndf": obj.get("isNdf"),
|
140
|
+
"fixing_date": obj.get("fixingDate"),
|
141
|
+
"settlement_ccy": obj.get("settlementCcy"),
|
142
|
+
"cash_flow_per_unit": obj.get("cashFlowPerUnit"),
|
143
|
+
"domestic_to_foreign_rate": obj.get("domesticToForeignRate"),
|
144
|
+
"domestic_to_settlement_rate": obj.get("domesticToSettlementRate"),
|
145
|
+
"foreign_to_settlement_rate": obj.get("foreignToSettlementRate")
|
146
|
+
})
|
147
|
+
# store additional fields in additional_properties
|
148
|
+
for _key in obj.keys():
|
149
|
+
if _key not in cls.__properties:
|
150
|
+
_obj.additional_properties[_key] = obj.get(_key)
|
151
|
+
|
152
|
+
return _obj
|
@@ -19,7 +19,7 @@ import json
|
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
21
|
from typing import Any, Dict, List, Optional, Union
|
22
|
-
from pydantic import Field, StrictFloat, StrictInt, StrictStr, conlist, constr, validator
|
22
|
+
from pydantic.v1 import Field, StrictFloat, StrictInt, StrictStr, conlist, constr, validator
|
23
23
|
from lusid.models.complex_market_data import ComplexMarketData
|
24
24
|
from lusid.models.fx_tenor_convention import FxTenorConvention
|
25
25
|
from lusid.models.market_data_options import MarketDataOptions
|
@@ -31,21 +31,21 @@ class FxForwardTenorCurveData(ComplexMarketData):
|
|
31
31
|
base_date: datetime = Field(..., alias="baseDate", description="EffectiveAt date of the quoted rates")
|
32
32
|
dom_ccy: StrictStr = Field(..., alias="domCcy", description="Domestic currency of the fx forward")
|
33
33
|
fgn_ccy: StrictStr = Field(..., alias="fgnCcy", description="Foreign currency of the fx forward")
|
34
|
-
tenors: conlist(StrictStr) = Field(..., description="Tenors for which the forward rates apply")
|
34
|
+
tenors: conlist(StrictStr) = Field(..., description="Tenors for which the forward rates apply. For more information on tenors, see [knowledge base article KA-02097](https://support.lusid.com/knowledgebase/article/KA-02097)")
|
35
35
|
rates: conlist(Union[StrictFloat, StrictInt]) = Field(..., description="Rates provided for the fx forward (price in FgnCcy per unit of DomCcy)")
|
36
36
|
lineage: Optional[constr(strict=True, max_length=1024, min_length=0)] = Field(None, description="Description of the complex market data's lineage e.g. 'FundAccountant_GreenQuality'.")
|
37
37
|
market_data_options: Optional[MarketDataOptions] = Field(None, alias="marketDataOptions")
|
38
38
|
calendars: Optional[conlist(FxTenorConvention)] = Field(None, description="The list of conventions that should be used when interpreting tenors as dates.")
|
39
39
|
spot_days_calculation_type: Optional[StrictStr] = Field(None, alias="spotDaysCalculationType", description="Configures how to calculate the spot date from the build date using the Calendars provided. Supported string (enumeration) values are: [ SingleCalendar, UnionCalendars ]")
|
40
|
-
market_data_type: StrictStr = Field(..., alias="marketDataType", description="The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData")
|
40
|
+
market_data_type: StrictStr = Field(..., alias="marketDataType", description="The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData, ConstantVolatilitySurface")
|
41
41
|
additional_properties: Dict[str, Any] = {}
|
42
42
|
__properties = ["marketDataType", "baseDate", "domCcy", "fgnCcy", "tenors", "rates", "lineage", "marketDataOptions", "calendars", "spotDaysCalculationType"]
|
43
43
|
|
44
44
|
@validator('market_data_type')
|
45
45
|
def market_data_type_validate_enum(cls, value):
|
46
46
|
"""Validates the enum"""
|
47
|
-
if value not in ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData'):
|
48
|
-
raise ValueError("must be one of enum values ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData')")
|
47
|
+
if value not in ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData', 'ConstantVolatilitySurface'):
|
48
|
+
raise ValueError("must be one of enum values ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData', 'ConstantVolatilitySurface')")
|
49
49
|
return value
|
50
50
|
|
51
51
|
class Config:
|
@@ -53,6 +53,14 @@ class FxForwardTenorCurveData(ComplexMarketData):
|
|
53
53
|
allow_population_by_field_name = True
|
54
54
|
validate_assignment = True
|
55
55
|
|
56
|
+
def __str__(self):
|
57
|
+
"""For `print` and `pprint`"""
|
58
|
+
return pprint.pformat(self.dict(by_alias=False))
|
59
|
+
|
60
|
+
def __repr__(self):
|
61
|
+
"""For `print` and `pprint`"""
|
62
|
+
return self.to_str()
|
63
|
+
|
56
64
|
def to_str(self) -> str:
|
57
65
|
"""Returns the string representation of the model using alias"""
|
58
66
|
return pprint.pformat(self.dict(by_alias=True))
|
@@ -19,7 +19,7 @@ import json
|
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
21
|
from typing import Any, Dict, List, Optional, Union
|
22
|
-
from pydantic import Field, StrictFloat, StrictInt, StrictStr, conlist, constr, validator
|
22
|
+
from pydantic.v1 import Field, StrictFloat, StrictInt, StrictStr, conlist, constr, validator
|
23
23
|
from lusid.models.complex_market_data import ComplexMarketData
|
24
24
|
from lusid.models.fx_tenor_convention import FxTenorConvention
|
25
25
|
from lusid.models.market_data_options import MarketDataOptions
|
@@ -31,21 +31,21 @@ class FxForwardTenorPipsCurveData(ComplexMarketData):
|
|
31
31
|
base_date: datetime = Field(..., alias="baseDate", description="EffectiveAt date of the quoted pip rates")
|
32
32
|
dom_ccy: StrictStr = Field(..., alias="domCcy", description="Domestic currency of the fx forward")
|
33
33
|
fgn_ccy: StrictStr = Field(..., alias="fgnCcy", description="Foreign currency of the fx forward")
|
34
|
-
tenors: conlist(StrictStr) = Field(..., description="Tenors for which the forward rates apply")
|
34
|
+
tenors: conlist(StrictStr) = Field(..., description="Tenors for which the forward rates apply. For more information on tenors, see [knowledge base article KA-02097](https://support.lusid.com/knowledgebase/article/KA-02097)")
|
35
35
|
pip_rates: conlist(Union[StrictFloat, StrictInt]) = Field(..., alias="pipRates", description="Rates provided for the fx forward (price in FgnCcy per unit of DomCcy), expressed in pips")
|
36
36
|
lineage: Optional[constr(strict=True, max_length=1024, min_length=0)] = Field(None, description="Description of the complex market data's lineage e.g. 'FundAccountant_GreenQuality'.")
|
37
37
|
market_data_options: Optional[MarketDataOptions] = Field(None, alias="marketDataOptions")
|
38
38
|
calendars: Optional[conlist(FxTenorConvention)] = Field(None, description="The list of conventions that should be used when interpreting tenors as dates.")
|
39
39
|
spot_days_calculation_type: Optional[StrictStr] = Field(None, alias="spotDaysCalculationType", description="Configures how to calculate the spot date from the build date using the Calendars provided. Supported string (enumeration) values are: [ SingleCalendar, UnionCalendars ]")
|
40
|
-
market_data_type: StrictStr = Field(..., alias="marketDataType", description="The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData")
|
40
|
+
market_data_type: StrictStr = Field(..., alias="marketDataType", description="The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData, ConstantVolatilitySurface")
|
41
41
|
additional_properties: Dict[str, Any] = {}
|
42
42
|
__properties = ["marketDataType", "baseDate", "domCcy", "fgnCcy", "tenors", "pipRates", "lineage", "marketDataOptions", "calendars", "spotDaysCalculationType"]
|
43
43
|
|
44
44
|
@validator('market_data_type')
|
45
45
|
def market_data_type_validate_enum(cls, value):
|
46
46
|
"""Validates the enum"""
|
47
|
-
if value not in ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData'):
|
48
|
-
raise ValueError("must be one of enum values ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData')")
|
47
|
+
if value not in ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData', 'ConstantVolatilitySurface'):
|
48
|
+
raise ValueError("must be one of enum values ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData', 'ConstantVolatilitySurface')")
|
49
49
|
return value
|
50
50
|
|
51
51
|
class Config:
|
@@ -53,6 +53,14 @@ class FxForwardTenorPipsCurveData(ComplexMarketData):
|
|
53
53
|
allow_population_by_field_name = True
|
54
54
|
validate_assignment = True
|
55
55
|
|
56
|
+
def __str__(self):
|
57
|
+
"""For `print` and `pprint`"""
|
58
|
+
return pprint.pformat(self.dict(by_alias=False))
|
59
|
+
|
60
|
+
def __repr__(self):
|
61
|
+
"""For `print` and `pprint`"""
|
62
|
+
return self.to_str()
|
63
|
+
|
56
64
|
def to_str(self) -> str:
|
57
65
|
"""Returns the string representation of the model using alias"""
|
58
66
|
return pprint.pformat(self.dict(by_alias=True))
|
@@ -19,7 +19,7 @@ import json
|
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
21
|
from typing import Any, Dict
|
22
|
-
from pydantic import Field, StrictStr, constr, validator
|
22
|
+
from pydantic.v1 import Field, StrictStr, constr, validator
|
23
23
|
from lusid.models.economic_dependency import EconomicDependency
|
24
24
|
|
25
25
|
class FxForwardsDependency(EconomicDependency):
|
@@ -46,6 +46,14 @@ class FxForwardsDependency(EconomicDependency):
|
|
46
46
|
allow_population_by_field_name = True
|
47
47
|
validate_assignment = True
|
48
48
|
|
49
|
+
def __str__(self):
|
50
|
+
"""For `print` and `pprint`"""
|
51
|
+
return pprint.pformat(self.dict(by_alias=False))
|
52
|
+
|
53
|
+
def __repr__(self):
|
54
|
+
"""For `print` and `pprint`"""
|
55
|
+
return self.to_str()
|
56
|
+
|
49
57
|
def to_str(self) -> str:
|
50
58
|
"""Returns the string representation of the model using alias"""
|
51
59
|
return pprint.pformat(self.dict(by_alias=True))
|