lusid-sdk 2.0.50b0__py3-none-any.whl → 2.1.684__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1241) hide show
  1. lusid/__init__.py +1647 -15
  2. lusid/api/__init__.py +87 -0
  3. lusid/api/abor_api.py +807 -305
  4. lusid/api/abor_configuration_api.py +72 -70
  5. lusid/api/address_key_definition_api.py +30 -29
  6. lusid/api/aggregation_api.py +41 -40
  7. lusid/api/allocations_api.py +83 -71
  8. lusid/api/amortisation_rule_sets_api.py +1101 -0
  9. lusid/api/application_metadata_api.py +30 -29
  10. lusid/api/blocks_api.py +45 -44
  11. lusid/api/calendars_api.py +492 -142
  12. lusid/api/chart_of_accounts_api.py +2488 -644
  13. lusid/api/complex_market_data_api.py +41 -40
  14. lusid/api/compliance_api.py +1147 -444
  15. lusid/api/configuration_recipe_api.py +1237 -94
  16. lusid/api/conventions_api.py +111 -110
  17. lusid/api/corporate_action_sources_api.py +98 -97
  18. lusid/api/counterparties_api.py +75 -74
  19. lusid/api/custom_data_models_api.py +1043 -0
  20. lusid/api/custom_entities_api.py +116 -115
  21. lusid/api/custom_entity_definitions_api.py +39 -38
  22. lusid/api/custom_entity_types_api.py +39 -38
  23. lusid/api/cut_label_definitions_api.py +57 -64
  24. lusid/api/data_types_api.py +417 -97
  25. lusid/api/derived_transaction_portfolios_api.py +21 -20
  26. lusid/api/entities_api.py +1110 -13
  27. lusid/api/executions_api.py +49 -48
  28. lusid/api/fee_types_api.py +1053 -0
  29. lusid/api/fund_configuration_api.py +1120 -0
  30. lusid/api/funds_api.py +4402 -0
  31. lusid/api/group_reconciliations_api.py +2497 -0
  32. lusid/api/instrument_event_types_api.py +1288 -0
  33. lusid/api/instrument_events_api.py +232 -42
  34. lusid/api/instruments_api.py +391 -211
  35. lusid/api/legacy_compliance_api.py +87 -86
  36. lusid/api/legal_entities_api.py +201 -200
  37. lusid/api/order_graph_api.py +46 -45
  38. lusid/api/order_instructions_api.py +45 -44
  39. lusid/api/order_management_api.py +1537 -67
  40. lusid/api/orders_api.py +58 -65
  41. lusid/api/packages_api.py +45 -44
  42. lusid/api/participations_api.py +39 -38
  43. lusid/api/persons_api.py +342 -182
  44. lusid/api/placements_api.py +51 -50
  45. lusid/api/portfolio_groups_api.py +263 -254
  46. lusid/api/portfolios_api.py +1343 -417
  47. lusid/api/property_definitions_api.py +304 -98
  48. lusid/api/queryable_keys_api.py +212 -0
  49. lusid/api/quotes_api.py +106 -121
  50. lusid/api/reconciliations_api.py +548 -2115
  51. lusid/api/reference_lists_api.py +41 -40
  52. lusid/api/reference_portfolio_api.py +215 -38
  53. lusid/api/relation_definitions_api.py +30 -29
  54. lusid/api/relations_api.py +22 -21
  55. lusid/api/relationship_definitions_api.py +48 -47
  56. lusid/api/relationships_api.py +23 -22
  57. lusid/api/schemas_api.py +46 -53
  58. lusid/api/scopes_api.py +192 -11
  59. lusid/api/scripted_translation_api.py +105 -102
  60. lusid/api/search_api.py +39 -38
  61. lusid/api/sequences_api.py +39 -38
  62. lusid/api/simple_position_portfolios_api.py +213 -0
  63. lusid/api/staged_modifications_api.py +763 -0
  64. lusid/api/staging_rule_set_api.py +886 -0
  65. lusid/api/structured_result_data_api.py +90 -89
  66. lusid/api/system_configuration_api.py +66 -65
  67. lusid/api/tax_rule_sets_api.py +48 -47
  68. lusid/api/timelines_api.py +1307 -0
  69. lusid/api/transaction_configuration_api.py +124 -123
  70. lusid/api/transaction_fees_api.py +48 -47
  71. lusid/api/transaction_portfolios_api.py +1454 -925
  72. lusid/api/translation_api.py +21 -20
  73. lusid/api/workspace_api.py +3482 -0
  74. lusid/api_client.py +31 -20
  75. lusid/api_response.py +1 -1
  76. lusid/configuration.py +102 -8
  77. lusid/extensions/__init__.py +12 -7
  78. lusid/extensions/api_client.py +28 -18
  79. lusid/extensions/api_client_factory.py +168 -45
  80. lusid/extensions/api_configuration.py +172 -14
  81. lusid/extensions/configuration_loaders.py +117 -20
  82. lusid/extensions/configuration_options.py +67 -0
  83. lusid/extensions/file_access_token.py +42 -0
  84. lusid/extensions/proxy_config.py +8 -5
  85. lusid/extensions/rest.py +78 -26
  86. lusid/extensions/retry.py +109 -37
  87. lusid/extensions/socket_keep_alive.py +14 -15
  88. lusid/extensions/tcp_keep_alive_connector.py +93 -46
  89. lusid/models/__init__.py +1537 -14
  90. lusid/models/a2_b_breakdown.py +9 -1
  91. lusid/models/a2_b_category.py +9 -1
  92. lusid/models/a2_b_data_record.py +9 -1
  93. lusid/models/a2_b_movement_record.py +9 -1
  94. lusid/models/abor.py +18 -3
  95. lusid/models/abor_configuration.py +17 -9
  96. lusid/models/abor_configuration_properties.py +9 -1
  97. lusid/models/abor_configuration_request.py +18 -10
  98. lusid/models/abor_properties.py +9 -1
  99. lusid/models/abor_request.py +10 -2
  100. lusid/models/accept_estimate_valuation_point_response.py +108 -0
  101. lusid/models/access_controlled_action.py +9 -1
  102. lusid/models/access_controlled_resource.py +9 -1
  103. lusid/models/access_metadata_operation.py +12 -4
  104. lusid/models/access_metadata_value.py +10 -2
  105. lusid/models/account.py +16 -3
  106. lusid/models/account_properties.py +9 -1
  107. lusid/models/accounted_transaction.py +96 -0
  108. lusid/models/accounting_method.py +10 -0
  109. lusid/models/accounts_upsert_response.py +9 -1
  110. lusid/models/accumulation_event.py +112 -0
  111. lusid/models/action_id.py +10 -2
  112. lusid/models/add_business_days_to_date_request.py +9 -1
  113. lusid/models/add_business_days_to_date_response.py +9 -1
  114. lusid/models/additional_payment.py +12 -4
  115. lusid/models/address_definition.py +9 -1
  116. lusid/models/address_key_compliance_parameter.py +13 -12
  117. lusid/models/address_key_definition.py +9 -1
  118. lusid/models/address_key_filter.py +9 -1
  119. lusid/models/address_key_list.py +13 -5
  120. lusid/models/address_key_list_compliance_parameter.py +12 -4
  121. lusid/models/address_key_option_definition.py +12 -2
  122. lusid/models/adjust_global_commitment_event.py +101 -0
  123. lusid/models/adjust_holding.py +9 -1
  124. lusid/models/adjust_holding_for_date_request.py +9 -1
  125. lusid/models/adjust_holding_request.py +9 -1
  126. lusid/models/aggregate_spec.py +12 -4
  127. lusid/models/aggregated_return.py +9 -1
  128. lusid/models/aggregated_returns_dispersion_request.py +9 -1
  129. lusid/models/aggregated_returns_request.py +9 -1
  130. lusid/models/aggregated_returns_response.py +9 -1
  131. lusid/models/aggregated_transactions_request.py +9 -1
  132. lusid/models/aggregation_context.py +9 -1
  133. lusid/models/aggregation_measure_failure_detail.py +9 -1
  134. lusid/models/aggregation_op.py +1 -0
  135. lusid/models/aggregation_options.py +9 -1
  136. lusid/models/aggregation_query.py +9 -1
  137. lusid/models/alias.py +79 -0
  138. lusid/models/allocation.py +9 -1
  139. lusid/models/allocation_request.py +9 -1
  140. lusid/models/allocation_service_run_response.py +9 -1
  141. lusid/models/allocation_set_request.py +9 -1
  142. lusid/models/amortisation_event.py +13 -7
  143. lusid/models/amortisation_rule.py +112 -0
  144. lusid/models/amortisation_rule_set.py +141 -0
  145. lusid/models/amount.py +77 -0
  146. lusid/models/annul_quotes_response.py +9 -1
  147. lusid/models/annul_single_structured_data_response.py +9 -1
  148. lusid/models/annul_structured_data_response.py +9 -1
  149. lusid/models/applicable_instrument_event.py +138 -0
  150. lusid/models/{underlying_leg.py → asset_leg.py} +25 -17
  151. lusid/models/barrier.py +9 -1
  152. lusid/models/basket.py +12 -4
  153. lusid/models/basket_identifier.py +9 -1
  154. lusid/models/batch_adjust_holdings_response.py +9 -1
  155. lusid/models/batch_update_user_review_for_comparison_result_request.py +89 -0
  156. lusid/models/batch_update_user_review_for_comparison_result_response.py +154 -0
  157. lusid/models/batch_upsert_dates_for_calendar_response.py +154 -0
  158. lusid/models/batch_upsert_instrument_properties_response.py +9 -1
  159. lusid/models/batch_upsert_portfolio_access_metadata_request.py +100 -0
  160. lusid/models/batch_upsert_portfolio_access_metadata_response.py +130 -0
  161. lusid/models/batch_upsert_portfolio_access_metadata_response_item.py +100 -0
  162. lusid/models/batch_upsert_portfolio_transactions_response.py +9 -1
  163. lusid/models/batch_upsert_property_definition_properties_response.py +9 -1
  164. lusid/models/block.py +9 -1
  165. lusid/models/block_and_order_id_request.py +86 -0
  166. lusid/models/block_and_orders.py +91 -0
  167. lusid/models/block_and_orders_create_request.py +85 -0
  168. lusid/models/block_and_orders_request.py +142 -0
  169. lusid/models/block_request.py +9 -1
  170. lusid/models/block_set_request.py +9 -1
  171. lusid/models/blocked_order_request.py +138 -0
  172. lusid/models/bond.py +29 -8
  173. lusid/models/bond_conversion_entry.py +83 -0
  174. lusid/models/bond_conversion_schedule.py +138 -0
  175. lusid/models/bond_coupon_event.py +110 -0
  176. lusid/models/bond_default_event.py +16 -18
  177. lusid/models/bond_principal_event.py +110 -0
  178. lusid/models/bonus_issue_event.py +174 -0
  179. lusid/models/book_transactions_request.py +105 -0
  180. lusid/models/book_transactions_response.py +9 -1
  181. lusid/models/bool_compliance_parameter.py +12 -4
  182. lusid/models/bool_list_compliance_parameter.py +12 -4
  183. lusid/models/branch_step.py +109 -0
  184. lusid/models/branch_step_request.py +106 -0
  185. lusid/models/break_code_source.py +81 -0
  186. lusid/models/bucketed_cash_flow_request.py +9 -1
  187. lusid/models/bucketed_cash_flow_response.py +9 -1
  188. lusid/models/bucketing_schedule.py +9 -1
  189. lusid/models/calculation_info.py +9 -1
  190. lusid/models/calendar.py +26 -3
  191. lusid/models/calendar_date.py +9 -1
  192. lusid/models/calendar_dependency.py +9 -1
  193. lusid/models/call_on_intermediate_securities_event.py +147 -0
  194. lusid/models/cancel_order_and_move_remaining_result.py +92 -0
  195. lusid/models/cancel_orders_and_move_remaining_request.py +91 -0
  196. lusid/models/cancel_orders_and_move_remaining_response.py +161 -0
  197. lusid/models/cancel_orders_response.py +161 -0
  198. lusid/models/cancel_placements_response.py +161 -0
  199. lusid/models/cancel_single_holding_adjustment_request.py +104 -0
  200. lusid/models/cancelled_order_result.py +81 -0
  201. lusid/models/cancelled_placement_result.py +91 -0
  202. lusid/models/cap_floor.py +42 -9
  203. lusid/models/capital_distribution_event.py +125 -0
  204. lusid/models/cash.py +101 -0
  205. lusid/models/cash_and_security_offer_election.py +98 -0
  206. lusid/models/cash_dependency.py +9 -1
  207. lusid/models/cash_dividend_event.py +40 -10
  208. lusid/models/cash_election.py +99 -0
  209. lusid/models/cash_flow_event.py +14 -8
  210. lusid/models/cash_flow_lineage.py +9 -1
  211. lusid/models/cash_flow_value.py +9 -1
  212. lusid/models/cash_flow_value_set.py +9 -1
  213. lusid/models/cash_ladder_record.py +9 -1
  214. lusid/models/cash_offer_election.py +85 -0
  215. lusid/models/cash_perpetual.py +12 -4
  216. lusid/models/cds_credit_event.py +113 -0
  217. lusid/models/cds_flow_conventions.py +10 -2
  218. lusid/models/cds_index.py +31 -8
  219. lusid/models/cds_protection_detail_specification.py +9 -1
  220. lusid/models/cdx_credit_event.py +122 -0
  221. lusid/models/change.py +9 -1
  222. lusid/models/change_history.py +9 -1
  223. lusid/models/change_interval.py +131 -0
  224. lusid/models/change_interval_with_order_management_detail.py +145 -0
  225. lusid/models/change_item.py +9 -1
  226. lusid/models/chart_of_accounts.py +9 -1
  227. lusid/models/chart_of_accounts_properties.py +9 -1
  228. lusid/models/chart_of_accounts_request.py +9 -1
  229. lusid/models/check_step.py +118 -0
  230. lusid/models/check_step_request.py +106 -0
  231. lusid/models/cleardown_module_details.py +103 -0
  232. lusid/models/cleardown_module_request.py +125 -0
  233. lusid/models/cleardown_module_response.py +147 -0
  234. lusid/models/cleardown_module_rule.py +102 -0
  235. lusid/models/cleardown_module_rules_updated_response.py +118 -0
  236. lusid/models/client.py +9 -1
  237. lusid/models/close_event.py +12 -4
  238. lusid/models/close_period_diary_entry_request.py +157 -0
  239. lusid/models/closed_period.py +136 -0
  240. lusid/models/comparison_attribute_value_pair.py +84 -0
  241. lusid/models/complete_portfolio.py +20 -5
  242. lusid/models/complete_relation.py +9 -1
  243. lusid/models/complete_relationship.py +9 -1
  244. lusid/models/complex_bond.py +30 -9
  245. lusid/models/complex_market_data.py +15 -6
  246. lusid/models/complex_market_data_id.py +9 -1
  247. lusid/models/compliance_breached_order_info.py +9 -1
  248. lusid/models/compliance_parameter.py +19 -6
  249. lusid/models/compliance_parameter_type.py +5 -0
  250. lusid/models/compliance_rule.py +9 -1
  251. lusid/models/compliance_rule_breakdown.py +25 -9
  252. lusid/models/compliance_rule_breakdown_request.py +21 -5
  253. lusid/models/compliance_rule_response.py +9 -1
  254. lusid/models/compliance_rule_result.py +9 -1
  255. lusid/models/compliance_rule_result_detail.py +9 -1
  256. lusid/models/compliance_rule_result_portfolio_detail.py +9 -1
  257. lusid/models/compliance_rule_result_v2.py +93 -0
  258. lusid/models/compliance_rule_template.py +161 -0
  259. lusid/models/compliance_rule_upsert_request.py +9 -1
  260. lusid/models/compliance_rule_upsert_response.py +9 -1
  261. lusid/models/compliance_run_configuration.py +81 -0
  262. lusid/models/compliance_run_info.py +9 -1
  263. lusid/models/compliance_run_info_v2.py +9 -1
  264. lusid/models/compliance_step.py +108 -0
  265. lusid/models/compliance_step_request.py +107 -0
  266. lusid/models/compliance_step_type.py +43 -0
  267. lusid/models/compliance_step_type_request.py +42 -0
  268. lusid/models/compliance_summary_rule_result.py +20 -15
  269. lusid/models/compliance_summary_rule_result_request.py +20 -15
  270. lusid/models/compliance_template.py +9 -1
  271. lusid/models/compliance_template_parameter.py +9 -1
  272. lusid/models/compliance_template_variation.py +29 -4
  273. lusid/models/compliance_template_variation_dto.py +120 -0
  274. lusid/models/compliance_template_variation_request.py +120 -0
  275. lusid/models/component_filter.py +93 -0
  276. lusid/models/component_transaction.py +107 -0
  277. lusid/models/composite_breakdown.py +9 -1
  278. lusid/models/composite_breakdown_request.py +9 -1
  279. lusid/models/composite_breakdown_response.py +9 -1
  280. lusid/models/composite_dispersion.py +39 -6
  281. lusid/models/composite_dispersion_response.py +9 -1
  282. lusid/models/compounding.py +13 -5
  283. lusid/models/configuration_recipe.py +18 -19
  284. lusid/models/constant_volatility_surface.py +110 -0
  285. lusid/models/constituents_adjustment_header.py +9 -1
  286. lusid/models/contract_details.py +109 -0
  287. lusid/models/contract_for_difference.py +16 -6
  288. lusid/models/contract_initialisation_event.py +107 -0
  289. lusid/models/contribution_to_non_passing_rule_detail.py +97 -0
  290. lusid/models/corporate_action.py +9 -1
  291. lusid/models/corporate_action_source.py +9 -1
  292. lusid/models/corporate_action_transition.py +9 -1
  293. lusid/models/corporate_action_transition_component.py +9 -1
  294. lusid/models/corporate_action_transition_component_request.py +9 -1
  295. lusid/models/corporate_action_transition_request.py +9 -1
  296. lusid/models/counterparty_agreement.py +9 -1
  297. lusid/models/counterparty_risk_information.py +9 -1
  298. lusid/models/counterparty_signatory.py +9 -1
  299. lusid/models/create_address_key_definition_request.py +9 -1
  300. lusid/models/create_amortisation_rule_set_request.py +110 -0
  301. lusid/models/create_calendar_request.py +9 -1
  302. lusid/models/create_closed_period_request.py +104 -0
  303. lusid/models/create_compliance_template_request.py +103 -0
  304. lusid/models/create_corporate_action_source_request.py +9 -1
  305. lusid/models/create_custom_entity_type_request.py +9 -1
  306. lusid/models/create_cut_label_definition_request.py +9 -1
  307. lusid/models/create_data_map_request.py +9 -1
  308. lusid/models/create_data_type_request.py +9 -1
  309. lusid/models/create_date_request.py +9 -1
  310. lusid/models/create_derived_property_definition_request.py +16 -6
  311. lusid/models/create_derived_transaction_portfolio_request.py +33 -7
  312. lusid/models/create_group_reconciliation_comparison_ruleset_request.py +105 -0
  313. lusid/models/create_group_reconciliation_definition_request.py +121 -0
  314. lusid/models/create_portfolio_details.py +9 -1
  315. lusid/models/create_portfolio_group_request.py +9 -1
  316. lusid/models/create_property_definition_request.py +21 -6
  317. lusid/models/create_recipe_request.py +9 -1
  318. lusid/models/create_reconciliation_request.py +9 -1
  319. lusid/models/create_reference_portfolio_request.py +9 -1
  320. lusid/models/create_relation_definition_request.py +9 -1
  321. lusid/models/create_relation_request.py +9 -1
  322. lusid/models/create_relationship_definition_request.py +11 -3
  323. lusid/models/create_relationship_request.py +9 -1
  324. lusid/models/create_sequence_request.py +9 -1
  325. lusid/models/create_simple_position_portfolio_request.py +196 -0
  326. lusid/models/create_staging_rule_set_request.py +94 -0
  327. lusid/models/create_tax_rule_set_request.py +9 -1
  328. lusid/models/create_timeline_request.py +110 -0
  329. lusid/models/create_trade_tickets_response.py +95 -0
  330. lusid/models/create_transaction_portfolio_request.py +33 -7
  331. lusid/models/create_unit_definition.py +9 -1
  332. lusid/models/credit_default_swap.py +32 -9
  333. lusid/models/credit_premium_cash_flow_event.py +110 -0
  334. lusid/models/credit_rating.py +9 -1
  335. lusid/models/credit_spread_curve_data.py +13 -5
  336. lusid/models/credit_support_annex.py +9 -1
  337. lusid/models/currency_and_amount.py +10 -7
  338. lusid/models/curve_options.py +9 -1
  339. lusid/models/custodian_account.py +10 -2
  340. lusid/models/custodian_account_properties.py +9 -1
  341. lusid/models/custodian_account_request.py +11 -3
  342. lusid/models/custodian_accounts_upsert_response.py +9 -1
  343. lusid/models/custom_data_model.py +97 -0
  344. lusid/models/custom_data_model_criteria.py +142 -0
  345. lusid/models/custom_data_model_identifier_type_specification.py +79 -0
  346. lusid/models/custom_data_model_identifier_type_specification_with_display_name.py +86 -0
  347. lusid/models/custom_data_model_property_specification.py +79 -0
  348. lusid/models/custom_data_model_property_specification_with_display_name.py +86 -0
  349. lusid/models/custom_entity_definition.py +32 -3
  350. lusid/models/custom_entity_definition_request.py +9 -1
  351. lusid/models/custom_entity_entity.py +154 -0
  352. lusid/models/custom_entity_field.py +9 -1
  353. lusid/models/custom_entity_field_definition.py +9 -1
  354. lusid/models/custom_entity_id.py +9 -1
  355. lusid/models/custom_entity_request.py +9 -1
  356. lusid/models/custom_entity_response.py +16 -2
  357. lusid/models/custom_entity_type.py +32 -3
  358. lusid/models/cut_label_definition.py +16 -2
  359. lusid/models/cut_local_time.py +14 -4
  360. lusid/models/data_definition.py +9 -1
  361. lusid/models/data_map_key.py +9 -1
  362. lusid/models/data_mapping.py +9 -1
  363. lusid/models/data_model_summary.py +120 -0
  364. lusid/models/data_scope.py +9 -1
  365. lusid/models/data_type.py +29 -9
  366. lusid/models/data_type_entity.py +139 -0
  367. lusid/models/data_type_summary.py +17 -3
  368. lusid/models/date_attributes.py +9 -1
  369. lusid/models/date_or_diary_entry.py +9 -1
  370. lusid/models/date_range.py +9 -1
  371. lusid/models/date_time_compliance_parameter.py +12 -4
  372. lusid/models/date_time_list_compliance_parameter.py +12 -4
  373. lusid/models/day_month.py +79 -0
  374. lusid/models/decimal_compliance_parameter.py +12 -4
  375. lusid/models/decimal_list.py +13 -5
  376. lusid/models/decimal_list_compliance_parameter.py +12 -4
  377. lusid/models/decorated_compliance_run_summary.py +9 -1
  378. lusid/models/delete_accounts_response.py +9 -1
  379. lusid/models/delete_custodian_accounts_response.py +9 -1
  380. lusid/models/delete_instrument_properties_response.py +16 -2
  381. lusid/models/delete_instrument_response.py +16 -2
  382. lusid/models/delete_instruments_response.py +31 -2
  383. lusid/models/delete_relation_request.py +9 -1
  384. lusid/models/delete_relationship_request.py +9 -1
  385. lusid/models/deleted_entity_response.py +30 -2
  386. lusid/models/dependency_source_filter.py +34 -4
  387. lusid/models/described_address_key.py +9 -1
  388. lusid/models/dialect.py +18 -4
  389. lusid/models/dialect_id.py +9 -1
  390. lusid/models/dialect_schema.py +9 -1
  391. lusid/models/diary_entry.py +10 -2
  392. lusid/models/diary_entry_request.py +20 -3
  393. lusid/models/discount_factor_curve_data.py +12 -4
  394. lusid/models/discounting_dependency.py +9 -1
  395. lusid/models/dividend_option_event.py +137 -0
  396. lusid/models/dividend_reinvestment_event.py +137 -0
  397. lusid/models/drawdown_event.py +107 -0
  398. lusid/models/early_redemption_election.py +81 -0
  399. lusid/models/early_redemption_event.py +132 -0
  400. lusid/models/economic_dependency.py +9 -1
  401. lusid/models/economic_dependency_with_complex_market_data.py +9 -1
  402. lusid/models/economic_dependency_with_quote.py +9 -1
  403. lusid/models/effective_range.py +79 -0
  404. lusid/models/election_specification.py +81 -0
  405. lusid/models/eligibility_calculation.py +81 -0
  406. lusid/models/empty_model_options.py +12 -4
  407. lusid/models/entity_identifier.py +9 -1
  408. lusid/models/equity.py +16 -6
  409. lusid/models/equity_all_of_identifiers.py +9 -1
  410. lusid/models/equity_curve_by_prices_data.py +12 -4
  411. lusid/models/equity_curve_dependency.py +9 -1
  412. lusid/models/equity_model_options.py +12 -4
  413. lusid/models/equity_option.py +54 -10
  414. lusid/models/equity_swap.py +31 -8
  415. lusid/models/equity_vol_dependency.py +9 -1
  416. lusid/models/equity_vol_surface_data.py +12 -4
  417. lusid/models/error_detail.py +9 -1
  418. lusid/models/event_date_range.py +9 -1
  419. lusid/models/ex_dividend_configuration.py +9 -1
  420. lusid/models/exchange_traded_option.py +21 -7
  421. lusid/models/exchange_traded_option_contract_details.py +29 -5
  422. lusid/models/execution.py +9 -1
  423. lusid/models/execution_request.py +9 -1
  424. lusid/models/execution_set_request.py +9 -1
  425. lusid/models/exercise_event.py +13 -7
  426. lusid/models/exotic_instrument.py +12 -4
  427. lusid/models/expanded_group.py +9 -1
  428. lusid/models/expiry_event.py +99 -0
  429. lusid/models/external_fee_component_filter.py +102 -0
  430. lusid/models/fee.py +223 -0
  431. lusid/models/fee_accrual.py +113 -0
  432. lusid/models/{reconciliation_run_break.py → fee_properties.py} +42 -35
  433. lusid/models/fee_request.py +192 -0
  434. lusid/models/fee_rule.py +9 -1
  435. lusid/models/fee_rule_upsert_request.py +9 -1
  436. lusid/models/fee_rule_upsert_response.py +9 -1
  437. lusid/models/fee_transaction_template_specification.py +87 -0
  438. lusid/models/fee_type.py +123 -0
  439. lusid/models/fee_type_request.py +113 -0
  440. lusid/models/field_definition.py +19 -4
  441. lusid/models/field_schema.py +9 -1
  442. lusid/models/field_value.py +25 -5
  443. lusid/models/file_response.py +9 -1
  444. lusid/models/filter_predicate_compliance_parameter.py +99 -0
  445. lusid/models/filter_step.py +109 -0
  446. lusid/models/filter_step_request.py +106 -0
  447. lusid/models/fixed_leg.py +12 -4
  448. lusid/models/fixed_leg_all_of_overrides.py +9 -1
  449. lusid/models/fixed_schedule.py +16 -13
  450. lusid/models/flexible_deposit.py +113 -0
  451. lusid/models/flexible_loan.py +113 -0
  452. lusid/models/float_schedule.py +34 -16
  453. lusid/models/floating_leg.py +12 -4
  454. lusid/models/flow_convention_name.py +10 -2
  455. lusid/models/flow_conventions.py +26 -5
  456. lusid/models/forward_rate_agreement.py +12 -4
  457. lusid/models/from_recipe.py +89 -0
  458. lusid/models/fund.py +195 -0
  459. lusid/models/fund_amount.py +77 -0
  460. lusid/models/fund_configuration.py +201 -0
  461. lusid/models/fund_configuration_properties.py +123 -0
  462. lusid/models/fund_configuration_request.py +171 -0
  463. lusid/models/fund_details.py +82 -0
  464. lusid/models/fund_id_list.py +107 -0
  465. lusid/models/fund_pnl_breakdown.py +118 -0
  466. lusid/models/fund_previous_nav.py +77 -0
  467. lusid/models/fund_properties.py +123 -0
  468. lusid/models/fund_request.py +178 -0
  469. lusid/models/fund_share_class.py +122 -0
  470. lusid/models/fund_valuation_point_data.py +154 -0
  471. lusid/models/funding_leg.py +12 -4
  472. lusid/models/funding_leg_options.py +12 -4
  473. lusid/models/future.py +28 -8
  474. lusid/models/future_expiry_event.py +108 -0
  475. lusid/models/future_mark_to_market_event.py +108 -0
  476. lusid/models/futures_contract_details.py +24 -4
  477. lusid/models/fx_conventions.py +81 -0
  478. lusid/models/fx_dependency.py +9 -1
  479. lusid/models/fx_forward.py +18 -8
  480. lusid/models/fx_forward_curve_by_quote_reference.py +13 -5
  481. lusid/models/fx_forward_curve_data.py +12 -4
  482. lusid/models/fx_forward_model_options.py +12 -4
  483. lusid/models/fx_forward_pips_curve_data.py +12 -4
  484. lusid/models/fx_forward_settlement_event.py +152 -0
  485. lusid/models/fx_forward_tenor_curve_data.py +13 -5
  486. lusid/models/fx_forward_tenor_pips_curve_data.py +13 -5
  487. lusid/models/fx_forwards_dependency.py +9 -1
  488. lusid/models/fx_linked_notional_schedule.py +116 -0
  489. lusid/models/fx_option.py +12 -4
  490. lusid/models/fx_rate_schedule.py +12 -4
  491. lusid/models/fx_swap.py +13 -5
  492. lusid/models/fx_tenor_convention.py +9 -1
  493. lusid/models/fx_vol_dependency.py +9 -1
  494. lusid/models/fx_vol_surface_data.py +12 -4
  495. lusid/models/general_ledger_profile_mapping.py +9 -1
  496. lusid/models/general_ledger_profile_request.py +9 -1
  497. lusid/models/general_ledger_profile_response.py +9 -1
  498. lusid/models/generated_event_diagnostics.py +83 -0
  499. lusid/models/get_cds_flow_conventions_response.py +9 -1
  500. lusid/models/get_complex_market_data_response.py +9 -1
  501. lusid/models/get_counterparty_agreement_response.py +9 -1
  502. lusid/models/get_credit_support_annex_response.py +9 -1
  503. lusid/models/get_data_map_response.py +9 -1
  504. lusid/models/get_flow_conventions_response.py +9 -1
  505. lusid/models/get_index_convention_response.py +9 -1
  506. lusid/models/get_instruments_response.py +9 -1
  507. lusid/models/get_quotes_response.py +9 -1
  508. lusid/models/{reconciliation_run.py → get_recipe_composer_response.py} +24 -16
  509. lusid/models/get_recipe_response.py +9 -1
  510. lusid/models/get_reference_portfolio_constituents_response.py +9 -1
  511. lusid/models/get_structured_result_data_response.py +9 -1
  512. lusid/models/get_virtual_document_response.py +9 -1
  513. lusid/models/group_by_selector_compliance_parameter.py +99 -0
  514. lusid/models/group_by_step.py +109 -0
  515. lusid/models/group_by_step_request.py +106 -0
  516. lusid/models/group_calculation_compliance_parameter.py +99 -0
  517. lusid/models/group_filter_predicate_compliance_parameter.py +99 -0
  518. lusid/models/group_filter_step.py +109 -0
  519. lusid/models/group_filter_step_request.py +106 -0
  520. lusid/models/group_of_market_data_key_rules.py +87 -0
  521. lusid/models/group_reconciliation_aggregate_attribute_rule.py +92 -0
  522. lusid/models/group_reconciliation_aggregate_attribute_values.py +94 -0
  523. lusid/models/group_reconciliation_aggregate_comparison_rule_operand.py +79 -0
  524. lusid/models/group_reconciliation_comparison_result.py +156 -0
  525. lusid/models/group_reconciliation_comparison_rule_string_value_map.py +81 -0
  526. lusid/models/group_reconciliation_comparison_rule_tolerance.py +79 -0
  527. lusid/models/group_reconciliation_comparison_ruleset.py +133 -0
  528. lusid/models/group_reconciliation_core_attribute_rule.py +103 -0
  529. lusid/models/group_reconciliation_core_attribute_values.py +94 -0
  530. lusid/models/group_reconciliation_core_comparison_rule_operand.py +79 -0
  531. lusid/models/group_reconciliation_date_pair.py +89 -0
  532. lusid/models/group_reconciliation_dates.py +86 -0
  533. lusid/models/group_reconciliation_definition.py +144 -0
  534. lusid/models/group_reconciliation_definition_comparison_ruleset_ids.py +91 -0
  535. lusid/models/group_reconciliation_definition_currencies.py +79 -0
  536. lusid/models/group_reconciliation_definition_portfolio_entity_ids.py +94 -0
  537. lusid/models/group_reconciliation_definition_recipe_ids.py +86 -0
  538. lusid/models/group_reconciliation_instance_id.py +79 -0
  539. lusid/models/group_reconciliation_result_statuses.py +97 -0
  540. lusid/models/group_reconciliation_result_types.py +104 -0
  541. lusid/models/group_reconciliation_review_statuses.py +104 -0
  542. lusid/models/group_reconciliation_run_details.py +84 -0
  543. lusid/models/group_reconciliation_run_request.py +83 -0
  544. lusid/models/group_reconciliation_run_response.py +85 -0
  545. lusid/models/group_reconciliation_summary.py +129 -0
  546. lusid/models/group_reconciliation_user_review.py +120 -0
  547. lusid/models/group_reconciliation_user_review_add.py +96 -0
  548. lusid/models/group_reconciliation_user_review_break_code.py +88 -0
  549. lusid/models/group_reconciliation_user_review_comment.py +88 -0
  550. lusid/models/group_reconciliation_user_review_match_key.py +88 -0
  551. lusid/models/group_reconciliation_user_review_remove.py +96 -0
  552. lusid/models/grouped_result_of_address_key.py +9 -1
  553. lusid/models/holding_adjustment.py +9 -1
  554. lusid/models/holding_adjustment_with_date.py +9 -1
  555. lusid/models/holding_context.py +9 -1
  556. lusid/models/holding_contributor.py +19 -4
  557. lusid/models/holding_ids_request.py +77 -0
  558. lusid/models/holding_pricing_info.py +118 -0
  559. lusid/models/holdings_adjustment.py +9 -1
  560. lusid/models/holdings_adjustment_header.py +9 -1
  561. lusid/models/i_unit_definition_dto.py +9 -1
  562. lusid/models/id_selector_definition.py +9 -1
  563. lusid/models/identifier_part_schema.py +9 -1
  564. lusid/models/index_convention.py +11 -3
  565. lusid/models/index_model_options.py +12 -4
  566. lusid/models/index_projection_dependency.py +9 -1
  567. lusid/models/industry_classifier.py +9 -1
  568. lusid/models/inflation_fixing_dependency.py +9 -1
  569. lusid/models/inflation_index_conventions.py +11 -3
  570. lusid/models/inflation_leg.py +12 -4
  571. lusid/models/inflation_linked_bond.py +28 -7
  572. lusid/models/inflation_swap.py +31 -8
  573. lusid/models/informational_error_event.py +12 -4
  574. lusid/models/informational_event.py +13 -7
  575. lusid/models/inline_valuation_request.py +9 -1
  576. lusid/models/inline_valuations_reconciliation_request.py +9 -1
  577. lusid/models/input_transition.py +9 -1
  578. lusid/models/instrument.py +22 -2
  579. lusid/models/instrument_capabilities.py +9 -1
  580. lusid/models/instrument_cash_flow.py +9 -1
  581. lusid/models/instrument_definition.py +17 -3
  582. lusid/models/instrument_definition_format.py +9 -1
  583. lusid/models/instrument_entity.py +154 -0
  584. lusid/models/instrument_event.py +54 -6
  585. lusid/models/instrument_event_configuration.py +88 -0
  586. lusid/models/instrument_event_holder.py +28 -3
  587. lusid/models/instrument_event_instruction.py +151 -0
  588. lusid/models/instrument_event_instruction_request.py +102 -0
  589. lusid/models/instrument_event_instructions_response.py +115 -0
  590. lusid/models/instrument_event_type.py +40 -0
  591. lusid/models/instrument_id_type_descriptor.py +9 -1
  592. lusid/models/instrument_id_value.py +9 -1
  593. lusid/models/instrument_leg.py +12 -4
  594. lusid/models/instrument_list.py +13 -5
  595. lusid/models/instrument_list_compliance_parameter.py +12 -4
  596. lusid/models/instrument_match.py +9 -1
  597. lusid/models/instrument_models.py +9 -1
  598. lusid/models/instrument_payment_diary.py +9 -1
  599. lusid/models/instrument_payment_diary_leg.py +13 -3
  600. lusid/models/instrument_payment_diary_row.py +9 -1
  601. lusid/models/instrument_properties.py +9 -1
  602. lusid/models/instrument_resolution_detail.py +127 -0
  603. lusid/models/instrument_search_property.py +9 -1
  604. lusid/models/instrument_type.py +7 -0
  605. lusid/models/interest_rate_swap.py +14 -6
  606. lusid/models/interest_rate_swaption.py +13 -5
  607. lusid/models/intermediate_compliance_step.py +118 -0
  608. lusid/models/intermediate_compliance_step_request.py +106 -0
  609. lusid/models/intermediate_securities_distribution_event.py +148 -0
  610. lusid/models/ir_vol_cube_data.py +12 -4
  611. lusid/models/ir_vol_dependency.py +9 -1
  612. lusid/models/is_business_day_response.py +9 -1
  613. lusid/models/journal_entry_line.py +60 -5
  614. lusid/models/journal_entry_lines_query_parameters.py +10 -2
  615. lusid/models/label_value_set.py +10 -2
  616. lusid/models/lapse_election.py +81 -0
  617. lusid/models/leg_definition.py +24 -3
  618. lusid/models/legal_entity.py +9 -1
  619. lusid/models/level_step.py +9 -1
  620. lusid/models/life_cycle_event_lineage.py +9 -1
  621. lusid/models/life_cycle_event_value.py +9 -1
  622. lusid/models/lineage_member.py +95 -0
  623. lusid/models/link.py +9 -1
  624. lusid/models/list_aggregation_reconciliation.py +9 -1
  625. lusid/models/list_aggregation_response.py +9 -1
  626. lusid/models/list_complex_market_data_with_meta_data_response.py +9 -1
  627. lusid/models/loan_facility.py +115 -0
  628. lusid/models/loan_interest_repayment_event.py +105 -0
  629. lusid/models/loan_period.py +9 -1
  630. lusid/models/lock_period_diary_entry_request.py +99 -0
  631. lusid/models/lusid_instrument.py +20 -6
  632. lusid/models/lusid_problem_details.py +9 -1
  633. lusid/models/lusid_trade_ticket.py +17 -2
  634. lusid/models/lusid_unique_id.py +9 -1
  635. lusid/models/lusid_validation_problem_details.py +9 -1
  636. lusid/models/mapped_string.py +9 -1
  637. lusid/models/mapping.py +9 -1
  638. lusid/models/mapping_rule.py +9 -1
  639. lusid/models/mark_to_market_conventions.py +82 -0
  640. lusid/models/market_context.py +26 -3
  641. lusid/models/market_context_suppliers.py +9 -1
  642. lusid/models/market_data_key_rule.py +17 -7
  643. lusid/models/market_data_options.py +9 -1
  644. lusid/models/market_data_overrides.py +9 -1
  645. lusid/models/market_data_specific_rule.py +17 -7
  646. lusid/models/market_data_type.py +1 -0
  647. lusid/models/market_options.py +9 -1
  648. lusid/models/market_quote.py +12 -4
  649. lusid/models/mastered_instrument.py +147 -0
  650. lusid/models/match_criterion.py +9 -1
  651. lusid/models/maturity_event.py +99 -0
  652. lusid/models/mbs_coupon_event.py +110 -0
  653. lusid/models/mbs_interest_deferral_event.py +110 -0
  654. lusid/models/mbs_interest_shortfall_event.py +110 -0
  655. lusid/models/mbs_principal_event.py +110 -0
  656. lusid/models/mbs_principal_write_off_event.py +110 -0
  657. lusid/models/merger_event.py +180 -0
  658. lusid/models/metric_value.py +9 -1
  659. lusid/models/model_options.py +14 -7
  660. lusid/models/model_options_type.py +0 -1
  661. lusid/models/model_property.py +9 -1
  662. lusid/models/model_schema.py +9 -1
  663. lusid/models/model_selection.py +12 -4
  664. lusid/models/move_orders_to_different_blocks_request.py +85 -0
  665. lusid/models/moved_order_to_different_block_response.py +93 -0
  666. lusid/models/movement_type.py +4 -0
  667. lusid/models/multi_currency_amounts.py +79 -0
  668. lusid/models/new_instrument.py +101 -0
  669. lusid/models/next_value_in_sequence_response.py +9 -1
  670. lusid/models/opaque_dependency.py +9 -1
  671. lusid/models/opaque_market_data.py +12 -4
  672. lusid/models/opaque_model_options.py +12 -4
  673. lusid/models/open_event.py +12 -4
  674. lusid/models/operation.py +10 -2
  675. lusid/models/operation_type.py +1 -0
  676. lusid/models/option_entry.py +19 -4
  677. lusid/models/option_exercise_cash_event.py +159 -0
  678. lusid/models/option_exercise_election.py +81 -0
  679. lusid/models/option_exercise_physical_event.py +164 -0
  680. lusid/models/optionality_schedule.py +12 -4
  681. lusid/models/order.py +9 -1
  682. lusid/models/order_by_spec.py +9 -1
  683. lusid/models/order_flow_configuration.py +10 -2
  684. lusid/models/order_graph_block.py +19 -3
  685. lusid/models/order_graph_block_allocation_detail.py +9 -1
  686. lusid/models/order_graph_block_allocation_synopsis.py +9 -1
  687. lusid/models/order_graph_block_execution_detail.py +9 -1
  688. lusid/models/order_graph_block_execution_synopsis.py +9 -1
  689. lusid/models/order_graph_block_order_detail.py +42 -5
  690. lusid/models/order_graph_block_order_synopsis.py +18 -3
  691. lusid/models/order_graph_block_placement_detail.py +9 -1
  692. lusid/models/order_graph_block_placement_synopsis.py +18 -3
  693. lusid/models/{upsert_reconciliation_run_request.py → order_graph_block_transaction_detail.py} +21 -15
  694. lusid/models/order_graph_block_transaction_synopsis.py +87 -0
  695. lusid/models/order_graph_placement.py +9 -1
  696. lusid/models/order_graph_placement_allocation_detail.py +9 -1
  697. lusid/models/order_graph_placement_allocation_synopsis.py +9 -1
  698. lusid/models/order_graph_placement_child_placement_detail.py +9 -1
  699. lusid/models/order_graph_placement_execution_detail.py +9 -1
  700. lusid/models/order_graph_placement_execution_synopsis.py +9 -1
  701. lusid/models/order_graph_placement_order_detail.py +9 -1
  702. lusid/models/order_graph_placement_order_synopsis.py +9 -1
  703. lusid/models/order_graph_placement_placement_synopsis.py +9 -1
  704. lusid/models/order_instruction.py +9 -1
  705. lusid/models/order_instruction_request.py +9 -1
  706. lusid/models/order_instruction_set_request.py +9 -1
  707. lusid/models/order_request.py +9 -1
  708. lusid/models/order_set_request.py +9 -1
  709. lusid/models/order_update_request.py +129 -0
  710. lusid/models/otc_confirmation.py +9 -1
  711. lusid/models/output_transaction.py +46 -3
  712. lusid/models/output_transition.py +9 -1
  713. lusid/models/package.py +9 -1
  714. lusid/models/package_request.py +9 -1
  715. lusid/models/package_set_request.py +9 -1
  716. lusid/models/paged_resource_list_of_abor.py +9 -1
  717. lusid/models/paged_resource_list_of_abor_configuration.py +9 -1
  718. lusid/models/paged_resource_list_of_account.py +9 -1
  719. lusid/models/paged_resource_list_of_address_key_definition.py +9 -1
  720. lusid/models/paged_resource_list_of_allocation.py +9 -1
  721. lusid/models/paged_resource_list_of_amortisation_rule_set.py +121 -0
  722. lusid/models/paged_resource_list_of_block.py +9 -1
  723. lusid/models/paged_resource_list_of_calendar.py +9 -1
  724. lusid/models/paged_resource_list_of_chart_of_accounts.py +9 -1
  725. lusid/models/paged_resource_list_of_cleardown_module_response.py +121 -0
  726. lusid/models/paged_resource_list_of_cleardown_module_rule.py +121 -0
  727. lusid/models/paged_resource_list_of_closed_period.py +121 -0
  728. lusid/models/paged_resource_list_of_compliance_rule_response.py +9 -1
  729. lusid/models/paged_resource_list_of_compliance_run_info_v2.py +9 -1
  730. lusid/models/paged_resource_list_of_compliance_template.py +9 -1
  731. lusid/models/paged_resource_list_of_corporate_action_source.py +9 -1
  732. lusid/models/paged_resource_list_of_custodian_account.py +9 -1
  733. lusid/models/paged_resource_list_of_custom_entity_definition.py +9 -1
  734. lusid/models/paged_resource_list_of_custom_entity_response.py +9 -1
  735. lusid/models/paged_resource_list_of_custom_entity_type.py +9 -1
  736. lusid/models/paged_resource_list_of_cut_label_definition.py +9 -1
  737. lusid/models/paged_resource_list_of_data_type_summary.py +9 -1
  738. lusid/models/paged_resource_list_of_dialect_id.py +9 -1
  739. lusid/models/paged_resource_list_of_diary_entry.py +9 -1
  740. lusid/models/paged_resource_list_of_execution.py +9 -1
  741. lusid/models/{paged_resource_list_of_reconciliation_run.py → paged_resource_list_of_fee.py} +20 -12
  742. lusid/models/paged_resource_list_of_fee_type.py +121 -0
  743. lusid/models/{paged_resource_list_of_reconciliation_run_break.py → paged_resource_list_of_fund.py} +20 -12
  744. lusid/models/paged_resource_list_of_fund_configuration.py +121 -0
  745. lusid/models/paged_resource_list_of_general_ledger_profile_response.py +9 -1
  746. lusid/models/paged_resource_list_of_group_reconciliation_comparison_result.py +121 -0
  747. lusid/models/paged_resource_list_of_group_reconciliation_comparison_ruleset.py +121 -0
  748. lusid/models/paged_resource_list_of_group_reconciliation_definition.py +121 -0
  749. lusid/models/paged_resource_list_of_instrument.py +9 -1
  750. lusid/models/paged_resource_list_of_instrument_event_holder.py +9 -1
  751. lusid/models/paged_resource_list_of_instrument_event_instruction.py +121 -0
  752. lusid/models/paged_resource_list_of_legal_entity.py +9 -1
  753. lusid/models/paged_resource_list_of_order.py +9 -1
  754. lusid/models/paged_resource_list_of_order_graph_block.py +9 -1
  755. lusid/models/paged_resource_list_of_order_graph_placement.py +9 -1
  756. lusid/models/paged_resource_list_of_order_instruction.py +9 -1
  757. lusid/models/paged_resource_list_of_package.py +9 -1
  758. lusid/models/paged_resource_list_of_participation.py +9 -1
  759. lusid/models/paged_resource_list_of_person.py +9 -1
  760. lusid/models/paged_resource_list_of_placement.py +9 -1
  761. lusid/models/paged_resource_list_of_portfolio_group.py +9 -1
  762. lusid/models/paged_resource_list_of_portfolio_group_search_result.py +9 -1
  763. lusid/models/paged_resource_list_of_portfolio_search_result.py +9 -1
  764. lusid/models/paged_resource_list_of_posting_module_response.py +9 -1
  765. lusid/models/paged_resource_list_of_posting_module_rule.py +9 -1
  766. lusid/models/paged_resource_list_of_property_definition.py +121 -0
  767. lusid/models/paged_resource_list_of_property_definition_search_result.py +9 -1
  768. lusid/models/paged_resource_list_of_reconciliation.py +9 -1
  769. lusid/models/paged_resource_list_of_reference_list_response.py +9 -1
  770. lusid/models/paged_resource_list_of_relationship_definition.py +9 -1
  771. lusid/models/paged_resource_list_of_sequence_definition.py +9 -1
  772. lusid/models/paged_resource_list_of_staged_modification.py +121 -0
  773. lusid/models/paged_resource_list_of_staged_modifications_requested_change_interval.py +121 -0
  774. lusid/models/paged_resource_list_of_staging_rule_set.py +121 -0
  775. lusid/models/paged_resource_list_of_transaction_template.py +121 -0
  776. lusid/models/paged_resource_list_of_transaction_template_specification.py +121 -0
  777. lusid/models/paged_resource_list_of_translation_script_id.py +9 -1
  778. lusid/models/paged_resource_list_of_valuation_point_overview.py +121 -0
  779. lusid/models/paged_resource_list_of_virtual_row.py +9 -1
  780. lusid/models/paged_resource_list_of_workspace.py +121 -0
  781. lusid/models/paged_resource_list_of_workspace_item.py +121 -0
  782. lusid/models/participation.py +9 -1
  783. lusid/models/participation_request.py +12 -10
  784. lusid/models/participation_set_request.py +9 -1
  785. lusid/models/percent_check_step.py +118 -0
  786. lusid/models/percent_check_step_request.py +106 -0
  787. lusid/models/performance_return.py +9 -1
  788. lusid/models/performance_returns_metric.py +10 -2
  789. lusid/models/period_diary_entries_reopened_response.py +112 -0
  790. lusid/models/perpetual_property.py +9 -1
  791. lusid/models/person.py +26 -3
  792. lusid/models/place_blocks_request.py +85 -0
  793. lusid/models/placement.py +9 -1
  794. lusid/models/placement_request.py +9 -1
  795. lusid/models/placement_set_request.py +9 -1
  796. lusid/models/placement_update_request.py +129 -0
  797. lusid/models/pnl_journal_entry_line.py +103 -0
  798. lusid/models/portfolio.py +41 -9
  799. lusid/models/portfolio_cash_flow.py +9 -1
  800. lusid/models/portfolio_cash_ladder.py +9 -1
  801. lusid/models/portfolio_details.py +38 -6
  802. lusid/models/portfolio_entity.py +154 -0
  803. lusid/models/portfolio_entity_id.py +11 -19
  804. lusid/models/portfolio_group.py +9 -1
  805. lusid/models/portfolio_group_id_compliance_parameter.py +12 -4
  806. lusid/models/portfolio_group_id_list.py +13 -5
  807. lusid/models/portfolio_group_id_list_compliance_parameter.py +12 -4
  808. lusid/models/portfolio_group_properties.py +9 -1
  809. lusid/models/portfolio_group_search_result.py +9 -1
  810. lusid/models/portfolio_holding.py +52 -4
  811. lusid/models/portfolio_id.py +88 -0
  812. lusid/models/portfolio_id_compliance_parameter.py +12 -4
  813. lusid/models/portfolio_id_list.py +13 -5
  814. lusid/models/portfolio_id_list_compliance_parameter.py +12 -4
  815. lusid/models/portfolio_properties.py +16 -2
  816. lusid/models/portfolio_reconciliation_request.py +9 -1
  817. lusid/models/portfolio_result_data_key_rule.py +9 -1
  818. lusid/models/portfolio_return_breakdown.py +9 -1
  819. lusid/models/portfolio_search_result.py +12 -4
  820. lusid/models/portfolio_trade_ticket.py +9 -1
  821. lusid/models/portfolio_type.py +1 -0
  822. lusid/models/portfolio_without_href.py +228 -0
  823. lusid/models/portfolios_reconciliation_request.py +9 -1
  824. lusid/models/posting_module_details.py +9 -1
  825. lusid/models/posting_module_request.py +9 -1
  826. lusid/models/posting_module_response.py +9 -1
  827. lusid/models/posting_module_rule.py +14 -6
  828. lusid/models/posting_module_rules_updated_response.py +9 -1
  829. lusid/models/pre_trade_configuration.py +77 -0
  830. lusid/models/premium.py +9 -1
  831. lusid/models/previous_fund_valuation_point_data.py +81 -0
  832. lusid/models/{action_result_of_portfolio.py → previous_nav.py} +24 -18
  833. lusid/models/previous_share_class_breakdown.py +89 -0
  834. lusid/models/pricing_context.py +17 -3
  835. lusid/models/pricing_model.py +3 -1
  836. lusid/models/pricing_options.py +17 -3
  837. lusid/models/processed_command.py +9 -1
  838. lusid/models/property_definition.py +34 -5
  839. lusid/models/property_definition_entity.py +154 -0
  840. lusid/models/property_definition_search_result.py +15 -5
  841. lusid/models/property_domain.py +41 -0
  842. lusid/models/property_filter.py +9 -1
  843. lusid/models/property_interval.py +9 -1
  844. lusid/models/property_key_compliance_parameter.py +12 -4
  845. lusid/models/property_key_list_compliance_parameter.py +12 -4
  846. lusid/models/property_list.py +107 -0
  847. lusid/models/property_list_compliance_parameter.py +103 -0
  848. lusid/models/property_schema.py +9 -1
  849. lusid/models/property_value.py +9 -1
  850. lusid/models/property_value_equals.py +9 -1
  851. lusid/models/property_value_in.py +9 -1
  852. lusid/models/protection_payout_cash_flow_event.py +110 -0
  853. lusid/models/query_applicable_instrument_events_request.py +97 -0
  854. lusid/models/query_bucketed_cash_flows_request.py +9 -1
  855. lusid/models/query_cash_flows_request.py +9 -1
  856. lusid/models/query_instrument_events_request.py +9 -1
  857. lusid/models/query_trade_tickets_request.py +9 -1
  858. lusid/models/queryable_key.py +132 -0
  859. lusid/models/quote.py +9 -1
  860. lusid/models/quote_access_metadata_rule.py +9 -1
  861. lusid/models/quote_access_metadata_rule_id.py +11 -3
  862. lusid/models/quote_dependency.py +9 -1
  863. lusid/models/quote_id.py +9 -1
  864. lusid/models/quote_series_id.py +15 -23
  865. lusid/models/quote_type.py +3 -0
  866. lusid/models/raw_vendor_event.py +14 -8
  867. lusid/models/re_open_period_diary_entry_request.py +92 -0
  868. lusid/models/realised_gain_loss.py +11 -3
  869. lusid/models/recipe_block.py +95 -0
  870. lusid/models/recipe_composer.py +108 -0
  871. lusid/models/recipe_value.py +95 -0
  872. lusid/models/recombine_step.py +109 -0
  873. lusid/models/recommended_sort_by.py +84 -0
  874. lusid/models/reconcile_date_time_rule.py +9 -1
  875. lusid/models/reconcile_numeric_rule.py +9 -1
  876. lusid/models/reconcile_string_rule.py +9 -1
  877. lusid/models/reconciled_transaction.py +9 -1
  878. lusid/models/reconciliation.py +9 -1
  879. lusid/models/reconciliation_break.py +9 -1
  880. lusid/models/reconciliation_configuration.py +9 -1
  881. lusid/models/reconciliation_id.py +9 -1
  882. lusid/models/reconciliation_left_right_address_key_pair.py +9 -1
  883. lusid/models/reconciliation_line.py +9 -1
  884. lusid/models/reconciliation_request.py +9 -1
  885. lusid/models/reconciliation_response.py +9 -1
  886. lusid/models/reconciliation_rule.py +9 -1
  887. lusid/models/reconciliation_side_configuration.py +9 -1
  888. lusid/models/reconciliation_transactions.py +9 -1
  889. lusid/models/reference_data.py +9 -1
  890. lusid/models/reference_instrument.py +12 -4
  891. lusid/models/reference_list.py +16 -6
  892. lusid/models/reference_list_request.py +9 -1
  893. lusid/models/reference_list_response.py +9 -1
  894. lusid/models/reference_list_type.py +2 -0
  895. lusid/models/reference_portfolio_constituent.py +9 -1
  896. lusid/models/reference_portfolio_constituent_request.py +9 -1
  897. lusid/models/related_entity.py +10 -2
  898. lusid/models/relation.py +9 -1
  899. lusid/models/relation_definition.py +9 -1
  900. lusid/models/relationship.py +9 -1
  901. lusid/models/relationship_definition.py +9 -1
  902. lusid/models/relative_date_offset.py +86 -0
  903. lusid/models/repo.py +12 -4
  904. lusid/models/requested_changes.py +84 -0
  905. lusid/models/reset_event.py +13 -7
  906. lusid/models/resource_id.py +9 -1
  907. lusid/models/resource_list_of_access_controlled_resource.py +9 -1
  908. lusid/models/resource_list_of_access_metadata_value_of.py +9 -1
  909. lusid/models/resource_list_of_address_key_definition.py +9 -1
  910. lusid/models/resource_list_of_aggregated_return.py +9 -1
  911. lusid/models/resource_list_of_aggregation_query.py +9 -1
  912. lusid/models/resource_list_of_allocation.py +9 -1
  913. lusid/models/resource_list_of_applicable_instrument_event.py +121 -0
  914. lusid/models/resource_list_of_block.py +9 -1
  915. lusid/models/resource_list_of_block_and_orders.py +121 -0
  916. lusid/models/resource_list_of_calendar_date.py +9 -1
  917. lusid/models/resource_list_of_change.py +9 -1
  918. lusid/models/resource_list_of_change_history.py +9 -1
  919. lusid/models/resource_list_of_change_interval.py +121 -0
  920. lusid/models/resource_list_of_change_interval_with_order_management_detail.py +121 -0
  921. lusid/models/resource_list_of_compliance_breached_order_info.py +9 -1
  922. lusid/models/resource_list_of_compliance_rule.py +9 -1
  923. lusid/models/resource_list_of_compliance_rule_result.py +9 -1
  924. lusid/models/resource_list_of_compliance_run_info.py +9 -1
  925. lusid/models/resource_list_of_constituents_adjustment_header.py +9 -1
  926. lusid/models/resource_list_of_corporate_action.py +9 -1
  927. lusid/models/resource_list_of_data_model_summary.py +121 -0
  928. lusid/models/resource_list_of_data_type.py +9 -1
  929. lusid/models/resource_list_of_execution.py +9 -1
  930. lusid/models/resource_list_of_fee_rule.py +9 -1
  931. lusid/models/resource_list_of_get_cds_flow_conventions_response.py +9 -1
  932. lusid/models/resource_list_of_get_counterparty_agreement_response.py +9 -1
  933. lusid/models/resource_list_of_get_credit_support_annex_response.py +9 -1
  934. lusid/models/resource_list_of_get_flow_conventions_response.py +9 -1
  935. lusid/models/resource_list_of_get_index_convention_response.py +9 -1
  936. lusid/models/resource_list_of_get_recipe_composer_response.py +121 -0
  937. lusid/models/resource_list_of_get_recipe_response.py +9 -1
  938. lusid/models/resource_list_of_holdings_adjustment_header.py +9 -1
  939. lusid/models/resource_list_of_i_unit_definition_dto.py +9 -1
  940. lusid/models/resource_list_of_instrument_cash_flow.py +9 -1
  941. lusid/models/resource_list_of_instrument_event_holder.py +9 -1
  942. lusid/models/resource_list_of_instrument_id_type_descriptor.py +9 -1
  943. lusid/models/resource_list_of_legal_entity.py +9 -1
  944. lusid/models/resource_list_of_list_complex_market_data_with_meta_data_response.py +9 -1
  945. lusid/models/resource_list_of_mapping.py +9 -1
  946. lusid/models/resource_list_of_moved_order_to_different_block_response.py +121 -0
  947. lusid/models/resource_list_of_order.py +9 -1
  948. lusid/models/resource_list_of_order_instruction.py +9 -1
  949. lusid/models/resource_list_of_output_transaction.py +121 -0
  950. lusid/models/resource_list_of_package.py +9 -1
  951. lusid/models/resource_list_of_participation.py +9 -1
  952. lusid/models/resource_list_of_performance_return.py +9 -1
  953. lusid/models/resource_list_of_person.py +9 -1
  954. lusid/models/resource_list_of_placement.py +9 -1
  955. lusid/models/resource_list_of_portfolio.py +9 -1
  956. lusid/models/resource_list_of_portfolio_cash_flow.py +9 -1
  957. lusid/models/resource_list_of_portfolio_cash_ladder.py +9 -1
  958. lusid/models/resource_list_of_portfolio_trade_ticket.py +9 -1
  959. lusid/models/resource_list_of_processed_command.py +9 -1
  960. lusid/models/resource_list_of_property.py +9 -1
  961. lusid/models/resource_list_of_property_definition.py +9 -1
  962. lusid/models/resource_list_of_property_interval.py +9 -1
  963. lusid/models/resource_list_of_queryable_key.py +121 -0
  964. lusid/models/resource_list_of_quote.py +9 -1
  965. lusid/models/resource_list_of_quote_access_metadata_rule.py +9 -1
  966. lusid/models/resource_list_of_reconciliation_break.py +9 -1
  967. lusid/models/resource_list_of_relation.py +9 -1
  968. lusid/models/resource_list_of_relationship.py +9 -1
  969. lusid/models/resource_list_of_scope_definition.py +9 -1
  970. lusid/models/resource_list_of_side_definition.py +9 -1
  971. lusid/models/resource_list_of_string.py +9 -1
  972. lusid/models/resource_list_of_tax_rule_set.py +9 -1
  973. lusid/models/resource_list_of_transaction.py +9 -1
  974. lusid/models/resource_list_of_transaction_type.py +9 -1
  975. lusid/models/resource_list_of_value_type.py +9 -1
  976. lusid/models/response_meta_data.py +9 -1
  977. lusid/models/result_data_key_rule.py +9 -1
  978. lusid/models/result_data_schema.py +9 -1
  979. lusid/models/result_key_rule.py +9 -1
  980. lusid/models/result_value.py +9 -1
  981. lusid/models/result_value0_d.py +9 -1
  982. lusid/models/result_value_bool.py +9 -1
  983. lusid/models/result_value_currency.py +9 -1
  984. lusid/models/result_value_date_time_offset.py +9 -1
  985. lusid/models/result_value_decimal.py +9 -1
  986. lusid/models/result_value_dictionary.py +9 -1
  987. lusid/models/result_value_int.py +9 -1
  988. lusid/models/result_value_string.py +9 -1
  989. lusid/models/return_zero_pv_options.py +77 -0
  990. lusid/models/reverse_stock_split_event.py +135 -0
  991. lusid/models/rounding_configuration.py +9 -1
  992. lusid/models/rounding_configuration_component.py +9 -1
  993. lusid/models/rounding_convention.py +9 -1
  994. lusid/models/rules_interval.py +91 -0
  995. lusid/models/schedule.py +16 -6
  996. lusid/models/schedule_type.py +2 -0
  997. lusid/models/scope_definition.py +9 -1
  998. lusid/models/scrip_dividend_event.py +135 -0
  999. lusid/models/script_map_reference.py +102 -0
  1000. lusid/models/security_election.py +94 -0
  1001. lusid/models/security_offer_election.py +87 -0
  1002. lusid/models/sequence_definition.py +9 -1
  1003. lusid/models/set_amortisation_rules_request.py +81 -0
  1004. lusid/models/set_legal_entity_identifiers_request.py +9 -1
  1005. lusid/models/set_legal_entity_properties_request.py +9 -1
  1006. lusid/models/set_person_identifiers_request.py +9 -1
  1007. lusid/models/set_person_properties_request.py +9 -1
  1008. lusid/models/set_share_class_instruments_request.py +87 -0
  1009. lusid/models/set_transaction_configuration_alias.py +9 -1
  1010. lusid/models/set_transaction_configuration_source_request.py +9 -1
  1011. lusid/models/settlement_cycle.py +87 -0
  1012. lusid/models/settlement_schedule.py +86 -0
  1013. lusid/models/share_class_amount.py +79 -0
  1014. lusid/models/share_class_breakdown.py +162 -0
  1015. lusid/models/share_class_data.py +87 -0
  1016. lusid/models/share_class_dealing_breakdown.py +105 -0
  1017. lusid/models/share_class_details.py +135 -0
  1018. lusid/models/share_class_pnl_breakdown.py +118 -0
  1019. lusid/models/side_configuration_data.py +9 -1
  1020. lusid/models/side_configuration_data_request.py +9 -1
  1021. lusid/models/side_definition.py +17 -9
  1022. lusid/models/side_definition_request.py +18 -3
  1023. lusid/models/sides_definition_request.py +9 -8
  1024. lusid/models/simple_cash_flow_loan.py +12 -4
  1025. lusid/models/simple_instrument.py +12 -4
  1026. lusid/models/simple_rounding_convention.py +84 -0
  1027. lusid/models/specific_holding_pricing_info.py +83 -0
  1028. lusid/models/spin_off_event.py +148 -0
  1029. lusid/models/staged_modification.py +197 -0
  1030. lusid/models/staged_modification_decision.py +105 -0
  1031. lusid/models/staged_modification_decision_request.py +79 -0
  1032. lusid/models/staged_modification_effective_range.py +79 -0
  1033. lusid/models/staged_modification_staging_rule.py +93 -0
  1034. lusid/models/staged_modifications_entity_hrefs.py +111 -0
  1035. lusid/models/staged_modifications_info.py +86 -0
  1036. lusid/models/staged_modifications_requested_change_interval.py +121 -0
  1037. lusid/models/staging_rule.py +98 -0
  1038. lusid/models/staging_rule_approval_criteria.py +96 -0
  1039. lusid/models/staging_rule_match_criteria.py +103 -0
  1040. lusid/models/staging_rule_set.py +126 -0
  1041. lusid/models/step_schedule.py +12 -4
  1042. lusid/models/stock_dividend_event.py +135 -0
  1043. lusid/models/stock_split_event.py +51 -11
  1044. lusid/models/strategy.py +89 -0
  1045. lusid/models/stream.py +9 -1
  1046. lusid/models/string_compliance_parameter.py +12 -4
  1047. lusid/models/string_list.py +13 -5
  1048. lusid/models/string_list_compliance_parameter.py +12 -4
  1049. lusid/models/structured_result_data.py +9 -1
  1050. lusid/models/structured_result_data_id.py +9 -1
  1051. lusid/models/sub_holding_key_value_equals.py +9 -1
  1052. lusid/models/swap_cash_flow_event.py +105 -0
  1053. lusid/models/swap_principal_event.py +105 -0
  1054. lusid/models/target_tax_lot.py +32 -3
  1055. lusid/models/target_tax_lot_request.py +32 -3
  1056. lusid/models/tax_rule.py +9 -1
  1057. lusid/models/tax_rule_set.py +9 -1
  1058. lusid/models/template_field.py +87 -0
  1059. lusid/models/tender_event.py +180 -0
  1060. lusid/models/term_deposit.py +12 -4
  1061. lusid/models/term_deposit_interest_event.py +108 -0
  1062. lusid/models/term_deposit_principal_event.py +108 -0
  1063. lusid/models/timeline.py +143 -0
  1064. lusid/models/total_return_swap.py +41 -18
  1065. lusid/models/touch.py +9 -1
  1066. lusid/models/trade_ticket.py +9 -1
  1067. lusid/models/trading_conventions.py +81 -0
  1068. lusid/models/transaction.py +40 -4
  1069. lusid/models/transaction_configuration_data.py +9 -1
  1070. lusid/models/transaction_configuration_data_request.py +9 -1
  1071. lusid/models/transaction_configuration_movement_data.py +13 -5
  1072. lusid/models/transaction_configuration_movement_data_request.py +13 -5
  1073. lusid/models/transaction_configuration_type_alias.py +9 -1
  1074. lusid/models/transaction_currency_and_amount.py +89 -0
  1075. lusid/models/transaction_date_windows.py +93 -0
  1076. lusid/models/transaction_diagnostics.py +79 -0
  1077. lusid/models/transaction_field_map.py +110 -0
  1078. lusid/models/transaction_price.py +12 -4
  1079. lusid/models/transaction_price_and_type.py +89 -0
  1080. lusid/models/transaction_price_type.py +3 -0
  1081. lusid/models/transaction_property_map.py +89 -0
  1082. lusid/models/transaction_property_mapping.py +9 -1
  1083. lusid/models/transaction_property_mapping_request.py +9 -1
  1084. lusid/models/transaction_query_parameters.py +9 -1
  1085. lusid/models/transaction_reconciliation_request.py +9 -1
  1086. lusid/models/transaction_reconciliation_request_v2.py +9 -1
  1087. lusid/models/transaction_request.py +34 -4
  1088. lusid/models/transaction_set_configuration_data.py +9 -1
  1089. lusid/models/transaction_set_configuration_data_request.py +9 -1
  1090. lusid/models/transaction_template.py +108 -0
  1091. lusid/models/transaction_template_request.py +87 -0
  1092. lusid/models/transaction_template_specification.py +107 -0
  1093. lusid/models/transaction_type.py +9 -1
  1094. lusid/models/transaction_type_alias.py +9 -8
  1095. lusid/models/transaction_type_calculation.py +26 -13
  1096. lusid/models/transaction_type_details.py +81 -0
  1097. lusid/models/transaction_type_movement.py +30 -5
  1098. lusid/models/transaction_type_property_mapping.py +35 -3
  1099. lusid/models/transaction_type_request.py +9 -1
  1100. lusid/models/transactions_reconciliations_response.py +9 -1
  1101. lusid/models/transition_event.py +12 -4
  1102. lusid/models/translate_entities_inlined_request.py +9 -1
  1103. lusid/models/translate_entities_request.py +9 -1
  1104. lusid/models/translate_entities_response.py +9 -1
  1105. lusid/models/translate_instrument_definitions_request.py +9 -1
  1106. lusid/models/translate_instrument_definitions_response.py +9 -1
  1107. lusid/models/translate_trade_ticket_request.py +9 -1
  1108. lusid/models/translate_trade_tickets_response.py +9 -1
  1109. lusid/models/translation_context.py +83 -0
  1110. lusid/models/translation_input.py +9 -1
  1111. lusid/models/translation_result.py +9 -1
  1112. lusid/models/translation_script.py +18 -4
  1113. lusid/models/translation_script_id.py +9 -1
  1114. lusid/models/trial_balance.py +58 -15
  1115. lusid/models/trial_balance_query_parameters.py +23 -6
  1116. lusid/models/trigger_event.py +12 -4
  1117. lusid/models/typed_resource_id.py +9 -1
  1118. lusid/models/unitisation_data.py +81 -0
  1119. lusid/models/units_ratio.py +79 -0
  1120. lusid/models/update_amortisation_rule_set_details_request.py +101 -0
  1121. lusid/models/update_calendar_request.py +9 -1
  1122. lusid/models/update_compliance_template_request.py +103 -0
  1123. lusid/models/update_custom_entity_definition_request.py +9 -1
  1124. lusid/models/update_custom_entity_type_request.py +9 -1
  1125. lusid/models/update_cut_label_definition_request.py +9 -1
  1126. lusid/models/update_data_type_request.py +9 -1
  1127. lusid/models/update_derived_property_definition_request.py +13 -3
  1128. lusid/models/update_fee_type_request.py +104 -0
  1129. lusid/models/update_group_reconciliation_comparison_ruleset_request.py +99 -0
  1130. lusid/models/update_group_reconciliation_definition_request.py +115 -0
  1131. lusid/models/update_instrument_identifier_request.py +9 -1
  1132. lusid/models/update_orders_response.py +161 -0
  1133. lusid/models/update_placements_response.py +161 -0
  1134. lusid/models/update_portfolio_group_request.py +9 -1
  1135. lusid/models/update_portfolio_request.py +9 -1
  1136. lusid/models/update_property_definition_request.py +9 -1
  1137. lusid/models/update_reconciliation_request.py +9 -1
  1138. lusid/models/update_reference_data_request.py +95 -0
  1139. lusid/models/update_relationship_definition_request.py +9 -1
  1140. lusid/models/update_staging_rule_set_request.py +94 -0
  1141. lusid/models/update_tax_rule_set_request.py +9 -1
  1142. lusid/models/update_timeline_request.py +104 -0
  1143. lusid/models/update_unit_request.py +9 -1
  1144. lusid/models/upsert_cds_flow_conventions_request.py +9 -1
  1145. lusid/models/upsert_complex_market_data_request.py +9 -1
  1146. lusid/models/upsert_compliance_rule_request.py +9 -1
  1147. lusid/models/upsert_compliance_run_summary_request.py +9 -1
  1148. lusid/models/{compliance_run_summary.py → upsert_compliance_run_summary_result.py} +17 -9
  1149. lusid/models/upsert_corporate_action_request.py +9 -1
  1150. lusid/models/upsert_corporate_actions_response.py +9 -1
  1151. lusid/models/upsert_counterparty_agreement_request.py +9 -1
  1152. lusid/models/upsert_credit_support_annex_request.py +9 -1
  1153. lusid/models/upsert_custom_data_model_request.py +176 -0
  1154. lusid/models/upsert_custom_entities_response.py +29 -2
  1155. lusid/models/upsert_custom_entity_access_metadata_request.py +9 -1
  1156. lusid/models/upsert_dialect_request.py +87 -0
  1157. lusid/models/upsert_flow_conventions_request.py +9 -1
  1158. lusid/models/upsert_index_convention_request.py +9 -1
  1159. lusid/models/upsert_instrument_event_request.py +20 -3
  1160. lusid/models/upsert_instrument_events_response.py +9 -1
  1161. lusid/models/upsert_instrument_properties_response.py +9 -1
  1162. lusid/models/upsert_instrument_property_request.py +9 -1
  1163. lusid/models/upsert_instruments_response.py +29 -2
  1164. lusid/models/upsert_legal_entities_response.py +9 -1
  1165. lusid/models/upsert_legal_entity_access_metadata_request.py +9 -1
  1166. lusid/models/upsert_legal_entity_request.py +9 -1
  1167. lusid/models/upsert_person_access_metadata_request.py +9 -1
  1168. lusid/models/upsert_person_request.py +9 -1
  1169. lusid/models/upsert_persons_response.py +122 -0
  1170. lusid/models/upsert_portfolio_access_metadata_request.py +9 -1
  1171. lusid/models/upsert_portfolio_group_access_metadata_request.py +9 -1
  1172. lusid/models/upsert_portfolio_transactions_response.py +9 -1
  1173. lusid/models/upsert_quote_access_metadata_rule_request.py +9 -1
  1174. lusid/models/upsert_quote_request.py +10 -2
  1175. lusid/models/upsert_quotes_response.py +9 -1
  1176. lusid/models/upsert_recipe_composer_request.py +81 -0
  1177. lusid/models/upsert_recipe_request.py +12 -10
  1178. lusid/models/upsert_reference_portfolio_constituent_properties_request.py +92 -0
  1179. lusid/models/upsert_reference_portfolio_constituent_properties_response.py +123 -0
  1180. lusid/models/upsert_reference_portfolio_constituents_request.py +9 -1
  1181. lusid/models/upsert_reference_portfolio_constituents_response.py +9 -1
  1182. lusid/models/upsert_result_values_data_request.py +9 -1
  1183. lusid/models/upsert_returns_response.py +9 -1
  1184. lusid/models/upsert_single_structured_data_response.py +9 -1
  1185. lusid/models/upsert_structured_data_response.py +9 -1
  1186. lusid/models/upsert_structured_result_data_request.py +9 -1
  1187. lusid/models/upsert_transaction_properties_response.py +9 -1
  1188. lusid/models/upsert_translation_script_request.py +83 -0
  1189. lusid/models/upsert_valuation_point_request.py +130 -0
  1190. lusid/models/user.py +9 -1
  1191. lusid/models/valuation_point_data_query_parameters.py +81 -0
  1192. lusid/models/valuation_point_data_request.py +84 -0
  1193. lusid/models/valuation_point_data_response.py +164 -0
  1194. lusid/models/valuation_point_overview.py +133 -0
  1195. lusid/models/valuation_point_resource_list_of_accounted_transaction.py +133 -0
  1196. lusid/models/valuation_point_resource_list_of_journal_entry_line.py +133 -0
  1197. lusid/models/valuation_point_resource_list_of_pnl_journal_entry_line.py +133 -0
  1198. lusid/models/valuation_point_resource_list_of_trial_balance.py +133 -0
  1199. lusid/models/valuation_request.py +9 -1
  1200. lusid/models/valuation_schedule.py +19 -4
  1201. lusid/models/valuations_reconciliation_request.py +9 -1
  1202. lusid/models/vendor_dependency.py +9 -1
  1203. lusid/models/vendor_model_rule.py +9 -1
  1204. lusid/models/version.py +25 -10
  1205. lusid/models/version_summary_dto.py +9 -1
  1206. lusid/models/versioned_resource_list_of_a2_b_data_record.py +9 -1
  1207. lusid/models/versioned_resource_list_of_a2_b_movement_record.py +9 -1
  1208. lusid/models/versioned_resource_list_of_holding_contributor.py +9 -1
  1209. lusid/models/versioned_resource_list_of_journal_entry_line.py +9 -1
  1210. lusid/models/versioned_resource_list_of_output_transaction.py +9 -1
  1211. lusid/models/versioned_resource_list_of_portfolio_holding.py +9 -1
  1212. lusid/models/versioned_resource_list_of_transaction.py +9 -1
  1213. lusid/models/versioned_resource_list_of_trial_balance.py +9 -1
  1214. lusid/models/versioned_resource_list_with_warnings_of_portfolio_holding.py +9 -1
  1215. lusid/models/virtual_document.py +9 -1
  1216. lusid/models/virtual_document_row.py +9 -1
  1217. lusid/models/virtual_row.py +9 -1
  1218. lusid/models/warning.py +9 -1
  1219. lusid/models/weekend_mask.py +9 -1
  1220. lusid/models/weighted_instrument.py +29 -3
  1221. lusid/models/weighted_instrument_in_line_lookup_identifiers.py +97 -0
  1222. lusid/models/weighted_instruments.py +9 -1
  1223. lusid/models/workspace.py +100 -0
  1224. lusid/models/workspace_creation_request.py +86 -0
  1225. lusid/models/workspace_item.py +120 -0
  1226. lusid/models/workspace_item_creation_request.py +113 -0
  1227. lusid/models/workspace_item_update_request.py +95 -0
  1228. lusid/models/workspace_update_request.py +77 -0
  1229. lusid/models/yield_curve_data.py +12 -4
  1230. lusid/rest.py +75 -22
  1231. {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.1.684.dist-info}/METADATA +614 -245
  1232. lusid_sdk-2.1.684.dist-info/RECORD +1273 -0
  1233. {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.1.684.dist-info}/WHEEL +1 -1
  1234. lusid/extensions/api_client_builder.py +0 -138
  1235. lusid/models/configuration_recipe_snippet.py +0 -139
  1236. lusid/models/je_lines_query_parameters.py +0 -105
  1237. lusid/models/look_up_pricing_model_options.py +0 -93
  1238. lusid/models/reconciliation_break_id.py +0 -88
  1239. lusid/models/reconciliation_run_id.py +0 -85
  1240. lusid/models/upsert_reconciliation_break_request.py +0 -98
  1241. lusid_sdk-2.0.50b0.dist-info/RECORD +0 -917
