lusid-sdk 1.1.118__py3-none-any.whl → 2.0.50b0__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- lusid/__init__.py +247 -180
- lusid/api/__init__.py +14 -2
- lusid/api/abor_api.py +1963 -0
- lusid/api/abor_configuration_api.py +943 -0
- lusid/api/address_key_definition_api.py +296 -269
- lusid/api/aggregation_api.py +469 -260
- lusid/api/allocations_api.py +419 -404
- lusid/api/application_metadata_api.py +266 -244
- lusid/api/blocks_api.py +409 -402
- lusid/api/calendars_api.py +1185 -1262
- lusid/api/chart_of_accounts_api.py +4087 -0
- lusid/api/complex_market_data_api.py +469 -308
- lusid/api/compliance_api.py +1081 -1169
- lusid/api/configuration_recipe_api.py +381 -375
- lusid/api/conventions_api.py +1982 -0
- lusid/api/corporate_action_sources_api.py +961 -885
- lusid/api/counterparties_api.py +729 -711
- lusid/api/custom_entities_api.py +1186 -1465
- lusid/api/custom_entity_definitions_api.py +387 -364
- lusid/api/custom_entity_types_api.py +393 -369
- lusid/api/cut_label_definitions_api.py +492 -453
- lusid/api/data_types_api.py +726 -734
- lusid/api/derived_transaction_portfolios_api.py +204 -213
- lusid/api/entities_api.py +113 -113
- lusid/api/executions_api.py +409 -402
- lusid/api/instrument_events_api.py +734 -0
- lusid/api/instruments_api.py +2407 -1721
- lusid/api/legacy_compliance_api.py +1449 -0
- lusid/api/legal_entities_api.py +1982 -2102
- lusid/api/order_graph_api.py +357 -364
- lusid/api/order_instructions_api.py +745 -0
- lusid/api/order_management_api.py +240 -342
- lusid/api/orders_api.py +423 -408
- lusid/api/packages_api.py +745 -0
- lusid/api/participations_api.py +407 -400
- lusid/api/persons_api.py +1791 -1945
- lusid/api/placements_api.py +411 -404
- lusid/api/portfolio_groups_api.py +2810 -2975
- lusid/api/portfolios_api.py +3022 -2898
- lusid/api/property_definitions_api.py +981 -1267
- lusid/api/quotes_api.py +1314 -517
- lusid/api/reconciliations_api.py +3548 -855
- lusid/api/reference_lists_api.py +388 -388
- lusid/api/reference_portfolio_api.py +409 -432
- lusid/api/relation_definitions_api.py +538 -0
- lusid/api/relations_api.py +414 -0
- lusid/api/relationship_definitions_api.py +484 -494
- lusid/api/relationships_api.py +204 -222
- lusid/api/schemas_api.py +374 -322
- lusid/api/scopes_api.py +100 -241
- lusid/api/scripted_translation_api.py +784 -795
- lusid/api/search_api.py +408 -423
- lusid/api/sequences_api.py +376 -404
- lusid/api/structured_result_data_api.py +1472 -325
- lusid/api/system_configuration_api.py +979 -143
- lusid/api/tax_rule_sets_api.py +900 -0
- lusid/api/transaction_configuration_api.py +1066 -1104
- lusid/api/transaction_fees_api.py +935 -0
- lusid/api/transaction_portfolios_api.py +5285 -3517
- lusid/api/translation_api.py +364 -0
- lusid/api_client.py +195 -124
- lusid/api_response.py +25 -0
- lusid/configuration.py +58 -81
- lusid/exceptions.py +17 -15
- lusid/extensions/__init__.py +15 -0
- lusid/extensions/api_client.py +764 -0
- lusid/extensions/api_client_builder.py +138 -0
- lusid/extensions/api_client_factory.py +137 -0
- lusid/{utilities → extensions}/api_configuration.py +4 -5
- lusid/extensions/configuration_loaders.py +203 -0
- lusid/{utilities → extensions}/proxy_config.py +21 -6
- lusid/{utilities → extensions}/refreshing_token.py +82 -35
- lusid/extensions/rest.py +300 -0
- lusid/extensions/retry.py +357 -0
- lusid/extensions/socket_keep_alive.py +53 -0
- lusid/extensions/tcp_keep_alive_connector.py +66 -0
- lusid/models/__init__.py +232 -172
- lusid/models/a2_b_breakdown.py +65 -187
- lusid/models/a2_b_category.py +60 -154
- lusid/models/a2_b_data_record.py +178 -540
- lusid/models/a2_b_movement_record.py +192 -635
- lusid/models/abor.py +150 -0
- lusid/models/abor_configuration.py +159 -0
- lusid/models/abor_configuration_properties.py +115 -0
- lusid/models/abor_configuration_request.py +145 -0
- lusid/models/abor_properties.py +115 -0
- lusid/models/abor_request.py +131 -0
- lusid/models/access_controlled_action.py +87 -221
- lusid/models/access_controlled_resource.py +105 -283
- lusid/models/access_metadata_operation.py +84 -234
- lusid/models/access_metadata_value.py +58 -166
- lusid/models/account.py +126 -0
- lusid/models/account_properties.py +115 -0
- lusid/models/accounting_method.py +42 -0
- lusid/models/accounts_upsert_response.py +110 -0
- lusid/models/action_id.py +55 -204
- lusid/models/action_result_of_portfolio.py +57 -154
- lusid/models/add_business_days_to_date_request.py +63 -214
- lusid/models/add_business_days_to_date_response.py +52 -127
- lusid/models/additional_payment.py +58 -228
- lusid/models/address_definition.py +97 -284
- lusid/models/address_key_compliance_parameter.py +80 -166
- lusid/models/address_key_definition.py +74 -222
- lusid/models/address_key_filter.py +69 -191
- lusid/models/address_key_list.py +73 -170
- lusid/models/address_key_list_compliance_parameter.py +77 -164
- lusid/models/address_key_option_definition.py +69 -293
- lusid/models/adjust_holding.py +101 -216
- lusid/models/adjust_holding_for_date_request.py +109 -285
- lusid/models/adjust_holding_request.py +107 -250
- lusid/models/aggregate_spec.py +67 -196
- lusid/models/aggregated_return.py +106 -373
- lusid/models/aggregated_returns_dispersion_request.py +102 -291
- lusid/models/aggregated_returns_request.py +128 -403
- lusid/models/aggregated_returns_response.py +95 -186
- lusid/models/aggregated_transactions_request.py +131 -0
- lusid/models/aggregation_context.py +55 -125
- lusid/models/aggregation_measure_failure_detail.py +80 -238
- lusid/models/aggregation_op.py +49 -0
- lusid/models/aggregation_options.py +55 -189
- lusid/models/aggregation_query.py +106 -439
- lusid/models/aggregation_type.py +44 -0
- lusid/models/allocation.py +207 -737
- lusid/models/allocation_request.py +175 -611
- lusid/models/allocation_service_run_response.py +102 -0
- lusid/models/allocation_set_request.py +64 -126
- lusid/models/amortisation_event.py +82 -266
- lusid/models/annul_quotes_response.py +99 -217
- lusid/models/annul_single_structured_data_response.py +74 -188
- lusid/models/annul_structured_data_response.py +99 -217
- lusid/models/asset_class.py +44 -0
- lusid/models/barrier.py +62 -228
- lusid/models/basket.py +85 -229
- lusid/models/basket_identifier.py +57 -224
- lusid/models/batch_adjust_holdings_response.py +128 -216
- lusid/models/batch_upsert_instrument_properties_response.py +101 -223
- lusid/models/batch_upsert_portfolio_transactions_response.py +128 -216
- lusid/models/batch_upsert_property_definition_properties_response.py +97 -223
- lusid/models/block.py +133 -544
- lusid/models/block_request.py +108 -448
- lusid/models/block_set_request.py +64 -126
- lusid/models/bond.py +144 -564
- lusid/models/bond_default_event.py +84 -167
- lusid/models/book_transactions_response.py +107 -0
- lusid/models/bool_compliance_parameter.py +73 -164
- lusid/models/bool_list_compliance_parameter.py +77 -164
- lusid/models/bucketed_cash_flow_request.py +172 -0
- lusid/models/bucketed_cash_flow_response.py +129 -0
- lusid/models/bucketing_schedule.py +74 -0
- lusid/models/calculation_info.py +73 -0
- lusid/models/calendar.py +88 -309
- lusid/models/calendar_date.py +84 -407
- lusid/models/calendar_dependency.py +73 -166
- lusid/models/cap_floor.py +85 -295
- lusid/models/cash_dependency.py +76 -199
- lusid/models/cash_dividend_event.py +78 -291
- lusid/models/cash_flow_event.py +82 -199
- lusid/models/cash_flow_lineage.py +91 -276
- lusid/models/cash_flow_value.py +90 -289
- lusid/models/cash_flow_value_set.py +86 -164
- lusid/models/cash_ladder_record.py +58 -216
- lusid/models/cash_perpetual.py +78 -231
- lusid/models/cds_flow_conventions.py +113 -514
- lusid/models/cds_index.py +100 -382
- lusid/models/cds_protection_detail_specification.py +57 -230
- lusid/models/change.py +110 -357
- lusid/models/change_history.py +90 -299
- lusid/models/change_history_action.py +39 -0
- lusid/models/change_item.py +80 -252
- lusid/models/chart_of_accounts.py +135 -0
- lusid/models/chart_of_accounts_properties.py +115 -0
- lusid/models/chart_of_accounts_request.py +120 -0
- lusid/models/client.py +75 -0
- lusid/models/close_event.py +76 -197
- lusid/models/complete_portfolio.py +142 -495
- lusid/models/complete_relation.py +96 -0
- lusid/models/complete_relationship.py +88 -378
- lusid/models/complex_bond.py +129 -320
- lusid/models/complex_market_data.py +81 -151
- lusid/models/complex_market_data_id.py +74 -274
- lusid/models/compliance_breached_order_info.py +83 -0
- lusid/models/compliance_parameter.py +83 -155
- lusid/models/compliance_parameter_type.py +53 -0
- lusid/models/compliance_rule.py +137 -0
- lusid/models/compliance_rule_breakdown.py +76 -257
- lusid/models/compliance_rule_breakdown_request.py +76 -252
- lusid/models/compliance_rule_response.py +149 -411
- lusid/models/compliance_rule_result.py +91 -0
- lusid/models/compliance_rule_result_detail.py +91 -414
- lusid/models/compliance_rule_result_portfolio_detail.py +57 -159
- lusid/models/compliance_rule_upsert_request.py +178 -0
- lusid/models/compliance_rule_upsert_response.py +82 -0
- lusid/models/compliance_run_info.py +81 -0
- lusid/models/compliance_run_info_v2.py +64 -253
- lusid/models/compliance_run_summary.py +72 -250
- lusid/models/compliance_summary_rule_result.py +97 -342
- lusid/models/compliance_summary_rule_result_request.py +97 -348
- lusid/models/compliance_template.py +89 -253
- lusid/models/compliance_template_parameter.py +55 -201
- lusid/models/compliance_template_variation.py +84 -292
- lusid/models/composite_breakdown.py +72 -188
- lusid/models/composite_breakdown_request.py +97 -281
- lusid/models/composite_breakdown_response.py +90 -188
- lusid/models/composite_dispersion.py +91 -339
- lusid/models/composite_dispersion_response.py +95 -186
- lusid/models/compounding.py +76 -299
- lusid/models/configuration_recipe.py +123 -362
- lusid/models/configuration_recipe_snippet.py +121 -354
- lusid/models/constituents_adjustment_header.py +73 -187
- lusid/models/contract_for_difference.py +90 -430
- lusid/models/corporate_action.py +82 -313
- lusid/models/corporate_action_source.py +104 -304
- lusid/models/corporate_action_transition.py +69 -155
- lusid/models/corporate_action_transition_component.py +59 -262
- lusid/models/corporate_action_transition_component_request.py +55 -192
- lusid/models/corporate_action_transition_request.py +69 -153
- lusid/models/counterparty_agreement.py +73 -292
- lusid/models/counterparty_risk_information.py +78 -197
- lusid/models/counterparty_signatory.py +57 -161
- lusid/models/create_address_key_definition_request.py +53 -163
- lusid/models/create_calendar_request.py +94 -262
- lusid/models/create_corporate_action_source_request.py +100 -291
- lusid/models/create_custom_entity_type_request.py +79 -242
- lusid/models/create_cut_label_definition_request.py +85 -256
- lusid/models/create_data_map_request.py +79 -0
- lusid/models/create_data_type_request.py +143 -462
- lusid/models/create_date_request.py +111 -368
- lusid/models/create_derived_property_definition_request.py +79 -331
- lusid/models/create_derived_transaction_portfolio_request.py +153 -506
- lusid/models/create_portfolio_details.py +55 -125
- lusid/models/create_portfolio_group_request.py +117 -314
- lusid/models/create_property_definition_request.py +98 -424
- lusid/models/create_recipe_request.py +90 -0
- lusid/models/create_reconciliation_request.py +140 -0
- lusid/models/create_reference_portfolio_request.py +102 -317
- lusid/models/create_relation_definition_request.py +95 -0
- lusid/models/create_relation_request.py +71 -0
- lusid/models/create_relationship_definition_request.py +112 -437
- lusid/models/create_relationship_request.py +87 -238
- lusid/models/create_sequence_request.py +105 -327
- lusid/models/create_tax_rule_set_request.py +103 -0
- lusid/models/create_transaction_portfolio_request.py +145 -545
- lusid/models/create_unit_definition.py +83 -241
- lusid/models/credit_default_swap.py +105 -384
- lusid/models/credit_rating.py +67 -178
- lusid/models/credit_spread_curve_data.py +109 -420
- lusid/models/credit_support_annex.py +73 -432
- lusid/models/criterion_type.py +39 -0
- lusid/models/currency_and_amount.py +58 -153
- lusid/models/curve_options.py +110 -0
- lusid/models/custodian_account.py +93 -396
- lusid/models/custodian_account_properties.py +115 -0
- lusid/models/custodian_account_request.py +148 -0
- lusid/models/custodian_accounts_upsert_response.py +110 -0
- lusid/models/custom_entity_definition.py +79 -323
- lusid/models/custom_entity_definition_request.py +79 -242
- lusid/models/custom_entity_field.py +73 -222
- lusid/models/custom_entity_field_definition.py +71 -296
- lusid/models/custom_entity_id.py +91 -280
- lusid/models/custom_entity_request.py +78 -228
- lusid/models/custom_entity_response.py +118 -382
- lusid/models/custom_entity_type.py +79 -323
- lusid/models/cut_label_definition.py +105 -324
- lusid/models/cut_local_time.py +53 -154
- lusid/models/data_definition.py +104 -0
- lusid/models/data_map_key.py +101 -0
- lusid/models/data_mapping.py +82 -0
- lusid/models/data_scope.py +80 -0
- lusid/models/data_type.py +139 -477
- lusid/models/data_type_summary.py +111 -398
- lusid/models/data_type_value_range.py +38 -0
- lusid/models/date_attributes.py +140 -371
- lusid/models/date_or_diary_entry.py +91 -0
- lusid/models/date_range.py +59 -155
- lusid/models/date_time_comparison_type.py +38 -0
- lusid/models/date_time_compliance_parameter.py +74 -165
- lusid/models/date_time_list_compliance_parameter.py +77 -164
- lusid/models/day_of_week.py +20 -102
- lusid/models/decimal_compliance_parameter.py +73 -164
- lusid/models/decimal_list.py +73 -170
- lusid/models/decimal_list_compliance_parameter.py +77 -164
- lusid/models/decorated_compliance_run_summary.py +65 -156
- lusid/models/delete_accounts_response.py +95 -0
- lusid/models/delete_custodian_accounts_response.py +103 -0
- lusid/models/delete_instrument_properties_response.py +67 -159
- lusid/models/delete_instrument_response.py +74 -189
- lusid/models/delete_instruments_response.py +74 -189
- lusid/models/delete_modes.py +38 -0
- lusid/models/delete_relation_request.py +71 -0
- lusid/models/delete_relationship_request.py +87 -238
- lusid/models/deleted_entity_response.py +81 -219
- lusid/models/dependency_source_filter.py +70 -198
- lusid/models/described_address_key.py +81 -0
- lusid/models/dialect.py +61 -185
- lusid/models/dialect_id.py +89 -330
- lusid/models/dialect_schema.py +58 -167
- lusid/models/diary_entry.py +155 -0
- lusid/models/diary_entry_request.py +120 -0
- lusid/models/discount_factor_curve_data.py +91 -296
- lusid/models/discounting_dependency.py +76 -199
- lusid/models/discounting_method.py +39 -0
- lusid/models/economic_dependency.py +82 -150
- lusid/models/economic_dependency_type.py +50 -0
- lusid/models/economic_dependency_with_complex_market_data.py +61 -156
- lusid/models/economic_dependency_with_quote.py +68 -186
- lusid/models/empty_model_options.py +71 -134
- lusid/models/entity_identifier.py +60 -190
- lusid/models/equity.py +84 -225
- lusid/models/equity_all_of_identifiers.py +83 -415
- lusid/models/equity_curve_by_prices_data.py +91 -296
- lusid/models/equity_curve_dependency.py +80 -281
- lusid/models/equity_model_options.py +73 -169
- lusid/models/equity_option.py +117 -554
- lusid/models/equity_swap.py +107 -487
- lusid/models/equity_vol_dependency.py +80 -275
- lusid/models/equity_vol_surface_data.py +101 -267
- lusid/models/error_detail.py +77 -216
- lusid/models/event_date_range.py +54 -155
- lusid/models/ex_dividend_configuration.py +57 -221
- lusid/models/exchange_traded_option.py +84 -261
- lusid/models/exchange_traded_option_contract_details.py +80 -535
- lusid/models/execution.py +144 -673
- lusid/models/execution_request.py +119 -577
- lusid/models/execution_set_request.py +64 -126
- lusid/models/exercise_event.py +85 -228
- lusid/models/exotic_instrument.py +79 -199
- lusid/models/expanded_group.py +121 -340
- lusid/models/fee_rule.py +138 -0
- lusid/models/fee_rule_upsert_request.py +142 -0
- lusid/models/fee_rule_upsert_response.py +97 -0
- lusid/models/field_definition.py +62 -195
- lusid/models/field_schema.py +83 -247
- lusid/models/field_value.py +60 -165
- lusid/models/file_response.py +69 -181
- lusid/models/fixed_leg.py +95 -287
- lusid/models/fixed_leg_all_of_overrides.py +65 -154
- lusid/models/fixed_schedule.py +136 -0
- lusid/models/float_schedule.py +147 -0
- lusid/models/floating_leg.py +109 -349
- lusid/models/flow_convention_name.py +60 -193
- lusid/models/flow_conventions.py +120 -542
- lusid/models/forward_rate_agreement.py +90 -356
- lusid/models/funding_leg.py +89 -259
- lusid/models/funding_leg_options.py +91 -0
- lusid/models/future.py +100 -388
- lusid/models/futures_contract_details.py +112 -537
- lusid/models/fx_dependency.py +78 -231
- lusid/models/fx_forward.py +97 -481
- lusid/models/fx_forward_curve_by_quote_reference.py +114 -387
- lusid/models/fx_forward_curve_data.py +95 -360
- lusid/models/fx_forward_model_options.py +91 -242
- lusid/models/fx_forward_pips_curve_data.py +95 -360
- lusid/models/fx_forward_tenor_curve_data.py +117 -420
- lusid/models/fx_forward_tenor_pips_curve_data.py +117 -420
- lusid/models/fx_forwards_dependency.py +80 -269
- lusid/models/fx_option.py +159 -629
- lusid/models/fx_rate_schedule.py +111 -0
- lusid/models/fx_swap.py +89 -224
- lusid/models/fx_tenor_convention.py +53 -166
- lusid/models/fx_vol_dependency.py +80 -269
- lusid/models/fx_vol_surface_data.py +101 -267
- lusid/models/general_ledger_profile_mapping.py +78 -0
- lusid/models/general_ledger_profile_request.py +112 -0
- lusid/models/general_ledger_profile_response.py +146 -0
- lusid/models/get_cds_flow_conventions_response.py +115 -0
- lusid/models/get_complex_market_data_response.py +111 -216
- lusid/models/get_counterparty_agreement_response.py +97 -215
- lusid/models/get_credit_support_annex_response.py +97 -215
- lusid/models/get_data_map_response.py +129 -0
- lusid/models/get_flow_conventions_response.py +115 -0
- lusid/models/get_index_convention_response.py +115 -0
- lusid/models/get_instruments_response.py +111 -216
- lusid/models/get_quotes_response.py +130 -246
- lusid/models/get_recipe_response.py +77 -185
- lusid/models/get_reference_portfolio_constituents_response.py +117 -321
- lusid/models/get_structured_result_data_response.py +129 -0
- lusid/models/get_virtual_document_response.py +129 -0
- lusid/models/grouped_result_of_address_key.py +89 -0
- lusid/models/holding_adjustment.py +121 -313
- lusid/models/holding_adjustment_with_date.py +124 -345
- lusid/models/holding_context.py +51 -127
- lusid/models/holding_contributor.py +55 -126
- lusid/models/holdings_adjustment.py +92 -259
- lusid/models/holdings_adjustment_header.py +82 -227
- lusid/models/i_unit_definition_dto.py +85 -217
- lusid/models/id_selector_definition.py +75 -227
- lusid/models/identifier_part_schema.py +74 -295
- lusid/models/index_convention.py +100 -388
- lusid/models/index_model_options.py +80 -172
- lusid/models/index_projection_dependency.py +80 -275
- lusid/models/industry_classifier.py +60 -172
- lusid/models/inflation_fixing_dependency.py +78 -237
- lusid/models/inflation_index_conventions.py +71 -307
- lusid/models/inflation_leg.py +120 -455
- lusid/models/inflation_linked_bond.py +153 -595
- lusid/models/inflation_swap.py +88 -259
- lusid/models/informational_error_event.py +78 -237
- lusid/models/informational_event.py +88 -262
- lusid/models/inline_valuation_request.py +150 -497
- lusid/models/inline_valuations_reconciliation_request.py +82 -216
- lusid/models/input_transition.py +53 -160
- lusid/models/instrument.py +160 -541
- lusid/models/instrument_capabilities.py +133 -0
- lusid/models/instrument_cash_flow.py +107 -0
- lusid/models/instrument_definition.py +93 -251
- lusid/models/instrument_definition_format.py +55 -201
- lusid/models/instrument_delete_modes.py +38 -0
- lusid/models/instrument_event.py +81 -157
- lusid/models/instrument_event_holder.py +106 -460
- lusid/models/instrument_event_type.py +50 -0
- lusid/models/instrument_id_type_descriptor.py +55 -195
- lusid/models/instrument_id_value.py +54 -163
- lusid/models/instrument_leg.py +82 -143
- lusid/models/instrument_list.py +73 -170
- lusid/models/instrument_list_compliance_parameter.py +77 -164
- lusid/models/instrument_match.py +78 -156
- lusid/models/instrument_models.py +78 -186
- lusid/models/instrument_payment_diary.py +131 -0
- lusid/models/instrument_payment_diary_leg.py +89 -0
- lusid/models/instrument_payment_diary_row.py +132 -0
- lusid/models/instrument_properties.py +97 -215
- lusid/models/instrument_search_property.py +53 -163
- lusid/models/instrument_type.py +72 -0
- lusid/models/interest_rate_swap.py +110 -322
- lusid/models/interest_rate_swaption.py +90 -296
- lusid/models/ir_vol_cube_data.py +101 -267
- lusid/models/ir_vol_dependency.py +78 -237
- lusid/models/is_business_day_response.py +54 -157
- lusid/models/je_lines_query_parameters.py +105 -0
- lusid/models/journal_entry_line.py +193 -0
- lusid/models/journal_entry_lines_query_parameters.py +109 -0
- lusid/models/label_value_set.py +51 -129
- lusid/models/leg_definition.py +130 -619
- lusid/models/legal_entity.py +158 -394
- lusid/models/level_step.py +54 -161
- lusid/models/life_cycle_event_lineage.py +84 -246
- lusid/models/life_cycle_event_value.py +86 -224
- lusid/models/link.py +62 -222
- lusid/models/list_aggregation_reconciliation.py +73 -211
- lusid/models/list_aggregation_response.py +111 -326
- lusid/models/list_complex_market_data_with_meta_data_response.py +86 -0
- lusid/models/loan_period.py +56 -187
- lusid/models/look_up_pricing_model_options.py +75 -198
- lusid/models/lusid_instrument.py +98 -166
- lusid/models/lusid_problem_details.py +95 -333
- lusid/models/lusid_trade_ticket.py +148 -639
- lusid/models/lusid_unique_id.py +53 -166
- lusid/models/lusid_validation_problem_details.py +106 -362
- lusid/models/mapped_string.py +72 -209
- lusid/models/mapping.py +93 -281
- lusid/models/mapping_rule.py +96 -308
- lusid/models/market_context.py +96 -243
- lusid/models/market_context_suppliers.py +59 -241
- lusid/models/market_data_key_rule.py +114 -462
- lusid/models/market_data_options.py +73 -141
- lusid/models/market_data_options_type.py +37 -0
- lusid/models/market_data_overrides.py +79 -156
- lusid/models/market_data_specific_rule.py +115 -494
- lusid/models/market_data_type.py +49 -0
- lusid/models/market_observable_type.py +41 -0
- lusid/models/market_options.py +108 -318
- lusid/models/market_quote.py +60 -166
- lusid/models/match_criterion.py +95 -0
- lusid/models/metric_value.py +58 -155
- lusid/models/model_options.py +77 -144
- lusid/models/model_options_type.py +44 -0
- lusid/models/model_property.py +72 -218
- lusid/models/model_schema.py +116 -0
- lusid/models/model_selection.py +67 -172
- lusid/models/movement_type.py +54 -0
- lusid/models/next_value_in_sequence_response.py +66 -158
- lusid/models/numeric_comparison_type.py +39 -0
- lusid/models/opaque_dependency.py +71 -134
- lusid/models/opaque_market_data.py +84 -275
- lusid/models/opaque_model_options.py +73 -164
- lusid/models/open_event.py +74 -166
- lusid/models/operand_type.py +38 -0
- lusid/models/operation.py +67 -227
- lusid/models/operation_type.py +37 -0
- lusid/models/operator.py +43 -0
- lusid/models/option_entry.py +71 -0
- lusid/models/optionality_schedule.py +118 -0
- lusid/models/order.py +173 -706
- lusid/models/order_by_spec.py +60 -166
- lusid/models/order_flow_configuration.py +51 -129
- lusid/models/order_graph_block.py +83 -351
- lusid/models/order_graph_block_allocation_detail.py +55 -126
- lusid/models/order_graph_block_allocation_synopsis.py +61 -160
- lusid/models/order_graph_block_execution_detail.py +55 -126
- lusid/models/order_graph_block_execution_synopsis.py +61 -160
- lusid/models/order_graph_block_order_detail.py +69 -314
- lusid/models/order_graph_block_order_synopsis.py +61 -160
- lusid/models/order_graph_block_placement_detail.py +55 -126
- lusid/models/order_graph_block_placement_synopsis.py +61 -160
- lusid/models/order_graph_placement.py +94 -341
- lusid/models/order_graph_placement_allocation_detail.py +55 -126
- lusid/models/order_graph_placement_allocation_synopsis.py +61 -160
- lusid/models/order_graph_placement_child_placement_detail.py +55 -126
- lusid/models/order_graph_placement_execution_detail.py +55 -126
- lusid/models/order_graph_placement_execution_synopsis.py +61 -160
- lusid/models/order_graph_placement_order_detail.py +55 -126
- lusid/models/order_graph_placement_order_synopsis.py +59 -128
- lusid/models/order_graph_placement_placement_synopsis.py +61 -160
- lusid/models/order_instruction.py +157 -0
- lusid/models/order_instruction_request.py +127 -0
- lusid/models/order_instruction_set_request.py +82 -0
- lusid/models/order_request.py +141 -580
- lusid/models/order_set_request.py +64 -126
- lusid/models/otc_confirmation.py +55 -125
- lusid/models/output_transaction.py +189 -815
- lusid/models/output_transition.py +77 -281
- lusid/models/package.py +132 -0
- lusid/models/package_request.py +111 -0
- lusid/models/package_set_request.py +82 -0
- lusid/models/paged_resource_list_of_abor.py +113 -0
- lusid/models/paged_resource_list_of_abor_configuration.py +113 -0
- lusid/models/paged_resource_list_of_account.py +113 -0
- lusid/models/paged_resource_list_of_address_key_definition.py +95 -248
- lusid/models/paged_resource_list_of_allocation.py +95 -248
- lusid/models/paged_resource_list_of_block.py +95 -248
- lusid/models/paged_resource_list_of_calendar.py +95 -248
- lusid/models/paged_resource_list_of_chart_of_accounts.py +113 -0
- lusid/models/paged_resource_list_of_compliance_rule_response.py +95 -248
- lusid/models/paged_resource_list_of_compliance_run_info_v2.py +95 -248
- lusid/models/paged_resource_list_of_compliance_template.py +95 -248
- lusid/models/paged_resource_list_of_corporate_action_source.py +95 -248
- lusid/models/paged_resource_list_of_custodian_account.py +113 -0
- lusid/models/paged_resource_list_of_custom_entity_definition.py +95 -248
- lusid/models/paged_resource_list_of_custom_entity_response.py +95 -248
- lusid/models/paged_resource_list_of_custom_entity_type.py +95 -248
- lusid/models/paged_resource_list_of_cut_label_definition.py +95 -248
- lusid/models/paged_resource_list_of_data_type_summary.py +95 -248
- lusid/models/paged_resource_list_of_dialect_id.py +95 -248
- lusid/models/paged_resource_list_of_diary_entry.py +113 -0
- lusid/models/paged_resource_list_of_execution.py +95 -248
- lusid/models/paged_resource_list_of_general_ledger_profile_response.py +113 -0
- lusid/models/paged_resource_list_of_instrument.py +95 -248
- lusid/models/paged_resource_list_of_instrument_event_holder.py +95 -248
- lusid/models/paged_resource_list_of_legal_entity.py +95 -248
- lusid/models/paged_resource_list_of_order.py +95 -248
- lusid/models/paged_resource_list_of_order_graph_block.py +95 -248
- lusid/models/paged_resource_list_of_order_graph_placement.py +95 -248
- lusid/models/paged_resource_list_of_order_instruction.py +113 -0
- lusid/models/paged_resource_list_of_package.py +113 -0
- lusid/models/paged_resource_list_of_participation.py +95 -248
- lusid/models/paged_resource_list_of_person.py +95 -248
- lusid/models/paged_resource_list_of_placement.py +95 -248
- lusid/models/paged_resource_list_of_portfolio_group.py +95 -248
- lusid/models/paged_resource_list_of_portfolio_group_search_result.py +95 -248
- lusid/models/paged_resource_list_of_portfolio_search_result.py +95 -248
- lusid/models/paged_resource_list_of_posting_module_response.py +113 -0
- lusid/models/paged_resource_list_of_posting_module_rule.py +113 -0
- lusid/models/paged_resource_list_of_property_definition_search_result.py +95 -248
- lusid/models/paged_resource_list_of_reconciliation.py +113 -0
- lusid/models/paged_resource_list_of_reconciliation_run.py +113 -0
- lusid/models/paged_resource_list_of_reconciliation_run_break.py +113 -0
- lusid/models/paged_resource_list_of_reference_list_response.py +95 -248
- lusid/models/paged_resource_list_of_relationship_definition.py +95 -248
- lusid/models/paged_resource_list_of_sequence_definition.py +95 -248
- lusid/models/paged_resource_list_of_translation_script_id.py +95 -248
- lusid/models/paged_resource_list_of_virtual_row.py +95 -248
- lusid/models/participation.py +86 -245
- lusid/models/participation_request.py +71 -186
- lusid/models/participation_set_request.py +64 -126
- lusid/models/performance_return.py +75 -251
- lusid/models/performance_returns_metric.py +83 -309
- lusid/models/period_type.py +41 -0
- lusid/models/perpetual_entity_state.py +39 -0
- lusid/models/perpetual_property.py +57 -157
- lusid/models/person.py +137 -335
- lusid/models/placement.py +161 -698
- lusid/models/placement_request.py +136 -614
- lusid/models/placement_set_request.py +64 -126
- lusid/models/portfolio.py +187 -688
- lusid/models/portfolio_cash_flow.py +139 -593
- lusid/models/portfolio_cash_ladder.py +116 -250
- lusid/models/portfolio_details.py +130 -491
- lusid/models/portfolio_entity_id.py +90 -210
- lusid/models/portfolio_group.py +138 -402
- lusid/models/portfolio_group_id_compliance_parameter.py +77 -164
- lusid/models/portfolio_group_id_list.py +81 -167
- lusid/models/portfolio_group_id_list_compliance_parameter.py +77 -164
- lusid/models/portfolio_group_properties.py +97 -215
- lusid/models/portfolio_group_search_result.py +123 -372
- lusid/models/portfolio_holding.py +142 -644
- lusid/models/portfolio_id_compliance_parameter.py +77 -164
- lusid/models/portfolio_id_list.py +81 -167
- lusid/models/portfolio_id_list_compliance_parameter.py +77 -164
- lusid/models/portfolio_properties.py +97 -215
- lusid/models/portfolio_reconciliation_request.py +65 -192
- lusid/models/portfolio_result_data_key_rule.py +133 -392
- lusid/models/portfolio_return_breakdown.py +109 -492
- lusid/models/portfolio_search_result.py +128 -442
- lusid/models/portfolio_trade_ticket.py +79 -0
- lusid/models/portfolio_type.py +39 -0
- lusid/models/portfolios_reconciliation_request.py +62 -188
- lusid/models/posting_module_details.py +95 -0
- lusid/models/posting_module_request.py +117 -0
- lusid/models/posting_module_response.py +139 -0
- lusid/models/posting_module_rule.py +94 -0
- lusid/models/posting_module_rules_updated_response.py +110 -0
- lusid/models/premium.py +56 -193
- lusid/models/pricing_context.py +105 -215
- lusid/models/pricing_model.py +54 -0
- lusid/models/pricing_options.py +80 -434
- lusid/models/processed_command.py +67 -224
- lusid/models/property_definition.py +221 -736
- lusid/models/property_definition_search_result.py +202 -648
- lusid/models/property_definition_type.py +38 -0
- lusid/models/property_domain.py +73 -0
- lusid/models/property_filter.py +87 -228
- lusid/models/property_interval.py +68 -221
- lusid/models/property_key_compliance_parameter.py +73 -166
- lusid/models/property_key_list_compliance_parameter.py +77 -164
- lusid/models/property_life_time.py +38 -0
- lusid/models/property_schema.py +91 -182
- lusid/models/property_type.py +39 -0
- lusid/models/property_value.py +68 -184
- lusid/models/property_value_equals.py +93 -0
- lusid/models/property_value_in.py +93 -0
- lusid/models/query_bucketed_cash_flows_request.py +162 -0
- lusid/models/query_cash_flows_request.py +96 -0
- lusid/models/query_instrument_events_request.py +113 -0
- lusid/models/query_trade_tickets_request.py +96 -0
- lusid/models/quote.py +87 -313
- lusid/models/quote_access_metadata_rule.py +92 -0
- lusid/models/quote_access_metadata_rule_id.py +129 -0
- lusid/models/quote_dependency.py +78 -240
- lusid/models/quote_id.py +57 -161
- lusid/models/quote_instrument_id_type.py +45 -0
- lusid/models/quote_series_id.py +96 -303
- lusid/models/quote_type.py +50 -0
- lusid/models/raw_vendor_event.py +84 -232
- lusid/models/realised_gain_loss.py +115 -462
- lusid/models/reconcile_date_time_rule.py +88 -233
- lusid/models/reconcile_numeric_rule.py +88 -233
- lusid/models/reconcile_string_rule.py +102 -232
- lusid/models/reconciled_transaction.py +69 -215
- lusid/models/reconciliation.py +165 -0
- lusid/models/reconciliation_break.py +105 -411
- lusid/models/reconciliation_break_id.py +88 -0
- lusid/models/reconciliation_configuration.py +84 -0
- lusid/models/reconciliation_id.py +80 -0
- lusid/models/reconciliation_left_right_address_key_pair.py +53 -160
- lusid/models/reconciliation_line.py +77 -216
- lusid/models/reconciliation_request.py +97 -246
- lusid/models/reconciliation_response.py +70 -155
- lusid/models/reconciliation_rule.py +74 -143
- lusid/models/reconciliation_rule_type.py +40 -0
- lusid/models/reconciliation_run.py +95 -0
- lusid/models/reconciliation_run_break.py +116 -0
- lusid/models/reconciliation_run_id.py +85 -0
- lusid/models/reconciliation_side_configuration.py +94 -0
- lusid/models/reconciliation_transactions.py +79 -0
- lusid/models/reference_data.py +69 -156
- lusid/models/reference_instrument.py +77 -239
- lusid/models/reference_list.py +77 -146
- lusid/models/reference_list_request.py +77 -251
- lusid/models/reference_list_response.py +98 -311
- lusid/models/reference_list_type.py +42 -0
- lusid/models/reference_portfolio_constituent.py +96 -307
- lusid/models/reference_portfolio_constituent_request.py +80 -214
- lusid/models/reference_portfolio_weight_type.py +39 -0
- lusid/models/related_entity.py +105 -349
- lusid/models/relation.py +70 -281
- lusid/models/relation_definition.py +143 -0
- lusid/models/relationship.py +76 -318
- lusid/models/relationship_definition.py +111 -448
- lusid/models/repo.py +136 -476
- lusid/models/reset_event.py +92 -262
- lusid/models/resource_id.py +53 -172
- lusid/models/resource_list_of_access_controlled_resource.py +95 -248
- lusid/models/resource_list_of_access_metadata_value_of.py +100 -248
- lusid/models/resource_list_of_address_key_definition.py +95 -248
- lusid/models/resource_list_of_aggregated_return.py +113 -0
- lusid/models/resource_list_of_aggregation_query.py +95 -248
- lusid/models/resource_list_of_allocation.py +95 -248
- lusid/models/resource_list_of_block.py +95 -248
- lusid/models/resource_list_of_calendar_date.py +95 -248
- lusid/models/resource_list_of_change.py +95 -248
- lusid/models/resource_list_of_change_history.py +95 -248
- lusid/models/resource_list_of_compliance_breached_order_info.py +113 -0
- lusid/models/resource_list_of_compliance_rule.py +113 -0
- lusid/models/resource_list_of_compliance_rule_result.py +113 -0
- lusid/models/resource_list_of_compliance_run_info.py +113 -0
- lusid/models/resource_list_of_constituents_adjustment_header.py +95 -248
- lusid/models/resource_list_of_corporate_action.py +95 -248
- lusid/models/resource_list_of_data_type.py +95 -248
- lusid/models/resource_list_of_execution.py +95 -248
- lusid/models/resource_list_of_fee_rule.py +113 -0
- lusid/models/resource_list_of_get_cds_flow_conventions_response.py +113 -0
- lusid/models/resource_list_of_get_counterparty_agreement_response.py +95 -248
- lusid/models/resource_list_of_get_credit_support_annex_response.py +95 -248
- lusid/models/resource_list_of_get_flow_conventions_response.py +113 -0
- lusid/models/resource_list_of_get_index_convention_response.py +113 -0
- lusid/models/resource_list_of_get_recipe_response.py +95 -248
- lusid/models/resource_list_of_holdings_adjustment_header.py +95 -248
- lusid/models/resource_list_of_i_unit_definition_dto.py +95 -248
- lusid/models/resource_list_of_instrument_cash_flow.py +113 -0
- lusid/models/resource_list_of_instrument_event_holder.py +113 -0
- lusid/models/resource_list_of_instrument_id_type_descriptor.py +95 -248
- lusid/models/resource_list_of_legal_entity.py +95 -248
- lusid/models/resource_list_of_list_complex_market_data_with_meta_data_response.py +113 -0
- lusid/models/resource_list_of_mapping.py +95 -248
- lusid/models/resource_list_of_order.py +95 -248
- lusid/models/resource_list_of_order_instruction.py +113 -0
- lusid/models/resource_list_of_package.py +113 -0
- lusid/models/resource_list_of_participation.py +95 -248
- lusid/models/resource_list_of_performance_return.py +95 -248
- lusid/models/resource_list_of_person.py +95 -248
- lusid/models/resource_list_of_placement.py +95 -248
- lusid/models/resource_list_of_portfolio.py +95 -248
- lusid/models/resource_list_of_portfolio_cash_flow.py +95 -248
- lusid/models/resource_list_of_portfolio_cash_ladder.py +95 -248
- lusid/models/resource_list_of_portfolio_trade_ticket.py +113 -0
- lusid/models/resource_list_of_processed_command.py +95 -248
- lusid/models/resource_list_of_property.py +95 -248
- lusid/models/resource_list_of_property_definition.py +95 -248
- lusid/models/resource_list_of_property_interval.py +95 -248
- lusid/models/resource_list_of_quote.py +95 -248
- lusid/models/resource_list_of_quote_access_metadata_rule.py +113 -0
- lusid/models/resource_list_of_reconciliation_break.py +95 -248
- lusid/models/resource_list_of_relation.py +95 -248
- lusid/models/resource_list_of_relationship.py +95 -248
- lusid/models/resource_list_of_scope_definition.py +95 -248
- lusid/models/resource_list_of_side_definition.py +95 -248
- lusid/models/resource_list_of_string.py +87 -248
- lusid/models/resource_list_of_tax_rule_set.py +113 -0
- lusid/models/resource_list_of_transaction.py +113 -0
- lusid/models/resource_list_of_transaction_type.py +95 -248
- lusid/models/resource_list_of_value_type.py +88 -248
- lusid/models/response_meta_data.py +77 -216
- lusid/models/result_data_key_rule.py +103 -389
- lusid/models/result_data_schema.py +108 -184
- lusid/models/result_key_rule.py +74 -143
- lusid/models/result_key_rule_type.py +39 -0
- lusid/models/result_value.py +80 -149
- lusid/models/result_value0_d.py +87 -225
- lusid/models/result_value_bool.py +73 -165
- lusid/models/result_value_currency.py +78 -164
- lusid/models/result_value_date_time_offset.py +81 -196
- lusid/models/result_value_decimal.py +80 -195
- lusid/models/result_value_dictionary.py +89 -163
- lusid/models/result_value_int.py +80 -195
- lusid/models/result_value_string.py +78 -164
- lusid/models/result_value_type.py +48 -0
- lusid/models/rounding_configuration.py +55 -125
- lusid/models/rounding_configuration_component.py +51 -131
- lusid/models/rounding_convention.py +67 -218
- lusid/models/scaling_methodology.py +39 -0
- lusid/models/schedule.py +77 -143
- lusid/models/schedule_type.py +43 -0
- lusid/models/scope_definition.py +51 -131
- lusid/models/sequence_definition.py +94 -376
- lusid/models/set_legal_entity_identifiers_request.py +69 -126
- lusid/models/set_legal_entity_properties_request.py +69 -126
- lusid/models/set_person_identifiers_request.py +69 -126
- lusid/models/set_person_properties_request.py +64 -128
- lusid/models/set_transaction_configuration_alias.py +84 -0
- lusid/models/set_transaction_configuration_source_request.py +107 -0
- lusid/models/side_configuration_data.py +76 -336
- lusid/models/side_configuration_data_request.py +79 -0
- lusid/models/side_definition.py +90 -390
- lusid/models/side_definition_request.py +66 -322
- lusid/models/sides_definition_request.py +64 -164
- lusid/models/simple_cash_flow_loan.py +88 -263
- lusid/models/simple_instrument.py +94 -301
- lusid/models/sort_order.py +38 -0
- lusid/models/step_schedule.py +85 -236
- lusid/models/stock_split_event.py +78 -231
- lusid/models/stream.py +70 -328
- lusid/models/string_comparison_type.py +41 -0
- lusid/models/string_compliance_parameter.py +73 -167
- lusid/models/string_list.py +73 -170
- lusid/models/string_list_compliance_parameter.py +77 -164
- lusid/models/structured_result_data.py +91 -0
- lusid/models/structured_result_data_id.py +107 -0
- lusid/models/sub_holding_key_value_equals.py +93 -0
- lusid/models/target_tax_lot.py +86 -278
- lusid/models/target_tax_lot_request.py +86 -278
- lusid/models/tax_rule.py +97 -0
- lusid/models/tax_rule_set.py +124 -0
- lusid/models/term_deposit.py +93 -323
- lusid/models/total_return_swap.py +88 -259
- lusid/models/touch.py +62 -228
- lusid/models/trade_ticket.py +76 -0
- lusid/models/trade_ticket_type.py +38 -0
- lusid/models/transaction.py +181 -782
- lusid/models/transaction_configuration_data.py +89 -190
- lusid/models/transaction_configuration_data_request.py +89 -190
- lusid/models/transaction_configuration_movement_data.py +110 -320
- lusid/models/transaction_configuration_movement_data_request.py +110 -320
- lusid/models/transaction_configuration_type_alias.py +90 -339
- lusid/models/transaction_price.py +63 -162
- lusid/models/transaction_price_type.py +39 -0
- lusid/models/transaction_property_mapping.py +65 -188
- lusid/models/transaction_property_mapping_request.py +65 -188
- lusid/models/transaction_query_mode.py +38 -0
- lusid/models/transaction_query_parameters.py +67 -234
- lusid/models/transaction_reconciliation_request.py +84 -302
- lusid/models/transaction_reconciliation_request_v2.py +115 -0
- lusid/models/transaction_request.py +143 -625
- lusid/models/transaction_roles.py +44 -0
- lusid/models/transaction_set_configuration_data.py +89 -188
- lusid/models/transaction_set_configuration_data_request.py +92 -0
- lusid/models/transaction_status.py +39 -0
- lusid/models/transaction_type.py +119 -250
- lusid/models/transaction_type_alias.py +80 -282
- lusid/models/transaction_type_calculation.py +60 -172
- lusid/models/transaction_type_movement.py +128 -366
- lusid/models/transaction_type_property_mapping.py +75 -197
- lusid/models/transaction_type_request.py +104 -220
- lusid/models/transactions_reconciliations_response.py +70 -155
- lusid/models/transition_event.py +101 -318
- lusid/models/translate_entities_inlined_request.py +72 -195
- lusid/models/translate_entities_request.py +76 -187
- lusid/models/translate_entities_response.py +104 -186
- lusid/models/translate_instrument_definitions_request.py +91 -0
- lusid/models/translate_instrument_definitions_response.py +129 -0
- lusid/models/translate_trade_ticket_request.py +91 -0
- lusid/models/translate_trade_tickets_response.py +129 -0
- lusid/models/translation_input.py +51 -134
- lusid/models/translation_result.py +66 -163
- lusid/models/translation_script.py +57 -193
- lusid/models/translation_script_id.py +76 -219
- lusid/models/trial_balance.py +103 -0
- lusid/models/trial_balance_query_parameters.py +102 -0
- lusid/models/trigger_event.py +82 -301
- lusid/models/typed_resource_id.py +76 -219
- lusid/models/underlying_leg.py +75 -0
- lusid/models/unit_schema.py +39 -0
- lusid/models/unmatched_holding_method.py +38 -0
- lusid/models/update_calendar_request.py +74 -195
- lusid/models/update_custom_entity_definition_request.py +77 -204
- lusid/models/update_custom_entity_type_request.py +77 -204
- lusid/models/update_cut_label_definition_request.py +83 -226
- lusid/models/update_data_type_request.py +105 -234
- lusid/models/update_derived_property_definition_request.py +66 -229
- lusid/models/update_instrument_identifier_request.py +65 -191
- lusid/models/update_portfolio_group_request.py +58 -161
- lusid/models/update_portfolio_request.py +58 -161
- lusid/models/update_property_definition_request.py +58 -164
- lusid/models/update_reconciliation_request.py +131 -0
- lusid/models/update_relationship_definition_request.py +76 -219
- lusid/models/update_tax_rule_set_request.py +95 -0
- lusid/models/update_unit_request.py +100 -207
- lusid/models/upsert_cds_flow_conventions_request.py +73 -0
- lusid/models/upsert_complex_market_data_request.py +61 -156
- lusid/models/upsert_compliance_rule_request.py +113 -380
- lusid/models/upsert_compliance_run_summary_request.py +72 -250
- lusid/models/upsert_corporate_action_request.py +94 -337
- lusid/models/upsert_corporate_actions_response.py +111 -216
- lusid/models/upsert_counterparty_agreement_request.py +55 -126
- lusid/models/upsert_credit_support_annex_request.py +55 -125
- lusid/models/upsert_custom_entities_response.py +111 -216
- lusid/models/upsert_custom_entity_access_metadata_request.py +64 -126
- lusid/models/upsert_flow_conventions_request.py +73 -0
- lusid/models/upsert_index_convention_request.py +73 -0
- lusid/models/upsert_instrument_event_request.py +98 -329
- lusid/models/upsert_instrument_events_response.py +111 -216
- lusid/models/upsert_instrument_properties_response.py +67 -159
- lusid/models/upsert_instrument_property_request.py +68 -196
- lusid/models/upsert_instruments_response.py +135 -246
- lusid/models/upsert_legal_entities_response.py +111 -216
- lusid/models/upsert_legal_entity_access_metadata_request.py +64 -126
- lusid/models/upsert_legal_entity_request.py +115 -267
- lusid/models/upsert_person_access_metadata_request.py +64 -126
- lusid/models/upsert_person_request.py +92 -232
- lusid/models/upsert_portfolio_access_metadata_request.py +59 -128
- lusid/models/upsert_portfolio_group_access_metadata_request.py +59 -128
- lusid/models/upsert_portfolio_transactions_response.py +101 -216
- lusid/models/upsert_quote_access_metadata_rule_request.py +92 -0
- lusid/models/upsert_quote_request.py +75 -215
- lusid/models/upsert_quotes_response.py +111 -216
- lusid/models/upsert_recipe_request.py +61 -125
- lusid/models/upsert_reconciliation_break_request.py +98 -0
- lusid/models/upsert_reconciliation_run_request.py +71 -0
- lusid/models/upsert_reference_portfolio_constituents_request.py +94 -265
- lusid/models/upsert_reference_portfolio_constituents_response.py +77 -183
- lusid/models/upsert_result_values_data_request.py +93 -0
- lusid/models/upsert_returns_response.py +100 -247
- lusid/models/upsert_single_structured_data_response.py +74 -188
- lusid/models/upsert_structured_data_response.py +99 -217
- lusid/models/upsert_structured_result_data_request.py +79 -0
- lusid/models/upsert_transaction_properties_response.py +97 -213
- lusid/models/user.py +56 -126
- lusid/models/valuation_request.py +156 -528
- lusid/models/valuation_schedule.py +86 -329
- lusid/models/valuations_reconciliation_request.py +82 -216
- lusid/models/value_type.py +34 -116
- lusid/models/vendor_dependency.py +95 -0
- lusid/models/vendor_library.py +43 -0
- lusid/models/vendor_model_rule.py +97 -335
- lusid/models/version.py +110 -371
- lusid/models/version_summary_dto.py +85 -210
- lusid/models/versioned_resource_list_of_a2_b_data_record.py +101 -278
- lusid/models/versioned_resource_list_of_a2_b_movement_record.py +101 -278
- lusid/models/versioned_resource_list_of_holding_contributor.py +101 -278
- lusid/models/versioned_resource_list_of_journal_entry_line.py +119 -0
- lusid/models/versioned_resource_list_of_output_transaction.py +101 -278
- lusid/models/versioned_resource_list_of_portfolio_holding.py +101 -278
- lusid/models/versioned_resource_list_of_transaction.py +101 -278
- lusid/models/versioned_resource_list_of_trial_balance.py +119 -0
- lusid/models/versioned_resource_list_with_warnings_of_portfolio_holding.py +134 -0
- lusid/models/virtual_document.py +88 -0
- lusid/models/virtual_document_row.py +80 -0
- lusid/models/virtual_row.py +76 -156
- lusid/models/warning.py +71 -0
- lusid/models/weekend_mask.py +61 -165
- lusid/models/weighted_instrument.py +64 -220
- lusid/models/weighted_instruments.py +59 -128
- lusid/models/yield_curve_data.py +107 -296
- lusid/py.typed +0 -0
- lusid/rest.py +171 -237
- lusid_sdk-2.0.50b0.dist-info/METADATA +1460 -0
- lusid_sdk-2.0.50b0.dist-info/RECORD +917 -0
- {lusid_sdk-1.1.118.dist-info → lusid_sdk-2.0.50b0.dist-info}/WHEEL +1 -2
- lusid/__version__.py +0 -1
- lusid/models/accumulation_event.py +0 -310
- lusid/models/accumulation_event_all_of.py +0 -310
- lusid/models/address_key_compliance_parameter_all_of.py +0 -184
- lusid/models/address_key_list_all_of.py +0 -188
- lusid/models/address_key_list_compliance_parameter_all_of.py +0 -182
- lusid/models/amortisation_event_all_of.py +0 -283
- lusid/models/asset_leg.py +0 -179
- lusid/models/basket_all_of.py +0 -247
- lusid/models/block_and_order_id_request.py +0 -174
- lusid/models/block_and_orders.py +0 -174
- lusid/models/block_and_orders_create_request.py +0 -152
- lusid/models/block_and_orders_request.py +0 -422
- lusid/models/blocked_order_request.py +0 -412
- lusid/models/bond_all_of.py +0 -581
- lusid/models/bond_coupon_event.py +0 -280
- lusid/models/bond_coupon_event_all_of.py +0 -280
- lusid/models/bond_default_event_all_of.py +0 -184
- lusid/models/bond_principal_event.py +0 -280
- lusid/models/bond_principal_event_all_of.py +0 -280
- lusid/models/bool_compliance_parameter_all_of.py +0 -182
- lusid/models/branch_step.py +0 -219
- lusid/models/branch_step_all_of.py +0 -219
- lusid/models/calendar_dependency_all_of.py +0 -184
- lusid/models/cap_floor_all_of.py +0 -313
- lusid/models/cash_dependency_all_of.py +0 -216
- lusid/models/cash_dividend_event_all_of.py +0 -308
- lusid/models/cash_election.py +0 -334
- lusid/models/cash_flow_event_all_of.py +0 -217
- lusid/models/cash_flow_value_all_of.py +0 -306
- lusid/models/cash_flow_value_set_all_of.py +0 -182
- lusid/models/cash_perpetual_all_of.py +0 -248
- lusid/models/cds_index_all_of.py +0 -399
- lusid/models/check_step.py +0 -251
- lusid/models/check_step_all_of.py +0 -251
- lusid/models/close_event_all_of.py +0 -214
- lusid/models/complex_bond_all_of.py +0 -338
- lusid/models/compliance_rule_result_v2.py +0 -267
- lusid/models/compliance_step.py +0 -167
- lusid/models/constant_volatility_surface.py +0 -285
- lusid/models/constant_volatility_surface_all_of.py +0 -285
- lusid/models/contract_for_difference_all_of.py +0 -447
- lusid/models/create_trade_tickets_response.py +0 -174
- lusid/models/credit_default_swap_all_of.py +0 -401
- lusid/models/credit_spread_curve_data_all_of.py +0 -437
- lusid/models/date_time_compliance_parameter_all_of.py +0 -182
- lusid/models/decimal_compliance_parameter_all_of.py +0 -182
- lusid/models/decimal_list_all_of.py +0 -188
- lusid/models/discount_factor_curve_data_all_of.py +0 -313
- lusid/models/discounting_dependency_all_of.py +0 -216
- lusid/models/dividend_option_event.py +0 -371
- lusid/models/dividend_option_event_all_of.py +0 -371
- lusid/models/dividend_reinvestment_event.py +0 -342
- lusid/models/dividend_reinvestment_event_all_of.py +0 -342
- lusid/models/empty_model_options_all_of.py +0 -152
- lusid/models/equity_all_of.py +0 -243
- lusid/models/equity_curve_by_prices_data_all_of.py +0 -313
- lusid/models/equity_curve_dependency_all_of.py +0 -298
- lusid/models/equity_model_options_all_of.py +0 -187
- lusid/models/equity_option_all_of.py +0 -571
- lusid/models/equity_swap_all_of.py +0 -504
- lusid/models/equity_vol_dependency_all_of.py +0 -292
- lusid/models/equity_vol_surface_data_all_of.py +0 -284
- lusid/models/exchange_traded_option_all_of.py +0 -278
- lusid/models/exercise_event_all_of.py +0 -245
- lusid/models/exotic_instrument_all_of.py +0 -217
- lusid/models/filter_predicate_compliance_parameter.py +0 -185
- lusid/models/filter_predicate_compliance_parameter_all_of.py +0 -185
- lusid/models/filter_step.py +0 -219
- lusid/models/fixed_leg_all_of.py +0 -304
- lusid/models/flexible_loan.py +0 -280
- lusid/models/flexible_loan_all_of.py +0 -280
- lusid/models/floating_leg_all_of.py +0 -366
- lusid/models/forward_rate_agreement_all_of.py +0 -373
- lusid/models/fund_share_class.py +0 -324
- lusid/models/fund_share_class_all_of.py +0 -324
- lusid/models/funding_leg_all_of.py +0 -276
- lusid/models/future_all_of.py +0 -405
- lusid/models/fx_conventions.py +0 -216
- lusid/models/fx_dependency_all_of.py +0 -248
- lusid/models/fx_forward_all_of.py +0 -498
- lusid/models/fx_forward_curve_by_quote_reference_all_of.py +0 -405
- lusid/models/fx_forward_curve_data_all_of.py +0 -377
- lusid/models/fx_forward_model_options_all_of.py +0 -260
- lusid/models/fx_forward_pips_curve_data_all_of.py +0 -377
- lusid/models/fx_forward_settlement_event.py +0 -494
- lusid/models/fx_forward_settlement_event_all_of.py +0 -494
- lusid/models/fx_forward_tenor_curve_data_all_of.py +0 -437
- lusid/models/fx_forward_tenor_pips_curve_data_all_of.py +0 -437
- lusid/models/fx_forwards_dependency_all_of.py +0 -286
- lusid/models/fx_linked_notional_schedule.py +0 -273
- lusid/models/fx_linked_notional_schedule_all_of.py +0 -273
- lusid/models/fx_option_all_of.py +0 -646
- lusid/models/fx_swap_all_of.py +0 -242
- lusid/models/fx_vol_dependency_all_of.py +0 -286
- lusid/models/group_by_selector_compliance_parameter.py +0 -185
- lusid/models/group_by_step.py +0 -219
- lusid/models/group_filter_predicate_compliance_parameter.py +0 -185
- lusid/models/group_filter_step.py +0 -251
- lusid/models/group_of_market_data_key_rules.py +0 -181
- lusid/models/index_model_options_all_of.py +0 -190
- lusid/models/index_projection_dependency_all_of.py +0 -292
- lusid/models/inflation_fixing_dependency_all_of.py +0 -254
- lusid/models/inflation_leg_all_of.py +0 -472
- lusid/models/inflation_linked_bond_all_of.py +0 -612
- lusid/models/inflation_swap_all_of.py +0 -276
- lusid/models/informational_error_event_all_of.py +0 -254
- lusid/models/informational_event_all_of.py +0 -279
- lusid/models/instrument_event_configuration.py +0 -142
- lusid/models/instrument_leg_all_of.py +0 -152
- lusid/models/instrument_list_all_of.py +0 -188
- lusid/models/interest_rate_swap_all_of.py +0 -339
- lusid/models/interest_rate_swaption_all_of.py +0 -313
- lusid/models/ir_vol_cube_data_all_of.py +0 -284
- lusid/models/ir_vol_dependency_all_of.py +0 -254
- lusid/models/life_cycle_event_value_all_of.py +0 -241
- lusid/models/lineage_member.py +0 -294
- lusid/models/look_up_pricing_model_options_all_of.py +0 -216
- lusid/models/maturity_event.py +0 -184
- lusid/models/maturity_event_all_of.py +0 -184
- lusid/models/move_orders_to_different_blocks_request.py +0 -152
- lusid/models/moved_order_to_different_block_response.py +0 -201
- lusid/models/opaque_dependency_all_of.py +0 -152
- lusid/models/opaque_market_data_all_of.py +0 -293
- lusid/models/opaque_model_options_all_of.py +0 -182
- lusid/models/open_event_all_of.py +0 -183
- lusid/models/paged_resource_list_of_property_definition.py +0 -266
- lusid/models/place_blocks_request.py +0 -152
- lusid/models/portfolio_group_id_list_all_of.py +0 -185
- lusid/models/portfolio_result_data_key_rule_all_of.py +0 -409
- lusid/models/property_key_compliance_parameter_all_of.py +0 -184
- lusid/models/quote_dependency_all_of.py +0 -257
- lusid/models/raw_vendor_event_all_of.py +0 -249
- lusid/models/recombine_step.py +0 -219
- lusid/models/reconcile_date_time_rule_all_of.py +0 -251
- lusid/models/reconcile_numeric_rule_all_of.py +0 -251
- lusid/models/reconcile_string_rule_all_of.py +0 -250
- lusid/models/reference_instrument_all_of.py +0 -257
- lusid/models/relative_date_offset.py +0 -181
- lusid/models/repo_all_of.py +0 -493
- lusid/models/reset_event_all_of.py +0 -279
- lusid/models/resource_list_of_block_and_orders.py +0 -266
- lusid/models/resource_list_of_moved_order_to_different_block_response.py +0 -266
- lusid/models/result_data_key_rule_all_of.py +0 -406
- lusid/models/result_value0_d_all_of.py +0 -243
- lusid/models/result_value_bool_all_of.py +0 -183
- lusid/models/result_value_currency_all_of.py +0 -182
- lusid/models/result_value_date_time_offset_all_of.py +0 -213
- lusid/models/result_value_decimal_all_of.py +0 -213
- lusid/models/result_value_dictionary_all_of.py +0 -182
- lusid/models/result_value_int_all_of.py +0 -213
- lusid/models/result_value_string_all_of.py +0 -182
- lusid/models/schema.py +0 -228
- lusid/models/script_map_reference.py +0 -237
- lusid/models/security_election.py +0 -270
- lusid/models/simple_cash_flow_loan_all_of.py +0 -280
- lusid/models/simple_instrument_all_of.py +0 -318
- lusid/models/step_schedule_all_of.py +0 -254
- lusid/models/stock_split_event_all_of.py +0 -248
- lusid/models/string_compliance_parameter_all_of.py +0 -185
- lusid/models/term_deposit_all_of.py +0 -340
- lusid/models/total_return_swap_all_of.py +0 -276
- lusid/models/transition_event_all_of.py +0 -335
- lusid/models/translation_context.py +0 -172
- lusid/models/trigger_event_all_of.py +0 -318
- lusid/models/units_ratio.py +0 -178
- lusid/models/upsert_compliance_run_summary_result.py +0 -267
- lusid/models/upsert_dialect_request.py +0 -174
- lusid/models/upsert_translation_script_request.py +0 -182
- lusid/models/weighted_instrument_in_line_lookup_identifiers.py +0 -433
- lusid/models/yield_curve_data_all_of.py +0 -313
- lusid/tcp/__init__.py +0 -1
- lusid/tcp/tcp_keep_alive_probes.py +0 -110
- lusid/utilities/__init__.py +0 -8
- lusid/utilities/api_client_builder.py +0 -145
- lusid/utilities/api_client_factory.py +0 -132
- lusid/utilities/api_configuration_loader.py +0 -87
- lusid/utilities/config_keys.json +0 -50
- lusid/utilities/config_keys.py +0 -13
- lusid/utilities/lusid_retry.py +0 -47
- lusid_sdk-1.1.118.dist-info/METADATA +0 -21
- lusid_sdk-1.1.118.dist-info/RECORD +0 -848
- lusid_sdk-1.1.118.dist-info/top_level.txt +0 -1
lusid/models/fx_option.py
CHANGED
@@ -5,642 +5,172 @@
|
|
5
5
|
|
6
6
|
FINBOURNE Technology # noqa: E501
|
7
7
|
|
8
|
-
The version of the OpenAPI document: 1.1.118
|
9
8
|
Contact: info@finbourne.com
|
10
|
-
Generated by
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
11
12
|
"""
|
12
13
|
|
13
14
|
|
14
|
-
|
15
|
-
from inspect import getfullargspec
|
16
|
-
except ImportError:
|
17
|
-
from inspect import getargspec as getfullargspec
|
15
|
+
from __future__ import annotations
|
18
16
|
import pprint
|
19
17
|
import re # noqa: F401
|
20
|
-
import
|
21
|
-
|
22
|
-
from lusid.configuration import Configuration
|
18
|
+
import json
|
23
19
|
|
20
|
+
from datetime import datetime
|
21
|
+
from typing import Any, Dict, List, Optional, Union
|
22
|
+
from pydantic import Field, StrictBool, StrictFloat, StrictInt, StrictStr, conlist, validator
|
23
|
+
from lusid.models.barrier import Barrier
|
24
|
+
from lusid.models.lusid_instrument import LusidInstrument
|
25
|
+
from lusid.models.premium import Premium
|
26
|
+
from lusid.models.touch import Touch
|
24
27
|
|
25
|
-
class FxOption(
|
26
|
-
"""NOTE: This class is auto generated by OpenAPI Generator.
|
27
|
-
Ref: https://openapi-generator.tech
|
28
|
-
|
29
|
-
Do not edit the class manually.
|
28
|
+
class FxOption(LusidInstrument):
|
30
29
|
"""
|
31
|
-
|
32
|
-
"""
|
33
|
-
Attributes:
|
34
|
-
openapi_types (dict): The key is attribute name
|
35
|
-
and the value is attribute type.
|
36
|
-
attribute_map (dict): The key is attribute name
|
37
|
-
and the value is json key in definition.
|
38
|
-
required_map (dict): The key is attribute name
|
39
|
-
and the value is whether it is 'required' or 'optional'.
|
30
|
+
LUSID representation of an FX Option. Including Vanilla, American, European, and Digital (Binary) options. # noqa: E501
|
40
31
|
"""
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
'
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
if
|
141
|
-
|
142
|
-
self.
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
self.
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
The start date of the instrument. This is normally synonymous with the trade-date. # noqa: E501
|
188
|
-
|
189
|
-
:return: The start_date of this FxOption. # noqa: E501
|
190
|
-
:rtype: datetime
|
191
|
-
"""
|
192
|
-
return self._start_date
|
193
|
-
|
194
|
-
@start_date.setter
|
195
|
-
def start_date(self, start_date):
|
196
|
-
"""Sets the start_date of this FxOption.
|
197
|
-
|
198
|
-
The start date of the instrument. This is normally synonymous with the trade-date. # noqa: E501
|
199
|
-
|
200
|
-
:param start_date: The start_date of this FxOption. # noqa: E501
|
201
|
-
:type start_date: datetime
|
202
|
-
"""
|
203
|
-
if self.local_vars_configuration.client_side_validation and start_date is None: # noqa: E501
|
204
|
-
raise ValueError("Invalid value for `start_date`, must not be `None`") # noqa: E501
|
205
|
-
|
206
|
-
self._start_date = start_date
|
207
|
-
|
208
|
-
@property
|
209
|
-
def dom_ccy(self):
|
210
|
-
"""Gets the dom_ccy of this FxOption. # noqa: E501
|
211
|
-
|
212
|
-
The domestic currency of the instrument. # noqa: E501
|
213
|
-
|
214
|
-
:return: The dom_ccy of this FxOption. # noqa: E501
|
215
|
-
:rtype: str
|
216
|
-
"""
|
217
|
-
return self._dom_ccy
|
218
|
-
|
219
|
-
@dom_ccy.setter
|
220
|
-
def dom_ccy(self, dom_ccy):
|
221
|
-
"""Sets the dom_ccy of this FxOption.
|
222
|
-
|
223
|
-
The domestic currency of the instrument. # noqa: E501
|
224
|
-
|
225
|
-
:param dom_ccy: The dom_ccy of this FxOption. # noqa: E501
|
226
|
-
:type dom_ccy: str
|
227
|
-
"""
|
228
|
-
if self.local_vars_configuration.client_side_validation and dom_ccy is None: # noqa: E501
|
229
|
-
raise ValueError("Invalid value for `dom_ccy`, must not be `None`") # noqa: E501
|
230
|
-
|
231
|
-
self._dom_ccy = dom_ccy
|
232
|
-
|
233
|
-
@property
|
234
|
-
def dom_amount(self):
|
235
|
-
"""Gets the dom_amount of this FxOption. # noqa: E501
|
236
|
-
|
237
|
-
The Amount of DomCcy that will be exchanged if the option is exercised. This amount should be a positive number, with the Call/Put flag used to indicate direction. The corresponding amount of FgnCcy that will be exchanged is this amount times the strike. Note there is no rounding performed on this computed value. This is an optional field, if not set the option ContractSize will default to 1. # noqa: E501
|
238
|
-
|
239
|
-
:return: The dom_amount of this FxOption. # noqa: E501
|
240
|
-
:rtype: float
|
241
|
-
"""
|
242
|
-
return self._dom_amount
|
243
|
-
|
244
|
-
@dom_amount.setter
|
245
|
-
def dom_amount(self, dom_amount):
|
246
|
-
"""Sets the dom_amount of this FxOption.
|
247
|
-
|
248
|
-
The Amount of DomCcy that will be exchanged if the option is exercised. This amount should be a positive number, with the Call/Put flag used to indicate direction. The corresponding amount of FgnCcy that will be exchanged is this amount times the strike. Note there is no rounding performed on this computed value. This is an optional field, if not set the option ContractSize will default to 1. # noqa: E501
|
249
|
-
|
250
|
-
:param dom_amount: The dom_amount of this FxOption. # noqa: E501
|
251
|
-
:type dom_amount: float
|
252
|
-
"""
|
253
|
-
|
254
|
-
self._dom_amount = dom_amount
|
255
|
-
|
256
|
-
@property
|
257
|
-
def fgn_ccy(self):
|
258
|
-
"""Gets the fgn_ccy of this FxOption. # noqa: E501
|
259
|
-
|
260
|
-
The foreign currency of the FX. # noqa: E501
|
261
|
-
|
262
|
-
:return: The fgn_ccy of this FxOption. # noqa: E501
|
263
|
-
:rtype: str
|
264
|
-
"""
|
265
|
-
return self._fgn_ccy
|
266
|
-
|
267
|
-
@fgn_ccy.setter
|
268
|
-
def fgn_ccy(self, fgn_ccy):
|
269
|
-
"""Sets the fgn_ccy of this FxOption.
|
270
|
-
|
271
|
-
The foreign currency of the FX. # noqa: E501
|
272
|
-
|
273
|
-
:param fgn_ccy: The fgn_ccy of this FxOption. # noqa: E501
|
274
|
-
:type fgn_ccy: str
|
275
|
-
"""
|
276
|
-
if self.local_vars_configuration.client_side_validation and fgn_ccy is None: # noqa: E501
|
277
|
-
raise ValueError("Invalid value for `fgn_ccy`, must not be `None`") # noqa: E501
|
278
|
-
|
279
|
-
self._fgn_ccy = fgn_ccy
|
280
|
-
|
281
|
-
@property
|
282
|
-
def fgn_amount(self):
|
283
|
-
"""Gets the fgn_amount of this FxOption. # noqa: E501
|
284
|
-
|
285
|
-
For a vanilla FxOption contract, FgnAmount cannot be set. In case of a digital FxOption (IsPayoffDigital==true) a payoff (if the option is in the money) can be either in domestic or in foreign currency - for the latter FgnAmount must be set. Note: It is invalid to have FgnAmount and DomAmount at the same time. # noqa: E501
|
286
|
-
|
287
|
-
:return: The fgn_amount of this FxOption. # noqa: E501
|
288
|
-
:rtype: float
|
289
|
-
"""
|
290
|
-
return self._fgn_amount
|
291
|
-
|
292
|
-
@fgn_amount.setter
|
293
|
-
def fgn_amount(self, fgn_amount):
|
294
|
-
"""Sets the fgn_amount of this FxOption.
|
295
|
-
|
296
|
-
For a vanilla FxOption contract, FgnAmount cannot be set. In case of a digital FxOption (IsPayoffDigital==true) a payoff (if the option is in the money) can be either in domestic or in foreign currency - for the latter FgnAmount must be set. Note: It is invalid to have FgnAmount and DomAmount at the same time. # noqa: E501
|
297
|
-
|
298
|
-
:param fgn_amount: The fgn_amount of this FxOption. # noqa: E501
|
299
|
-
:type fgn_amount: float
|
300
|
-
"""
|
301
|
-
|
302
|
-
self._fgn_amount = fgn_amount
|
303
|
-
|
304
|
-
@property
|
305
|
-
def strike(self):
|
306
|
-
"""Gets the strike of this FxOption. # noqa: E501
|
307
|
-
|
308
|
-
The strike of the option. # noqa: E501
|
309
|
-
|
310
|
-
:return: The strike of this FxOption. # noqa: E501
|
311
|
-
:rtype: float
|
312
|
-
"""
|
313
|
-
return self._strike
|
314
|
-
|
315
|
-
@strike.setter
|
316
|
-
def strike(self, strike):
|
317
|
-
"""Sets the strike of this FxOption.
|
318
|
-
|
319
|
-
The strike of the option. # noqa: E501
|
320
|
-
|
321
|
-
:param strike: The strike of this FxOption. # noqa: E501
|
322
|
-
:type strike: float
|
323
|
-
"""
|
324
|
-
|
325
|
-
self._strike = strike
|
326
|
-
|
327
|
-
@property
|
328
|
-
def barriers(self):
|
329
|
-
"""Gets the barriers of this FxOption. # noqa: E501
|
330
|
-
|
331
|
-
For a barrier option the list should not be empty. Up to two barriers are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty. # noqa: E501
|
332
|
-
|
333
|
-
:return: The barriers of this FxOption. # noqa: E501
|
334
|
-
:rtype: list[lusid.Barrier]
|
335
|
-
"""
|
336
|
-
return self._barriers
|
337
|
-
|
338
|
-
@barriers.setter
|
339
|
-
def barriers(self, barriers):
|
340
|
-
"""Sets the barriers of this FxOption.
|
341
|
-
|
342
|
-
For a barrier option the list should not be empty. Up to two barriers are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty. # noqa: E501
|
343
|
-
|
344
|
-
:param barriers: The barriers of this FxOption. # noqa: E501
|
345
|
-
:type barriers: list[lusid.Barrier]
|
346
|
-
"""
|
347
|
-
|
348
|
-
self._barriers = barriers
|
349
|
-
|
350
|
-
@property
|
351
|
-
def exercise_type(self):
|
352
|
-
"""Gets the exercise_type of this FxOption. # noqa: E501
|
353
|
-
|
354
|
-
Type of optionality that is present; European, American. Supported string (enumeration) values are: [European, American]. # noqa: E501
|
355
|
-
|
356
|
-
:return: The exercise_type of this FxOption. # noqa: E501
|
357
|
-
:rtype: str
|
358
|
-
"""
|
359
|
-
return self._exercise_type
|
360
|
-
|
361
|
-
@exercise_type.setter
|
362
|
-
def exercise_type(self, exercise_type):
|
363
|
-
"""Sets the exercise_type of this FxOption.
|
364
|
-
|
365
|
-
Type of optionality that is present; European, American. Supported string (enumeration) values are: [European, American]. # noqa: E501
|
366
|
-
|
367
|
-
:param exercise_type: The exercise_type of this FxOption. # noqa: E501
|
368
|
-
:type exercise_type: str
|
369
|
-
"""
|
370
|
-
|
371
|
-
self._exercise_type = exercise_type
|
372
|
-
|
373
|
-
@property
|
374
|
-
def is_call_not_put(self):
|
375
|
-
"""Gets the is_call_not_put of this FxOption. # noqa: E501
|
376
|
-
|
377
|
-
True if the option is a call, false if the option is a put. # noqa: E501
|
378
|
-
|
379
|
-
:return: The is_call_not_put of this FxOption. # noqa: E501
|
380
|
-
:rtype: bool
|
381
|
-
"""
|
382
|
-
return self._is_call_not_put
|
383
|
-
|
384
|
-
@is_call_not_put.setter
|
385
|
-
def is_call_not_put(self, is_call_not_put):
|
386
|
-
"""Sets the is_call_not_put of this FxOption.
|
387
|
-
|
388
|
-
True if the option is a call, false if the option is a put. # noqa: E501
|
389
|
-
|
390
|
-
:param is_call_not_put: The is_call_not_put of this FxOption. # noqa: E501
|
391
|
-
:type is_call_not_put: bool
|
392
|
-
"""
|
393
|
-
if self.local_vars_configuration.client_side_validation and is_call_not_put is None: # noqa: E501
|
394
|
-
raise ValueError("Invalid value for `is_call_not_put`, must not be `None`") # noqa: E501
|
395
|
-
|
396
|
-
self._is_call_not_put = is_call_not_put
|
397
|
-
|
398
|
-
@property
|
399
|
-
def is_delivery_not_cash(self):
|
400
|
-
"""Gets the is_delivery_not_cash of this FxOption. # noqa: E501
|
401
|
-
|
402
|
-
True if the option delivers the FX underlying, False if the option is settled in cash. # noqa: E501
|
403
|
-
|
404
|
-
:return: The is_delivery_not_cash of this FxOption. # noqa: E501
|
405
|
-
:rtype: bool
|
406
|
-
"""
|
407
|
-
return self._is_delivery_not_cash
|
408
|
-
|
409
|
-
@is_delivery_not_cash.setter
|
410
|
-
def is_delivery_not_cash(self, is_delivery_not_cash):
|
411
|
-
"""Sets the is_delivery_not_cash of this FxOption.
|
412
|
-
|
413
|
-
True if the option delivers the FX underlying, False if the option is settled in cash. # noqa: E501
|
414
|
-
|
415
|
-
:param is_delivery_not_cash: The is_delivery_not_cash of this FxOption. # noqa: E501
|
416
|
-
:type is_delivery_not_cash: bool
|
417
|
-
"""
|
418
|
-
if self.local_vars_configuration.client_side_validation and is_delivery_not_cash is None: # noqa: E501
|
419
|
-
raise ValueError("Invalid value for `is_delivery_not_cash`, must not be `None`") # noqa: E501
|
420
|
-
|
421
|
-
self._is_delivery_not_cash = is_delivery_not_cash
|
422
|
-
|
423
|
-
@property
|
424
|
-
def is_payoff_digital(self):
|
425
|
-
"""Gets the is_payoff_digital of this FxOption. # noqa: E501
|
426
|
-
|
427
|
-
By default IsPayoffDigital is false. If IsPayoffDigital=true, the option is 'digital', and the option payoff is 0 or 1 unit of currency, instead of a vanilla CallPayoff=max(spot-strike,0) or PutPayoff=max(strike-spot,0). # noqa: E501
|
428
|
-
|
429
|
-
:return: The is_payoff_digital of this FxOption. # noqa: E501
|
430
|
-
:rtype: bool
|
431
|
-
"""
|
432
|
-
return self._is_payoff_digital
|
433
|
-
|
434
|
-
@is_payoff_digital.setter
|
435
|
-
def is_payoff_digital(self, is_payoff_digital):
|
436
|
-
"""Sets the is_payoff_digital of this FxOption.
|
437
|
-
|
438
|
-
By default IsPayoffDigital is false. If IsPayoffDigital=true, the option is 'digital', and the option payoff is 0 or 1 unit of currency, instead of a vanilla CallPayoff=max(spot-strike,0) or PutPayoff=max(strike-spot,0). # noqa: E501
|
439
|
-
|
440
|
-
:param is_payoff_digital: The is_payoff_digital of this FxOption. # noqa: E501
|
441
|
-
:type is_payoff_digital: bool
|
442
|
-
"""
|
443
|
-
|
444
|
-
self._is_payoff_digital = is_payoff_digital
|
445
|
-
|
446
|
-
@property
|
447
|
-
def option_maturity_date(self):
|
448
|
-
"""Gets the option_maturity_date of this FxOption. # noqa: E501
|
449
|
-
|
450
|
-
The maturity date of the option. # noqa: E501
|
451
|
-
|
452
|
-
:return: The option_maturity_date of this FxOption. # noqa: E501
|
453
|
-
:rtype: datetime
|
454
|
-
"""
|
455
|
-
return self._option_maturity_date
|
456
|
-
|
457
|
-
@option_maturity_date.setter
|
458
|
-
def option_maturity_date(self, option_maturity_date):
|
459
|
-
"""Sets the option_maturity_date of this FxOption.
|
460
|
-
|
461
|
-
The maturity date of the option. # noqa: E501
|
462
|
-
|
463
|
-
:param option_maturity_date: The option_maturity_date of this FxOption. # noqa: E501
|
464
|
-
:type option_maturity_date: datetime
|
465
|
-
"""
|
466
|
-
if self.local_vars_configuration.client_side_validation and option_maturity_date is None: # noqa: E501
|
467
|
-
raise ValueError("Invalid value for `option_maturity_date`, must not be `None`") # noqa: E501
|
468
|
-
|
469
|
-
self._option_maturity_date = option_maturity_date
|
470
|
-
|
471
|
-
@property
|
472
|
-
def option_settlement_date(self):
|
473
|
-
"""Gets the option_settlement_date of this FxOption. # noqa: E501
|
474
|
-
|
475
|
-
The settlement date of the option. # noqa: E501
|
476
|
-
|
477
|
-
:return: The option_settlement_date of this FxOption. # noqa: E501
|
478
|
-
:rtype: datetime
|
479
|
-
"""
|
480
|
-
return self._option_settlement_date
|
481
|
-
|
482
|
-
@option_settlement_date.setter
|
483
|
-
def option_settlement_date(self, option_settlement_date):
|
484
|
-
"""Sets the option_settlement_date of this FxOption.
|
485
|
-
|
486
|
-
The settlement date of the option. # noqa: E501
|
487
|
-
|
488
|
-
:param option_settlement_date: The option_settlement_date of this FxOption. # noqa: E501
|
489
|
-
:type option_settlement_date: datetime
|
490
|
-
"""
|
491
|
-
if self.local_vars_configuration.client_side_validation and option_settlement_date is None: # noqa: E501
|
492
|
-
raise ValueError("Invalid value for `option_settlement_date`, must not be `None`") # noqa: E501
|
493
|
-
|
494
|
-
self._option_settlement_date = option_settlement_date
|
495
|
-
|
496
|
-
@property
|
497
|
-
def payout_style(self):
|
498
|
-
"""Gets the payout_style of this FxOption. # noqa: E501
|
499
|
-
|
500
|
-
PayoutStyle for touch options. For options without touch optionality, payoutStyle should not be set. For options with touch optionality (where the touches data has been set), payoutStyle must be defined and cannot be None. Supported string (enumeration) values are: [Deferred, Immediate]. # noqa: E501
|
501
|
-
|
502
|
-
:return: The payout_style of this FxOption. # noqa: E501
|
503
|
-
:rtype: str
|
504
|
-
"""
|
505
|
-
return self._payout_style
|
506
|
-
|
507
|
-
@payout_style.setter
|
508
|
-
def payout_style(self, payout_style):
|
509
|
-
"""Sets the payout_style of this FxOption.
|
510
|
-
|
511
|
-
PayoutStyle for touch options. For options without touch optionality, payoutStyle should not be set. For options with touch optionality (where the touches data has been set), payoutStyle must be defined and cannot be None. Supported string (enumeration) values are: [Deferred, Immediate]. # noqa: E501
|
512
|
-
|
513
|
-
:param payout_style: The payout_style of this FxOption. # noqa: E501
|
514
|
-
:type payout_style: str
|
515
|
-
"""
|
516
|
-
|
517
|
-
self._payout_style = payout_style
|
518
|
-
|
519
|
-
@property
|
520
|
-
def premium(self):
|
521
|
-
"""Gets the premium of this FxOption. # noqa: E501
|
522
|
-
|
523
|
-
|
524
|
-
:return: The premium of this FxOption. # noqa: E501
|
525
|
-
:rtype: lusid.Premium
|
526
|
-
"""
|
527
|
-
return self._premium
|
528
|
-
|
529
|
-
@premium.setter
|
530
|
-
def premium(self, premium):
|
531
|
-
"""Sets the premium of this FxOption.
|
532
|
-
|
533
|
-
|
534
|
-
:param premium: The premium of this FxOption. # noqa: E501
|
535
|
-
:type premium: lusid.Premium
|
536
|
-
"""
|
537
|
-
|
538
|
-
self._premium = premium
|
539
|
-
|
540
|
-
@property
|
541
|
-
def touches(self):
|
542
|
-
"""Gets the touches of this FxOption. # noqa: E501
|
543
|
-
|
544
|
-
For a touch option the list should not be empty. Up to two touches are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty. # noqa: E501
|
545
|
-
|
546
|
-
:return: The touches of this FxOption. # noqa: E501
|
547
|
-
:rtype: list[lusid.Touch]
|
548
|
-
"""
|
549
|
-
return self._touches
|
550
|
-
|
551
|
-
@touches.setter
|
552
|
-
def touches(self, touches):
|
553
|
-
"""Sets the touches of this FxOption.
|
554
|
-
|
555
|
-
For a touch option the list should not be empty. Up to two touches are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty. # noqa: E501
|
556
|
-
|
557
|
-
:param touches: The touches of this FxOption. # noqa: E501
|
558
|
-
:type touches: list[lusid.Touch]
|
559
|
-
"""
|
560
|
-
|
561
|
-
self._touches = touches
|
562
|
-
|
563
|
-
@property
|
564
|
-
def instrument_type(self):
|
565
|
-
"""Gets the instrument_type of this FxOption. # noqa: E501
|
566
|
-
|
567
|
-
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 # noqa: E501
|
568
|
-
|
569
|
-
:return: The instrument_type of this FxOption. # noqa: E501
|
570
|
-
:rtype: str
|
571
|
-
"""
|
572
|
-
return self._instrument_type
|
573
|
-
|
574
|
-
@instrument_type.setter
|
575
|
-
def instrument_type(self, instrument_type):
|
576
|
-
"""Sets the instrument_type of this FxOption.
|
577
|
-
|
578
|
-
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 # noqa: E501
|
579
|
-
|
580
|
-
:param instrument_type: The instrument_type of this FxOption. # noqa: E501
|
581
|
-
:type instrument_type: str
|
582
|
-
"""
|
583
|
-
if self.local_vars_configuration.client_side_validation and instrument_type is None: # noqa: E501
|
584
|
-
raise ValueError("Invalid value for `instrument_type`, must not be `None`") # noqa: E501
|
585
|
-
allowed_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"] # noqa: E501
|
586
|
-
if self.local_vars_configuration.client_side_validation and instrument_type not in allowed_values: # noqa: E501
|
587
|
-
raise ValueError(
|
588
|
-
"Invalid value for `instrument_type` ({0}), must be one of {1}" # noqa: E501
|
589
|
-
.format(instrument_type, allowed_values)
|
590
|
-
)
|
591
|
-
|
592
|
-
self._instrument_type = instrument_type
|
593
|
-
|
594
|
-
def to_dict(self, serialize=False):
|
595
|
-
"""Returns the model properties as a dict"""
|
596
|
-
result = {}
|
597
|
-
|
598
|
-
def convert(x):
|
599
|
-
if hasattr(x, "to_dict"):
|
600
|
-
args = getfullargspec(x.to_dict).args
|
601
|
-
if len(args) == 1:
|
602
|
-
return x.to_dict()
|
603
|
-
else:
|
604
|
-
return x.to_dict(serialize)
|
605
|
-
else:
|
606
|
-
return x
|
607
|
-
|
608
|
-
for attr, _ in six.iteritems(self.openapi_types):
|
609
|
-
value = getattr(self, attr)
|
610
|
-
attr = self.attribute_map.get(attr, attr) if serialize else attr
|
611
|
-
if isinstance(value, list):
|
612
|
-
result[attr] = list(map(
|
613
|
-
lambda x: convert(x),
|
614
|
-
value
|
615
|
-
))
|
616
|
-
elif isinstance(value, dict):
|
617
|
-
result[attr] = dict(map(
|
618
|
-
lambda item: (item[0], convert(item[1])),
|
619
|
-
value.items()
|
620
|
-
))
|
621
|
-
else:
|
622
|
-
result[attr] = convert(value)
|
623
|
-
|
624
|
-
return result
|
625
|
-
|
626
|
-
def to_str(self):
|
627
|
-
"""Returns the string representation of the model"""
|
628
|
-
return pprint.pformat(self.to_dict())
|
629
|
-
|
630
|
-
def __repr__(self):
|
631
|
-
"""For `print` and `pprint`"""
|
632
|
-
return self.to_str()
|
633
|
-
|
634
|
-
def __eq__(self, other):
|
635
|
-
"""Returns true if both objects are equal"""
|
636
|
-
if not isinstance(other, FxOption):
|
637
|
-
return False
|
638
|
-
|
639
|
-
return self.to_dict() == other.to_dict()
|
640
|
-
|
641
|
-
def __ne__(self, other):
|
642
|
-
"""Returns true if both objects are not equal"""
|
643
|
-
if not isinstance(other, FxOption):
|
644
|
-
return True
|
645
|
-
|
646
|
-
return self.to_dict() != other.to_dict()
|
32
|
+
start_date: datetime = Field(..., alias="startDate", description="The start date of the instrument. This is normally synonymous with the trade-date.")
|
33
|
+
dom_ccy: StrictStr = Field(..., alias="domCcy", description="The domestic currency of the instrument.")
|
34
|
+
dom_amount: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="domAmount", description="The Amount of DomCcy that will be exchanged if the option is exercised. This amount should be a positive number, with the Call/Put flag used to indicate direction. The corresponding amount of FgnCcy that will be exchanged is this amount times the strike. Note there is no rounding performed on this computed value. This is an optional field, if not set the option ContractSize will default to 1.")
|
35
|
+
fgn_ccy: StrictStr = Field(..., alias="fgnCcy", description="The foreign currency of the FX.")
|
36
|
+
fgn_amount: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="fgnAmount", description="For a vanilla FxOption contract, FgnAmount cannot be set. In case of a digital FxOption (IsPayoffDigital==true) a payoff (if the option is in the money) can be either in domestic or in foreign currency - for the latter FgnAmount must be set. Note: It is invalid to have FgnAmount and DomAmount at the same time.")
|
37
|
+
strike: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The strike of the option.")
|
38
|
+
barriers: Optional[conlist(Barrier)] = Field(None, description="For a barrier option the list should not be empty. Up to two barriers are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty.")
|
39
|
+
exercise_type: Optional[StrictStr] = Field(None, alias="exerciseType", description="Type of optionality that is present; European, American. Supported string (enumeration) values are: [European, American].")
|
40
|
+
is_call_not_put: StrictBool = Field(..., alias="isCallNotPut", description="True if the option is a call, false if the option is a put.")
|
41
|
+
is_delivery_not_cash: StrictBool = Field(..., alias="isDeliveryNotCash", description="True if the option delivers the FX underlying, False if the option is settled in cash.")
|
42
|
+
is_payoff_digital: Optional[StrictBool] = Field(None, alias="isPayoffDigital", description="By default IsPayoffDigital is false. If IsPayoffDigital=true, the option is 'digital', and the option payoff is 0 or 1 unit of currency, instead of a vanilla CallPayoff=max(spot-strike,0) or PutPayoff=max(strike-spot,0).")
|
43
|
+
option_maturity_date: datetime = Field(..., alias="optionMaturityDate", description="The maturity date of the option.")
|
44
|
+
option_settlement_date: datetime = Field(..., alias="optionSettlementDate", description="The settlement date of the option.")
|
45
|
+
payout_style: Optional[StrictStr] = Field(None, alias="payoutStyle", description="PayoutStyle for touch options. For options without touch optionality, payoutStyle should not be set. For options with touch optionality (where the touches data has been set), payoutStyle must be defined and cannot be None. Supported string (enumeration) values are: [Deferred, Immediate].")
|
46
|
+
premium: Optional[Premium] = None
|
47
|
+
touches: Optional[conlist(Touch)] = Field(None, description="For a touch option the list should not be empty. Up to two touches are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty.")
|
48
|
+
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")
|
49
|
+
additional_properties: Dict[str, Any] = {}
|
50
|
+
__properties = ["instrumentType", "startDate", "domCcy", "domAmount", "fgnCcy", "fgnAmount", "strike", "barriers", "exerciseType", "isCallNotPut", "isDeliveryNotCash", "isPayoffDigital", "optionMaturityDate", "optionSettlementDate", "payoutStyle", "premium", "touches"]
|
51
|
+
|
52
|
+
@validator('instrument_type')
|
53
|
+
def instrument_type_validate_enum(cls, value):
|
54
|
+
"""Validates the enum"""
|
55
|
+
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'):
|
56
|
+
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')")
|
57
|
+
return value
|
58
|
+
|
59
|
+
class Config:
|
60
|
+
"""Pydantic configuration"""
|
61
|
+
allow_population_by_field_name = True
|
62
|
+
validate_assignment = True
|
63
|
+
|
64
|
+
def to_str(self) -> str:
|
65
|
+
"""Returns the string representation of the model using alias"""
|
66
|
+
return pprint.pformat(self.dict(by_alias=True))
|
67
|
+
|
68
|
+
def to_json(self) -> str:
|
69
|
+
"""Returns the JSON representation of the model using alias"""
|
70
|
+
return json.dumps(self.to_dict())
|
71
|
+
|
72
|
+
@classmethod
|
73
|
+
def from_json(cls, json_str: str) -> FxOption:
|
74
|
+
"""Create an instance of FxOption from a JSON string"""
|
75
|
+
return cls.from_dict(json.loads(json_str))
|
76
|
+
|
77
|
+
def to_dict(self):
|
78
|
+
"""Returns the dictionary representation of the model using alias"""
|
79
|
+
_dict = self.dict(by_alias=True,
|
80
|
+
exclude={
|
81
|
+
"additional_properties"
|
82
|
+
},
|
83
|
+
exclude_none=True)
|
84
|
+
# override the default output from pydantic by calling `to_dict()` of each item in barriers (list)
|
85
|
+
_items = []
|
86
|
+
if self.barriers:
|
87
|
+
for _item in self.barriers:
|
88
|
+
if _item:
|
89
|
+
_items.append(_item.to_dict())
|
90
|
+
_dict['barriers'] = _items
|
91
|
+
# override the default output from pydantic by calling `to_dict()` of premium
|
92
|
+
if self.premium:
|
93
|
+
_dict['premium'] = self.premium.to_dict()
|
94
|
+
# override the default output from pydantic by calling `to_dict()` of each item in touches (list)
|
95
|
+
_items = []
|
96
|
+
if self.touches:
|
97
|
+
for _item in self.touches:
|
98
|
+
if _item:
|
99
|
+
_items.append(_item.to_dict())
|
100
|
+
_dict['touches'] = _items
|
101
|
+
# puts key-value pairs in additional_properties in the top level
|
102
|
+
if self.additional_properties is not None:
|
103
|
+
for _key, _value in self.additional_properties.items():
|
104
|
+
_dict[_key] = _value
|
105
|
+
|
106
|
+
# set to None if dom_amount (nullable) is None
|
107
|
+
# and __fields_set__ contains the field
|
108
|
+
if self.dom_amount is None and "dom_amount" in self.__fields_set__:
|
109
|
+
_dict['domAmount'] = None
|
110
|
+
|
111
|
+
# set to None if fgn_amount (nullable) is None
|
112
|
+
# and __fields_set__ contains the field
|
113
|
+
if self.fgn_amount is None and "fgn_amount" in self.__fields_set__:
|
114
|
+
_dict['fgnAmount'] = None
|
115
|
+
|
116
|
+
# set to None if strike (nullable) is None
|
117
|
+
# and __fields_set__ contains the field
|
118
|
+
if self.strike is None and "strike" in self.__fields_set__:
|
119
|
+
_dict['strike'] = None
|
120
|
+
|
121
|
+
# set to None if barriers (nullable) is None
|
122
|
+
# and __fields_set__ contains the field
|
123
|
+
if self.barriers is None and "barriers" in self.__fields_set__:
|
124
|
+
_dict['barriers'] = None
|
125
|
+
|
126
|
+
# set to None if exercise_type (nullable) is None
|
127
|
+
# and __fields_set__ contains the field
|
128
|
+
if self.exercise_type is None and "exercise_type" in self.__fields_set__:
|
129
|
+
_dict['exerciseType'] = None
|
130
|
+
|
131
|
+
# set to None if payout_style (nullable) is None
|
132
|
+
# and __fields_set__ contains the field
|
133
|
+
if self.payout_style is None and "payout_style" in self.__fields_set__:
|
134
|
+
_dict['payoutStyle'] = None
|
135
|
+
|
136
|
+
# set to None if touches (nullable) is None
|
137
|
+
# and __fields_set__ contains the field
|
138
|
+
if self.touches is None and "touches" in self.__fields_set__:
|
139
|
+
_dict['touches'] = None
|
140
|
+
|
141
|
+
return _dict
|
142
|
+
|
143
|
+
@classmethod
|
144
|
+
def from_dict(cls, obj: dict) -> FxOption:
|
145
|
+
"""Create an instance of FxOption from a dict"""
|
146
|
+
if obj is None:
|
147
|
+
return None
|
148
|
+
|
149
|
+
if not isinstance(obj, dict):
|
150
|
+
return FxOption.parse_obj(obj)
|
151
|
+
|
152
|
+
_obj = FxOption.parse_obj({
|
153
|
+
"instrument_type": obj.get("instrumentType"),
|
154
|
+
"start_date": obj.get("startDate"),
|
155
|
+
"dom_ccy": obj.get("domCcy"),
|
156
|
+
"dom_amount": obj.get("domAmount"),
|
157
|
+
"fgn_ccy": obj.get("fgnCcy"),
|
158
|
+
"fgn_amount": obj.get("fgnAmount"),
|
159
|
+
"strike": obj.get("strike"),
|
160
|
+
"barriers": [Barrier.from_dict(_item) for _item in obj.get("barriers")] if obj.get("barriers") is not None else None,
|
161
|
+
"exercise_type": obj.get("exerciseType"),
|
162
|
+
"is_call_not_put": obj.get("isCallNotPut"),
|
163
|
+
"is_delivery_not_cash": obj.get("isDeliveryNotCash"),
|
164
|
+
"is_payoff_digital": obj.get("isPayoffDigital"),
|
165
|
+
"option_maturity_date": obj.get("optionMaturityDate"),
|
166
|
+
"option_settlement_date": obj.get("optionSettlementDate"),
|
167
|
+
"payout_style": obj.get("payoutStyle"),
|
168
|
+
"premium": Premium.from_dict(obj.get("premium")) if obj.get("premium") is not None else None,
|
169
|
+
"touches": [Touch.from_dict(_item) for _item in obj.get("touches")] if obj.get("touches") is not None else None
|
170
|
+
})
|
171
|
+
# store additional fields in additional_properties
|
172
|
+
for _key in obj.keys():
|
173
|
+
if _key not in cls.__properties:
|
174
|
+
_obj.additional_properties[_key] = obj.get(_key)
|
175
|
+
|
176
|
+
return _obj
|