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.
Files changed (1100) hide show
  1. lusid/__init__.py +247 -180
  2. lusid/api/__init__.py +14 -2
  3. lusid/api/abor_api.py +1963 -0
  4. lusid/api/abor_configuration_api.py +943 -0
  5. lusid/api/address_key_definition_api.py +296 -269
  6. lusid/api/aggregation_api.py +469 -260
  7. lusid/api/allocations_api.py +419 -404
  8. lusid/api/application_metadata_api.py +266 -244
  9. lusid/api/blocks_api.py +409 -402
  10. lusid/api/calendars_api.py +1185 -1262
  11. lusid/api/chart_of_accounts_api.py +4087 -0
  12. lusid/api/complex_market_data_api.py +469 -308
  13. lusid/api/compliance_api.py +1081 -1169
  14. lusid/api/configuration_recipe_api.py +381 -375
  15. lusid/api/conventions_api.py +1982 -0
  16. lusid/api/corporate_action_sources_api.py +961 -885
  17. lusid/api/counterparties_api.py +729 -711
  18. lusid/api/custom_entities_api.py +1186 -1465
  19. lusid/api/custom_entity_definitions_api.py +387 -364
  20. lusid/api/custom_entity_types_api.py +393 -369
  21. lusid/api/cut_label_definitions_api.py +492 -453
  22. lusid/api/data_types_api.py +726 -734
  23. lusid/api/derived_transaction_portfolios_api.py +204 -213
  24. lusid/api/entities_api.py +113 -113
  25. lusid/api/executions_api.py +409 -402
  26. lusid/api/instrument_events_api.py +734 -0
  27. lusid/api/instruments_api.py +2407 -1721
  28. lusid/api/legacy_compliance_api.py +1449 -0
  29. lusid/api/legal_entities_api.py +1982 -2102
  30. lusid/api/order_graph_api.py +357 -364
  31. lusid/api/order_instructions_api.py +745 -0
  32. lusid/api/order_management_api.py +240 -342
  33. lusid/api/orders_api.py +423 -408
  34. lusid/api/packages_api.py +745 -0
  35. lusid/api/participations_api.py +407 -400
  36. lusid/api/persons_api.py +1791 -1945
  37. lusid/api/placements_api.py +411 -404
  38. lusid/api/portfolio_groups_api.py +2810 -2975
  39. lusid/api/portfolios_api.py +3022 -2898
  40. lusid/api/property_definitions_api.py +981 -1267
  41. lusid/api/quotes_api.py +1314 -517
  42. lusid/api/reconciliations_api.py +3548 -855
  43. lusid/api/reference_lists_api.py +388 -388
  44. lusid/api/reference_portfolio_api.py +409 -432
  45. lusid/api/relation_definitions_api.py +538 -0
  46. lusid/api/relations_api.py +414 -0
  47. lusid/api/relationship_definitions_api.py +484 -494
  48. lusid/api/relationships_api.py +204 -222
  49. lusid/api/schemas_api.py +374 -322
  50. lusid/api/scopes_api.py +100 -241
  51. lusid/api/scripted_translation_api.py +784 -795
  52. lusid/api/search_api.py +408 -423
  53. lusid/api/sequences_api.py +376 -404
  54. lusid/api/structured_result_data_api.py +1472 -325
  55. lusid/api/system_configuration_api.py +979 -143
  56. lusid/api/tax_rule_sets_api.py +900 -0
  57. lusid/api/transaction_configuration_api.py +1066 -1104
  58. lusid/api/transaction_fees_api.py +935 -0
  59. lusid/api/transaction_portfolios_api.py +5285 -3517
  60. lusid/api/translation_api.py +364 -0
  61. lusid/api_client.py +195 -124
  62. lusid/api_response.py +25 -0
  63. lusid/configuration.py +58 -81
  64. lusid/exceptions.py +17 -15
  65. lusid/extensions/__init__.py +15 -0
  66. lusid/extensions/api_client.py +764 -0
  67. lusid/extensions/api_client_builder.py +138 -0
  68. lusid/extensions/api_client_factory.py +137 -0
  69. lusid/{utilities → extensions}/api_configuration.py +4 -5
  70. lusid/extensions/configuration_loaders.py +203 -0
  71. lusid/{utilities → extensions}/proxy_config.py +21 -6
  72. lusid/{utilities → extensions}/refreshing_token.py +82 -35
  73. lusid/extensions/rest.py +300 -0
  74. lusid/extensions/retry.py +357 -0
  75. lusid/extensions/socket_keep_alive.py +53 -0
  76. lusid/extensions/tcp_keep_alive_connector.py +66 -0
  77. lusid/models/__init__.py +232 -172
  78. lusid/models/a2_b_breakdown.py +65 -187
  79. lusid/models/a2_b_category.py +60 -154
  80. lusid/models/a2_b_data_record.py +178 -540
  81. lusid/models/a2_b_movement_record.py +192 -635
  82. lusid/models/abor.py +150 -0
  83. lusid/models/abor_configuration.py +159 -0
  84. lusid/models/abor_configuration_properties.py +115 -0
  85. lusid/models/abor_configuration_request.py +145 -0
  86. lusid/models/abor_properties.py +115 -0
  87. lusid/models/abor_request.py +131 -0
  88. lusid/models/access_controlled_action.py +87 -221
  89. lusid/models/access_controlled_resource.py +105 -283
  90. lusid/models/access_metadata_operation.py +84 -234
  91. lusid/models/access_metadata_value.py +58 -166
  92. lusid/models/account.py +126 -0
  93. lusid/models/account_properties.py +115 -0
  94. lusid/models/accounting_method.py +42 -0
  95. lusid/models/accounts_upsert_response.py +110 -0
  96. lusid/models/action_id.py +55 -204
  97. lusid/models/action_result_of_portfolio.py +57 -154
  98. lusid/models/add_business_days_to_date_request.py +63 -214
  99. lusid/models/add_business_days_to_date_response.py +52 -127
  100. lusid/models/additional_payment.py +58 -228
  101. lusid/models/address_definition.py +97 -284
  102. lusid/models/address_key_compliance_parameter.py +80 -166
  103. lusid/models/address_key_definition.py +74 -222
  104. lusid/models/address_key_filter.py +69 -191
  105. lusid/models/address_key_list.py +73 -170
  106. lusid/models/address_key_list_compliance_parameter.py +77 -164
  107. lusid/models/address_key_option_definition.py +69 -293
  108. lusid/models/adjust_holding.py +101 -216
  109. lusid/models/adjust_holding_for_date_request.py +109 -285
  110. lusid/models/adjust_holding_request.py +107 -250
  111. lusid/models/aggregate_spec.py +67 -196
  112. lusid/models/aggregated_return.py +106 -373
  113. lusid/models/aggregated_returns_dispersion_request.py +102 -291
  114. lusid/models/aggregated_returns_request.py +128 -403
  115. lusid/models/aggregated_returns_response.py +95 -186
  116. lusid/models/aggregated_transactions_request.py +131 -0
  117. lusid/models/aggregation_context.py +55 -125
  118. lusid/models/aggregation_measure_failure_detail.py +80 -238
  119. lusid/models/aggregation_op.py +49 -0
  120. lusid/models/aggregation_options.py +55 -189
  121. lusid/models/aggregation_query.py +106 -439
  122. lusid/models/aggregation_type.py +44 -0
  123. lusid/models/allocation.py +207 -737
  124. lusid/models/allocation_request.py +175 -611
  125. lusid/models/allocation_service_run_response.py +102 -0
  126. lusid/models/allocation_set_request.py +64 -126
  127. lusid/models/amortisation_event.py +82 -266
  128. lusid/models/annul_quotes_response.py +99 -217
  129. lusid/models/annul_single_structured_data_response.py +74 -188
  130. lusid/models/annul_structured_data_response.py +99 -217
  131. lusid/models/asset_class.py +44 -0
  132. lusid/models/barrier.py +62 -228
  133. lusid/models/basket.py +85 -229
  134. lusid/models/basket_identifier.py +57 -224
  135. lusid/models/batch_adjust_holdings_response.py +128 -216
  136. lusid/models/batch_upsert_instrument_properties_response.py +101 -223
  137. lusid/models/batch_upsert_portfolio_transactions_response.py +128 -216
  138. lusid/models/batch_upsert_property_definition_properties_response.py +97 -223
  139. lusid/models/block.py +133 -544
  140. lusid/models/block_request.py +108 -448
  141. lusid/models/block_set_request.py +64 -126
  142. lusid/models/bond.py +144 -564
  143. lusid/models/bond_default_event.py +84 -167
  144. lusid/models/book_transactions_response.py +107 -0
  145. lusid/models/bool_compliance_parameter.py +73 -164
  146. lusid/models/bool_list_compliance_parameter.py +77 -164
  147. lusid/models/bucketed_cash_flow_request.py +172 -0
  148. lusid/models/bucketed_cash_flow_response.py +129 -0
  149. lusid/models/bucketing_schedule.py +74 -0
  150. lusid/models/calculation_info.py +73 -0
  151. lusid/models/calendar.py +88 -309
  152. lusid/models/calendar_date.py +84 -407
  153. lusid/models/calendar_dependency.py +73 -166
  154. lusid/models/cap_floor.py +85 -295
  155. lusid/models/cash_dependency.py +76 -199
  156. lusid/models/cash_dividend_event.py +78 -291
  157. lusid/models/cash_flow_event.py +82 -199
  158. lusid/models/cash_flow_lineage.py +91 -276
  159. lusid/models/cash_flow_value.py +90 -289
  160. lusid/models/cash_flow_value_set.py +86 -164
  161. lusid/models/cash_ladder_record.py +58 -216
  162. lusid/models/cash_perpetual.py +78 -231
  163. lusid/models/cds_flow_conventions.py +113 -514
  164. lusid/models/cds_index.py +100 -382
  165. lusid/models/cds_protection_detail_specification.py +57 -230
  166. lusid/models/change.py +110 -357
  167. lusid/models/change_history.py +90 -299
  168. lusid/models/change_history_action.py +39 -0
  169. lusid/models/change_item.py +80 -252
  170. lusid/models/chart_of_accounts.py +135 -0
  171. lusid/models/chart_of_accounts_properties.py +115 -0
  172. lusid/models/chart_of_accounts_request.py +120 -0
  173. lusid/models/client.py +75 -0
  174. lusid/models/close_event.py +76 -197
  175. lusid/models/complete_portfolio.py +142 -495
  176. lusid/models/complete_relation.py +96 -0
  177. lusid/models/complete_relationship.py +88 -378
  178. lusid/models/complex_bond.py +129 -320
  179. lusid/models/complex_market_data.py +81 -151
  180. lusid/models/complex_market_data_id.py +74 -274
  181. lusid/models/compliance_breached_order_info.py +83 -0
  182. lusid/models/compliance_parameter.py +83 -155
  183. lusid/models/compliance_parameter_type.py +53 -0
  184. lusid/models/compliance_rule.py +137 -0
  185. lusid/models/compliance_rule_breakdown.py +76 -257
  186. lusid/models/compliance_rule_breakdown_request.py +76 -252
  187. lusid/models/compliance_rule_response.py +149 -411
  188. lusid/models/compliance_rule_result.py +91 -0
  189. lusid/models/compliance_rule_result_detail.py +91 -414
  190. lusid/models/compliance_rule_result_portfolio_detail.py +57 -159
  191. lusid/models/compliance_rule_upsert_request.py +178 -0
  192. lusid/models/compliance_rule_upsert_response.py +82 -0
  193. lusid/models/compliance_run_info.py +81 -0
  194. lusid/models/compliance_run_info_v2.py +64 -253
  195. lusid/models/compliance_run_summary.py +72 -250
  196. lusid/models/compliance_summary_rule_result.py +97 -342
  197. lusid/models/compliance_summary_rule_result_request.py +97 -348
  198. lusid/models/compliance_template.py +89 -253
  199. lusid/models/compliance_template_parameter.py +55 -201
  200. lusid/models/compliance_template_variation.py +84 -292
  201. lusid/models/composite_breakdown.py +72 -188
  202. lusid/models/composite_breakdown_request.py +97 -281
  203. lusid/models/composite_breakdown_response.py +90 -188
  204. lusid/models/composite_dispersion.py +91 -339
  205. lusid/models/composite_dispersion_response.py +95 -186
  206. lusid/models/compounding.py +76 -299
  207. lusid/models/configuration_recipe.py +123 -362
  208. lusid/models/configuration_recipe_snippet.py +121 -354
  209. lusid/models/constituents_adjustment_header.py +73 -187
  210. lusid/models/contract_for_difference.py +90 -430
  211. lusid/models/corporate_action.py +82 -313
  212. lusid/models/corporate_action_source.py +104 -304
  213. lusid/models/corporate_action_transition.py +69 -155
  214. lusid/models/corporate_action_transition_component.py +59 -262
  215. lusid/models/corporate_action_transition_component_request.py +55 -192
  216. lusid/models/corporate_action_transition_request.py +69 -153
  217. lusid/models/counterparty_agreement.py +73 -292
  218. lusid/models/counterparty_risk_information.py +78 -197
  219. lusid/models/counterparty_signatory.py +57 -161
  220. lusid/models/create_address_key_definition_request.py +53 -163
  221. lusid/models/create_calendar_request.py +94 -262
  222. lusid/models/create_corporate_action_source_request.py +100 -291
  223. lusid/models/create_custom_entity_type_request.py +79 -242
  224. lusid/models/create_cut_label_definition_request.py +85 -256
  225. lusid/models/create_data_map_request.py +79 -0
  226. lusid/models/create_data_type_request.py +143 -462
  227. lusid/models/create_date_request.py +111 -368
  228. lusid/models/create_derived_property_definition_request.py +79 -331
  229. lusid/models/create_derived_transaction_portfolio_request.py +153 -506
  230. lusid/models/create_portfolio_details.py +55 -125
  231. lusid/models/create_portfolio_group_request.py +117 -314
  232. lusid/models/create_property_definition_request.py +98 -424
  233. lusid/models/create_recipe_request.py +90 -0
  234. lusid/models/create_reconciliation_request.py +140 -0
  235. lusid/models/create_reference_portfolio_request.py +102 -317
  236. lusid/models/create_relation_definition_request.py +95 -0
  237. lusid/models/create_relation_request.py +71 -0
  238. lusid/models/create_relationship_definition_request.py +112 -437
  239. lusid/models/create_relationship_request.py +87 -238
  240. lusid/models/create_sequence_request.py +105 -327
  241. lusid/models/create_tax_rule_set_request.py +103 -0
  242. lusid/models/create_transaction_portfolio_request.py +145 -545
  243. lusid/models/create_unit_definition.py +83 -241
  244. lusid/models/credit_default_swap.py +105 -384
  245. lusid/models/credit_rating.py +67 -178
  246. lusid/models/credit_spread_curve_data.py +109 -420
  247. lusid/models/credit_support_annex.py +73 -432
  248. lusid/models/criterion_type.py +39 -0
  249. lusid/models/currency_and_amount.py +58 -153
  250. lusid/models/curve_options.py +110 -0
  251. lusid/models/custodian_account.py +93 -396
  252. lusid/models/custodian_account_properties.py +115 -0
  253. lusid/models/custodian_account_request.py +148 -0
  254. lusid/models/custodian_accounts_upsert_response.py +110 -0
  255. lusid/models/custom_entity_definition.py +79 -323
  256. lusid/models/custom_entity_definition_request.py +79 -242
  257. lusid/models/custom_entity_field.py +73 -222
  258. lusid/models/custom_entity_field_definition.py +71 -296
  259. lusid/models/custom_entity_id.py +91 -280
  260. lusid/models/custom_entity_request.py +78 -228
  261. lusid/models/custom_entity_response.py +118 -382
  262. lusid/models/custom_entity_type.py +79 -323
  263. lusid/models/cut_label_definition.py +105 -324
  264. lusid/models/cut_local_time.py +53 -154
  265. lusid/models/data_definition.py +104 -0
  266. lusid/models/data_map_key.py +101 -0
  267. lusid/models/data_mapping.py +82 -0
  268. lusid/models/data_scope.py +80 -0
  269. lusid/models/data_type.py +139 -477
  270. lusid/models/data_type_summary.py +111 -398
  271. lusid/models/data_type_value_range.py +38 -0
  272. lusid/models/date_attributes.py +140 -371
  273. lusid/models/date_or_diary_entry.py +91 -0
  274. lusid/models/date_range.py +59 -155
  275. lusid/models/date_time_comparison_type.py +38 -0
  276. lusid/models/date_time_compliance_parameter.py +74 -165
  277. lusid/models/date_time_list_compliance_parameter.py +77 -164
  278. lusid/models/day_of_week.py +20 -102
  279. lusid/models/decimal_compliance_parameter.py +73 -164
  280. lusid/models/decimal_list.py +73 -170
  281. lusid/models/decimal_list_compliance_parameter.py +77 -164
  282. lusid/models/decorated_compliance_run_summary.py +65 -156
  283. lusid/models/delete_accounts_response.py +95 -0
  284. lusid/models/delete_custodian_accounts_response.py +103 -0
  285. lusid/models/delete_instrument_properties_response.py +67 -159
  286. lusid/models/delete_instrument_response.py +74 -189
  287. lusid/models/delete_instruments_response.py +74 -189
  288. lusid/models/delete_modes.py +38 -0
  289. lusid/models/delete_relation_request.py +71 -0
  290. lusid/models/delete_relationship_request.py +87 -238
  291. lusid/models/deleted_entity_response.py +81 -219
  292. lusid/models/dependency_source_filter.py +70 -198
  293. lusid/models/described_address_key.py +81 -0
  294. lusid/models/dialect.py +61 -185
  295. lusid/models/dialect_id.py +89 -330
  296. lusid/models/dialect_schema.py +58 -167
  297. lusid/models/diary_entry.py +155 -0
  298. lusid/models/diary_entry_request.py +120 -0
  299. lusid/models/discount_factor_curve_data.py +91 -296
  300. lusid/models/discounting_dependency.py +76 -199
  301. lusid/models/discounting_method.py +39 -0
  302. lusid/models/economic_dependency.py +82 -150
  303. lusid/models/economic_dependency_type.py +50 -0
  304. lusid/models/economic_dependency_with_complex_market_data.py +61 -156
  305. lusid/models/economic_dependency_with_quote.py +68 -186
  306. lusid/models/empty_model_options.py +71 -134
  307. lusid/models/entity_identifier.py +60 -190
  308. lusid/models/equity.py +84 -225
  309. lusid/models/equity_all_of_identifiers.py +83 -415
  310. lusid/models/equity_curve_by_prices_data.py +91 -296
  311. lusid/models/equity_curve_dependency.py +80 -281
  312. lusid/models/equity_model_options.py +73 -169
  313. lusid/models/equity_option.py +117 -554
  314. lusid/models/equity_swap.py +107 -487
  315. lusid/models/equity_vol_dependency.py +80 -275
  316. lusid/models/equity_vol_surface_data.py +101 -267
  317. lusid/models/error_detail.py +77 -216
  318. lusid/models/event_date_range.py +54 -155
  319. lusid/models/ex_dividend_configuration.py +57 -221
  320. lusid/models/exchange_traded_option.py +84 -261
  321. lusid/models/exchange_traded_option_contract_details.py +80 -535
  322. lusid/models/execution.py +144 -673
  323. lusid/models/execution_request.py +119 -577
  324. lusid/models/execution_set_request.py +64 -126
  325. lusid/models/exercise_event.py +85 -228
  326. lusid/models/exotic_instrument.py +79 -199
  327. lusid/models/expanded_group.py +121 -340
  328. lusid/models/fee_rule.py +138 -0
  329. lusid/models/fee_rule_upsert_request.py +142 -0
  330. lusid/models/fee_rule_upsert_response.py +97 -0
  331. lusid/models/field_definition.py +62 -195
  332. lusid/models/field_schema.py +83 -247
  333. lusid/models/field_value.py +60 -165
  334. lusid/models/file_response.py +69 -181
  335. lusid/models/fixed_leg.py +95 -287
  336. lusid/models/fixed_leg_all_of_overrides.py +65 -154
  337. lusid/models/fixed_schedule.py +136 -0
  338. lusid/models/float_schedule.py +147 -0
  339. lusid/models/floating_leg.py +109 -349
  340. lusid/models/flow_convention_name.py +60 -193
  341. lusid/models/flow_conventions.py +120 -542
  342. lusid/models/forward_rate_agreement.py +90 -356
  343. lusid/models/funding_leg.py +89 -259
  344. lusid/models/funding_leg_options.py +91 -0
  345. lusid/models/future.py +100 -388
  346. lusid/models/futures_contract_details.py +112 -537
  347. lusid/models/fx_dependency.py +78 -231
  348. lusid/models/fx_forward.py +97 -481
  349. lusid/models/fx_forward_curve_by_quote_reference.py +114 -387
  350. lusid/models/fx_forward_curve_data.py +95 -360
  351. lusid/models/fx_forward_model_options.py +91 -242
  352. lusid/models/fx_forward_pips_curve_data.py +95 -360
  353. lusid/models/fx_forward_tenor_curve_data.py +117 -420
  354. lusid/models/fx_forward_tenor_pips_curve_data.py +117 -420
  355. lusid/models/fx_forwards_dependency.py +80 -269
  356. lusid/models/fx_option.py +159 -629
  357. lusid/models/fx_rate_schedule.py +111 -0
  358. lusid/models/fx_swap.py +89 -224
  359. lusid/models/fx_tenor_convention.py +53 -166
  360. lusid/models/fx_vol_dependency.py +80 -269
  361. lusid/models/fx_vol_surface_data.py +101 -267
  362. lusid/models/general_ledger_profile_mapping.py +78 -0
  363. lusid/models/general_ledger_profile_request.py +112 -0
  364. lusid/models/general_ledger_profile_response.py +146 -0
  365. lusid/models/get_cds_flow_conventions_response.py +115 -0
  366. lusid/models/get_complex_market_data_response.py +111 -216
  367. lusid/models/get_counterparty_agreement_response.py +97 -215
  368. lusid/models/get_credit_support_annex_response.py +97 -215
  369. lusid/models/get_data_map_response.py +129 -0
  370. lusid/models/get_flow_conventions_response.py +115 -0
  371. lusid/models/get_index_convention_response.py +115 -0
  372. lusid/models/get_instruments_response.py +111 -216
  373. lusid/models/get_quotes_response.py +130 -246
  374. lusid/models/get_recipe_response.py +77 -185
  375. lusid/models/get_reference_portfolio_constituents_response.py +117 -321
  376. lusid/models/get_structured_result_data_response.py +129 -0
  377. lusid/models/get_virtual_document_response.py +129 -0
  378. lusid/models/grouped_result_of_address_key.py +89 -0
  379. lusid/models/holding_adjustment.py +121 -313
  380. lusid/models/holding_adjustment_with_date.py +124 -345
  381. lusid/models/holding_context.py +51 -127
  382. lusid/models/holding_contributor.py +55 -126
  383. lusid/models/holdings_adjustment.py +92 -259
  384. lusid/models/holdings_adjustment_header.py +82 -227
  385. lusid/models/i_unit_definition_dto.py +85 -217
  386. lusid/models/id_selector_definition.py +75 -227
  387. lusid/models/identifier_part_schema.py +74 -295
  388. lusid/models/index_convention.py +100 -388
  389. lusid/models/index_model_options.py +80 -172
  390. lusid/models/index_projection_dependency.py +80 -275
  391. lusid/models/industry_classifier.py +60 -172
  392. lusid/models/inflation_fixing_dependency.py +78 -237
  393. lusid/models/inflation_index_conventions.py +71 -307
  394. lusid/models/inflation_leg.py +120 -455
  395. lusid/models/inflation_linked_bond.py +153 -595
  396. lusid/models/inflation_swap.py +88 -259
  397. lusid/models/informational_error_event.py +78 -237
  398. lusid/models/informational_event.py +88 -262
  399. lusid/models/inline_valuation_request.py +150 -497
  400. lusid/models/inline_valuations_reconciliation_request.py +82 -216
  401. lusid/models/input_transition.py +53 -160
  402. lusid/models/instrument.py +160 -541
  403. lusid/models/instrument_capabilities.py +133 -0
  404. lusid/models/instrument_cash_flow.py +107 -0
  405. lusid/models/instrument_definition.py +93 -251
  406. lusid/models/instrument_definition_format.py +55 -201
  407. lusid/models/instrument_delete_modes.py +38 -0
  408. lusid/models/instrument_event.py +81 -157
  409. lusid/models/instrument_event_holder.py +106 -460
  410. lusid/models/instrument_event_type.py +50 -0
  411. lusid/models/instrument_id_type_descriptor.py +55 -195
  412. lusid/models/instrument_id_value.py +54 -163
  413. lusid/models/instrument_leg.py +82 -143
  414. lusid/models/instrument_list.py +73 -170
  415. lusid/models/instrument_list_compliance_parameter.py +77 -164
  416. lusid/models/instrument_match.py +78 -156
  417. lusid/models/instrument_models.py +78 -186
  418. lusid/models/instrument_payment_diary.py +131 -0
  419. lusid/models/instrument_payment_diary_leg.py +89 -0
  420. lusid/models/instrument_payment_diary_row.py +132 -0
  421. lusid/models/instrument_properties.py +97 -215
  422. lusid/models/instrument_search_property.py +53 -163
  423. lusid/models/instrument_type.py +72 -0
  424. lusid/models/interest_rate_swap.py +110 -322
  425. lusid/models/interest_rate_swaption.py +90 -296
  426. lusid/models/ir_vol_cube_data.py +101 -267
  427. lusid/models/ir_vol_dependency.py +78 -237
  428. lusid/models/is_business_day_response.py +54 -157
  429. lusid/models/je_lines_query_parameters.py +105 -0
  430. lusid/models/journal_entry_line.py +193 -0
  431. lusid/models/journal_entry_lines_query_parameters.py +109 -0
  432. lusid/models/label_value_set.py +51 -129
  433. lusid/models/leg_definition.py +130 -619
  434. lusid/models/legal_entity.py +158 -394
  435. lusid/models/level_step.py +54 -161
  436. lusid/models/life_cycle_event_lineage.py +84 -246
  437. lusid/models/life_cycle_event_value.py +86 -224
  438. lusid/models/link.py +62 -222
  439. lusid/models/list_aggregation_reconciliation.py +73 -211
  440. lusid/models/list_aggregation_response.py +111 -326
  441. lusid/models/list_complex_market_data_with_meta_data_response.py +86 -0
  442. lusid/models/loan_period.py +56 -187
  443. lusid/models/look_up_pricing_model_options.py +75 -198
  444. lusid/models/lusid_instrument.py +98 -166
  445. lusid/models/lusid_problem_details.py +95 -333
  446. lusid/models/lusid_trade_ticket.py +148 -639
  447. lusid/models/lusid_unique_id.py +53 -166
  448. lusid/models/lusid_validation_problem_details.py +106 -362
  449. lusid/models/mapped_string.py +72 -209
  450. lusid/models/mapping.py +93 -281
  451. lusid/models/mapping_rule.py +96 -308
  452. lusid/models/market_context.py +96 -243
  453. lusid/models/market_context_suppliers.py +59 -241
  454. lusid/models/market_data_key_rule.py +114 -462
  455. lusid/models/market_data_options.py +73 -141
  456. lusid/models/market_data_options_type.py +37 -0
  457. lusid/models/market_data_overrides.py +79 -156
  458. lusid/models/market_data_specific_rule.py +115 -494
  459. lusid/models/market_data_type.py +49 -0
  460. lusid/models/market_observable_type.py +41 -0
  461. lusid/models/market_options.py +108 -318
  462. lusid/models/market_quote.py +60 -166
  463. lusid/models/match_criterion.py +95 -0
  464. lusid/models/metric_value.py +58 -155
  465. lusid/models/model_options.py +77 -144
  466. lusid/models/model_options_type.py +44 -0
  467. lusid/models/model_property.py +72 -218
  468. lusid/models/model_schema.py +116 -0
  469. lusid/models/model_selection.py +67 -172
  470. lusid/models/movement_type.py +54 -0
  471. lusid/models/next_value_in_sequence_response.py +66 -158
  472. lusid/models/numeric_comparison_type.py +39 -0
  473. lusid/models/opaque_dependency.py +71 -134
  474. lusid/models/opaque_market_data.py +84 -275
  475. lusid/models/opaque_model_options.py +73 -164
  476. lusid/models/open_event.py +74 -166
  477. lusid/models/operand_type.py +38 -0
  478. lusid/models/operation.py +67 -227
  479. lusid/models/operation_type.py +37 -0
  480. lusid/models/operator.py +43 -0
  481. lusid/models/option_entry.py +71 -0
  482. lusid/models/optionality_schedule.py +118 -0
  483. lusid/models/order.py +173 -706
  484. lusid/models/order_by_spec.py +60 -166
  485. lusid/models/order_flow_configuration.py +51 -129
  486. lusid/models/order_graph_block.py +83 -351
  487. lusid/models/order_graph_block_allocation_detail.py +55 -126
  488. lusid/models/order_graph_block_allocation_synopsis.py +61 -160
  489. lusid/models/order_graph_block_execution_detail.py +55 -126
  490. lusid/models/order_graph_block_execution_synopsis.py +61 -160
  491. lusid/models/order_graph_block_order_detail.py +69 -314
  492. lusid/models/order_graph_block_order_synopsis.py +61 -160
  493. lusid/models/order_graph_block_placement_detail.py +55 -126
  494. lusid/models/order_graph_block_placement_synopsis.py +61 -160
  495. lusid/models/order_graph_placement.py +94 -341
  496. lusid/models/order_graph_placement_allocation_detail.py +55 -126
  497. lusid/models/order_graph_placement_allocation_synopsis.py +61 -160
  498. lusid/models/order_graph_placement_child_placement_detail.py +55 -126
  499. lusid/models/order_graph_placement_execution_detail.py +55 -126
  500. lusid/models/order_graph_placement_execution_synopsis.py +61 -160
  501. lusid/models/order_graph_placement_order_detail.py +55 -126
  502. lusid/models/order_graph_placement_order_synopsis.py +59 -128
  503. lusid/models/order_graph_placement_placement_synopsis.py +61 -160
  504. lusid/models/order_instruction.py +157 -0
  505. lusid/models/order_instruction_request.py +127 -0
  506. lusid/models/order_instruction_set_request.py +82 -0
  507. lusid/models/order_request.py +141 -580
  508. lusid/models/order_set_request.py +64 -126
  509. lusid/models/otc_confirmation.py +55 -125
  510. lusid/models/output_transaction.py +189 -815
  511. lusid/models/output_transition.py +77 -281
  512. lusid/models/package.py +132 -0
  513. lusid/models/package_request.py +111 -0
  514. lusid/models/package_set_request.py +82 -0
  515. lusid/models/paged_resource_list_of_abor.py +113 -0
  516. lusid/models/paged_resource_list_of_abor_configuration.py +113 -0
  517. lusid/models/paged_resource_list_of_account.py +113 -0
  518. lusid/models/paged_resource_list_of_address_key_definition.py +95 -248
  519. lusid/models/paged_resource_list_of_allocation.py +95 -248
  520. lusid/models/paged_resource_list_of_block.py +95 -248
  521. lusid/models/paged_resource_list_of_calendar.py +95 -248
  522. lusid/models/paged_resource_list_of_chart_of_accounts.py +113 -0
  523. lusid/models/paged_resource_list_of_compliance_rule_response.py +95 -248
  524. lusid/models/paged_resource_list_of_compliance_run_info_v2.py +95 -248
  525. lusid/models/paged_resource_list_of_compliance_template.py +95 -248
  526. lusid/models/paged_resource_list_of_corporate_action_source.py +95 -248
  527. lusid/models/paged_resource_list_of_custodian_account.py +113 -0
  528. lusid/models/paged_resource_list_of_custom_entity_definition.py +95 -248
  529. lusid/models/paged_resource_list_of_custom_entity_response.py +95 -248
  530. lusid/models/paged_resource_list_of_custom_entity_type.py +95 -248
  531. lusid/models/paged_resource_list_of_cut_label_definition.py +95 -248
  532. lusid/models/paged_resource_list_of_data_type_summary.py +95 -248
  533. lusid/models/paged_resource_list_of_dialect_id.py +95 -248
  534. lusid/models/paged_resource_list_of_diary_entry.py +113 -0
  535. lusid/models/paged_resource_list_of_execution.py +95 -248
  536. lusid/models/paged_resource_list_of_general_ledger_profile_response.py +113 -0
  537. lusid/models/paged_resource_list_of_instrument.py +95 -248
  538. lusid/models/paged_resource_list_of_instrument_event_holder.py +95 -248
  539. lusid/models/paged_resource_list_of_legal_entity.py +95 -248
  540. lusid/models/paged_resource_list_of_order.py +95 -248
  541. lusid/models/paged_resource_list_of_order_graph_block.py +95 -248
  542. lusid/models/paged_resource_list_of_order_graph_placement.py +95 -248
  543. lusid/models/paged_resource_list_of_order_instruction.py +113 -0
  544. lusid/models/paged_resource_list_of_package.py +113 -0
  545. lusid/models/paged_resource_list_of_participation.py +95 -248
  546. lusid/models/paged_resource_list_of_person.py +95 -248
  547. lusid/models/paged_resource_list_of_placement.py +95 -248
  548. lusid/models/paged_resource_list_of_portfolio_group.py +95 -248
  549. lusid/models/paged_resource_list_of_portfolio_group_search_result.py +95 -248
  550. lusid/models/paged_resource_list_of_portfolio_search_result.py +95 -248
  551. lusid/models/paged_resource_list_of_posting_module_response.py +113 -0
  552. lusid/models/paged_resource_list_of_posting_module_rule.py +113 -0
  553. lusid/models/paged_resource_list_of_property_definition_search_result.py +95 -248
  554. lusid/models/paged_resource_list_of_reconciliation.py +113 -0
  555. lusid/models/paged_resource_list_of_reconciliation_run.py +113 -0
  556. lusid/models/paged_resource_list_of_reconciliation_run_break.py +113 -0
  557. lusid/models/paged_resource_list_of_reference_list_response.py +95 -248
  558. lusid/models/paged_resource_list_of_relationship_definition.py +95 -248
  559. lusid/models/paged_resource_list_of_sequence_definition.py +95 -248
  560. lusid/models/paged_resource_list_of_translation_script_id.py +95 -248
  561. lusid/models/paged_resource_list_of_virtual_row.py +95 -248
  562. lusid/models/participation.py +86 -245
  563. lusid/models/participation_request.py +71 -186
  564. lusid/models/participation_set_request.py +64 -126
  565. lusid/models/performance_return.py +75 -251
  566. lusid/models/performance_returns_metric.py +83 -309
  567. lusid/models/period_type.py +41 -0
  568. lusid/models/perpetual_entity_state.py +39 -0
  569. lusid/models/perpetual_property.py +57 -157
  570. lusid/models/person.py +137 -335
  571. lusid/models/placement.py +161 -698
  572. lusid/models/placement_request.py +136 -614
  573. lusid/models/placement_set_request.py +64 -126
  574. lusid/models/portfolio.py +187 -688
  575. lusid/models/portfolio_cash_flow.py +139 -593
  576. lusid/models/portfolio_cash_ladder.py +116 -250
  577. lusid/models/portfolio_details.py +130 -491
  578. lusid/models/portfolio_entity_id.py +90 -210
  579. lusid/models/portfolio_group.py +138 -402
  580. lusid/models/portfolio_group_id_compliance_parameter.py +77 -164
  581. lusid/models/portfolio_group_id_list.py +81 -167
  582. lusid/models/portfolio_group_id_list_compliance_parameter.py +77 -164
  583. lusid/models/portfolio_group_properties.py +97 -215
  584. lusid/models/portfolio_group_search_result.py +123 -372
  585. lusid/models/portfolio_holding.py +142 -644
  586. lusid/models/portfolio_id_compliance_parameter.py +77 -164
  587. lusid/models/portfolio_id_list.py +81 -167
  588. lusid/models/portfolio_id_list_compliance_parameter.py +77 -164
  589. lusid/models/portfolio_properties.py +97 -215
  590. lusid/models/portfolio_reconciliation_request.py +65 -192
  591. lusid/models/portfolio_result_data_key_rule.py +133 -392
  592. lusid/models/portfolio_return_breakdown.py +109 -492
  593. lusid/models/portfolio_search_result.py +128 -442
  594. lusid/models/portfolio_trade_ticket.py +79 -0
  595. lusid/models/portfolio_type.py +39 -0
  596. lusid/models/portfolios_reconciliation_request.py +62 -188
  597. lusid/models/posting_module_details.py +95 -0
  598. lusid/models/posting_module_request.py +117 -0
  599. lusid/models/posting_module_response.py +139 -0
  600. lusid/models/posting_module_rule.py +94 -0
  601. lusid/models/posting_module_rules_updated_response.py +110 -0
  602. lusid/models/premium.py +56 -193
  603. lusid/models/pricing_context.py +105 -215
  604. lusid/models/pricing_model.py +54 -0
  605. lusid/models/pricing_options.py +80 -434
  606. lusid/models/processed_command.py +67 -224
  607. lusid/models/property_definition.py +221 -736
  608. lusid/models/property_definition_search_result.py +202 -648
  609. lusid/models/property_definition_type.py +38 -0
  610. lusid/models/property_domain.py +73 -0
  611. lusid/models/property_filter.py +87 -228
  612. lusid/models/property_interval.py +68 -221
  613. lusid/models/property_key_compliance_parameter.py +73 -166
  614. lusid/models/property_key_list_compliance_parameter.py +77 -164
  615. lusid/models/property_life_time.py +38 -0
  616. lusid/models/property_schema.py +91 -182
  617. lusid/models/property_type.py +39 -0
  618. lusid/models/property_value.py +68 -184
  619. lusid/models/property_value_equals.py +93 -0
  620. lusid/models/property_value_in.py +93 -0
  621. lusid/models/query_bucketed_cash_flows_request.py +162 -0
  622. lusid/models/query_cash_flows_request.py +96 -0
  623. lusid/models/query_instrument_events_request.py +113 -0
  624. lusid/models/query_trade_tickets_request.py +96 -0
  625. lusid/models/quote.py +87 -313
  626. lusid/models/quote_access_metadata_rule.py +92 -0
  627. lusid/models/quote_access_metadata_rule_id.py +129 -0
  628. lusid/models/quote_dependency.py +78 -240
  629. lusid/models/quote_id.py +57 -161
  630. lusid/models/quote_instrument_id_type.py +45 -0
  631. lusid/models/quote_series_id.py +96 -303
  632. lusid/models/quote_type.py +50 -0
  633. lusid/models/raw_vendor_event.py +84 -232
  634. lusid/models/realised_gain_loss.py +115 -462
  635. lusid/models/reconcile_date_time_rule.py +88 -233
  636. lusid/models/reconcile_numeric_rule.py +88 -233
  637. lusid/models/reconcile_string_rule.py +102 -232
  638. lusid/models/reconciled_transaction.py +69 -215
  639. lusid/models/reconciliation.py +165 -0
  640. lusid/models/reconciliation_break.py +105 -411
  641. lusid/models/reconciliation_break_id.py +88 -0
  642. lusid/models/reconciliation_configuration.py +84 -0
  643. lusid/models/reconciliation_id.py +80 -0
  644. lusid/models/reconciliation_left_right_address_key_pair.py +53 -160
  645. lusid/models/reconciliation_line.py +77 -216
  646. lusid/models/reconciliation_request.py +97 -246
  647. lusid/models/reconciliation_response.py +70 -155
  648. lusid/models/reconciliation_rule.py +74 -143
  649. lusid/models/reconciliation_rule_type.py +40 -0
  650. lusid/models/reconciliation_run.py +95 -0
  651. lusid/models/reconciliation_run_break.py +116 -0
  652. lusid/models/reconciliation_run_id.py +85 -0
  653. lusid/models/reconciliation_side_configuration.py +94 -0
  654. lusid/models/reconciliation_transactions.py +79 -0
  655. lusid/models/reference_data.py +69 -156
  656. lusid/models/reference_instrument.py +77 -239
  657. lusid/models/reference_list.py +77 -146
  658. lusid/models/reference_list_request.py +77 -251
  659. lusid/models/reference_list_response.py +98 -311
  660. lusid/models/reference_list_type.py +42 -0
  661. lusid/models/reference_portfolio_constituent.py +96 -307
  662. lusid/models/reference_portfolio_constituent_request.py +80 -214
  663. lusid/models/reference_portfolio_weight_type.py +39 -0
  664. lusid/models/related_entity.py +105 -349
  665. lusid/models/relation.py +70 -281
  666. lusid/models/relation_definition.py +143 -0
  667. lusid/models/relationship.py +76 -318
  668. lusid/models/relationship_definition.py +111 -448
  669. lusid/models/repo.py +136 -476
  670. lusid/models/reset_event.py +92 -262
  671. lusid/models/resource_id.py +53 -172
  672. lusid/models/resource_list_of_access_controlled_resource.py +95 -248
  673. lusid/models/resource_list_of_access_metadata_value_of.py +100 -248
  674. lusid/models/resource_list_of_address_key_definition.py +95 -248
  675. lusid/models/resource_list_of_aggregated_return.py +113 -0
  676. lusid/models/resource_list_of_aggregation_query.py +95 -248
  677. lusid/models/resource_list_of_allocation.py +95 -248
  678. lusid/models/resource_list_of_block.py +95 -248
  679. lusid/models/resource_list_of_calendar_date.py +95 -248
  680. lusid/models/resource_list_of_change.py +95 -248
  681. lusid/models/resource_list_of_change_history.py +95 -248
  682. lusid/models/resource_list_of_compliance_breached_order_info.py +113 -0
  683. lusid/models/resource_list_of_compliance_rule.py +113 -0
  684. lusid/models/resource_list_of_compliance_rule_result.py +113 -0
  685. lusid/models/resource_list_of_compliance_run_info.py +113 -0
  686. lusid/models/resource_list_of_constituents_adjustment_header.py +95 -248
  687. lusid/models/resource_list_of_corporate_action.py +95 -248
  688. lusid/models/resource_list_of_data_type.py +95 -248
  689. lusid/models/resource_list_of_execution.py +95 -248
  690. lusid/models/resource_list_of_fee_rule.py +113 -0
  691. lusid/models/resource_list_of_get_cds_flow_conventions_response.py +113 -0
  692. lusid/models/resource_list_of_get_counterparty_agreement_response.py +95 -248
  693. lusid/models/resource_list_of_get_credit_support_annex_response.py +95 -248
  694. lusid/models/resource_list_of_get_flow_conventions_response.py +113 -0
  695. lusid/models/resource_list_of_get_index_convention_response.py +113 -0
  696. lusid/models/resource_list_of_get_recipe_response.py +95 -248
  697. lusid/models/resource_list_of_holdings_adjustment_header.py +95 -248
  698. lusid/models/resource_list_of_i_unit_definition_dto.py +95 -248
  699. lusid/models/resource_list_of_instrument_cash_flow.py +113 -0
  700. lusid/models/resource_list_of_instrument_event_holder.py +113 -0
  701. lusid/models/resource_list_of_instrument_id_type_descriptor.py +95 -248
  702. lusid/models/resource_list_of_legal_entity.py +95 -248
  703. lusid/models/resource_list_of_list_complex_market_data_with_meta_data_response.py +113 -0
  704. lusid/models/resource_list_of_mapping.py +95 -248
  705. lusid/models/resource_list_of_order.py +95 -248
  706. lusid/models/resource_list_of_order_instruction.py +113 -0
  707. lusid/models/resource_list_of_package.py +113 -0
  708. lusid/models/resource_list_of_participation.py +95 -248
  709. lusid/models/resource_list_of_performance_return.py +95 -248
  710. lusid/models/resource_list_of_person.py +95 -248
  711. lusid/models/resource_list_of_placement.py +95 -248
  712. lusid/models/resource_list_of_portfolio.py +95 -248
  713. lusid/models/resource_list_of_portfolio_cash_flow.py +95 -248
  714. lusid/models/resource_list_of_portfolio_cash_ladder.py +95 -248
  715. lusid/models/resource_list_of_portfolio_trade_ticket.py +113 -0
  716. lusid/models/resource_list_of_processed_command.py +95 -248
  717. lusid/models/resource_list_of_property.py +95 -248
  718. lusid/models/resource_list_of_property_definition.py +95 -248
  719. lusid/models/resource_list_of_property_interval.py +95 -248
  720. lusid/models/resource_list_of_quote.py +95 -248
  721. lusid/models/resource_list_of_quote_access_metadata_rule.py +113 -0
  722. lusid/models/resource_list_of_reconciliation_break.py +95 -248
  723. lusid/models/resource_list_of_relation.py +95 -248
  724. lusid/models/resource_list_of_relationship.py +95 -248
  725. lusid/models/resource_list_of_scope_definition.py +95 -248
  726. lusid/models/resource_list_of_side_definition.py +95 -248
  727. lusid/models/resource_list_of_string.py +87 -248
  728. lusid/models/resource_list_of_tax_rule_set.py +113 -0
  729. lusid/models/resource_list_of_transaction.py +113 -0
  730. lusid/models/resource_list_of_transaction_type.py +95 -248
  731. lusid/models/resource_list_of_value_type.py +88 -248
  732. lusid/models/response_meta_data.py +77 -216
  733. lusid/models/result_data_key_rule.py +103 -389
  734. lusid/models/result_data_schema.py +108 -184
  735. lusid/models/result_key_rule.py +74 -143
  736. lusid/models/result_key_rule_type.py +39 -0
  737. lusid/models/result_value.py +80 -149
  738. lusid/models/result_value0_d.py +87 -225
  739. lusid/models/result_value_bool.py +73 -165
  740. lusid/models/result_value_currency.py +78 -164
  741. lusid/models/result_value_date_time_offset.py +81 -196
  742. lusid/models/result_value_decimal.py +80 -195
  743. lusid/models/result_value_dictionary.py +89 -163
  744. lusid/models/result_value_int.py +80 -195
  745. lusid/models/result_value_string.py +78 -164
  746. lusid/models/result_value_type.py +48 -0
  747. lusid/models/rounding_configuration.py +55 -125
  748. lusid/models/rounding_configuration_component.py +51 -131
  749. lusid/models/rounding_convention.py +67 -218
  750. lusid/models/scaling_methodology.py +39 -0
  751. lusid/models/schedule.py +77 -143
  752. lusid/models/schedule_type.py +43 -0
  753. lusid/models/scope_definition.py +51 -131
  754. lusid/models/sequence_definition.py +94 -376
  755. lusid/models/set_legal_entity_identifiers_request.py +69 -126
  756. lusid/models/set_legal_entity_properties_request.py +69 -126
  757. lusid/models/set_person_identifiers_request.py +69 -126
  758. lusid/models/set_person_properties_request.py +64 -128
  759. lusid/models/set_transaction_configuration_alias.py +84 -0
  760. lusid/models/set_transaction_configuration_source_request.py +107 -0
  761. lusid/models/side_configuration_data.py +76 -336
  762. lusid/models/side_configuration_data_request.py +79 -0
  763. lusid/models/side_definition.py +90 -390
  764. lusid/models/side_definition_request.py +66 -322
  765. lusid/models/sides_definition_request.py +64 -164
  766. lusid/models/simple_cash_flow_loan.py +88 -263
  767. lusid/models/simple_instrument.py +94 -301
  768. lusid/models/sort_order.py +38 -0
  769. lusid/models/step_schedule.py +85 -236
  770. lusid/models/stock_split_event.py +78 -231
  771. lusid/models/stream.py +70 -328
  772. lusid/models/string_comparison_type.py +41 -0
  773. lusid/models/string_compliance_parameter.py +73 -167
  774. lusid/models/string_list.py +73 -170
  775. lusid/models/string_list_compliance_parameter.py +77 -164
  776. lusid/models/structured_result_data.py +91 -0
  777. lusid/models/structured_result_data_id.py +107 -0
  778. lusid/models/sub_holding_key_value_equals.py +93 -0
  779. lusid/models/target_tax_lot.py +86 -278
  780. lusid/models/target_tax_lot_request.py +86 -278
  781. lusid/models/tax_rule.py +97 -0
  782. lusid/models/tax_rule_set.py +124 -0
  783. lusid/models/term_deposit.py +93 -323
  784. lusid/models/total_return_swap.py +88 -259
  785. lusid/models/touch.py +62 -228
  786. lusid/models/trade_ticket.py +76 -0
  787. lusid/models/trade_ticket_type.py +38 -0
  788. lusid/models/transaction.py +181 -782
  789. lusid/models/transaction_configuration_data.py +89 -190
  790. lusid/models/transaction_configuration_data_request.py +89 -190
  791. lusid/models/transaction_configuration_movement_data.py +110 -320
  792. lusid/models/transaction_configuration_movement_data_request.py +110 -320
  793. lusid/models/transaction_configuration_type_alias.py +90 -339
  794. lusid/models/transaction_price.py +63 -162
  795. lusid/models/transaction_price_type.py +39 -0
  796. lusid/models/transaction_property_mapping.py +65 -188
  797. lusid/models/transaction_property_mapping_request.py +65 -188
  798. lusid/models/transaction_query_mode.py +38 -0
  799. lusid/models/transaction_query_parameters.py +67 -234
  800. lusid/models/transaction_reconciliation_request.py +84 -302
  801. lusid/models/transaction_reconciliation_request_v2.py +115 -0
  802. lusid/models/transaction_request.py +143 -625
  803. lusid/models/transaction_roles.py +44 -0
  804. lusid/models/transaction_set_configuration_data.py +89 -188
  805. lusid/models/transaction_set_configuration_data_request.py +92 -0
  806. lusid/models/transaction_status.py +39 -0
  807. lusid/models/transaction_type.py +119 -250
  808. lusid/models/transaction_type_alias.py +80 -282
  809. lusid/models/transaction_type_calculation.py +60 -172
  810. lusid/models/transaction_type_movement.py +128 -366
  811. lusid/models/transaction_type_property_mapping.py +75 -197
  812. lusid/models/transaction_type_request.py +104 -220
  813. lusid/models/transactions_reconciliations_response.py +70 -155
  814. lusid/models/transition_event.py +101 -318
  815. lusid/models/translate_entities_inlined_request.py +72 -195
  816. lusid/models/translate_entities_request.py +76 -187
  817. lusid/models/translate_entities_response.py +104 -186
  818. lusid/models/translate_instrument_definitions_request.py +91 -0
  819. lusid/models/translate_instrument_definitions_response.py +129 -0
  820. lusid/models/translate_trade_ticket_request.py +91 -0
  821. lusid/models/translate_trade_tickets_response.py +129 -0
  822. lusid/models/translation_input.py +51 -134
  823. lusid/models/translation_result.py +66 -163
  824. lusid/models/translation_script.py +57 -193
  825. lusid/models/translation_script_id.py +76 -219
  826. lusid/models/trial_balance.py +103 -0
  827. lusid/models/trial_balance_query_parameters.py +102 -0
  828. lusid/models/trigger_event.py +82 -301
  829. lusid/models/typed_resource_id.py +76 -219
  830. lusid/models/underlying_leg.py +75 -0
  831. lusid/models/unit_schema.py +39 -0
  832. lusid/models/unmatched_holding_method.py +38 -0
  833. lusid/models/update_calendar_request.py +74 -195
  834. lusid/models/update_custom_entity_definition_request.py +77 -204
  835. lusid/models/update_custom_entity_type_request.py +77 -204
  836. lusid/models/update_cut_label_definition_request.py +83 -226
  837. lusid/models/update_data_type_request.py +105 -234
  838. lusid/models/update_derived_property_definition_request.py +66 -229
  839. lusid/models/update_instrument_identifier_request.py +65 -191
  840. lusid/models/update_portfolio_group_request.py +58 -161
  841. lusid/models/update_portfolio_request.py +58 -161
  842. lusid/models/update_property_definition_request.py +58 -164
  843. lusid/models/update_reconciliation_request.py +131 -0
  844. lusid/models/update_relationship_definition_request.py +76 -219
  845. lusid/models/update_tax_rule_set_request.py +95 -0
  846. lusid/models/update_unit_request.py +100 -207
  847. lusid/models/upsert_cds_flow_conventions_request.py +73 -0
  848. lusid/models/upsert_complex_market_data_request.py +61 -156
  849. lusid/models/upsert_compliance_rule_request.py +113 -380
  850. lusid/models/upsert_compliance_run_summary_request.py +72 -250
  851. lusid/models/upsert_corporate_action_request.py +94 -337
  852. lusid/models/upsert_corporate_actions_response.py +111 -216
  853. lusid/models/upsert_counterparty_agreement_request.py +55 -126
  854. lusid/models/upsert_credit_support_annex_request.py +55 -125
  855. lusid/models/upsert_custom_entities_response.py +111 -216
  856. lusid/models/upsert_custom_entity_access_metadata_request.py +64 -126
  857. lusid/models/upsert_flow_conventions_request.py +73 -0
  858. lusid/models/upsert_index_convention_request.py +73 -0
  859. lusid/models/upsert_instrument_event_request.py +98 -329
  860. lusid/models/upsert_instrument_events_response.py +111 -216
  861. lusid/models/upsert_instrument_properties_response.py +67 -159
  862. lusid/models/upsert_instrument_property_request.py +68 -196
  863. lusid/models/upsert_instruments_response.py +135 -246
  864. lusid/models/upsert_legal_entities_response.py +111 -216
  865. lusid/models/upsert_legal_entity_access_metadata_request.py +64 -126
  866. lusid/models/upsert_legal_entity_request.py +115 -267
  867. lusid/models/upsert_person_access_metadata_request.py +64 -126
  868. lusid/models/upsert_person_request.py +92 -232
  869. lusid/models/upsert_portfolio_access_metadata_request.py +59 -128
  870. lusid/models/upsert_portfolio_group_access_metadata_request.py +59 -128
  871. lusid/models/upsert_portfolio_transactions_response.py +101 -216
  872. lusid/models/upsert_quote_access_metadata_rule_request.py +92 -0
  873. lusid/models/upsert_quote_request.py +75 -215
  874. lusid/models/upsert_quotes_response.py +111 -216
  875. lusid/models/upsert_recipe_request.py +61 -125
  876. lusid/models/upsert_reconciliation_break_request.py +98 -0
  877. lusid/models/upsert_reconciliation_run_request.py +71 -0
  878. lusid/models/upsert_reference_portfolio_constituents_request.py +94 -265
  879. lusid/models/upsert_reference_portfolio_constituents_response.py +77 -183
  880. lusid/models/upsert_result_values_data_request.py +93 -0
  881. lusid/models/upsert_returns_response.py +100 -247
  882. lusid/models/upsert_single_structured_data_response.py +74 -188
  883. lusid/models/upsert_structured_data_response.py +99 -217
  884. lusid/models/upsert_structured_result_data_request.py +79 -0
  885. lusid/models/upsert_transaction_properties_response.py +97 -213
  886. lusid/models/user.py +56 -126
  887. lusid/models/valuation_request.py +156 -528
  888. lusid/models/valuation_schedule.py +86 -329
  889. lusid/models/valuations_reconciliation_request.py +82 -216
  890. lusid/models/value_type.py +34 -116
  891. lusid/models/vendor_dependency.py +95 -0
  892. lusid/models/vendor_library.py +43 -0
  893. lusid/models/vendor_model_rule.py +97 -335
  894. lusid/models/version.py +110 -371
  895. lusid/models/version_summary_dto.py +85 -210
  896. lusid/models/versioned_resource_list_of_a2_b_data_record.py +101 -278
  897. lusid/models/versioned_resource_list_of_a2_b_movement_record.py +101 -278
  898. lusid/models/versioned_resource_list_of_holding_contributor.py +101 -278
  899. lusid/models/versioned_resource_list_of_journal_entry_line.py +119 -0
  900. lusid/models/versioned_resource_list_of_output_transaction.py +101 -278
  901. lusid/models/versioned_resource_list_of_portfolio_holding.py +101 -278
  902. lusid/models/versioned_resource_list_of_transaction.py +101 -278
  903. lusid/models/versioned_resource_list_of_trial_balance.py +119 -0
  904. lusid/models/versioned_resource_list_with_warnings_of_portfolio_holding.py +134 -0
  905. lusid/models/virtual_document.py +88 -0
  906. lusid/models/virtual_document_row.py +80 -0
  907. lusid/models/virtual_row.py +76 -156
  908. lusid/models/warning.py +71 -0
  909. lusid/models/weekend_mask.py +61 -165
  910. lusid/models/weighted_instrument.py +64 -220
  911. lusid/models/weighted_instruments.py +59 -128
  912. lusid/models/yield_curve_data.py +107 -296
  913. lusid/py.typed +0 -0
  914. lusid/rest.py +171 -237
  915. lusid_sdk-2.0.50b0.dist-info/METADATA +1460 -0
  916. lusid_sdk-2.0.50b0.dist-info/RECORD +917 -0
  917. {lusid_sdk-1.1.118.dist-info → lusid_sdk-2.0.50b0.dist-info}/WHEEL +1 -2
  918. lusid/__version__.py +0 -1
  919. lusid/models/accumulation_event.py +0 -310
  920. lusid/models/accumulation_event_all_of.py +0 -310
  921. lusid/models/address_key_compliance_parameter_all_of.py +0 -184
  922. lusid/models/address_key_list_all_of.py +0 -188
  923. lusid/models/address_key_list_compliance_parameter_all_of.py +0 -182
  924. lusid/models/amortisation_event_all_of.py +0 -283
  925. lusid/models/asset_leg.py +0 -179
  926. lusid/models/basket_all_of.py +0 -247
  927. lusid/models/block_and_order_id_request.py +0 -174
  928. lusid/models/block_and_orders.py +0 -174
  929. lusid/models/block_and_orders_create_request.py +0 -152
  930. lusid/models/block_and_orders_request.py +0 -422
  931. lusid/models/blocked_order_request.py +0 -412
  932. lusid/models/bond_all_of.py +0 -581
  933. lusid/models/bond_coupon_event.py +0 -280
  934. lusid/models/bond_coupon_event_all_of.py +0 -280
  935. lusid/models/bond_default_event_all_of.py +0 -184
  936. lusid/models/bond_principal_event.py +0 -280
  937. lusid/models/bond_principal_event_all_of.py +0 -280
  938. lusid/models/bool_compliance_parameter_all_of.py +0 -182
  939. lusid/models/branch_step.py +0 -219
  940. lusid/models/branch_step_all_of.py +0 -219
  941. lusid/models/calendar_dependency_all_of.py +0 -184
  942. lusid/models/cap_floor_all_of.py +0 -313
  943. lusid/models/cash_dependency_all_of.py +0 -216
  944. lusid/models/cash_dividend_event_all_of.py +0 -308
  945. lusid/models/cash_election.py +0 -334
  946. lusid/models/cash_flow_event_all_of.py +0 -217
  947. lusid/models/cash_flow_value_all_of.py +0 -306
  948. lusid/models/cash_flow_value_set_all_of.py +0 -182
  949. lusid/models/cash_perpetual_all_of.py +0 -248
  950. lusid/models/cds_index_all_of.py +0 -399
  951. lusid/models/check_step.py +0 -251
  952. lusid/models/check_step_all_of.py +0 -251
  953. lusid/models/close_event_all_of.py +0 -214
  954. lusid/models/complex_bond_all_of.py +0 -338
  955. lusid/models/compliance_rule_result_v2.py +0 -267
  956. lusid/models/compliance_step.py +0 -167
  957. lusid/models/constant_volatility_surface.py +0 -285
  958. lusid/models/constant_volatility_surface_all_of.py +0 -285
  959. lusid/models/contract_for_difference_all_of.py +0 -447
  960. lusid/models/create_trade_tickets_response.py +0 -174
  961. lusid/models/credit_default_swap_all_of.py +0 -401
  962. lusid/models/credit_spread_curve_data_all_of.py +0 -437
  963. lusid/models/date_time_compliance_parameter_all_of.py +0 -182
  964. lusid/models/decimal_compliance_parameter_all_of.py +0 -182
  965. lusid/models/decimal_list_all_of.py +0 -188
  966. lusid/models/discount_factor_curve_data_all_of.py +0 -313
  967. lusid/models/discounting_dependency_all_of.py +0 -216
  968. lusid/models/dividend_option_event.py +0 -371
  969. lusid/models/dividend_option_event_all_of.py +0 -371
  970. lusid/models/dividend_reinvestment_event.py +0 -342
  971. lusid/models/dividend_reinvestment_event_all_of.py +0 -342
  972. lusid/models/empty_model_options_all_of.py +0 -152
  973. lusid/models/equity_all_of.py +0 -243
  974. lusid/models/equity_curve_by_prices_data_all_of.py +0 -313
  975. lusid/models/equity_curve_dependency_all_of.py +0 -298
  976. lusid/models/equity_model_options_all_of.py +0 -187
  977. lusid/models/equity_option_all_of.py +0 -571
  978. lusid/models/equity_swap_all_of.py +0 -504
  979. lusid/models/equity_vol_dependency_all_of.py +0 -292
  980. lusid/models/equity_vol_surface_data_all_of.py +0 -284
  981. lusid/models/exchange_traded_option_all_of.py +0 -278
  982. lusid/models/exercise_event_all_of.py +0 -245
  983. lusid/models/exotic_instrument_all_of.py +0 -217
  984. lusid/models/filter_predicate_compliance_parameter.py +0 -185
  985. lusid/models/filter_predicate_compliance_parameter_all_of.py +0 -185
  986. lusid/models/filter_step.py +0 -219
  987. lusid/models/fixed_leg_all_of.py +0 -304
  988. lusid/models/flexible_loan.py +0 -280
  989. lusid/models/flexible_loan_all_of.py +0 -280
  990. lusid/models/floating_leg_all_of.py +0 -366
  991. lusid/models/forward_rate_agreement_all_of.py +0 -373
  992. lusid/models/fund_share_class.py +0 -324
  993. lusid/models/fund_share_class_all_of.py +0 -324
  994. lusid/models/funding_leg_all_of.py +0 -276
  995. lusid/models/future_all_of.py +0 -405
  996. lusid/models/fx_conventions.py +0 -216
  997. lusid/models/fx_dependency_all_of.py +0 -248
  998. lusid/models/fx_forward_all_of.py +0 -498
  999. lusid/models/fx_forward_curve_by_quote_reference_all_of.py +0 -405
  1000. lusid/models/fx_forward_curve_data_all_of.py +0 -377
  1001. lusid/models/fx_forward_model_options_all_of.py +0 -260
  1002. lusid/models/fx_forward_pips_curve_data_all_of.py +0 -377
  1003. lusid/models/fx_forward_settlement_event.py +0 -494
  1004. lusid/models/fx_forward_settlement_event_all_of.py +0 -494
  1005. lusid/models/fx_forward_tenor_curve_data_all_of.py +0 -437
  1006. lusid/models/fx_forward_tenor_pips_curve_data_all_of.py +0 -437
  1007. lusid/models/fx_forwards_dependency_all_of.py +0 -286
  1008. lusid/models/fx_linked_notional_schedule.py +0 -273
  1009. lusid/models/fx_linked_notional_schedule_all_of.py +0 -273
  1010. lusid/models/fx_option_all_of.py +0 -646
  1011. lusid/models/fx_swap_all_of.py +0 -242
  1012. lusid/models/fx_vol_dependency_all_of.py +0 -286
  1013. lusid/models/group_by_selector_compliance_parameter.py +0 -185
  1014. lusid/models/group_by_step.py +0 -219
  1015. lusid/models/group_filter_predicate_compliance_parameter.py +0 -185
  1016. lusid/models/group_filter_step.py +0 -251
  1017. lusid/models/group_of_market_data_key_rules.py +0 -181
  1018. lusid/models/index_model_options_all_of.py +0 -190
  1019. lusid/models/index_projection_dependency_all_of.py +0 -292
  1020. lusid/models/inflation_fixing_dependency_all_of.py +0 -254
  1021. lusid/models/inflation_leg_all_of.py +0 -472
  1022. lusid/models/inflation_linked_bond_all_of.py +0 -612
  1023. lusid/models/inflation_swap_all_of.py +0 -276
  1024. lusid/models/informational_error_event_all_of.py +0 -254
  1025. lusid/models/informational_event_all_of.py +0 -279
  1026. lusid/models/instrument_event_configuration.py +0 -142
  1027. lusid/models/instrument_leg_all_of.py +0 -152
  1028. lusid/models/instrument_list_all_of.py +0 -188
  1029. lusid/models/interest_rate_swap_all_of.py +0 -339
  1030. lusid/models/interest_rate_swaption_all_of.py +0 -313
  1031. lusid/models/ir_vol_cube_data_all_of.py +0 -284
  1032. lusid/models/ir_vol_dependency_all_of.py +0 -254
  1033. lusid/models/life_cycle_event_value_all_of.py +0 -241
  1034. lusid/models/lineage_member.py +0 -294
  1035. lusid/models/look_up_pricing_model_options_all_of.py +0 -216
  1036. lusid/models/maturity_event.py +0 -184
  1037. lusid/models/maturity_event_all_of.py +0 -184
  1038. lusid/models/move_orders_to_different_blocks_request.py +0 -152
  1039. lusid/models/moved_order_to_different_block_response.py +0 -201
  1040. lusid/models/opaque_dependency_all_of.py +0 -152
  1041. lusid/models/opaque_market_data_all_of.py +0 -293
  1042. lusid/models/opaque_model_options_all_of.py +0 -182
  1043. lusid/models/open_event_all_of.py +0 -183
  1044. lusid/models/paged_resource_list_of_property_definition.py +0 -266
  1045. lusid/models/place_blocks_request.py +0 -152
  1046. lusid/models/portfolio_group_id_list_all_of.py +0 -185
  1047. lusid/models/portfolio_result_data_key_rule_all_of.py +0 -409
  1048. lusid/models/property_key_compliance_parameter_all_of.py +0 -184
  1049. lusid/models/quote_dependency_all_of.py +0 -257
  1050. lusid/models/raw_vendor_event_all_of.py +0 -249
  1051. lusid/models/recombine_step.py +0 -219
  1052. lusid/models/reconcile_date_time_rule_all_of.py +0 -251
  1053. lusid/models/reconcile_numeric_rule_all_of.py +0 -251
  1054. lusid/models/reconcile_string_rule_all_of.py +0 -250
  1055. lusid/models/reference_instrument_all_of.py +0 -257
  1056. lusid/models/relative_date_offset.py +0 -181
  1057. lusid/models/repo_all_of.py +0 -493
  1058. lusid/models/reset_event_all_of.py +0 -279
  1059. lusid/models/resource_list_of_block_and_orders.py +0 -266
  1060. lusid/models/resource_list_of_moved_order_to_different_block_response.py +0 -266
  1061. lusid/models/result_data_key_rule_all_of.py +0 -406
  1062. lusid/models/result_value0_d_all_of.py +0 -243
  1063. lusid/models/result_value_bool_all_of.py +0 -183
  1064. lusid/models/result_value_currency_all_of.py +0 -182
  1065. lusid/models/result_value_date_time_offset_all_of.py +0 -213
  1066. lusid/models/result_value_decimal_all_of.py +0 -213
  1067. lusid/models/result_value_dictionary_all_of.py +0 -182
  1068. lusid/models/result_value_int_all_of.py +0 -213
  1069. lusid/models/result_value_string_all_of.py +0 -182
  1070. lusid/models/schema.py +0 -228
  1071. lusid/models/script_map_reference.py +0 -237
  1072. lusid/models/security_election.py +0 -270
  1073. lusid/models/simple_cash_flow_loan_all_of.py +0 -280
  1074. lusid/models/simple_instrument_all_of.py +0 -318
  1075. lusid/models/step_schedule_all_of.py +0 -254
  1076. lusid/models/stock_split_event_all_of.py +0 -248
  1077. lusid/models/string_compliance_parameter_all_of.py +0 -185
  1078. lusid/models/term_deposit_all_of.py +0 -340
  1079. lusid/models/total_return_swap_all_of.py +0 -276
  1080. lusid/models/transition_event_all_of.py +0 -335
  1081. lusid/models/translation_context.py +0 -172
  1082. lusid/models/trigger_event_all_of.py +0 -318
  1083. lusid/models/units_ratio.py +0 -178
  1084. lusid/models/upsert_compliance_run_summary_result.py +0 -267
  1085. lusid/models/upsert_dialect_request.py +0 -174
  1086. lusid/models/upsert_translation_script_request.py +0 -182
  1087. lusid/models/weighted_instrument_in_line_lookup_identifiers.py +0 -433
  1088. lusid/models/yield_curve_data_all_of.py +0 -313
  1089. lusid/tcp/__init__.py +0 -1
  1090. lusid/tcp/tcp_keep_alive_probes.py +0 -110
  1091. lusid/utilities/__init__.py +0 -8
  1092. lusid/utilities/api_client_builder.py +0 -145
  1093. lusid/utilities/api_client_factory.py +0 -132
  1094. lusid/utilities/api_configuration_loader.py +0 -87
  1095. lusid/utilities/config_keys.json +0 -50
  1096. lusid/utilities/config_keys.py +0 -13
  1097. lusid/utilities/lusid_retry.py +0 -47
  1098. lusid_sdk-1.1.118.dist-info/METADATA +0 -21
  1099. lusid_sdk-1.1.118.dist-info/RECORD +0 -848
  1100. 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: https://openapi-generator.tech
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
11
12
  """
12
13
 
13
14
 
14
- try:
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 six
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(object):
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
- openapi_types = {
42
- 'start_date': 'datetime',
43
- 'dom_ccy': 'str',
44
- 'dom_amount': 'float',
45
- 'fgn_ccy': 'str',
46
- 'fgn_amount': 'float',
47
- 'strike': 'float',
48
- 'barriers': 'list[Barrier]',
49
- 'exercise_type': 'str',
50
- 'is_call_not_put': 'bool',
51
- 'is_delivery_not_cash': 'bool',
52
- 'is_payoff_digital': 'bool',
53
- 'option_maturity_date': 'datetime',
54
- 'option_settlement_date': 'datetime',
55
- 'payout_style': 'str',
56
- 'premium': 'Premium',
57
- 'touches': 'list[Touch]',
58
- 'instrument_type': 'str'
59
- }
60
-
61
- attribute_map = {
62
- 'start_date': 'startDate',
63
- 'dom_ccy': 'domCcy',
64
- 'dom_amount': 'domAmount',
65
- 'fgn_ccy': 'fgnCcy',
66
- 'fgn_amount': 'fgnAmount',
67
- 'strike': 'strike',
68
- 'barriers': 'barriers',
69
- 'exercise_type': 'exerciseType',
70
- 'is_call_not_put': 'isCallNotPut',
71
- 'is_delivery_not_cash': 'isDeliveryNotCash',
72
- 'is_payoff_digital': 'isPayoffDigital',
73
- 'option_maturity_date': 'optionMaturityDate',
74
- 'option_settlement_date': 'optionSettlementDate',
75
- 'payout_style': 'payoutStyle',
76
- 'premium': 'premium',
77
- 'touches': 'touches',
78
- 'instrument_type': 'instrumentType'
79
- }
80
-
81
- required_map = {
82
- 'start_date': 'required',
83
- 'dom_ccy': 'required',
84
- 'dom_amount': 'optional',
85
- 'fgn_ccy': 'required',
86
- 'fgn_amount': 'optional',
87
- 'strike': 'optional',
88
- 'barriers': 'optional',
89
- 'exercise_type': 'optional',
90
- 'is_call_not_put': 'required',
91
- 'is_delivery_not_cash': 'required',
92
- 'is_payoff_digital': 'optional',
93
- 'option_maturity_date': 'required',
94
- 'option_settlement_date': 'required',
95
- 'payout_style': 'optional',
96
- 'premium': 'optional',
97
- 'touches': 'optional',
98
- 'instrument_type': 'required'
99
- }
100
-
101
- def __init__(self, start_date=None, dom_ccy=None, dom_amount=None, fgn_ccy=None, fgn_amount=None, strike=None, barriers=None, exercise_type=None, is_call_not_put=None, is_delivery_not_cash=None, is_payoff_digital=None, option_maturity_date=None, option_settlement_date=None, payout_style=None, premium=None, touches=None, instrument_type=None, local_vars_configuration=None): # noqa: E501
102
- """FxOption - a model defined in OpenAPI"
103
-
104
- :param start_date: The start date of the instrument. This is normally synonymous with the trade-date. (required)
105
- :type start_date: datetime
106
- :param dom_ccy: The domestic currency of the instrument. (required)
107
- :type dom_ccy: str
108
- :param dom_amount: 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.
109
- :type dom_amount: float
110
- :param fgn_ccy: The foreign currency of the FX. (required)
111
- :type fgn_ccy: str
112
- :param fgn_amount: 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.
113
- :type fgn_amount: float
114
- :param strike: The strike of the option.
115
- :type strike: float
116
- :param barriers: 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.
117
- :type barriers: list[lusid.Barrier]
118
- :param exercise_type: Type of optionality that is present; European, American. Supported string (enumeration) values are: [European, American].
119
- :type exercise_type: str
120
- :param is_call_not_put: True if the option is a call, false if the option is a put. (required)
121
- :type is_call_not_put: bool
122
- :param is_delivery_not_cash: True if the option delivers the FX underlying, False if the option is settled in cash. (required)
123
- :type is_delivery_not_cash: bool
124
- :param is_payoff_digital: 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).
125
- :type is_payoff_digital: bool
126
- :param option_maturity_date: The maturity date of the option. (required)
127
- :type option_maturity_date: datetime
128
- :param option_settlement_date: The settlement date of the option. (required)
129
- :type option_settlement_date: datetime
130
- :param payout_style: 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].
131
- :type payout_style: str
132
- :param premium:
133
- :type premium: lusid.Premium
134
- :param touches: 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.
135
- :type touches: list[lusid.Touch]
136
- :param instrument_type: 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 (required)
137
- :type instrument_type: str
138
-
139
- """ # noqa: E501
140
- if local_vars_configuration is None:
141
- local_vars_configuration = Configuration.get_default_copy()
142
- self.local_vars_configuration = local_vars_configuration
143
-
144
- self._start_date = None
145
- self._dom_ccy = None
146
- self._dom_amount = None
147
- self._fgn_ccy = None
148
- self._fgn_amount = None
149
- self._strike = None
150
- self._barriers = None
151
- self._exercise_type = None
152
- self._is_call_not_put = None
153
- self._is_delivery_not_cash = None
154
- self._is_payoff_digital = None
155
- self._option_maturity_date = None
156
- self._option_settlement_date = None
157
- self._payout_style = None
158
- self._premium = None
159
- self._touches = None
160
- self._instrument_type = None
161
- self.discriminator = None
162
-
163
- self.start_date = start_date
164
- self.dom_ccy = dom_ccy
165
- self.dom_amount = dom_amount
166
- self.fgn_ccy = fgn_ccy
167
- self.fgn_amount = fgn_amount
168
- self.strike = strike
169
- self.barriers = barriers
170
- self.exercise_type = exercise_type
171
- self.is_call_not_put = is_call_not_put
172
- self.is_delivery_not_cash = is_delivery_not_cash
173
- if is_payoff_digital is not None:
174
- self.is_payoff_digital = is_payoff_digital
175
- self.option_maturity_date = option_maturity_date
176
- self.option_settlement_date = option_settlement_date
177
- self.payout_style = payout_style
178
- if premium is not None:
179
- self.premium = premium
180
- self.touches = touches
181
- self.instrument_type = instrument_type
182
-
183
- @property
184
- def start_date(self):
185
- """Gets the start_date of this FxOption. # noqa: E501
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