@@ -19,7 +19,7 @@ import json
19
19
 
20
20
  from datetime import datetime
21
21
  from typing import Any, Dict, Optional, Union
22
- from pydantic import Field, StrictFloat, StrictInt, StrictStr, validator
22
+ from pydantic.v1 import Field, StrictFloat, StrictInt, StrictStr, validator
23
23
  from lusid.models.ex_dividend_configuration import ExDividendConfiguration
24
24
  from lusid.models.flow_convention_name import FlowConventionName
25
25
  from lusid.models.flow_conventions import FlowConventions
@@ -29,25 +29,25 @@ class FixedSchedule(Schedule):
29
29
  """
30
30
  Schedule for fixed coupon payments # noqa: E501
31
31
  """
32
- start_date: datetime = Field(..., alias="startDate", description="Date to start generate from")
33
- maturity_date: datetime = Field(..., alias="maturityDate", description="Date to generate to")
32
+ start_date: datetime = Field(..., alias="startDate", description="Date from which LUSID starts generating the payment schedule.")
33
+ maturity_date: datetime = Field(..., alias="maturityDate", description="Last date of the payment generation schedule. May not necessarily be the maturity date of the underlying instrument (e.g. in case the instrument has multiple payment schedules).")
34
34
  flow_conventions: Optional[FlowConventions] = Field(None, alias="flowConventions")
