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/bond.py CHANGED
@@ -5,577 +5,157 @@
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
23
-
18
+ import json
24
19
 
25
- class Bond(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.
30
- """
20
+ from datetime import datetime
21
+ from typing import Any, Dict, List, Optional, Union
22
+ from pydantic import Field, StrictFloat, StrictInt, StrictStr, conlist, validator
23
+ from lusid.models.ex_dividend_configuration import ExDividendConfiguration
24
+ from lusid.models.flow_conventions import FlowConventions
25
+ from lusid.models.lusid_instrument import LusidInstrument
26
+ from lusid.models.rounding_convention import RoundingConvention
31
27
 
28
+ class Bond(LusidInstrument):
32
29
  """
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 a Vanilla Fixed Rate Bond. # noqa: E501
40
31
  """
41
- openapi_types = {
42
- 'start_date': 'datetime',
43
- 'maturity_date': 'datetime',
44
- 'dom_ccy': 'str',
45
- 'flow_conventions': 'FlowConventions',
46
- 'principal': 'float',
47
- 'coupon_rate': 'float',
48
- 'identifiers': 'dict(str, str)',
49
- 'ex_dividend_days': 'int',
50
- 'initial_coupon_date': 'datetime',
51
- 'first_coupon_pay_date': 'datetime',
52
- 'calculation_type': 'str',
53
- 'rounding_conventions': 'list[RoundingConvention]',
54
- 'ex_dividend_configuration': 'ExDividendConfiguration',
55
- 'original_issue_price': 'float',
56
- 'instrument_type': 'str'
57
- }
58
-
59
- attribute_map = {
60
- 'start_date': 'startDate',
61
- 'maturity_date': 'maturityDate',
62
- 'dom_ccy': 'domCcy',
63
- 'flow_conventions': 'flowConventions',
64
- 'principal': 'principal',
65
- 'coupon_rate': 'couponRate',
66
- 'identifiers': 'identifiers',
67
- 'ex_dividend_days': 'exDividendDays',
68
- 'initial_coupon_date': 'initialCouponDate',
69
- 'first_coupon_pay_date': 'firstCouponPayDate',
70
- 'calculation_type': 'calculationType',
71
- 'rounding_conventions': 'roundingConventions',
72
- 'ex_dividend_configuration': 'exDividendConfiguration',
73
- 'original_issue_price': 'originalIssuePrice',
74
- 'instrument_type': 'instrumentType'
75
- }
76
-
77
- required_map = {
78
- 'start_date': 'required',
79
- 'maturity_date': 'required',
80
- 'dom_ccy': 'required',
81
- 'flow_conventions': 'required',
82
- 'principal': 'required',
83
- 'coupon_rate': 'required',
84
- 'identifiers': 'optional',
85
- 'ex_dividend_days': 'optional',
86
- 'initial_coupon_date': 'optional',
87
- 'first_coupon_pay_date': 'optional',
88
- 'calculation_type': 'optional',
89
- 'rounding_conventions': 'optional',
90
- 'ex_dividend_configuration': 'optional',
91
- 'original_issue_price': 'optional',
92
- 'instrument_type': 'required'
93
- }
94
-
95
- def __init__(self, start_date=None, maturity_date=None, dom_ccy=None, flow_conventions=None, principal=None, coupon_rate=None, identifiers=None, ex_dividend_days=None, initial_coupon_date=None, first_coupon_pay_date=None, calculation_type=None, rounding_conventions=None, ex_dividend_configuration=None, original_issue_price=None, instrument_type=None, local_vars_configuration=None): # noqa: E501
96
- """Bond - a model defined in OpenAPI"
97
-
98
- :param start_date: The Start date of the bond, this is normally when accrual of the first coupon begins. (required)
99
- :type start_date: datetime
100
- :param maturity_date: The Maturity date of the bond, this is when the last coupon accrual period ends. Note that while most bonds have their last payment on this date there are some cases where the final payment is the next working day. (required)
101
- :type maturity_date: datetime
102
- :param dom_ccy: The domestic currency of the instrument. This should be the same as the Currency set on the FlowConventions. (required)
103
- :type dom_ccy: str
104
- :param flow_conventions: (required)
105
- :type flow_conventions: lusid.FlowConventions
106
- :param principal: The face-value or principal for the bond at outset. This might be reduced through its lifetime in the event of amortisation or similar. (required)
107
- :type principal: float
108
- :param coupon_rate: Simple coupon rate. (required)
109
- :type coupon_rate: float
110
- :param identifiers: External market codes and identifiers for the bond, e.g. ISIN.
111
- :type identifiers: dict(str, str)
112
- :param ex_dividend_days: Optional. Number of calendar days in the ex-dividend period. If the settlement date falls in the ex-dividend period then the coupon paid is zero and the accrued interest is negative. If set, this must be a non-negative number. If not set, or set to 0, then there is no ex-dividend period. NOTE: This field is deprecated. If you wish to set the ExDividendDays on a bond, please use the ExDividendConfiguration.
113
- :type ex_dividend_days: int
114
- :param initial_coupon_date: Optional and to be DEPRECATED. If set, this is the date at which the bond begins to accrue interest. Instead, this information should be entered in the field StartDate.
115
- :type initial_coupon_date: datetime
116
- :param first_coupon_pay_date: The date that the first coupon of the bond is paid. This is required for bonds that have a long first coupon or short first coupon. The first coupon pay date is used as an anchor to compare with the start date and determine if this is a long/short coupon period.
117
- :type first_coupon_pay_date: datetime
118
- :param calculation_type: The calculation type applied to the bond coupon amount. This is required for bonds that have a particular type of computing the period coupon, such as simple compounding, irregular coupons etc. The default CalculationType is `Standard`, which returns a coupon amount equal to Principal * Coupon Rate / Coupon Frequency. Coupon Frequency is 12M / Payment Frequency. Payment Frequency can be 1M, 3M, 6M, 12M etc. So Coupon Frequency can be 12, 4, 2, 1 respectively. Supported string (enumeration) values are: [Standard, DayCountCoupon, NoCalculationFloater, BrazilFixedCoupon].
119
- :type calculation_type: str
120
- :param rounding_conventions: Rounding conventions for analytics, if any.
121
- :type rounding_conventions: list[lusid.RoundingConvention]
122
- :param ex_dividend_configuration:
123
- :type ex_dividend_configuration: lusid.ExDividendConfiguration
124
- :param original_issue_price: The price the bond was issued at. This is to be entered as a percentage of par, for example a value of 98.5 would represent 98.5%.
125
- :type original_issue_price: float
126
- :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)
127
- :type instrument_type: str
128
-
129
- """ # noqa: E501
130
- if local_vars_configuration is None:
131
- local_vars_configuration = Configuration.get_default_copy()
132
- self.local_vars_configuration = local_vars_configuration
133
-
134
- self._start_date = None
135
- self._maturity_date = None
136
- self._dom_ccy = None
137
- self._flow_conventions = None
138
- self._principal = None
139
- self._coupon_rate = None
140
- self._identifiers = None
141
- self._ex_dividend_days = None
142
- self._initial_coupon_date = None
143
- self._first_coupon_pay_date = None
144
- self._calculation_type = None
145
- self._rounding_conventions = None
146
- self._ex_dividend_configuration = None
147
- self._original_issue_price = None
148
- self._instrument_type = None
149
- self.discriminator = None
150
-
151
- self.start_date = start_date
152
- self.maturity_date = maturity_date
153
- self.dom_ccy = dom_ccy
154
- self.flow_conventions = flow_conventions
155
- self.principal = principal
156
- self.coupon_rate = coupon_rate
157
- self.identifiers = identifiers
158
- self.ex_dividend_days = ex_dividend_days
159
- self.initial_coupon_date = initial_coupon_date
160
- self.first_coupon_pay_date = first_coupon_pay_date
161
- self.calculation_type = calculation_type
162
- self.rounding_conventions = rounding_conventions
163
- if ex_dividend_configuration is not None:
164
- self.ex_dividend_configuration = ex_dividend_configuration
165
- self.original_issue_price = original_issue_price
166
- self.instrument_type = instrument_type
167
-
168
- @property
169
- def start_date(self):
170
- """Gets the start_date of this Bond. # noqa: E501
171
-
172
- The Start date of the bond, this is normally when accrual of the first coupon begins. # noqa: E501
173
-
174
- :return: The start_date of this Bond. # noqa: E501
175
- :rtype: datetime
176
- """
177
- return self._start_date
178
-
179
- @start_date.setter
180
- def start_date(self, start_date):
181
- """Sets the start_date of this Bond.
182
-
183
- The Start date of the bond, this is normally when accrual of the first coupon begins. # noqa: E501
184
-
185
- :param start_date: The start_date of this Bond. # noqa: E501
186
- :type start_date: datetime
187
- """
188
- if self.local_vars_configuration.client_side_validation and start_date is None: # noqa: E501
189
- raise ValueError("Invalid value for `start_date`, must not be `None`") # noqa: E501
190
-
191
- self._start_date = start_date
192
-
193
- @property
194
- def maturity_date(self):
195
- """Gets the maturity_date of this Bond. # noqa: E501
196
-
197
- The Maturity date of the bond, this is when the last coupon accrual period ends. Note that while most bonds have their last payment on this date there are some cases where the final payment is the next working day. # noqa: E501
198
-
199
- :return: The maturity_date of this Bond. # noqa: E501
200
- :rtype: datetime
201
- """
202
- return self._maturity_date
203
-
204
- @maturity_date.setter
205
- def maturity_date(self, maturity_date):
206
- """Sets the maturity_date of this Bond.
207
-
208
- The Maturity date of the bond, this is when the last coupon accrual period ends. Note that while most bonds have their last payment on this date there are some cases where the final payment is the next working day. # noqa: E501
209
-
210
- :param maturity_date: The maturity_date of this Bond. # noqa: E501
211
- :type maturity_date: datetime
212
- """
213
- if self.local_vars_configuration.client_side_validation and maturity_date is None: # noqa: E501
214
- raise ValueError("Invalid value for `maturity_date`, must not be `None`") # noqa: E501
215
-
216
- self._maturity_date = maturity_date
217
-
218
- @property
219
- def dom_ccy(self):
220
- """Gets the dom_ccy of this Bond. # noqa: E501
221
-
222
- The domestic currency of the instrument. This should be the same as the Currency set on the FlowConventions. # noqa: E501
223
-
224
- :return: The dom_ccy of this Bond. # noqa: E501
225
- :rtype: str
226
- """
227
- return self._dom_ccy
228
-
229
- @dom_ccy.setter
230
- def dom_ccy(self, dom_ccy):
231
- """Sets the dom_ccy of this Bond.
232
-
233
- The domestic currency of the instrument. This should be the same as the Currency set on the FlowConventions. # noqa: E501
234
-
235
- :param dom_ccy: The dom_ccy of this Bond. # noqa: E501
236
- :type dom_ccy: str
237
- """
238
- if self.local_vars_configuration.client_side_validation and dom_ccy is None: # noqa: E501
239
- raise ValueError("Invalid value for `dom_ccy`, must not be `None`") # noqa: E501
240
-
241
- self._dom_ccy = dom_ccy
242
-
243
- @property
244
- def flow_conventions(self):
245
- """Gets the flow_conventions of this Bond. # noqa: E501
246
-
247
-
248
- :return: The flow_conventions of this Bond. # noqa: E501
249
- :rtype: lusid.FlowConventions
250
- """
251
- return self._flow_conventions
252
-
253
- @flow_conventions.setter
254
- def flow_conventions(self, flow_conventions):
255
- """Sets the flow_conventions of this Bond.
256
-
257
-
258
- :param flow_conventions: The flow_conventions of this Bond. # noqa: E501
259
- :type flow_conventions: lusid.FlowConventions
260
- """
261
- if self.local_vars_configuration.client_side_validation and flow_conventions is None: # noqa: E501
262
- raise ValueError("Invalid value for `flow_conventions`, must not be `None`") # noqa: E501
263
-
264
- self._flow_conventions = flow_conventions
265
-
266
- @property
267
- def principal(self):
268
- """Gets the principal of this Bond. # noqa: E501
269
-
270
- The face-value or principal for the bond at outset. This might be reduced through its lifetime in the event of amortisation or similar. # noqa: E501
271
-
272
- :return: The principal of this Bond. # noqa: E501
273
- :rtype: float
274
- """
275
- return self._principal
276
-
277
- @principal.setter
278
- def principal(self, principal):
279
- """Sets the principal of this Bond.
280
-
281
- The face-value or principal for the bond at outset. This might be reduced through its lifetime in the event of amortisation or similar. # noqa: E501
282
-
283
- :param principal: The principal of this Bond. # noqa: E501
284
- :type principal: float
285
- """
286
- if self.local_vars_configuration.client_side_validation and principal is None: # noqa: E501
287
- raise ValueError("Invalid value for `principal`, must not be `None`") # noqa: E501
288
-
289
- self._principal = principal
290
-
291
- @property
292
- def coupon_rate(self):
293
- """Gets the coupon_rate of this Bond. # noqa: E501
294
-
295
- Simple coupon rate. # noqa: E501
296
-
297
- :return: The coupon_rate of this Bond. # noqa: E501
298
- :rtype: float
299
- """
300
- return self._coupon_rate
301
-
302
- @coupon_rate.setter
303
- def coupon_rate(self, coupon_rate):
304
- """Sets the coupon_rate of this Bond.
305
-
306
- Simple coupon rate. # noqa: E501
307
-
308
- :param coupon_rate: The coupon_rate of this Bond. # noqa: E501
309
- :type coupon_rate: float
310
- """
311
- if self.local_vars_configuration.client_side_validation and coupon_rate is None: # noqa: E501
312
- raise ValueError("Invalid value for `coupon_rate`, must not be `None`") # noqa: E501
313
-
314
- self._coupon_rate = coupon_rate
315
-
316
- @property
317
- def identifiers(self):
318
- """Gets the identifiers of this Bond. # noqa: E501
319
-
320
- External market codes and identifiers for the bond, e.g. ISIN. # noqa: E501
321
-
322
- :return: The identifiers of this Bond. # noqa: E501
323
- :rtype: dict(str, str)
324
- """
325
- return self._identifiers
326
-
327
- @identifiers.setter
328
- def identifiers(self, identifiers):
329
- """Sets the identifiers of this Bond.
330
-
331
- External market codes and identifiers for the bond, e.g. ISIN. # noqa: E501
332
-
333
- :param identifiers: The identifiers of this Bond. # noqa: E501
334
- :type identifiers: dict(str, str)
335
- """
336
-
337
- self._identifiers = identifiers
338
-
339
- @property
340
- def ex_dividend_days(self):
341
- """Gets the ex_dividend_days of this Bond. # noqa: E501
342
-
343
- Optional. Number of calendar days in the ex-dividend period. If the settlement date falls in the ex-dividend period then the coupon paid is zero and the accrued interest is negative. If set, this must be a non-negative number. If not set, or set to 0, then there is no ex-dividend period. NOTE: This field is deprecated. If you wish to set the ExDividendDays on a bond, please use the ExDividendConfiguration. # noqa: E501
344
-
345
- :return: The ex_dividend_days of this Bond. # noqa: E501
346
- :rtype: int
347
- """
348
- return self._ex_dividend_days
349
-
350
- @ex_dividend_days.setter
351
- def ex_dividend_days(self, ex_dividend_days):
352
- """Sets the ex_dividend_days of this Bond.
353
-
354
- Optional. Number of calendar days in the ex-dividend period. If the settlement date falls in the ex-dividend period then the coupon paid is zero and the accrued interest is negative. If set, this must be a non-negative number. If not set, or set to 0, then there is no ex-dividend period. NOTE: This field is deprecated. If you wish to set the ExDividendDays on a bond, please use the ExDividendConfiguration. # noqa: E501
355
-
356
- :param ex_dividend_days: The ex_dividend_days of this Bond. # noqa: E501
357
- :type ex_dividend_days: int
358
- """
359
-
360
- self._ex_dividend_days = ex_dividend_days
361
-
362
- @property
363
- def initial_coupon_date(self):
364
- """Gets the initial_coupon_date of this Bond. # noqa: E501
365
-
366
- Optional and to be DEPRECATED. If set, this is the date at which the bond begins to accrue interest. Instead, this information should be entered in the field StartDate. # noqa: E501
367
-
368
- :return: The initial_coupon_date of this Bond. # noqa: E501
369
- :rtype: datetime
370
- """
371
- return self._initial_coupon_date
372
-
373
- @initial_coupon_date.setter
374
- def initial_coupon_date(self, initial_coupon_date):
375
- """Sets the initial_coupon_date of this Bond.
376
-
377
- Optional and to be DEPRECATED. If set, this is the date at which the bond begins to accrue interest. Instead, this information should be entered in the field StartDate. # noqa: E501
378
-
379
- :param initial_coupon_date: The initial_coupon_date of this Bond. # noqa: E501
380
- :type initial_coupon_date: datetime
381
- """
382
-
383
- self._initial_coupon_date = initial_coupon_date
384
-
385
- @property
386
- def first_coupon_pay_date(self):
387
- """Gets the first_coupon_pay_date of this Bond. # noqa: E501
388
-
389
- The date that the first coupon of the bond is paid. This is required for bonds that have a long first coupon or short first coupon. The first coupon pay date is used as an anchor to compare with the start date and determine if this is a long/short coupon period. # noqa: E501
390
-
391
- :return: The first_coupon_pay_date of this Bond. # noqa: E501
392
- :rtype: datetime
393
- """
394
- return self._first_coupon_pay_date
395
-
396
- @first_coupon_pay_date.setter
397
- def first_coupon_pay_date(self, first_coupon_pay_date):
398
- """Sets the first_coupon_pay_date of this Bond.
399
-
400
- The date that the first coupon of the bond is paid. This is required for bonds that have a long first coupon or short first coupon. The first coupon pay date is used as an anchor to compare with the start date and determine if this is a long/short coupon period. # noqa: E501
401
-
402
- :param first_coupon_pay_date: The first_coupon_pay_date of this Bond. # noqa: E501
403
- :type first_coupon_pay_date: datetime
404
- """
405
-
406
- self._first_coupon_pay_date = first_coupon_pay_date
407
-
408
- @property
409
- def calculation_type(self):
410
- """Gets the calculation_type of this Bond. # noqa: E501
411
-
412
- The calculation type applied to the bond coupon amount. This is required for bonds that have a particular type of computing the period coupon, such as simple compounding, irregular coupons etc. The default CalculationType is `Standard`, which returns a coupon amount equal to Principal * Coupon Rate / Coupon Frequency. Coupon Frequency is 12M / Payment Frequency. Payment Frequency can be 1M, 3M, 6M, 12M etc. So Coupon Frequency can be 12, 4, 2, 1 respectively. Supported string (enumeration) values are: [Standard, DayCountCoupon, NoCalculationFloater, BrazilFixedCoupon]. # noqa: E501
413
-
414
- :return: The calculation_type of this Bond. # noqa: E501
415
- :rtype: str
416
- """
417
- return self._calculation_type
418
-
419
- @calculation_type.setter
420
- def calculation_type(self, calculation_type):
421
- """Sets the calculation_type of this Bond.
422
-
423
- The calculation type applied to the bond coupon amount. This is required for bonds that have a particular type of computing the period coupon, such as simple compounding, irregular coupons etc. The default CalculationType is `Standard`, which returns a coupon amount equal to Principal * Coupon Rate / Coupon Frequency. Coupon Frequency is 12M / Payment Frequency. Payment Frequency can be 1M, 3M, 6M, 12M etc. So Coupon Frequency can be 12, 4, 2, 1 respectively. Supported string (enumeration) values are: [Standard, DayCountCoupon, NoCalculationFloater, BrazilFixedCoupon]. # noqa: E501
424
-
425
- :param calculation_type: The calculation_type of this Bond. # noqa: E501
426
- :type calculation_type: str
427
- """
428
-
429
- self._calculation_type = calculation_type
430
-
431
- @property
432
- def rounding_conventions(self):
433
- """Gets the rounding_conventions of this Bond. # noqa: E501
434
-
435
- Rounding conventions for analytics, if any. # noqa: E501
436
-
437
- :return: The rounding_conventions of this Bond. # noqa: E501
438
- :rtype: list[lusid.RoundingConvention]
439
- """
440
- return self._rounding_conventions
441
-
442
- @rounding_conventions.setter
443
- def rounding_conventions(self, rounding_conventions):
444
- """Sets the rounding_conventions of this Bond.
445
-
446
- Rounding conventions for analytics, if any. # noqa: E501
447
-
448
- :param rounding_conventions: The rounding_conventions of this Bond. # noqa: E501
449
- :type rounding_conventions: list[lusid.RoundingConvention]
450
- """
451
-
452
- self._rounding_conventions = rounding_conventions
453
-
454
- @property
455
- def ex_dividend_configuration(self):
456
- """Gets the ex_dividend_configuration of this Bond. # noqa: E501
457
-
458
-
459
- :return: The ex_dividend_configuration of this Bond. # noqa: E501
460
- :rtype: lusid.ExDividendConfiguration
461
- """
462
- return self._ex_dividend_configuration
463
-
464
- @ex_dividend_configuration.setter
465
- def ex_dividend_configuration(self, ex_dividend_configuration):
466
- """Sets the ex_dividend_configuration of this Bond.
467
-
468
-
469
- :param ex_dividend_configuration: The ex_dividend_configuration of this Bond. # noqa: E501
470
- :type ex_dividend_configuration: lusid.ExDividendConfiguration
471
- """
472
-
473
- self._ex_dividend_configuration = ex_dividend_configuration
474
-
475
- @property
476
- def original_issue_price(self):
477
- """Gets the original_issue_price of this Bond. # noqa: E501
478
-
479
- The price the bond was issued at. This is to be entered as a percentage of par, for example a value of 98.5 would represent 98.5%. # noqa: E501
480
-
481
- :return: The original_issue_price of this Bond. # noqa: E501
482
- :rtype: float
483
- """
484
- return self._original_issue_price
485
-
486
- @original_issue_price.setter
487
- def original_issue_price(self, original_issue_price):
488
- """Sets the original_issue_price of this Bond.
489
-
490
- The price the bond was issued at. This is to be entered as a percentage of par, for example a value of 98.5 would represent 98.5%. # noqa: E501
491
-
492
- :param original_issue_price: The original_issue_price of this Bond. # noqa: E501
493
- :type original_issue_price: float
494
- """
495
-
496
- self._original_issue_price = original_issue_price
497
-
498
- @property
499
- def instrument_type(self):
500
- """Gets the instrument_type of this Bond. # noqa: E501
501
-
502
- 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
503
-
504
- :return: The instrument_type of this Bond. # noqa: E501
505
- :rtype: str
506
- """
507
- return self._instrument_type
508
-
509
- @instrument_type.setter
510
- def instrument_type(self, instrument_type):
511
- """Sets the instrument_type of this Bond.
512
-
513
- 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
514
-
515
- :param instrument_type: The instrument_type of this Bond. # noqa: E501
516
- :type instrument_type: str
517
- """
518
- if self.local_vars_configuration.client_side_validation and instrument_type is None: # noqa: E501
519
- raise ValueError("Invalid value for `instrument_type`, must not be `None`") # noqa: E501
520
- 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
521
- if self.local_vars_configuration.client_side_validation and instrument_type not in allowed_values: # noqa: E501
522
- raise ValueError(
523
- "Invalid value for `instrument_type` ({0}), must be one of {1}" # noqa: E501
524
- .format(instrument_type, allowed_values)
525
- )
526
-
527
- self._instrument_type = instrument_type
528
-
529
- def to_dict(self, serialize=False):
530
- """Returns the model properties as a dict"""
531
- result = {}
532
-
533
- def convert(x):
534
- if hasattr(x, "to_dict"):
535
- args = getfullargspec(x.to_dict).args
536
- if len(args) == 1:
537
- return x.to_dict()
538
- else:
539
- return x.to_dict(serialize)
540
- else:
541
- return x
542
-
543
- for attr, _ in six.iteritems(self.openapi_types):
544
- value = getattr(self, attr)
545
- attr = self.attribute_map.get(attr, attr) if serialize else attr
546
- if isinstance(value, list):
547
- result[attr] = list(map(
548
- lambda x: convert(x),
549
- value
550
- ))
551
- elif isinstance(value, dict):
552
- result[attr] = dict(map(
553
- lambda item: (item[0], convert(item[1])),
554
- value.items()
555
- ))
556
- else:
557
- result[attr] = convert(value)
558
-
559
- return result
560
-
561
- def to_str(self):
562
- """Returns the string representation of the model"""
563
- return pprint.pformat(self.to_dict())
564
-
565
- def __repr__(self):
566
- """For `print` and `pprint`"""
567
- return self.to_str()
568
-
569
- def __eq__(self, other):
570
- """Returns true if both objects are equal"""
571
- if not isinstance(other, Bond):
572
- return False
573
-
574
- return self.to_dict() == other.to_dict()
575
-
576
- def __ne__(self, other):
577
- """Returns true if both objects are not equal"""
578
- if not isinstance(other, Bond):
579
- return True
580
-
581
- return self.to_dict() != other.to_dict()
32
+ start_date: datetime = Field(..., alias="startDate", description="The Start date of the bond, this is normally when accrual of the first coupon begins.")
33
+ maturity_date: datetime = Field(..., alias="maturityDate", description="The Maturity date of the bond, this is when the last coupon accrual period ends. Note that while most bonds have their last payment on this date there are some cases where the final payment is the next working day.")
34
+ dom_ccy: StrictStr = Field(..., alias="domCcy", description="The domestic currency of the instrument. This should be the same as the Currency set on the FlowConventions.")
35
+ flow_conventions: FlowConventions = Field(..., alias="flowConventions")
36
+ principal: Union[StrictFloat, StrictInt] = Field(..., description="The face-value or principal for the bond at outset. This might be reduced through its lifetime in the event of amortisation or similar.")
37
+ coupon_rate: Union[StrictFloat, StrictInt] = Field(..., alias="couponRate", description="Simple coupon rate.")
38
+ identifiers: Optional[Dict[str, StrictStr]] = Field(None, description="External market codes and identifiers for the bond, e.g. ISIN.")
39
+ ex_dividend_days: Optional[StrictInt] = Field(None, alias="exDividendDays", description="Optional. Number of calendar days in the ex-dividend period. If the settlement date falls in the ex-dividend period then the coupon paid is zero and the accrued interest is negative. If set, this must be a non-negative number. If not set, or set to 0, then there is no ex-dividend period. NOTE: This field is deprecated. If you wish to set the ExDividendDays on a bond, please use the ExDividendConfiguration.")
40
+ initial_coupon_date: Optional[datetime] = Field(None, alias="initialCouponDate", description="Optional. If set, this is the date at which the bond begins to accrue interest, if not set then the bond begins to accrue on the StartDate.")
41
+ first_coupon_pay_date: Optional[datetime] = Field(None, alias="firstCouponPayDate", description="The date that the first coupon of the bond is paid. This is required for bonds that have a long first coupon or short first coupon. The first coupon pay date is used as an anchor to compare with the start date and determine if this is a long/short coupon period.")
42
+ calculation_type: Optional[StrictStr] = Field(None, alias="calculationType", description="The calculation type applied to the bond coupon amount. This is required for bonds that have a particular type of computing the period coupon, such as simple compounding, irregular coupons etc. The default CalculationType is `Standard`, which returns a coupon amount equal to Principal * Coupon Rate / Coupon Frequency. Coupon Frequency is 12M / Payment Frequency. Payment Frequency can be 1M, 3M, 6M, 12M etc. So Coupon Frequency can be 12, 4, 2, 1 respectively. Supported string (enumeration) values are: [Standard, DayCountCoupon, NoCalculationFloater, BrazilFixedCoupon].")
43
+ rounding_conventions: Optional[conlist(RoundingConvention)] = Field(None, alias="roundingConventions", description="Rounding conventions for analytics, if any.")
44
+ ex_dividend_configuration: Optional[ExDividendConfiguration] = Field(None, alias="exDividendConfiguration")
45
+ 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")
46
+ additional_properties: Dict[str, Any] = {}
47
+ __properties = ["instrumentType", "startDate", "maturityDate", "domCcy", "flowConventions", "principal", "couponRate", "identifiers", "exDividendDays", "initialCouponDate", "firstCouponPayDate", "calculationType", "roundingConventions", "exDividendConfiguration"]
48
+
49
+ @validator('instrument_type')
50
+ def instrument_type_validate_enum(cls, value):
51
+ """Validates the enum"""
52
+ 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'):
53
+ 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')")
54
+ return value
55
+
56
+ class Config:
57
+ """Pydantic configuration"""
58
+ allow_population_by_field_name = True
59
+ validate_assignment = True
60
+
61
+ def to_str(self) -> str:
62
+ """Returns the string representation of the model using alias"""
63
+ return pprint.pformat(self.dict(by_alias=True))
64
+
65
+ def to_json(self) -> str:
66
+ """Returns the JSON representation of the model using alias"""
67
+ return json.dumps(self.to_dict())
68
+
69
+ @classmethod
70
+ def from_json(cls, json_str: str) -> Bond:
71
+ """Create an instance of Bond from a JSON string"""
72
+ return cls.from_dict(json.loads(json_str))
73
+
74
+ def to_dict(self):
75
+ """Returns the dictionary representation of the model using alias"""
76
+ _dict = self.dict(by_alias=True,
77
+ exclude={
78
+ "additional_properties"
79
+ },
80
+ exclude_none=True)
81
+ # override the default output from pydantic by calling `to_dict()` of flow_conventions
82
+ if self.flow_conventions:
83
+ _dict['flowConventions'] = self.flow_conventions.to_dict()
84
+ # override the default output from pydantic by calling `to_dict()` of each item in rounding_conventions (list)
85
+ _items = []
86
+ if self.rounding_conventions:
87
+ for _item in self.rounding_conventions:
88
+ if _item:
89
+ _items.append(_item.to_dict())
90
+ _dict['roundingConventions'] = _items
91
+ # override the default output from pydantic by calling `to_dict()` of ex_dividend_configuration
92
+ if self.ex_dividend_configuration:
93
+ _dict['exDividendConfiguration'] = self.ex_dividend_configuration.to_dict()
94
+ # puts key-value pairs in additional_properties in the top level
95
+ if self.additional_properties is not None:
96
+ for _key, _value in self.additional_properties.items():
97
+ _dict[_key] = _value
98
+
99
+ # set to None if identifiers (nullable) is None
100
+ # and __fields_set__ contains the field
101
+ if self.identifiers is None and "identifiers" in self.__fields_set__:
102
+ _dict['identifiers'] = None
103
+
104
+ # set to None if ex_dividend_days (nullable) is None
105
+ # and __fields_set__ contains the field
106
+ if self.ex_dividend_days is None and "ex_dividend_days" in self.__fields_set__:
107
+ _dict['exDividendDays'] = None
108
+
109
+ # set to None if initial_coupon_date (nullable) is None
110
+ # and __fields_set__ contains the field
111
+ if self.initial_coupon_date is None and "initial_coupon_date" in self.__fields_set__:
112
+ _dict['initialCouponDate'] = None
113
+
114
+ # set to None if first_coupon_pay_date (nullable) is None
115
+ # and __fields_set__ contains the field
116
+ if self.first_coupon_pay_date is None and "first_coupon_pay_date" in self.__fields_set__:
117
+ _dict['firstCouponPayDate'] = None
118
+
119
+ # set to None if calculation_type (nullable) is None
120
+ # and __fields_set__ contains the field
121
+ if self.calculation_type is None and "calculation_type" in self.__fields_set__:
122
+ _dict['calculationType'] = None
123
+
124
+ # set to None if rounding_conventions (nullable) is None
125
+ # and __fields_set__ contains the field
126
+ if self.rounding_conventions is None and "rounding_conventions" in self.__fields_set__:
127
+ _dict['roundingConventions'] = None
128
+
129
+ return _dict
130
+
131
+ @classmethod
132
+ def from_dict(cls, obj: dict) -> Bond:
133
+ """Create an instance of Bond from a dict"""
134
+ if obj is None:
135
+ return None
136
+
137
+ if not isinstance(obj, dict):
138
+ return Bond.parse_obj(obj)
139
+
140
+ _obj = Bond.parse_obj({
141
+ "instrument_type": obj.get("instrumentType"),
142
+ "start_date": obj.get("startDate"),
143
+ "maturity_date": obj.get("maturityDate"),
144
+ "dom_ccy": obj.get("domCcy"),
145
+ "flow_conventions": FlowConventions.from_dict(obj.get("flowConventions")) if obj.get("flowConventions") is not None else None,
146
+ "principal": obj.get("principal"),
147
+ "coupon_rate": obj.get("couponRate"),
148
+ "identifiers": obj.get("identifiers"),
149
+ "ex_dividend_days": obj.get("exDividendDays"),
150
+ "initial_coupon_date": obj.get("initialCouponDate"),
151
+ "first_coupon_pay_date": obj.get("firstCouponPayDate"),
152
+ "calculation_type": obj.get("calculationType"),
153
+ "rounding_conventions": [RoundingConvention.from_dict(_item) for _item in obj.get("roundingConventions")] if obj.get("roundingConventions") is not None else None,
154
+ "ex_dividend_configuration": ExDividendConfiguration.from_dict(obj.get("exDividendConfiguration")) if obj.get("exDividendConfiguration") is not None else None
155
+ })
156
+ # store additional fields in additional_properties
157
+ for _key in obj.keys():
158
+ if _key not in cls.__properties:
159
+ _obj.additional_properties[_key] = obj.get(_key)
160
+
161
+ return _obj