35
35
  coupon_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="couponRate", description="Coupon rate given as a fraction.")
36
36
  convention_name: Optional[FlowConventionName] = Field(None, alias="conventionName")
37
37
  ex_dividend_days: Optional[StrictInt] = Field(None, alias="exDividendDays", description="Optional. Number of calendar days in the ex-dividend period. If the settlement date falls in the ex-dividend period then the coupon paid is zero and the accrued interest is negative. If set, this must be a non-negative number. If not set, or set to 0, then there is no ex-dividend period. NOTE: This field is deprecated. If you wish to set the ExDividendDays on a bond, please use the ExDividendConfiguration.")
38
38
  notional: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Scaling factor, the quantity outstanding on which the rate will be paid.")
39
- payment_currency: Optional[StrictStr] = Field(None, alias="paymentCurrency", description="Payment currency. This does not have to be the same as the nominal bond or observation/reset currency.")
40
- stub_type: Optional[StrictStr] = Field(None, alias="stubType", description="StubType required of the schedule Supported string (enumeration) values are: [ShortFront, ShortBack, LongBack, LongFront, Both].")
39
+ payment_currency: StrictStr = Field(..., alias="paymentCurrency", description="Payment currency. This does not have to be the same as the nominal bond or observation/reset currency.")
40
+ stub_type: Optional[StrictStr] = Field(None, alias="stubType", description="When a payment schedule doesn't have regular payment intervals just because of the first and/or last coupons of the schedule, we call those irregular coupons stubs. This configuration specifies what type of stub is used when building the schedule Supported values are: None = this is a regular payment schedule with no stubs. DO NOT use it with irregular schedules or you will get incorrect and unexpected behaviour. ShortFront = this is an irregular payment schedule where only the first coupon is irregular, and covers a payment period that is shorter than the regular payment period. ShortBack = this is an irregular payment schedule where only the last coupon is irregular, and covers a payment period that is shorter than the regular payment period. LongFront = this is an irregular payment schedule where only the first coupon is irregular, and covers a payment period that is longer than the regular payment period. LongBack = this is an irregular payment schedule where only the last coupon is irregular, and covers a payment period that is longer than the regular payment period. Both = this is an irregular payment schedule where both the first and the last coupons are irregular, and the length of these periods is calculated based on the first coupon payment date that should have been explicitly set.")
41
41
  ex_dividend_configuration: Optional[ExDividendConfiguration] = Field(None, alias="exDividendConfiguration")
42
- schedule_type: StrictStr = Field(..., alias="scheduleType", description="The available values are: FixedSchedule, FloatSchedule, OptionalitySchedule, StepSchedule, Exercise, FxRateSchedule, Invalid")
42
+ schedule_type: StrictStr = Field(..., alias="scheduleType", description="The available values are: FixedSchedule, FloatSchedule, OptionalitySchedule, StepSchedule, Exercise, FxRateSchedule, FxLinkedNotionalSchedule, BondConversionSchedule, Invalid")
43
43
  additional_properties: Dict[str, Any] = {}
44
44
  __properties = ["scheduleType", "startDate", "maturityDate", "flowConventions", "couponRate", "conventionName", "exDividendDays", "notional", "paymentCurrency", "stubType", "exDividendConfiguration"]
45
45
 
46
46
  @validator('schedule_type')
47
47
  def schedule_type_validate_enum(cls, value):
48
48
  """Validates the enum"""
49
- if value not in ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'Invalid'):
50
- raise ValueError("must be one of enum values ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'Invalid')")
49
+ if value not in ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'FxLinkedNotionalSchedule', 'BondConversionSchedule', 'Invalid'):
50
+ raise ValueError("must be one of enum values ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'FxLinkedNotionalSchedule', 'BondConversionSchedule', 'Invalid')")
51
51
  return value
52
52
 
53
53
  class Config:
@@ -55,6 +55,14 @@ class FixedSchedule(Schedule):
55
55
  allow_population_by_field_name = True
56
56
  validate_assignment = True
57
57
 
58
+ def __str__(self):
59
+ """For `print` and `pprint`"""
60
+ return pprint.pformat(self.dict(by_alias=False))
61
+
62
+ def __repr__(self):
63
+ """For `print` and `pprint`"""
64
+ return self.to_str()
65
+
58
66
  def to_str(self) -> str:
59
67
  """Returns the string representation of the model using alias"""
60
68
  return pprint.pformat(self.dict(by_alias=True))
@@ -94,11 +102,6 @@ class FixedSchedule(Schedule):
94
102
  if self.ex_dividend_days is None and "ex_dividend_days" in self.__fields_set__:
95
103
  _dict['exDividendDays'] = None
96
104
 
97
- # set to None if payment_currency (nullable) is None
98
- # and __fields_set__ contains the field
99
- if self.payment_currency is None and "payment_currency" in self.__fields_set__:
100
- _dict['paymentCurrency'] = None
101
-
102
105
  # set to None if stub_type (nullable) is None
103
106
  # and __fields_set__ contains the field
104
107
  if self.stub_type is None and "stub_type" in self.__fields_set__:
@@ -0,0 +1,113 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ LUSID API
5
+
6
+ FINBOURNE Technology # noqa: E501
7
+
8
+ Contact: info@finbourne.com
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from datetime import datetime
21
+ from typing import Any, Dict, List
22
+ from pydantic.v1 import Field, StrictStr, conlist, validator
23
+ from lusid.models.lusid_instrument import LusidInstrument
24
+ from lusid.models.schedule import Schedule
25
+
26
+ class FlexibleDeposit(LusidInstrument):
27
+ """
28
+ LUSID flexible deposit instrument. Represents the basic building block of a bank account structure that can handle deferred interest payments. # noqa: E501
29
+ """
30
+ start_date: datetime = Field(..., alias="startDate", description="The start date of the instrument. This is normally synonymous with the trade-date.")
31
+ maturity_date: datetime = Field(..., alias="maturityDate", description="The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it.")
32
+ dom_ccy: StrictStr = Field(..., alias="domCcy", description="The domestic currency of the instrument.")
33
+ schedules: conlist(Schedule) = Field(..., description="Repayment schedules for the deposit instrument.")
34
+ instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument, LoanFacility, FlexibleDeposit")
35
+ additional_properties: Dict[str, Any] = {}
36
+ __properties = ["instrumentType", "startDate", "maturityDate", "domCcy", "schedules"]
37
+
38
+ @validator('instrument_type')
39
+ def instrument_type_validate_enum(cls, value):
40
+ """Validates the enum"""
41
+ if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash', 'MasteredInstrument', 'LoanFacility', 'FlexibleDeposit'):
42
+ raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash', 'MasteredInstrument', 'LoanFacility', 'FlexibleDeposit')")
43
+ return value
44
+
45
+ class Config:
46
+ """Pydantic configuration"""
47
+ allow_population_by_field_name = True
48
+ validate_assignment = True
49
+
50
+ def __str__(self):
51
+ """For `print` and `pprint`"""
52
+ return pprint.pformat(self.dict(by_alias=False))
53
+
54
+ def __repr__(self):
55
+ """For `print` and `pprint`"""
56
+ return self.to_str()
57
+
58
+ def to_str(self) -> str:
59
+ """Returns the string representation of the model using alias"""
60
+ return pprint.pformat(self.dict(by_alias=True))
61
+
62
+ def to_json(self) -> str:
63
+ """Returns the JSON representation of the model using alias"""
64
+ return json.dumps(self.to_dict())
65
+
66
+ @classmethod
67
+ def from_json(cls, json_str: str) -> FlexibleDeposit:
68
+ """Create an instance of FlexibleDeposit from a JSON string"""
69
+ return cls.from_dict(json.loads(json_str))
70
+
71
+ def to_dict(self):
72
+ """Returns the dictionary representation of the model using alias"""
73
+ _dict = self.dict(by_alias=True,
74
+ exclude={
75
+ "additional_properties"
76
+ },
77
+ exclude_none=True)
78
+ # override the default output from pydantic by calling `to_dict()` of each item in schedules (list)
79
+ _items = []
80
+ if self.schedules:
81
+ for _item in self.schedules:
82
+ if _item:
83
+ _items.append(_item.to_dict())
84
+ _dict['schedules'] = _items
85
+ # puts key-value pairs in additional_properties in the top level
86
+ if self.additional_properties is not None:
87
+ for _key, _value in self.additional_properties.items():
88
+ _dict[_key] = _value
89
+
90
+ return _dict
91
+
92
+ @classmethod
93
+ def from_dict(cls, obj: dict) -> FlexibleDeposit:
94
+ """Create an instance of FlexibleDeposit from a dict"""
95
+ if obj is None:
96
+ return None
97
+
98
+ if not isinstance(obj, dict):
99
+ return FlexibleDeposit.parse_obj(obj)
100
+
101
+ _obj = FlexibleDeposit.parse_obj({
102
+ "instrument_type": obj.get("instrumentType"),
103
+ "start_date": obj.get("startDate"),
104
+ "maturity_date": obj.get("maturityDate"),
105
+ "dom_ccy": obj.get("domCcy"),
106
+ "schedules": [Schedule.from_dict(_item) for _item in obj.get("schedules")] if obj.get("schedules") is not None else None
107
+ })
108
+ # store additional fields in additional_properties
109
+ for _key in obj.keys():
110
+ if _key not in cls.__properties:
111
+ _obj.additional_properties[_key] = obj.get(_key)
112
+
113
+ return _obj
@@ -0,0 +1,113 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ LUSID API
5
+
6
+ FINBOURNE Technology # noqa: E501
7
+
8
+ Contact: info@finbourne.com
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from datetime import datetime
21
+ from typing import Any, Dict, List
22
+ from pydantic.v1 import Field, StrictStr, conlist, validator
23
+ from lusid.models.lusid_instrument import LusidInstrument
24
+ from lusid.models.schedule import Schedule
25
+
26
+ class FlexibleLoan(LusidInstrument):
27
+ """
28
+ LUSID flexible loan instrument. Represents the basic building block of a more complex loan structure that can handle deferred interest payments. # noqa: E501
29
+ """
30
+ start_date: datetime = Field(..., alias="startDate", description="The start date of the instrument. This is normally synonymous with the trade-date.")
31
+ maturity_date: datetime = Field(..., alias="maturityDate", description="The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it.")
32
+ dom_ccy: StrictStr = Field(..., alias="domCcy", description="The domestic currency of the instrument.")
33
+ schedules: conlist(Schedule) = Field(..., description="Repayment schedules for the loan.")
34
+ instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument, LoanFacility, FlexibleDeposit")
35
+ additional_properties: Dict[str, Any] = {}
36
+ __properties = ["instrumentType", "startDate", "maturityDate", "domCcy", "schedules"]
37
+
38
+ @validator('instrument_type')
39
+ def instrument_type_validate_enum(cls, value):
40
+ """Validates the enum"""
41
+ if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash', 'MasteredInstrument', 'LoanFacility', 'FlexibleDeposit'):
42
+ raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash', 'MasteredInstrument', 'LoanFacility', 'FlexibleDeposit')")
43
+ return value
44
+
45
+ class Config:
46
+ """Pydantic configuration"""
47
+ allow_population_by_field_name = True
48
+ validate_assignment = True
49
+
50
+ def __str__(self):
51
+ """For `print` and `pprint`"""
52
+ return pprint.pformat(self.dict(by_alias=False))
53
+
54
+ def __repr__(self):
55
+ """For `print` and `pprint`"""
56
+ return self.to_str()
57
+
58
+ def to_str(self) -> str:
59
+ """Returns the string representation of the model using alias"""
60
+ return pprint.pformat(self.dict(by_alias=True))
61
+
62
+ def to_json(self) -> str:
63
+ """Returns the JSON representation of the model using alias"""
64
+ return json.dumps(self.to_dict())
65
+
66
+ @classmethod
67
+ def from_json(cls, json_str: str) -> FlexibleLoan:
68
+ """Create an instance of FlexibleLoan from a JSON string"""
69
+ return cls.from_dict(json.loads(json_str))
70
+
71
+ def to_dict(self):
72
+ """Returns the dictionary representation of the model using alias"""
73
+ _dict = self.dict(by_alias=True,
74
+ exclude={
75
+ "additional_properties"
76
+ },
77
+ exclude_none=True)
78
+ # override the default output from pydantic by calling `to_dict()` of each item in schedules (list)
79
+ _items = []
80
+ if self.schedules:
81
+ for _item in self.schedules:
82
+ if _item:
83
+ _items.append(_item.to_dict())
84
+ _dict['schedules'] = _items
85
+ # puts key-value pairs in additional_properties in the top level
86
+ if self.additional_properties is not None:
87
+ for _key, _value in self.additional_properties.items():
88
+ _dict[_key] = _value
89
+
90
+ return _dict
91
+
92
+ @classmethod
93
+ def from_dict(cls, obj: dict) -> FlexibleLoan:
94
+ """Create an instance of FlexibleLoan from a dict"""
95
+ if obj is None:
96
+ return None
97
+
98
+ if not isinstance(obj, dict):
99
+ return FlexibleLoan.parse_obj(obj)
100
+
101
+ _obj = FlexibleLoan.parse_obj({
102
+ "instrument_type": obj.get("instrumentType"),
103
+ "start_date": obj.get("startDate"),
104
+ "maturity_date": obj.get("maturityDate"),
105
+ "dom_ccy": obj.get("domCcy"),
106
+ "schedules": [Schedule.from_dict(_item) for _item in obj.get("schedules")] if obj.get("schedules") is not None else None
107
+ })
108
+ # store additional fields in additional_properties
109
+ for _key in obj.keys():
110
+ if _key not in cls.__properties:
111
+ _obj.additional_properties[_key] = obj.get(_key)
112
+
113
+ return _obj
@@ -19,7 +19,8 @@ import json
19
19
 
20
20
  from datetime import datetime
21
21
  from typing import Any, Dict, Optional, Union
22
- from pydantic import Field, StrictFloat, StrictInt, StrictStr, validator
22
+ from pydantic.v1 import Field, StrictBool, StrictFloat, StrictInt, StrictStr, constr, validator
23
+ from lusid.models.compounding import Compounding
23
24
  from lusid.models.ex_dividend_configuration import ExDividendConfiguration
24
25
  from lusid.models.flow_convention_name import FlowConventionName
25
26
  from lusid.models.flow_conventions import FlowConventions
@@ -28,29 +29,32 @@ from lusid.models.schedule import Schedule
28
29
 
29
30
  class FloatSchedule(Schedule):
30
31
  """
31
- Schedule for fixed coupon payments # noqa: E501
32
+ Schedule for floating rate coupon payments. # noqa: E501
32
33
  """
33
- start_date: Optional[datetime] = Field(None, alias="startDate", description="Date to start generate from")
34
- maturity_date: Optional[datetime] = Field(None, alias="maturityDate", description="Date to generate to")
34
+ start_date: Optional[datetime] = Field(None, alias="startDate", description="Date from which LUSID starts generating the payment schedule.")
35
+ maturity_date: Optional[datetime] = Field(None, alias="maturityDate", description="Last date of the payment generation schedule. May not necessarily be the maturity date of the underlying instrument (e.g. in case the instrument has multiple payment schedules).")
35
36
  flow_conventions: Optional[FlowConventions] = Field(None, alias="flowConventions")
36
37
  convention_name: Optional[FlowConventionName] = Field(None, alias="conventionName")
37
38
  ex_dividend_days: Optional[StrictInt] = Field(None, alias="exDividendDays", description="Optional. Number of calendar days in the ex-dividend period. If the settlement date falls in the ex-dividend period then the coupon paid is zero and the accrued interest is negative. If set, this must be a non-negative number. If not set, or set to 0, then there is no ex-dividend period. NOTE: This field is deprecated. If you wish to set the ExDividendDays on a bond, please use the ExDividendConfiguration.")
38
39
  index_convention_name: Optional[FlowConventionName] = Field(None, alias="indexConventionName")
39
40
  index_conventions: Optional[IndexConvention] = Field(None, alias="indexConventions")
40
41
  notional: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Scaling factor, the quantity outstanding on which the rate will be paid.")
41
- payment_currency: Optional[StrictStr] = Field(None, alias="paymentCurrency", description="Payment currency. This does not have to be the same as the nominal bond or observation/reset currency.")
42
+ payment_currency: StrictStr = Field(..., alias="paymentCurrency", description="Payment currency. This does not have to be the same as the nominal bond or observation/reset currency.")
42
43
  spread: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Spread over floating rate given as a fraction.")
43
- stub_type: Optional[StrictStr] = Field(None, alias="stubType", description="StubType required of the schedule Supported string (enumeration) values are: [ShortFront, ShortBack, LongBack, LongFront, Both].")
44
+ stub_type: Optional[StrictStr] = Field(None, alias="stubType", description="When a payment schedule doesn't have regular payment intervals just because of the first and/or last coupons of the schedule, we call those irregular coupons stubs. This configuration specifies what type of stub is used when building the schedule Supported values are: None = this is a regular payment schedule with no stubs. DO NOT use it with irregular schedules or you will get incorrect and unexpected behaviour. ShortFront = this is an irregular payment schedule where only the first coupon is irregular, and covers a payment period that is shorter than the regular payment period. ShortBack = this is an irregular payment schedule where only the last coupon is irregular, and covers a payment period that is shorter than the regular payment period. LongFront = this is an irregular payment schedule where only the first coupon is irregular, and covers a payment period that is longer than the regular payment period. LongBack = this is an irregular payment schedule where only the last coupon is irregular, and covers a payment period that is longer than the regular payment period. Both = this is an irregular payment schedule where both the first and the last coupons are irregular, and the length of these periods is calculated based on the first coupon payment date that should have been explicitly set.")
44
45
  ex_dividend_configuration: Optional[ExDividendConfiguration] = Field(None, alias="exDividendConfiguration")
45
- schedule_type: StrictStr = Field(..., alias="scheduleType", description="The available values are: FixedSchedule, FloatSchedule, OptionalitySchedule, StepSchedule, Exercise, FxRateSchedule, Invalid")
46
+ compounding: Optional[Compounding] = None
47
+ reset_convention: Optional[constr(strict=True, max_length=16, min_length=0)] = Field(None, alias="resetConvention", description="Control how resets are generated relative to payment convention(s). Supported string (enumeration) values are: [InAdvance, InArrears].")
48
+ use_annualised_direct_rates: Optional[StrictBool] = Field(None, alias="useAnnualisedDirectRates", description="Flag indicating whether to use daily updated annualised interest rates for calculating the accrued interest. Defaults to false.")
49
+ schedule_type: StrictStr = Field(..., alias="scheduleType", description="The available values are: FixedSchedule, FloatSchedule, OptionalitySchedule, StepSchedule, Exercise, FxRateSchedule, FxLinkedNotionalSchedule, BondConversionSchedule, Invalid")
46
50
  additional_properties: Dict[str, Any] = {}
47
- __properties = ["scheduleType", "startDate", "maturityDate", "flowConventions", "conventionName", "exDividendDays", "indexConventionName", "indexConventions", "notional", "paymentCurrency", "spread", "stubType", "exDividendConfiguration"]
51
+ __properties = ["scheduleType", "startDate", "maturityDate", "flowConventions", "conventionName", "exDividendDays", "indexConventionName", "indexConventions", "notional", "paymentCurrency", "spread", "stubType", "exDividendConfiguration", "compounding", "resetConvention", "useAnnualisedDirectRates"]
48
52
 
49
53
  @validator('schedule_type')
50
54
  def schedule_type_validate_enum(cls, value):
51
55
  """Validates the enum"""
52
- if value not in ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'Invalid'):
53
- raise ValueError("must be one of enum values ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'Invalid')")
56
+ if value not in ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'FxLinkedNotionalSchedule', 'BondConversionSchedule', 'Invalid'):
57
+ raise ValueError("must be one of enum values ('FixedSchedule', 'FloatSchedule', 'OptionalitySchedule', 'StepSchedule', 'Exercise', 'FxRateSchedule', 'FxLinkedNotionalSchedule', 'BondConversionSchedule', 'Invalid')")
54
58
  return value
55
59
 
56
60
  class Config:
@@ -58,6 +62,14 @@ class FloatSchedule(Schedule):
58
62
  allow_population_by_field_name = True
59
63
  validate_assignment = True
60
64
 
65
+ def __str__(self):
66
+ """For `print` and `pprint`"""
67
+ return pprint.pformat(self.dict(by_alias=False))
68
+
69
+ def __repr__(self):
70
+ """For `print` and `pprint`"""
71
+ return self.to_str()
72
+
61
73
  def to_str(self) -> str:
62
74
  """Returns the string representation of the model using alias"""
63
75
  return pprint.pformat(self.dict(by_alias=True))
@@ -93,6 +105,9 @@ class FloatSchedule(Schedule):
93
105
  # override the default output from pydantic by calling `to_dict()` of ex_dividend_configuration
94
106
  if self.ex_dividend_configuration:
95
107
  _dict['exDividendConfiguration'] = self.ex_dividend_configuration.to_dict()
108
+ # override the default output from pydantic by calling `to_dict()` of compounding
109
+ if self.compounding:
110
+ _dict['compounding'] = self.compounding.to_dict()
96
111
  # puts key-value pairs in additional_properties in the top level
97
112
  if self.additional_properties is not None:
98
113
  for _key, _value in self.additional_properties.items():
@@ -103,16 +118,16 @@ class FloatSchedule(Schedule):
103
118
  if self.ex_dividend_days is None and "ex_dividend_days" in self.__fields_set__:
104
119
  _dict['exDividendDays'] = None
105
120
 
106
- # set to None if payment_currency (nullable) is None
107
- # and __fields_set__ contains the field
108
- if self.payment_currency is None and "payment_currency" in self.__fields_set__:
109
- _dict['paymentCurrency'] = None
110
-
111
121
  # set to None if stub_type (nullable) is None
112
122
  # and __fields_set__ contains the field
113
123
  if self.stub_type is None and "stub_type" in self.__fields_set__:
114
124
  _dict['stubType'] = None
115
125
 
126
+ # set to None if reset_convention (nullable) is None
127
+ # and __fields_set__ contains the field
128
+ if self.reset_convention is None and "reset_convention" in self.__fields_set__:
129
+ _dict['resetConvention'] = None
130
+
116
131
  return _dict
117
132
 
118
133
  @classmethod
@@ -137,7 +152,10 @@ class FloatSchedule(Schedule):
137
152
  "payment_currency": obj.get("paymentCurrency"),
138
153
  "spread": obj.get("spread"),
139
154
  "stub_type": obj.get("stubType"),
140
- "ex_dividend_configuration": ExDividendConfiguration.from_dict(obj.get("exDividendConfiguration")) if obj.get("exDividendConfiguration") is not None else None
155
+ "ex_dividend_configuration": ExDividendConfiguration.from_dict(obj.get("exDividendConfiguration")) if obj.get("exDividendConfiguration") is not None else None,
156
+ "compounding": Compounding.from_dict(obj.get("compounding")) if obj.get("compounding") is not None else None,
157
+ "reset_convention": obj.get("resetConvention"),
158
+ "use_annualised_direct_rates": obj.get("useAnnualisedDirectRates")
141
159
  })
142
160
  # store additional fields in additional_properties
143
161
  for _key in obj.keys():
@@ -19,7 +19,7 @@ import json
19
19
 
20
20
  from datetime import datetime
21
21
  from typing import Any, Dict, Optional, Union
22
- from pydantic import Field, StrictFloat, StrictInt, StrictStr, validator
22
+ from pydantic.v1 import Field, StrictFloat, StrictInt, StrictStr, validator
23
23
  from lusid.models.fixed_leg_all_of_overrides import FixedLegAllOfOverrides
24
24
  from lusid.models.instrument_leg import InstrumentLeg
25
25
  from lusid.models.leg_definition import LegDefinition
@@ -35,15 +35,15 @@ class FloatingLeg(InstrumentLeg):
35
35
  overrides: Optional[FixedLegAllOfOverrides] = None
36
36
  cap_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="capRate", description="The maximum floating rate which a cashflow can accrue.")
37
37
  floor_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="floorRate", description="The minimum floating rate which a cashflow can accrue.")
38
- instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg")
38
+ instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument, LoanFacility, FlexibleDeposit")
39
39
  additional_properties: Dict[str, Any] = {}
40
40
  __properties = ["instrumentType", "startDate", "maturityDate", "legDefinition", "notional", "overrides", "capRate", "floorRate"]
41
41
 
42
42
  @validator('instrument_type')
43
43
  def instrument_type_validate_enum(cls, value):
44
44
  """Validates the enum"""
45
- if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg'):
46
- raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg')")
45
+ if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash', 'MasteredInstrument', 'LoanFacility', 'FlexibleDeposit'):
46
+ raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash', 'MasteredInstrument', 'LoanFacility', 'FlexibleDeposit')")
47
47
  return value
48
48
 
49
49
  class Config:
@@ -51,6 +51,14 @@ class FloatingLeg(InstrumentLeg):
51
51
  allow_population_by_field_name = True
52
52
  validate_assignment = True
53
53
 
54
+ def __str__(self):
55
+ """For `print` and `pprint`"""
56
+ return pprint.pformat(self.dict(by_alias=False))
57
+
58
+ def __repr__(self):
59
+ """For `print` and `pprint`"""
60
+ return self.to_str()
61
+
54
62
  def to_str(self) -> str:
55
63
  """Returns the string representation of the model using alias"""
56
64
  return pprint.pformat(self.dict(by_alias=True))
@@ -19,7 +19,7 @@ import json
19
19
 
20
20
 
21
21
  from typing import Any, Dict, Optional
22
- from pydantic import BaseModel, Field, StrictStr, constr
22
+ from pydantic.v1 import BaseModel, Field, StrictStr, constr
23
23
 
24
24
  class FlowConventionName(BaseModel):
25
25
  """
@@ -27,7 +27,7 @@ class FlowConventionName(BaseModel):
27
27
  """
28
28
  currency: StrictStr = Field(..., description="Currency of the flow convention name.")
29
29
  index_name: Optional[StrictStr] = Field(None, alias="indexName", description="The index, if present, that is required. e.g. \"IBOR\", \"OIS\" or \"SONIA\".")
30
- tenor: constr(strict=True, min_length=1) = Field(..., description="Tenor for the convention name.")
30
+ tenor: constr(strict=True, min_length=1) = Field(..., description="Tenor for the convention name. For more information on tenors, see [knowledge base article KA-02097](https://support.lusid.com/knowledgebase/article/KA-02097)")
31
31
  __properties = ["currency", "indexName", "tenor"]
32
32
 
33
33
  class Config:
@@ -35,6 +35,14 @@ class FlowConventionName(BaseModel):
35
35
  allow_population_by_field_name = True
36
36
  validate_assignment = True
37
37
 
38
+ def __str__(self):
39
+ """For `print` and `pprint`"""
40
+ return pprint.pformat(self.dict(by_alias=False))
41
+
42
+ def __repr__(self):
43
+ """For `print` and `pprint`"""
44
+ return self.to_str()
45
+
38
46
  def to_str(self) -> str:
39
47
  """Returns the string representation of the model using alias"""
40
48
  return pprint.pformat(self.dict(by_alias=True))
@@ -19,26 +19,29 @@ import json
19
19
 
20
20
 
21
21
  from typing import Any, Dict, List, Optional
22
- from pydantic import BaseModel, Field, StrictBool, StrictInt, StrictStr, conlist, constr, validator
22
+ from pydantic.v1 import BaseModel, Field, StrictBool, StrictInt, StrictStr, conlist, constr, validator
23
+ from lusid.models.relative_date_offset import RelativeDateOffset
23
24
 
24
25
  class FlowConventions(BaseModel):
25
26
  """
26
27
  A flow convention defines the specification for generation of the date schedule for a leg or set of cashflows. It determines the tenor of these and, how to map the unadjusted set of dates to dates which are 'good business days'. For example, if an unadjusted date falls on a Saturday or a bank holiday, should it be rolled forward or backward to obtain the adjusted date. For more information, see https://support.lusid.com/knowledgebase/article/KA-02055/ # noqa: E501
27
28
  """
28
29
  currency: StrictStr = Field(..., description="Currency of the flow convention.")
29
- payment_frequency: constr(strict=True, max_length=50, min_length=0) = Field(..., alias="paymentFrequency", description="When generating a multiperiod flow, or when the maturity of the flow is not given but the start date is, the tenor is the time-step from the anchor-date to the nominal maturity of the flow prior to any adjustment.")
30
+ payment_frequency: constr(strict=True, max_length=50, min_length=0) = Field(..., alias="paymentFrequency", description="When generating a multiperiod flow, or when the maturity of the flow is not given but the start date is, the tenor is the time-step from the anchor-date to the nominal maturity of the flow prior to any adjustment. For more information on tenors, see [knowledge base article KA-02097](https://support.lusid.com/knowledgebase/article/KA-02097)")
30
31
  day_count_convention: constr(strict=True, max_length=50, min_length=0) = Field(..., alias="dayCountConvention", description="when calculating the fraction of a year between two dates, what convention is used to represent the number of days in a year and difference between them. For more information on day counts, see [knowledge base article KA-01798](https://support.lusid.com/knowledgebase/article/KA-01798) Supported string (enumeration) values are: [Actual360, Act360, MoneyMarket, Actual365, Act365, Thirty360, ThirtyU360, Bond, ThirtyE360, EuroBond, ActualActual, ActAct, ActActIsda, ActActIsma, ActActIcma, OneOne, Act364, Act365F, Act365L, Act365_25, Act252, Bus252, NL360, NL365, ActActAFB, Act365Cad, ThirtyActIsda, Thirty365Isda, ThirtyEActIsda, ThirtyE360Isda, ThirtyE365Isda, ThirtyU360EOM].")
31
- roll_convention: constr(strict=True, max_length=50, min_length=0) = Field(..., alias="rollConvention", description="For backward compatibility, this can either specify a business day convention or a roll convention. If the business day convention is provided using the BusinessDayConvention property, this must be a valid roll convention. When used as a roll convention: The conventions specifying the rule used to generate dates in a schedule. Supported string (enumeration) values are: [None, EndOfMonth, IMM, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]. When in backward compatible mode: Supported string (enumeration) values are: [NoAdjustment, None, Previous, P, Following, F, ModifiedPrevious, MP, ModifiedFollowing, MF, HalfMonthModifiedFollowing].")
32
+ roll_convention: constr(strict=True, max_length=50, min_length=0) = Field(..., alias="rollConvention", description="For backward compatibility, this can either specify a business day convention or a roll convention. If the business day convention is provided using the BusinessDayConvention property, this must be a valid roll convention. When used as a roll convention: The conventions specifying the rule used to generate dates in a schedule. Supported string (enumeration) values are: [None, EndOfMonth, IMM, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, FirstMonday, FirstWednesday, FirstThursday, ThirdWednesday]. When in backward compatible mode: Supported string (enumeration) values are: [NoAdjustment, None, Previous, P, Following, F, ModifiedPrevious, MP, ModifiedFollowing, MF, HalfMonthModifiedFollowing].")
32
33
  payment_calendars: conlist(StrictStr) = Field(..., alias="paymentCalendars", description="An array of strings denoting holiday calendars that apply to generation of payment schedules.")
33
34
  reset_calendars: conlist(StrictStr) = Field(..., alias="resetCalendars", description="An array of strings denoting holiday calendars that apply to generation of reset schedules.")
34
35
  settle_days: Optional[StrictInt] = Field(None, alias="settleDays", description="DEPRECATED Number of Good Business Days between the trade date and the effective or settlement date of the instrument. This field is now deprecated and not picked up in schedule generation or adjustment to bond accrual start date. Defaulted to 0 if not set.")
35
36
  reset_days: Optional[StrictInt] = Field(None, alias="resetDays", description="The number of Good Business Days between determination and payment of reset. Defaulted to 0 if not set.")
36
37
  leap_days_included: Optional[StrictBool] = Field(None, alias="leapDaysIncluded", description="If this flag is set to true, the 29th of February is included in the date schedule when the business roll convention is applied. If this flag is set to false, the business roll convention ignores February 29 for date schedules, cash flow payments etc. This flag defaults to true if not specified, i.e., leap days are included in a date schedule generation.")
37
- accrual_date_adjustment: Optional[constr(strict=True, max_length=50, min_length=0)] = Field(None, alias="accrualDateAdjustment", description="Indicates if the accrual dates are adjusted to the payment dates. The default value is 'Adjusted'. Supported string (enumeration) values are: [Adjusted, Unadjusted].")
38
+ accrual_date_adjustment: Optional[constr(strict=True, max_length=50, min_length=0)] = Field(None, alias="accrualDateAdjustment", description="Indicates if the accrual dates are adjusted using the business day convention. The default value is 'Adjusted'. Supported string (enumeration) values are: [Adjusted, Unadjusted].")
38
39
  business_day_convention: Optional[StrictStr] = Field(None, alias="businessDayConvention", description="When generating a set of dates, what convention should be used for adjusting dates that coincide with a non-business day. Supported string (enumeration) values are: [NoAdjustment, None, Previous, P, Following, F, ModifiedPrevious, MP, ModifiedFollowing, MF, HalfMonthModifiedFollowing, Nearest].")
40
+ accrual_day_count_convention: Optional[constr(strict=True, max_length=50, min_length=0)] = Field(None, alias="accrualDayCountConvention", description="Optional, if not set the main DayCountConvention is used for all accrual calculations. This only needs to be set when accrual uses a different day count to the coupon calculation.")
41
+ coupon_payment_lag: Optional[RelativeDateOffset] = Field(None, alias="couponPaymentLag")
39
42
  scope: Optional[constr(strict=True, max_length=256, min_length=1)] = Field(None, description="The scope used when updating or inserting the convention.")
40
43
  code: Optional[constr(strict=True, max_length=256, min_length=1)] = Field(None, description="The code of the convention.")
41
- __properties = ["currency", "paymentFrequency", "dayCountConvention", "rollConvention", "paymentCalendars", "resetCalendars", "settleDays", "resetDays", "leapDaysIncluded", "accrualDateAdjustment", "businessDayConvention", "scope", "code"]
44
+ __properties = ["currency", "paymentFrequency", "dayCountConvention", "rollConvention", "paymentCalendars", "resetCalendars", "settleDays", "resetDays", "leapDaysIncluded", "accrualDateAdjustment", "businessDayConvention", "accrualDayCountConvention", "couponPaymentLag", "scope", "code"]
42
45
 
43
46
  @validator('scope')
44
47
  def scope_validate_regular_expression(cls, value):
@@ -65,6 +68,14 @@ class FlowConventions(BaseModel):
65
68
  allow_population_by_field_name = True
66
69
  validate_assignment = True
67
70
 
71
+ def __str__(self):
72
+ """For `print` and `pprint`"""
73
+ return pprint.pformat(self.dict(by_alias=False))
74
+
75
+ def __repr__(self):
76
+ """For `print` and `pprint`"""
77
+ return self.to_str()
78
+
68
79
  def to_str(self) -> str:
69
80
  """Returns the string representation of the model using alias"""
70
81
  return pprint.pformat(self.dict(by_alias=True))
@@ -84,6 +95,9 @@ class FlowConventions(BaseModel):
84
95
  exclude={
85
96
  },
86
97
  exclude_none=True)
98
+ # override the default output from pydantic by calling `to_dict()` of coupon_payment_lag
99
+ if self.coupon_payment_lag:
100
+ _dict['couponPaymentLag'] = self.coupon_payment_lag.to_dict()
87
101
  # set to None if leap_days_included (nullable) is None
88
102
  # and __fields_set__ contains the field
89
103
  if self.leap_days_included is None and "leap_days_included" in self.__fields_set__:
@@ -99,6 +113,11 @@ class FlowConventions(BaseModel):
99
113
  if self.business_day_convention is None and "business_day_convention" in self.__fields_set__:
100
114
  _dict['businessDayConvention'] = None
101
115
 
116
+ # set to None if accrual_day_count_convention (nullable) is None
117
+ # and __fields_set__ contains the field
118
+ if self.accrual_day_count_convention is None and "accrual_day_count_convention" in self.__fields_set__:
119
+ _dict['accrualDayCountConvention'] = None
120
+
102
121
  # set to None if scope (nullable) is None
103
122
  # and __fields_set__ contains the field
104
123
  if self.scope is None and "scope" in self.__fields_set__:
@@ -132,6 +151,8 @@ class FlowConventions(BaseModel):
132
151
  "leap_days_included": obj.get("leapDaysIncluded"),
133
152
  "accrual_date_adjustment": obj.get("accrualDateAdjustment"),
134
153
  "business_day_convention": obj.get("businessDayConvention"),
154
+ "accrual_day_count_convention": obj.get("accrualDayCountConvention"),
155
+ "coupon_payment_lag": RelativeDateOffset.from_dict(obj.get("couponPaymentLag")) if obj.get("couponPaymentLag") is not None else None,
135
156
  "scope": obj.get("scope"),
136
157
  "code": obj.get("code")
137
158
  })