lusid-sdk 2.1.913__py3-none-any.whl → 2.1.915__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lusid/api/abor_api.py +66 -66
- lusid/api/abor_configuration_api.py +32 -32
- lusid/api/address_key_definition_api.py +10 -10
- lusid/api/aggregated_returns_api.py +12 -12
- lusid/api/aggregation_api.py +10 -10
- lusid/api/allocations_api.py +24 -24
- lusid/api/amortisation_rule_sets_api.py +24 -24
- lusid/api/application_metadata_api.py +6 -6
- lusid/api/blocks_api.py +18 -18
- lusid/api/calendars_api.py +34 -34
- lusid/api/chart_of_accounts_api.py +122 -122
- lusid/api/check_definitions_api.py +38 -38
- lusid/api/complex_market_data_api.py +36 -36
- lusid/api/compliance_api.py +34 -34
- lusid/api/configuration_recipe_api.py +20 -20
- lusid/api/conventions_api.py +18 -18
- lusid/api/corporate_action_sources_api.py +32 -32
- lusid/api/counterparties_api.py +12 -12
- lusid/api/custom_data_models_api.py +16 -16
- lusid/api/custom_entities_api.py +40 -40
- lusid/api/custom_entity_definitions_api.py +10 -10
- lusid/api/custom_entity_types_api.py +10 -10
- lusid/api/cut_label_definitions_api.py +8 -8
- lusid/api/data_types_api.py +34 -34
- lusid/api/derived_transaction_portfolios_api.py +6 -6
- lusid/api/entities_api.py +20 -20
- lusid/api/executions_api.py +18 -18
- lusid/api/fee_types_api.py +8 -8
- lusid/api/fund_configuration_api.py +38 -38
- lusid/api/funds_api.py +139 -130
- lusid/api/group_reconciliations_api.py +84 -84
- lusid/api/identifier_definitions_api.py +30 -30
- lusid/api/instrument_event_types_api.py +40 -40
- lusid/api/instrument_events_api.py +34 -34
- lusid/api/instruments_api.py +138 -138
- lusid/api/investment_accounts_api.py +24 -24
- lusid/api/investor_records_api.py +26 -26
- lusid/api/legacy_compliance_api.py +46 -46
- lusid/api/legal_entities_api.py +114 -114
- lusid/api/order_graph_api.py +6 -6
- lusid/api/order_instructions_api.py +18 -18
- lusid/api/order_management_api.py +28 -28
- lusid/api/orders_api.py +18 -18
- lusid/api/packages_api.py +18 -18
- lusid/api/participations_api.py +18 -18
- lusid/api/persons_api.py +114 -114
- lusid/api/placements_api.py +18 -18
- lusid/api/portfolio_groups_api.py +156 -156
- lusid/api/portfolios_api.py +128 -128
- lusid/api/property_definitions_api.py +74 -74
- lusid/api/queryable_keys_api.py +6 -6
- lusid/api/quotes_api.py +36 -36
- lusid/api/reconciliations_api.py +42 -42
- lusid/api/reference_lists_api.py +8 -8
- lusid/api/reference_portfolio_api.py +30 -30
- lusid/api/relation_definitions_api.py +14 -14
- lusid/api/relationship_definitions_api.py +32 -32
- lusid/api/scopes_api.py +12 -12
- lusid/api/scripted_translation_api.py +22 -22
- lusid/api/search_api.py +28 -28
- lusid/api/sequences_api.py +20 -20
- lusid/api/staged_modifications_api.py +20 -20
- lusid/api/staging_rule_set_api.py +18 -18
- lusid/api/structured_result_data_api.py +38 -38
- lusid/api/system_configuration_api.py +20 -20
- lusid/api/tax_rule_sets_api.py +34 -34
- lusid/api/timelines_api.py +68 -68
- lusid/api/transaction_configuration_api.py +18 -18
- lusid/api/transaction_fees_api.py +42 -42
- lusid/api/transaction_portfolios_api.py +450 -450
- lusid/api/transfer_agency_api.py +2 -2
- lusid/api/translation_api.py +4 -4
- lusid/api/workspace_api.py +24 -24
- lusid/configuration.py +1 -1
- lusid/models/access_metadata_value.py +1 -1
- lusid/models/accumulation_event.py +1 -1
- lusid/models/additional_payment.py +1 -1
- lusid/models/address_definition.py +2 -2
- lusid/models/adjust_global_commitment_event.py +2 -2
- lusid/models/adjust_holding_for_date_request.py +1 -1
- lusid/models/adjust_holding_request.py +1 -1
- lusid/models/aggregate_spec.py +1 -1
- lusid/models/aggregation_context.py +1 -1
- lusid/models/aggregation_options.py +3 -3
- lusid/models/allocation.py +1 -1
- lusid/models/amortisation_event.py +2 -2
- lusid/models/append_fx_forward_curve_by_quote_reference.py +1 -1
- lusid/models/asset_leg.py +2 -2
- lusid/models/basket.py +1 -1
- lusid/models/block.py +1 -1
- lusid/models/bond.py +5 -5
- lusid/models/bond_conversion_entry.py +3 -3
- lusid/models/bond_conversion_schedule.py +5 -5
- lusid/models/bond_coupon_event.py +1 -1
- lusid/models/bond_principal_event.py +1 -1
- lusid/models/bucketed_cash_flow_response.py +3 -3
- lusid/models/cancel_single_holding_adjustment_request.py +1 -1
- lusid/models/cap_floor.py +2 -2
- lusid/models/cash_and_security_offer_election.py +1 -1
- lusid/models/cash_dependency.py +2 -2
- lusid/models/cash_flow_event.py +1 -1
- lusid/models/cash_flow_lineage.py +2 -2
- lusid/models/cash_offer_election.py +1 -1
- lusid/models/cds_flow_conventions.py +5 -5
- lusid/models/cds_index.py +4 -4
- lusid/models/cds_protection_detail_specification.py +3 -3
- lusid/models/change_item.py +1 -1
- lusid/models/close_event.py +1 -1
- lusid/models/collateral.py +2 -2
- lusid/models/complex_bond.py +4 -4
- lusid/models/complex_market_data.py +1 -1
- lusid/models/complex_market_data_id.py +1 -1
- lusid/models/compounding.py +6 -6
- lusid/models/configuration_recipe.py +1 -1
- lusid/models/constant_volatility_surface.py +2 -2
- lusid/models/constituents_adjustment_header.py +1 -1
- lusid/models/contract_for_difference.py +6 -6
- lusid/models/conversion_event.py +9 -9
- lusid/models/corporate_action_transition_component_request.py +1 -1
- lusid/models/counterparty_agreement.py +1 -1
- lusid/models/counterparty_risk_information.py +1 -1
- lusid/models/counterparty_signatory.py +1 -1
- lusid/models/credit_default_swap.py +4 -4
- lusid/models/credit_premium_cash_flow_event.py +1 -1
- lusid/models/credit_rating.py +1 -1
- lusid/models/credit_spread_curve_data.py +3 -3
- lusid/models/credit_support_annex.py +6 -6
- lusid/models/curve_options.py +2 -2
- lusid/models/data_definition.py +3 -3
- lusid/models/data_map_key.py +1 -1
- lusid/models/data_mapping.py +1 -1
- lusid/models/dependency_source_filter.py +6 -6
- lusid/models/dialect.py +1 -1
- lusid/models/dialect_schema.py +1 -1
- lusid/models/discounting_dependency.py +2 -2
- lusid/models/dividend_option_event.py +1 -1
- lusid/models/dividend_reinvestment_event.py +1 -1
- lusid/models/early_redemption_election.py +1 -1
- lusid/models/early_redemption_event.py +2 -2
- lusid/models/economic_dependency.py +1 -1
- lusid/models/equity.py +1 -1
- lusid/models/equity_curve_by_prices_data.py +1 -1
- lusid/models/equity_curve_dependency.py +2 -2
- lusid/models/equity_model_options.py +1 -1
- lusid/models/equity_option.py +7 -7
- lusid/models/equity_swap.py +6 -6
- lusid/models/equity_vol_dependency.py +2 -2
- lusid/models/event_date_range.py +1 -1
- lusid/models/ex_dividend_configuration.py +3 -3
- lusid/models/exchange_traded_option.py +1 -1
- lusid/models/exchange_traded_option_contract_details.py +5 -5
- lusid/models/execution.py +1 -1
- lusid/models/exercise_event.py +1 -1
- lusid/models/exotic_instrument.py +1 -1
- lusid/models/expiry_event.py +1 -1
- lusid/models/fixed_leg.py +1 -1
- lusid/models/fixed_leg_all_of_overrides.py +1 -1
- lusid/models/fixed_schedule.py +3 -3
- lusid/models/flexible_deposit.py +2 -2
- lusid/models/flexible_loan.py +2 -2
- lusid/models/flexible_repo.py +10 -10
- lusid/models/flexible_repo_cash_flow_event.py +2 -2
- lusid/models/flexible_repo_collateral_event.py +2 -2
- lusid/models/flexible_repo_interest_payment_event.py +2 -2
- lusid/models/flexible_repo_partial_closure_event.py +5 -5
- lusid/models/float_schedule.py +5 -5
- lusid/models/floating_leg.py +1 -1
- lusid/models/flow_convention_name.py +1 -1
- lusid/models/flow_conventions.py +9 -9
- lusid/models/forward_rate_agreement.py +1 -1
- lusid/models/fund_calendar_entry.py +21 -1
- lusid/models/fund_share_class.py +4 -4
- lusid/models/fund_valuation_request.py +4 -4
- lusid/models/fund_valuation_schedule.py +4 -4
- lusid/models/funding_leg.py +3 -3
- lusid/models/future.py +4 -4
- lusid/models/future_expiry_event.py +1 -1
- lusid/models/future_mark_to_market_event.py +1 -1
- lusid/models/futures_contract_details.py +5 -5
- lusid/models/fx_conventions.py +1 -1
- lusid/models/fx_dependency.py +1 -1
- lusid/models/fx_forward.py +6 -6
- lusid/models/fx_forward_curve_by_quote_reference.py +3 -3
- lusid/models/fx_forward_model_options.py +1 -1
- lusid/models/fx_forward_settlement_event.py +6 -6
- lusid/models/fx_forward_tenor_curve_data.py +2 -2
- lusid/models/fx_forward_tenor_pips_curve_data.py +2 -2
- lusid/models/fx_forwards_dependency.py +3 -3
- lusid/models/fx_linked_notional_schedule.py +1 -1
- lusid/models/fx_option.py +8 -8
- lusid/models/fx_rate_schedule.py +1 -1
- lusid/models/fx_swap.py +2 -2
- lusid/models/fx_tenor_convention.py +1 -1
- lusid/models/fx_vol_dependency.py +2 -2
- lusid/models/get_reference_portfolio_constituents_response.py +1 -1
- lusid/models/group_of_market_data_key_rules.py +2 -2
- lusid/models/holding_context.py +1 -1
- lusid/models/holding_pricing_info.py +2 -2
- lusid/models/index_convention.py +4 -4
- lusid/models/index_projection_dependency.py +2 -2
- lusid/models/industry_classifier.py +1 -1
- lusid/models/inflation_index_conventions.py +4 -4
- lusid/models/inflation_leg.py +5 -5
- lusid/models/inflation_linked_bond.py +6 -6
- lusid/models/inflation_swap.py +3 -3
- lusid/models/informational_event.py +3 -3
- lusid/models/inline_valuation_request.py +6 -6
- lusid/models/inline_valuations_reconciliation_request.py +1 -1
- lusid/models/instrument_capabilities.py +1 -1
- lusid/models/instrument_definition_format.py +2 -2
- lusid/models/instrument_event.py +1 -1
- lusid/models/instrument_leg.py +1 -1
- lusid/models/interest_rate_swap.py +4 -4
- lusid/models/interest_rate_swaption.py +2 -2
- lusid/models/ir_vol_dependency.py +2 -2
- lusid/models/lapse_election.py +1 -1
- lusid/models/leg_definition.py +8 -8
- lusid/models/list_complex_market_data_with_meta_data_response.py +1 -1
- lusid/models/loan_facility.py +3 -3
- lusid/models/loan_facility_contract_rollover_event.py +2 -2
- lusid/models/loan_interest_repayment_event.py +2 -2
- lusid/models/loan_principal_repayment_event.py +3 -3
- lusid/models/lusid_instrument.py +1 -1
- lusid/models/lusid_trade_ticket.py +1 -1
- lusid/models/mark_to_market_conventions.py +1 -1
- lusid/models/market_context.py +4 -4
- lusid/models/market_context_suppliers.py +1 -1
- lusid/models/market_data_key_rule.py +7 -7
- lusid/models/market_data_options.py +1 -1
- lusid/models/market_data_specific_rule.py +6 -6
- lusid/models/market_data_type.py +1 -1
- lusid/models/market_options.py +1 -1
- lusid/models/market_quote.py +1 -1
- lusid/models/mastered_instrument.py +1 -1
- lusid/models/match_criterion.py +1 -1
- lusid/models/maturity_event.py +1 -1
- lusid/models/mbs_coupon_event.py +1 -1
- lusid/models/mbs_interest_deferral_event.py +1 -1
- lusid/models/mbs_interest_shortfall_event.py +1 -1
- lusid/models/mbs_principal_event.py +1 -1
- lusid/models/mbs_principal_write_off_event.py +1 -1
- lusid/models/model_options.py +1 -1
- lusid/models/model_selection.py +1 -1
- lusid/models/opaque_dependency.py +1 -1
- lusid/models/opaque_market_data.py +3 -3
- lusid/models/option_entry.py +1 -1
- lusid/models/option_exercise_cash_event.py +3 -3
- lusid/models/option_exercise_election.py +1 -1
- lusid/models/option_exercise_physical_event.py +3 -3
- lusid/models/optionality_schedule.py +2 -2
- lusid/models/order_flow_configuration.py +1 -1
- lusid/models/partial_closure_constituent.py +3 -3
- lusid/models/portfolio_result_data_key_rule.py +1 -1
- lusid/models/pre_trade_configuration.py +1 -1
- lusid/models/pricing_context.py +3 -3
- lusid/models/pricing_options.py +9 -9
- lusid/models/property_domain.py +1 -1
- lusid/models/property_reference_data_value.py +1 -1
- lusid/models/quote_dependency.py +1 -1
- lusid/models/quote_series_id.py +1 -1
- lusid/models/raw_vendor_event.py +1 -1
- lusid/models/recipe_value.py +1 -1
- lusid/models/reconcile_date_time_rule.py +1 -1
- lusid/models/reconcile_numeric_rule.py +1 -1
- lusid/models/reconcile_string_rule.py +1 -1
- lusid/models/reconciled_transaction.py +2 -2
- lusid/models/reconciliation_line.py +1 -1
- lusid/models/reconciliation_request.py +3 -3
- lusid/models/reconciliation_rule.py +1 -1
- lusid/models/relative_date_offset.py +2 -2
- lusid/models/repo.py +8 -8
- lusid/models/repo_cash_flow_event.py +4 -4
- lusid/models/repo_partial_closure_event.py +5 -5
- lusid/models/repurchase_offer_event.py +4 -4
- lusid/models/reset_event.py +1 -1
- lusid/models/result_data_key_rule.py +1 -1
- lusid/models/result_data_schema.py +1 -1
- lusid/models/result_key_rule.py +1 -1
- lusid/models/result_value.py +1 -1
- lusid/models/result_value0_d.py +1 -1
- lusid/models/result_value_date_time_offset.py +1 -1
- lusid/models/result_value_decimal.py +1 -1
- lusid/models/result_value_int.py +1 -1
- lusid/models/return_zero_pv_options.py +1 -1
- lusid/models/rounding_convention.py +4 -4
- lusid/models/schedule.py +1 -1
- lusid/models/scrip_dividend_event.py +1 -1
- lusid/models/security_election.py +2 -2
- lusid/models/security_offer_election.py +1 -1
- lusid/models/side_configuration_data.py +1 -1
- lusid/models/side_configuration_data_request.py +1 -1
- lusid/models/simple_cash_flow_loan.py +2 -2
- lusid/models/simple_instrument.py +2 -2
- lusid/models/simple_rounding_convention.py +2 -2
- lusid/models/step_schedule.py +3 -3
- lusid/models/stock_dividend_event.py +1 -1
- lusid/models/structured_result_data.py +1 -1
- lusid/models/swap_cash_flow_event.py +1 -1
- lusid/models/swap_principal_event.py +1 -1
- lusid/models/tender_offer_election.py +1 -1
- lusid/models/term_deposit.py +1 -1
- lusid/models/term_deposit_interest_event.py +1 -1
- lusid/models/term_deposit_principal_event.py +1 -1
- lusid/models/time_zone_conventions.py +1 -1
- lusid/models/total_return_swap.py +3 -3
- lusid/models/trading_conventions.py +3 -3
- lusid/models/transaction_reconciliation_request_v2.py +3 -3
- lusid/models/translate_entities_inlined_request.py +1 -1
- lusid/models/translate_entities_request.py +1 -1
- lusid/models/translate_instrument_definitions_request.py +1 -1
- lusid/models/translate_trade_ticket_request.py +1 -1
- lusid/models/translation_input.py +1 -1
- lusid/models/trigger_event.py +1 -1
- lusid/models/typed_resource_id.py +2 -2
- lusid/models/unmatched_holding_method.py +1 -1
- lusid/models/upsert_cds_flow_conventions_request.py +1 -1
- lusid/models/upsert_counterparty_agreement_request.py +1 -1
- lusid/models/upsert_flow_conventions_request.py +1 -1
- lusid/models/upsert_fund_bookmark_request.py +3 -3
- lusid/models/upsert_index_convention_request.py +1 -1
- lusid/models/upsert_quote_request.py +1 -1
- lusid/models/upsert_recipe_request.py +1 -1
- lusid/models/valuation_request.py +5 -5
- lusid/models/valuation_schedule.py +5 -5
- lusid/models/valuations_reconciliation_request.py +2 -2
- lusid/models/vendor_model_rule.py +3 -3
- lusid/models/virtual_document.py +1 -1
- lusid/models/weighted_instrument.py +2 -2
- lusid/models/weighted_instrument_in_line_lookup_identifiers.py +1 -1
- {lusid_sdk-2.1.913.dist-info → lusid_sdk-2.1.915.dist-info}/METADATA +3 -3
- {lusid_sdk-2.1.913.dist-info → lusid_sdk-2.1.915.dist-info}/RECORD +332 -332
- {lusid_sdk-2.1.913.dist-info → lusid_sdk-2.1.915.dist-info}/WHEEL +0 -0
lusid/models/fx_forward.py
CHANGED
@@ -25,19 +25,19 @@ from lusid.models.time_zone_conventions import TimeZoneConventions
|
|
25
25
|
|
26
26
|
class FxForward(LusidInstrument):
|
27
27
|
"""
|
28
|
-
LUSID representation of an FX Forward.
|
28
|
+
LUSID representation of an FX Forward. Including FX Spot and Non-Deliverable Forwards. This instrument has multiple legs, to see how legs are used in LUSID see [knowledge base article KA-02252](https://support.lusid.com/knowledgebase/article/KA-02252). | Leg Index | Leg Identifier | Description | | --------- | -------------- | ----------- | | 1 | DomesticLeg | Cash flows in the domestic currency of the forward. | | 2 | ForeignLeg | Cash flows in the foreign currency of the forward (not present for non-deliverable forwards). | # noqa: E501
|
29
29
|
"""
|
30
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.
|
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
32
|
dom_amount: Union[StrictFloat, StrictInt] = Field(..., alias="domAmount", description="The amount that is to be paid in the domestic currency on the maturity date.")
|
33
33
|
dom_ccy: StrictStr = Field(...,alias="domCcy", description="The domestic currency of the instrument.")
|
34
34
|
fgn_amount: Union[StrictFloat, StrictInt] = Field(..., alias="fgnAmount", description="The amount that is to be paid in the foreign currency on the maturity date.")
|
35
|
-
fgn_ccy: StrictStr = Field(...,alias="fgnCcy", description="The foreign (other) currency of the instrument. In the NDF case, only payments are made in the domestic currency.
|
35
|
+
fgn_ccy: StrictStr = Field(...,alias="fgnCcy", description="The foreign (other) currency of the instrument. In the NDF case, only payments are made in the domestic currency. For the outright forward, currencies are exchanged.")
|
36
36
|
ref_spot_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="refSpotRate", description="The reference Fx Spot rate for currency pair Foreign-Domestic that was seen on the trade start date (time).")
|
37
|
-
is_ndf: Optional[StrictBool] = Field(None, alias="isNdf", description="Is the contract an Fx-Forward of \"Non-Deliverable\" type, meaning a single payment in the domestic currency based on the change in fx-rate vs
|
37
|
+
is_ndf: Optional[StrictBool] = Field(None, alias="isNdf", description="Is the contract an Fx-Forward of \"Non-Deliverable\" type, meaning a single payment in the domestic currency based on the change in fx-rate vs a reference rate is used.")
|
38
38
|
fixing_date: Optional[datetime] = Field(None, alias="fixingDate", description="The fixing date.")
|
39
|
-
settlement_ccy: Optional[StrictStr] = Field(None,alias="settlementCcy", description="The settlement currency.
|
40
|
-
booked_as_spot: Optional[StrictBool] = Field(None, alias="bookedAsSpot", description="Boolean flag for FX Forward transactions booked with Spot settlement. This will default to False if not provided.
|
39
|
+
settlement_ccy: Optional[StrictStr] = Field(None,alias="settlementCcy", description="The settlement currency. If provided, present value will be calculated in settlement currency, otherwise the domestic currency. Applies only to non-deliverable FX Forwards.")
|
40
|
+
booked_as_spot: Optional[StrictBool] = Field(None, alias="bookedAsSpot", description="Boolean flag for FX Forward transactions booked with Spot settlement. This will default to False if not provided. For information purposes only, this does not impact LUSID valuation, analytics, cashflows or events, but may be used by third party vendors.")
|
41
41
|
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
42
42
|
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, FlexibleRepo")
|
43
43
|
additional_properties: Dict[str, Any] = {}
|
@@ -30,12 +30,12 @@ class FxForwardCurveByQuoteReference(ComplexMarketData):
|
|
30
30
|
"""
|
31
31
|
dom_ccy: StrictStr = Field(...,alias="domCcy", description="Domestic currency of the fx forward")
|
32
32
|
fgn_ccy: StrictStr = Field(...,alias="fgnCcy", description="Foreign currency of the fx forward")
|
33
|
-
tenors: conlist(StrictStr) = Field(..., description="Tenors for which the forward rates apply.
|
34
|
-
quote_references: conlist(Dict[str, StrictStr]) = Field(..., alias="quoteReferences", description="For each tenor, a collection of identifiers. These will be looked up in the LUSID Quote Store to resolve the actual rates.
|
33
|
+
tenors: conlist(StrictStr) = Field(..., description="Tenors for which the forward rates apply. For more information on tenors, see [knowledge base article KA-02097](https://support.lusid.com/knowledgebase/article/KA-02097)")
|
34
|
+
quote_references: conlist(Dict[str, StrictStr]) = Field(..., alias="quoteReferences", description="For each tenor, a collection of identifiers. These will be looked up in the LUSID Quote Store to resolve the actual rates. Accepts an array of Dictionary<string, string>. The keys of each dictionary must be chosen from the following enumeration: [LusidInstrumentId, Isin, Sedol, Cusip, ClientInternal, Figi, RIC, QuotePermId, REDCode, BBGId, ICECode]. For example: \"quoteReferences\": [{\"ClientInternal\": \"SomeIdentifierForFirstTenor\"},{\"ClientInternal\": \"SomeIdentifierForSecondTenor\"}")
|
35
35
|
lineage: Optional[StrictStr] = Field(None,alias="lineage", description="Description of the complex market data's lineage e.g. 'FundAccountant_GreenQuality'.")
|
36
36
|
market_data_options: Optional[MarketDataOptions] = Field(None, alias="marketDataOptions")
|
37
37
|
calendars: Optional[conlist(FxTenorConvention)] = Field(None, description="The list of conventions that should be used when interpreting tenors as dates.")
|
38
|
-
spot_days_calculation_type: Optional[StrictStr] = Field(None,alias="spotDaysCalculationType", description="Configures how to calculate the spot date from the build date using the Calendars provided.
|
38
|
+
spot_days_calculation_type: Optional[StrictStr] = Field(None,alias="spotDaysCalculationType", description="Configures how to calculate the spot date from the build date using the Calendars provided. Supported string (enumeration) values are: [ SingleCalendar, UnionCalendars ]")
|
39
39
|
market_data_type: StrictStr = Field(...,alias="marketDataType", description="The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData, ConstantVolatilitySurface")
|
40
40
|
additional_properties: Dict[str, Any] = {}
|
41
41
|
__properties = ["marketDataType", "domCcy", "fgnCcy", "tenors", "quoteReferences", "lineage", "marketDataOptions", "calendars", "spotDaysCalculationType"]
|
@@ -28,7 +28,7 @@ class FxForwardModelOptions(ModelOptions):
|
|
28
28
|
"""
|
29
29
|
forward_rate_observable_type: StrictStr = Field(...,alias="forwardRateObservableType", description="The available values are: ForwardPoints, ForwardRate, RatesCurve, FxForwardCurve, Invalid")
|
30
30
|
discounting_method: StrictStr = Field(...,alias="discountingMethod", description="The available values are: Standard, ConstantTimeValueOfMoney, Invalid")
|
31
|
-
convert_to_report_ccy: StrictBool = Field(..., alias="convertToReportCcy", description="Convert all FX flows to the report currency
|
31
|
+
convert_to_report_ccy: StrictBool = Field(..., alias="convertToReportCcy", description="Convert all FX flows to the report currency By setting this all FX forwards will be priced using Forward Curves that have Report Currency as the base.")
|
32
32
|
model_options_type: StrictStr = Field(...,alias="modelOptionsType", description="The available values are: Invalid, OpaqueModelOptions, EmptyModelOptions, IndexModelOptions, FxForwardModelOptions, FundingLegModelOptions, EquityModelOptions, CdsModelOptions")
|
33
33
|
additional_properties: Dict[str, Any] = {}
|
34
34
|
__properties = ["modelOptionsType", "forwardRateObservableType", "discountingMethod", "convertToReportCcy"]
|
@@ -32,12 +32,12 @@ class FxForwardSettlementEvent(InstrumentEvent):
|
|
32
32
|
fgn_amount_per_unit: Union[StrictFloat, StrictInt] = Field(..., alias="fgnAmountPerUnit", description="Amount per unit in the FgnCcy (foreign currency)")
|
33
33
|
fgn_ccy: StrictStr = Field(...,alias="fgnCcy", description="The foreign currency of the forward.")
|
34
34
|
is_ndf: StrictBool = Field(..., alias="isNdf", description="Is this settlement corresponding to a deliverable forward, or an NDF")
|
35
|
-
fixing_date: Optional[datetime] = Field(None, alias="fixingDate", description="Optional. Required if the event is an NDF (i.e. if IsNdf = true).
|
36
|
-
settlement_ccy: Optional[StrictStr] = Field(None,alias="settlementCcy", description="Optional. Required if the event is an NDF (i.e. if IsNdf = true).
|
37
|
-
cash_flow_per_unit: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="cashFlowPerUnit", description="Optional. Required if the event is an NDF (i.e. if IsNdf = true).
|
38
|
-
domestic_to_foreign_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="domesticToForeignRate", description="Domestic currency to foreign currency FX rate.
|
39
|
-
domestic_to_settlement_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="domesticToSettlementRate", description="Domestic currency to settlement currency FX rate
|
40
|
-
foreign_to_settlement_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="foreignToSettlementRate", description="Foreign currency to settlement currency FX rate
|
35
|
+
fixing_date: Optional[datetime] = Field(None, alias="fixingDate", description="Optional. Required if the event is an NDF (i.e. if IsNdf = true). Date of the FxRate fixings.")
|
36
|
+
settlement_ccy: Optional[StrictStr] = Field(None,alias="settlementCcy", description="Optional. Required if the event is an NDF (i.e. if IsNdf = true). May be set to either DomCcy or FgnCcy, or a third currency.")
|
37
|
+
cash_flow_per_unit: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="cashFlowPerUnit", description="Optional. Required if the event is an NDF (i.e. if IsNdf = true). CashFlow per unit. Paid in the SettlementCcy.")
|
38
|
+
domestic_to_foreign_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="domesticToForeignRate", description="Domestic currency to foreign currency FX rate. Not required, only used to override quotes.")
|
39
|
+
domestic_to_settlement_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="domesticToSettlementRate", description="Domestic currency to settlement currency FX rate Not required, only used to override quotes.")
|
40
|
+
foreign_to_settlement_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="foreignToSettlementRate", description="Foreign currency to settlement currency FX rate Not required, only used to override quotes.")
|
41
41
|
instrument_event_type: StrictStr = Field(...,alias="instrumentEventType", description="The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent, CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent, MbsPrincipalEvent, BonusIssueEvent, MbsPrincipalWriteOffEvent, MbsInterestDeferralEvent, MbsInterestShortfallEvent, TenderEvent, CallOnIntermediateSecuritiesEvent, IntermediateSecuritiesDistributionEvent, OptionExercisePhysicalEvent, OptionExerciseCashEvent, ProtectionPayoutCashFlowEvent, TermDepositInterestEvent, TermDepositPrincipalEvent, EarlyRedemptionEvent, FutureMarkToMarketEvent, AdjustGlobalCommitmentEvent, ContractInitialisationEvent, DrawdownEvent, LoanInterestRepaymentEvent, UpdateDepositAmountEvent, LoanPrincipalRepaymentEvent, DepositInterestPaymentEvent, DepositCloseEvent, LoanFacilityContractRolloverEvent, RepurchaseOfferEvent, RepoPartialClosureEvent, RepoCashFlowEvent, FlexibleRepoInterestPaymentEvent, FlexibleRepoCashFlowEvent, FlexibleRepoCollateralEvent, ConversionEvent, FlexibleRepoPartialClosureEvent, FlexibleRepoFullClosureEvent")
|
42
42
|
additional_properties: Dict[str, Any] = {}
|
43
43
|
__properties = ["instrumentEventType", "maturityDate", "domAmountPerUnit", "domCcy", "fgnAmountPerUnit", "fgnCcy", "isNdf", "fixingDate", "settlementCcy", "cashFlowPerUnit", "domesticToForeignRate", "domesticToSettlementRate", "foreignToSettlementRate"]
|
@@ -31,12 +31,12 @@ class FxForwardTenorCurveData(ComplexMarketData):
|
|
31
31
|
base_date: datetime = Field(..., alias="baseDate", description="EffectiveAt date of the quoted rates")
|
32
32
|
dom_ccy: StrictStr = Field(...,alias="domCcy", description="Domestic currency of the fx forward")
|
33
33
|
fgn_ccy: StrictStr = Field(...,alias="fgnCcy", description="Foreign currency of the fx forward")
|
34
|
-
tenors: conlist(StrictStr) = Field(..., description="Tenors for which the forward rates apply.
|
34
|
+
tenors: conlist(StrictStr) = Field(..., description="Tenors for which the forward rates apply. For more information on tenors, see [knowledge base article KA-02097](https://support.lusid.com/knowledgebase/article/KA-02097)")
|
35
35
|
rates: conlist(Union[StrictFloat, StrictInt]) = Field(..., description="Rates provided for the fx forward (price in FgnCcy per unit of DomCcy)")
|
36
36
|
lineage: Optional[StrictStr] = Field(None,alias="lineage", description="Description of the complex market data's lineage e.g. 'FundAccountant_GreenQuality'.")
|
37
37
|
market_data_options: Optional[MarketDataOptions] = Field(None, alias="marketDataOptions")
|
38
38
|
calendars: Optional[conlist(FxTenorConvention)] = Field(None, description="The list of conventions that should be used when interpreting tenors as dates.")
|
39
|
-
spot_days_calculation_type: Optional[StrictStr] = Field(None,alias="spotDaysCalculationType", description="Configures how to calculate the spot date from the build date using the Calendars provided.
|
39
|
+
spot_days_calculation_type: Optional[StrictStr] = Field(None,alias="spotDaysCalculationType", description="Configures how to calculate the spot date from the build date using the Calendars provided. Supported string (enumeration) values are: [ SingleCalendar, UnionCalendars ]")
|
40
40
|
market_data_type: StrictStr = Field(...,alias="marketDataType", description="The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData, ConstantVolatilitySurface")
|
41
41
|
additional_properties: Dict[str, Any] = {}
|
42
42
|
__properties = ["marketDataType", "baseDate", "domCcy", "fgnCcy", "tenors", "rates", "lineage", "marketDataOptions", "calendars", "spotDaysCalculationType"]
|
@@ -31,12 +31,12 @@ class FxForwardTenorPipsCurveData(ComplexMarketData):
|
|
31
31
|
base_date: datetime = Field(..., alias="baseDate", description="EffectiveAt date of the quoted pip rates")
|
32
32
|
dom_ccy: StrictStr = Field(...,alias="domCcy", description="Domestic currency of the fx forward")
|
33
33
|
fgn_ccy: StrictStr = Field(...,alias="fgnCcy", description="Foreign currency of the fx forward")
|
34
|
-
tenors: conlist(StrictStr) = Field(..., description="Tenors for which the forward rates apply.
|
34
|
+
tenors: conlist(StrictStr) = Field(..., description="Tenors for which the forward rates apply. For more information on tenors, see [knowledge base article KA-02097](https://support.lusid.com/knowledgebase/article/KA-02097)")
|
35
35
|
pip_rates: conlist(Union[StrictFloat, StrictInt]) = Field(..., alias="pipRates", description="Rates provided for the fx forward (price in FgnCcy per unit of DomCcy), expressed in pips")
|
36
36
|
lineage: Optional[StrictStr] = Field(None,alias="lineage", description="Description of the complex market data's lineage e.g. 'FundAccountant_GreenQuality'.")
|
37
37
|
market_data_options: Optional[MarketDataOptions] = Field(None, alias="marketDataOptions")
|
38
38
|
calendars: Optional[conlist(FxTenorConvention)] = Field(None, description="The list of conventions that should be used when interpreting tenors as dates.")
|
39
|
-
spot_days_calculation_type: Optional[StrictStr] = Field(None,alias="spotDaysCalculationType", description="Configures how to calculate the spot date from the build date using the Calendars provided.
|
39
|
+
spot_days_calculation_type: Optional[StrictStr] = Field(None,alias="spotDaysCalculationType", description="Configures how to calculate the spot date from the build date using the Calendars provided. Supported string (enumeration) values are: [ SingleCalendar, UnionCalendars ]")
|
40
40
|
market_data_type: StrictStr = Field(...,alias="marketDataType", description="The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData, ConstantVolatilitySurface")
|
41
41
|
additional_properties: Dict[str, Any] = {}
|
42
42
|
__properties = ["marketDataType", "baseDate", "domCcy", "fgnCcy", "tenors", "pipRates", "lineage", "marketDataOptions", "calendars", "spotDaysCalculationType"]
|
@@ -24,12 +24,12 @@ from lusid.models.economic_dependency import EconomicDependency
|
|
24
24
|
|
25
25
|
class FxForwardsDependency(EconomicDependency):
|
26
26
|
"""
|
27
|
-
Indicates a dependency on an FxForwardCurve.
|
27
|
+
Indicates a dependency on an FxForwardCurve. Identical to Fx dependencies in the meaning of domestic and foreign currencies, but describes a *set* of fx rates. These rates are quoted rates for fx forwards, which can be used to interpolate the forward rate at a specific time in the future. In the case of pips, the absolute rates can be expressed as rate = spotFx + pips / pipsPerUnit # noqa: E501
|
28
28
|
"""
|
29
29
|
domestic_currency: StrictStr = Field(...,alias="domesticCurrency", description="DomesticCurrency is the first currency in a currency pair quote e.g. eur-gbp, eur is the domestic currency.")
|
30
30
|
foreign_currency: StrictStr = Field(...,alias="foreignCurrency", description="ForeignCurrency is the second currency in a currency pair quote e.g. eur-gbp, gbp is the foreign currency.")
|
31
|
-
curve_type: StrictStr = Field(...,alias="curveType", description="Used to describe the format in which the curve is expressed
|
32
|
-
var_date: datetime = Field(..., alias="date", description="The effectiveDate of the entity that this is a dependency for.
|
31
|
+
curve_type: StrictStr = Field(...,alias="curveType", description="Used to describe the format in which the curve is expressed e.g. FxFwdCurve (general term to describe any representation), TenorFxFwdCurve, PipsFxFwdCurve.")
|
32
|
+
var_date: datetime = Field(..., alias="date", description="The effectiveDate of the entity that this is a dependency for. Unless there is an obvious date this should be, like for a historic reset, then this is the valuation date.")
|
33
33
|
dependency_type: StrictStr = Field(...,alias="dependencyType", description="The available values are: OpaqueDependency, CashDependency, DiscountingDependency, EquityCurveDependency, EquityVolDependency, FxDependency, FxForwardsDependency, FxVolDependency, IndexProjectionDependency, IrVolDependency, QuoteDependency, Vendor, CalendarDependency, InflationFixingDependency")
|
34
34
|
additional_properties: Dict[str, Any] = {}
|
35
35
|
__properties = ["dependencyType", "domesticCurrency", "foreignCurrency", "curveType", "date"]
|
@@ -26,7 +26,7 @@ from lusid.models.schedule import Schedule
|
|
26
26
|
|
27
27
|
class FxLinkedNotionalSchedule(Schedule):
|
28
28
|
"""
|
29
|
-
Schedule for notional changes based on the change in FX rate.
|
29
|
+
Schedule for notional changes based on the change in FX rate. Used in the representation of a resettable cross currency interest rate swap. # noqa: E501
|
30
30
|
"""
|
31
31
|
fx_conventions: FxConventions = Field(..., alias="fxConventions")
|
32
32
|
varying_notional_currency: StrictStr = Field(...,alias="varyingNotionalCurrency", description="The currency of the varying notional amount.")
|
lusid/models/fx_option.py
CHANGED
@@ -28,24 +28,24 @@ from lusid.models.touch import Touch
|
|
28
28
|
|
29
29
|
class FxOption(LusidInstrument):
|
30
30
|
"""
|
31
|
-
LUSID representation of an FX Option.
|
31
|
+
LUSID representation of an FX Option. Including Vanilla, American, European, and Digital (Binary) options. # noqa: E501
|
32
32
|
"""
|
33
33
|
start_date: datetime = Field(..., alias="startDate", description="The start date of the instrument. This is normally synonymous with the trade-date.")
|
34
34
|
dom_ccy: StrictStr = Field(...,alias="domCcy", description="The domestic currency of the instrument.")
|
35
|
-
dom_amount: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="domAmount", description="The Amount of DomCcy that will be exchanged if the option is exercised.
|
35
|
+
dom_amount: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="domAmount", description="The Amount of DomCcy that will be exchanged if the option is exercised. This amount should be a positive number, with the Call/Put flag used to indicate direction. The corresponding amount of FgnCcy that will be exchanged is this amount times the strike. Note there is no rounding performed on this computed value. This is an optional field, if not set the option ContractSize will default to 1.")
|
36
36
|
fgn_ccy: StrictStr = Field(...,alias="fgnCcy", description="The foreign currency of the FX.")
|
37
|
-
fgn_amount: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="fgnAmount", description="For a vanilla FxOption contract, FgnAmount cannot be set.
|
37
|
+
fgn_amount: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="fgnAmount", description="For a vanilla FxOption contract, FgnAmount cannot be set. In case of a digital FxOption (IsPayoffDigital==true) a payoff (if the option is in the money) can be either in domestic or in foreign currency - for the latter FgnAmount must be set. Note: It is invalid to have FgnAmount and DomAmount at the same time.")
|
38
38
|
strike: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The strike of the option.")
|
39
|
-
barriers: Optional[conlist(Barrier)] = Field(None, description="For a barrier option the list should not be empty. Up to two barriers are supported.
|
40
|
-
exercise_type: Optional[StrictStr] = Field(None,alias="exerciseType", description="Type of optionality that is present; European, American.
|
39
|
+
barriers: Optional[conlist(Barrier)] = Field(None, description="For a barrier option the list should not be empty. Up to two barriers are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty.")
|
40
|
+
exercise_type: Optional[StrictStr] = Field(None,alias="exerciseType", description="Type of optionality that is present; European, American. Supported string (enumeration) values are: [European, American].")
|
41
41
|
is_call_not_put: StrictBool = Field(..., alias="isCallNotPut", description="True if the option is a call, false if the option is a put.")
|
42
42
|
is_delivery_not_cash: StrictBool = Field(..., alias="isDeliveryNotCash", description="True if the option delivers the FX underlying, False if the option is settled in cash.")
|
43
|
-
is_payoff_digital: Optional[StrictBool] = Field(None, alias="isPayoffDigital", description="By default IsPayoffDigital is false. If IsPayoffDigital=true,
|
43
|
+
is_payoff_digital: Optional[StrictBool] = Field(None, alias="isPayoffDigital", description="By default IsPayoffDigital is false. If IsPayoffDigital=true, the option is 'digital', and the option payoff is 0 or 1 unit of currency, instead of a vanilla CallPayoff=max(spot-strike,0) or PutPayoff=max(strike-spot,0).")
|
44
44
|
option_maturity_date: datetime = Field(..., alias="optionMaturityDate", description="The maturity date of the option.")
|
45
45
|
option_settlement_date: datetime = Field(..., alias="optionSettlementDate", description="The settlement date of the option.")
|
46
|
-
payout_style: Optional[StrictStr] = Field(None,alias="payoutStyle", description="PayoutStyle for touch options.
|
46
|
+
payout_style: Optional[StrictStr] = Field(None,alias="payoutStyle", description="PayoutStyle for touch options. For options without touch optionality, payoutStyle should not be set. For options with touch optionality (where the touches data has been set), payoutStyle must be defined and cannot be None. Supported string (enumeration) values are: [Deferred, Immediate].")
|
47
47
|
premium: Optional[Premium] = None
|
48
|
-
touches: Optional[conlist(Touch)] = Field(None, description="For a touch option the list should not be empty. Up to two touches are supported.
|
48
|
+
touches: Optional[conlist(Touch)] = Field(None, description="For a touch option the list should not be empty. Up to two touches are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty.")
|
49
49
|
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
50
50
|
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, FlexibleRepo")
|
51
51
|
additional_properties: Dict[str, Any] = {}
|
lusid/models/fx_rate_schedule.py
CHANGED
@@ -25,7 +25,7 @@ from lusid.models.schedule import Schedule
|
|
25
25
|
|
26
26
|
class FxRateSchedule(Schedule):
|
27
27
|
"""
|
28
|
-
Schedule to define fx conversion of cashflows on complex bonds. If an fx schedule is defined then
|
28
|
+
Schedule to define fx conversion of cashflows on complex bonds. If an fx schedule is defined then on payment schedule generation the coupon and principal payoffs will be wrapped in an fx rate payoff method. Either the fx rate is predefined (fixed) or relies on fx resets (floating). Used in representation of dual currency bond. # noqa: E501
|
29
29
|
"""
|
30
30
|
flow_conventions: Optional[FlowConventions] = Field(None, alias="flowConventions")
|
31
31
|
fx_conversion_types: Optional[conlist(StrictStr)] = Field(None, alias="fxConversionTypes", description="List of flags to indicate if coupon payments, principal payments or both are converted")
|
lusid/models/fx_swap.py
CHANGED
@@ -26,11 +26,11 @@ from lusid.models.time_zone_conventions import TimeZoneConventions
|
|
26
26
|
|
27
27
|
class FxSwap(LusidInstrument):
|
28
28
|
"""
|
29
|
-
LUSID representation of an FX Swap. Composed of two FX Forwards.
|
29
|
+
LUSID representation of an FX Swap. Composed of two FX Forwards. This instrument has multiple legs, to see how legs are used in LUSID see [knowledge base article KA-02252](https://support.lusid.com/knowledgebase/article/KA-02252). | Leg Index | Leg Identifier | Description | | --------- | -------------- | ----------- | | 1 | FarDomesticLeg | Cash flows in the domestic currency for the far forward. | | 2 | FarForeignLeg | Cash flows in the foreign currency for the far forward (not present for non-deliverable forwards). | | 3 | NearDomesticLeg | Cash flows in the domestic currency for the near forward. | | 4 | NearForeignLeg | Cash flows in the foreign currency for the near forward (not present for non-deliverable forwards). | # noqa: E501
|
30
30
|
"""
|
31
31
|
near_fx_forward: FxForward = Field(..., alias="nearFxForward")
|
32
32
|
far_fx_forward: FxForward = Field(..., alias="farFxForward")
|
33
|
-
notional_symmetry: Optional[StrictStr] = Field(None,alias="notionalSymmetry", description="The NotionalSymmetry allows for even and uneven FxSwaps to be supported.
|
33
|
+
notional_symmetry: Optional[StrictStr] = Field(None,alias="notionalSymmetry", description="The NotionalSymmetry allows for even and uneven FxSwaps to be supported. An even FxSwap is one where the near and far fx forwards have the same notional value on at least one of the legs. An uneven FxSwap is one where near and far fx forwards don't have the same notional on both the domestic and foreign legs. By default NotionalSymmetry will be set as even. Supported string (enumeration) values are: [Even, Uneven].")
|
34
34
|
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
35
35
|
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, FlexibleRepo")
|
36
36
|
additional_properties: Dict[str, Any] = {}
|
@@ -23,7 +23,7 @@ from pydantic.v1 import StrictStr, Field, BaseModel, Field, StrictInt, constr
|
|
23
23
|
|
24
24
|
class FxTenorConvention(BaseModel):
|
25
25
|
"""
|
26
|
-
A wrapper of conventions that should be used when interpreting tenors in the context of FX.
|
26
|
+
A wrapper of conventions that should be used when interpreting tenors in the context of FX. For instance, can be used to control how tenors are interpreted on an FxForwardTenorCurveData instance. # noqa: E501
|
27
27
|
"""
|
28
28
|
calendar_code: StrictStr = Field(...,alias="calendarCode", description="The code of the holiday calendar that should be used when interpreting FX tenors.")
|
29
29
|
spot_days: StrictInt = Field(..., alias="spotDays", description="The minimum number of business days that must pass within this calendar when calculating the spot date.")
|
@@ -24,12 +24,12 @@ from lusid.models.economic_dependency import EconomicDependency
|
|
24
24
|
|
25
25
|
class FxVolDependency(EconomicDependency):
|
26
26
|
"""
|
27
|
-
Economic dependency required to price FX derivative products that contain optionality.
|
27
|
+
Economic dependency required to price FX derivative products that contain optionality. FX Vol surface is a grid of implied volatilities for an array of strikes and tenors, derived from vanilla option prices in the market. # noqa: E501
|
28
28
|
"""
|
29
29
|
domestic_currency: StrictStr = Field(...,alias="domesticCurrency", description="DomesticCurrency is the first currency in a currency pair quote e.g. eur-gbp, eur is the domestic currency.")
|
30
30
|
foreign_currency: StrictStr = Field(...,alias="foreignCurrency", description="ForeignCurrency is the second currency in a currency pair quote e.g. eur-gbp, gbp is the foreign currency.")
|
31
31
|
vol_type: StrictStr = Field(...,alias="volType", description="Volatility type e.g. \"LN\" and \"N\" for log-normal and normal volatility.")
|
32
|
-
var_date: datetime = Field(..., alias="date", description="The effectiveDate of the entity that this is a dependency for.
|
32
|
+
var_date: datetime = Field(..., alias="date", description="The effectiveDate of the entity that this is a dependency for. Unless there is an obvious date this should be, like for a historic reset, then this is the valuation date.")
|
33
33
|
dependency_type: StrictStr = Field(...,alias="dependencyType", description="The available values are: OpaqueDependency, CashDependency, DiscountingDependency, EquityCurveDependency, EquityVolDependency, FxDependency, FxForwardsDependency, FxVolDependency, IndexProjectionDependency, IrVolDependency, QuoteDependency, Vendor, CalendarDependency, InflationFixingDependency")
|
34
34
|
additional_properties: Dict[str, Any] = {}
|
35
35
|
__properties = ["dependencyType", "domesticCurrency", "foreignCurrency", "volType", "date"]
|
@@ -32,7 +32,7 @@ class GetReferencePortfolioConstituentsResponse(BaseModel):
|
|
32
32
|
period_type: Optional[StrictStr] = Field(None,alias="periodType", description="The available values are: Daily, Weekly, Monthly, Quarterly, Annually")
|
33
33
|
period_count: Optional[StrictInt] = Field(None, alias="periodCount")
|
34
34
|
constituents: conlist(ReferencePortfolioConstituent) = Field(..., description="Set of constituents (instrument/weight pairings)")
|
35
|
-
href: Optional[StrictStr] = Field(None,alias="href", description="The Uri that returns the same result as the original request,
|
35
|
+
href: Optional[StrictStr] = Field(None,alias="href", description="The Uri that returns the same result as the original request, but may include resolved as at time(s).")
|
36
36
|
links: Optional[conlist(Link)] = None
|
37
37
|
__properties = ["effectiveFrom", "weightType", "periodType", "periodCount", "constituents", "href", "links"]
|
38
38
|
|
@@ -24,9 +24,9 @@ from lusid.models.market_data_key_rule import MarketDataKeyRule
|
|
24
24
|
|
25
25
|
class GroupOfMarketDataKeyRules(BaseModel):
|
26
26
|
"""
|
27
|
-
Represents a collection of MarketDataKeyRules that should be resolved together when resolving market data.
|
27
|
+
Represents a collection of MarketDataKeyRules that should be resolved together when resolving market data. That is, market data resolution will always attempt to resolve with all rules in the group before deciding what market data to return. # noqa: E501
|
28
28
|
"""
|
29
|
-
market_data_key_rule_group_operation: StrictStr = Field(...,alias="marketDataKeyRuleGroupOperation", description="The operation that will be used to process the collection of market data items and failures found on resolution
|
29
|
+
market_data_key_rule_group_operation: StrictStr = Field(...,alias="marketDataKeyRuleGroupOperation", description="The operation that will be used to process the collection of market data items and failures found on resolution into a single market data item or failure to be used. Supported values: [FirstLatest, AverageOfQuotesFound, AverageOfAllQuotes, FirstMinimum, FirstMaximum]")
|
30
30
|
market_rules: conlist(MarketDataKeyRule) = Field(..., alias="marketRules", description="The rules that should be grouped together in market data resolution.")
|
31
31
|
__properties = ["marketDataKeyRuleGroupOperation", "marketRules"]
|
32
32
|
|
lusid/models/holding_context.py
CHANGED
@@ -23,7 +23,7 @@ from pydantic.v1 import StrictStr, Field, BaseModel, Field, StrictBool
|
|
23
23
|
|
24
24
|
class HoldingContext(BaseModel):
|
25
25
|
"""
|
26
|
-
Holding context node.
|
26
|
+
Holding context node. Contains settings that control how LUSID handles holdings within portfolios. # noqa: E501
|
27
27
|
"""
|
28
28
|
tax_lot_level_holdings: Optional[StrictBool] = Field(None, alias="taxLotLevelHoldings", description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to True.")
|
29
29
|
__properties = ["taxLotLevelHoldings"]
|
@@ -24,10 +24,10 @@ from lusid.models.specific_holding_pricing_info import SpecificHoldingPricingInf
|
|
24
24
|
|
25
25
|
class HoldingPricingInfo(BaseModel):
|
26
26
|
"""
|
27
|
-
Enables price quotes to be created from Holding fields as either overrides or fallbacks to the Market Data
|
27
|
+
Enables price quotes to be created from Holding fields as either overrides or fallbacks to the Market Data resolution process. For example, we may wish to price an instrument at Cost if Market Data resolution fails. We may also wish to always price Bonds using the LastTradedPrice on the corresponding Holding. # noqa: E501
|
28
28
|
"""
|
29
29
|
fallback_field: Optional[StrictStr] = Field(None,alias="fallbackField", description="The default Holding field to fall back on if the Market Data resolution process fails to find a price quote.")
|
30
|
-
override_field: Optional[StrictStr] = Field(None,alias="overrideField", description="The default Holding field to be used as an override for instrument price quotes. This cannot be specified
|
30
|
+
override_field: Optional[StrictStr] = Field(None,alias="overrideField", description="The default Holding field to be used as an override for instrument price quotes. This cannot be specified along with a FallbackField or any SpecificFallbacks, since we'll never attempt Market Data resolution for price quotes if this field is populated.")
|
31
31
|
specific_fallbacks: Optional[conlist(SpecificHoldingPricingInfo)] = Field(None, alias="specificFallbacks", description="Allows a user to specify fallbacks using Holding fields for sources that match a particular DependencySourceFilter.")
|
32
32
|
specific_overrides: Optional[conlist(SpecificHoldingPricingInfo)] = Field(None, alias="specificOverrides", description="Allows a user to specify overrides using Holding fields for sources that match a particular DependencySourceFilter.")
|
33
33
|
__properties = ["fallbackField", "overrideField", "specificFallbacks", "specificOverrides"]
|
lusid/models/index_convention.py
CHANGED
@@ -23,14 +23,14 @@ from pydantic.v1 import StrictStr, Field, BaseModel, Field, StrictInt, StrictStr
|
|
23
23
|
|
24
24
|
class IndexConvention(BaseModel):
|
25
25
|
"""
|
26
|
-
A set of conventions that describe the conventions for calculation of payments made on rates interbank lending and similar.
|
26
|
+
A set of conventions that describe the conventions for calculation of payments made on rates interbank lending and similar. Based on ISDA 2006 conventions and similar documentation. Please see the knowledge base for further documentation. # noqa: E501
|
27
27
|
"""
|
28
28
|
fixing_reference: StrictStr = Field(...,alias="fixingReference", description="The reference rate name for fixings.")
|
29
29
|
publication_day_lag: StrictInt = Field(..., alias="publicationDayLag", description="Number of days between spot and publication of the rate.")
|
30
|
-
payment_tenor: StrictStr = Field(...,alias="paymentTenor", description="The tenor of the payment. For an OIS index this is always 1 day. For other indices, e.g. LIBOR it will have a variable tenor typically between 1 day and 1 year.
|
31
|
-
day_count_convention: StrictStr = 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
|
30
|
+
payment_tenor: StrictStr = Field(...,alias="paymentTenor", description="The tenor of the payment. For an OIS index this is always 1 day. For other indices, e.g. LIBOR it will have a variable tenor typically between 1 day and 1 year. For more information on tenors, see [knowledge base article KA-02097](https://support.lusid.com/knowledgebase/article/KA-02097)")
|
31
|
+
day_count_convention: StrictStr = 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].")
|
32
32
|
currency: StrictStr = Field(...,alias="currency", description="Currency of the index convention.")
|
33
|
-
index_name: Optional[StrictStr] = Field(None,alias="indexName", description="The name of the index for which this represents the conventions of.
|
33
|
+
index_name: Optional[StrictStr] = Field(None,alias="indexName", description="The name of the index for which this represents the conventions of. For instance, \"SOFR\", \"LIBOR\", \"EURIBOR\", etc. Defaults to \"INDEX\" if not specified.")
|
34
34
|
scope: Optional[StrictStr] = Field(None,alias="scope", description="The scope used when updating or inserting the convention.")
|
35
35
|
code: Optional[StrictStr] = Field(None,alias="code", description="The code of the convention.")
|
36
36
|
__properties = ["fixingReference", "publicationDayLag", "paymentTenor", "dayCountConvention", "currency", "indexName", "scope", "code"]
|
@@ -24,12 +24,12 @@ from lusid.models.economic_dependency import EconomicDependency
|
|
24
24
|
|
25
25
|
class IndexProjectionDependency(EconomicDependency):
|
26
26
|
"""
|
27
|
-
Represents either a dependency on projections of an index.
|
27
|
+
Represents either a dependency on projections of an index. E.g. If the interest leg of a swap is a FloatingLeg, then it will declare an IndexProjectionDependency upon pricing. This is to indicate that pricing the floating leg requires predictions of future fixings of the index. # noqa: E501
|
28
28
|
"""
|
29
29
|
currency: StrictStr = Field(...,alias="currency", description="The currency of the corresponding IndexConvention. E.g. this would be USD for a convention named USD.6M.LIBOR")
|
30
30
|
tenor: StrictStr = Field(...,alias="tenor", description="The tenor of the corresponding IndexConvention. E.g. this would be \"6M\" for a convention named USD.6M.LIBOR")
|
31
31
|
index_name: StrictStr = Field(...,alias="indexName", description="The IndexName of the corresponding IndexConvention. E.g. this would be \"LIBOR\" for a convention named USD.6M.LIBOR")
|
32
|
-
var_date: datetime = Field(..., alias="date", description="The effectiveDate of the entity that this is a dependency for.
|
32
|
+
var_date: datetime = Field(..., alias="date", description="The effectiveDate of the entity that this is a dependency for. Unless there is an obvious date this should be, like for a historic reset, then this is the valuation date.")
|
33
33
|
dependency_type: StrictStr = Field(...,alias="dependencyType", description="The available values are: OpaqueDependency, CashDependency, DiscountingDependency, EquityCurveDependency, EquityVolDependency, FxDependency, FxForwardsDependency, FxVolDependency, IndexProjectionDependency, IrVolDependency, QuoteDependency, Vendor, CalendarDependency, InflationFixingDependency")
|
34
34
|
additional_properties: Dict[str, Any] = {}
|
35
35
|
__properties = ["dependencyType", "currency", "tenor", "indexName", "date"]
|
@@ -23,7 +23,7 @@ from pydantic.v1 import StrictStr, Field, BaseModel, Field, constr, validator
|
|
23
23
|
|
24
24
|
class IndustryClassifier(BaseModel):
|
25
25
|
"""
|
26
|
-
Object describing a particular industry classifier,
|
26
|
+
Object describing a particular industry classifier, which comprises a classification code and the name of the classification system to which the code belongs. # noqa: E501
|
27
27
|
"""
|
28
28
|
classification_system_name: StrictStr = Field(...,alias="classificationSystemName", description="The name of the classification system to which the classification code belongs (e.g. GICS).")
|
29
29
|
classification_code: StrictStr = Field(...,alias="classificationCode", description="The specific industry classification code assigned to the legal entity.")
|
@@ -27,10 +27,10 @@ class InflationIndexConventions(BaseModel):
|
|
27
27
|
"""
|
28
28
|
inflation_index_name: StrictStr = Field(...,alias="inflationIndexName", description="Name of the index, e.g. UKRPI.")
|
29
29
|
currency: StrictStr = Field(...,alias="currency", description="Currency of the inflation index convention.")
|
30
|
-
observation_lag: StrictStr = Field(...,alias="observationLag", description="Observation lag. This is a string that must have units of Month.
|
31
|
-
inflation_interpolation: Optional[StrictStr] = Field(None,alias="inflationInterpolation", description="Inflation Interpolation. This is optional and defaults to Linear if not set.
|
32
|
-
inflation_frequency: Optional[StrictStr] = Field(None,alias="inflationFrequency", description="Frequency of inflation updated. Optional and defaults to Monthly which is the most common.
|
33
|
-
inflation_roll_day: Optional[StrictInt] = Field(None, alias="inflationRollDay", description="Day of the month that inflation rolls from one month to the next. This is optional and defaults to 1, which is
|
30
|
+
observation_lag: StrictStr = Field(...,alias="observationLag", description="Observation lag. This is a string that must have units of Month. This field is typically 3 or 4 months, but can vary, older bonds and swaps have 8 months lag. For Bonds with a calculation type of Ratio, this property, if set, must be 0Invalid. For more information on tenors, see [knowledge base article KA-02097](https://support.lusid.com/knowledgebase/article/KA-02097)")
|
31
|
+
inflation_interpolation: Optional[StrictStr] = Field(None,alias="inflationInterpolation", description="Inflation Interpolation. This is optional and defaults to Linear if not set. Supported string (enumeration) values are: [Linear, Flat].")
|
32
|
+
inflation_frequency: Optional[StrictStr] = Field(None,alias="inflationFrequency", description="Frequency of inflation updated. Optional and defaults to Monthly which is the most common. However both Australian and New Zealand inflation is published Quarterly. Only tenors of 1M or 3M are supported. For more information on tenors, see [knowledge base article KA-02097](https://support.lusid.com/knowledgebase/article/KA-02097)")
|
33
|
+
inflation_roll_day: Optional[StrictInt] = Field(None, alias="inflationRollDay", description="Day of the month that inflation rolls from one month to the next. This is optional and defaults to 1, which is the typically value for the majority of inflation bonds (exceptions include Japan which rolls on the 10th and some LatAm bonds which roll on the 15th).")
|
34
34
|
__properties = ["inflationIndexName", "currency", "observationLag", "inflationInterpolation", "inflationFrequency", "inflationRollDay"]
|
35
35
|
|
36
36
|
class Config:
|
lusid/models/inflation_leg.py
CHANGED
@@ -27,18 +27,18 @@ from lusid.models.time_zone_conventions import TimeZoneConventions
|
|
27
27
|
|
28
28
|
class InflationLeg(LusidInstrument):
|
29
29
|
"""
|
30
|
-
LUSID representation of an Inflation Leg.
|
30
|
+
LUSID representation of an Inflation Leg. This leg instrument is part of the InflationSwap instrument, but can also be used as a standalone instrument. The implementation supports the following inflation leg types: * Zero Coupon inflation leg (CPI Leg), with a single payment at maturity. * Year on Year inflation leg * LPI Swap Leg (capped and floored YoY) # noqa: E501
|
31
31
|
"""
|
32
32
|
start_date: datetime = Field(..., alias="startDate", description="The start date of the instrument. This is normally synonymous with the trade-date.")
|
33
|
-
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.
|
33
|
+
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.")
|
34
34
|
flow_conventions: FlowConventions = Field(..., alias="flowConventions")
|
35
|
-
base_cpi: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="baseCPI", description="Optional BaseCPI, if specified it will be used in place of BaseCPI(StartDate).
|
36
|
-
calculation_type: StrictStr = Field(...,alias="calculationType", description="The calculation type.
|
35
|
+
base_cpi: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="baseCPI", description="Optional BaseCPI, if specified it will be used in place of BaseCPI(StartDate). This should not be required for standard inflation swaps.")
|
36
|
+
calculation_type: StrictStr = Field(...,alias="calculationType", description="The calculation type. ZeroCoupon is used for CPILegs where there is a single payment at maturity of Notional * (CPI(T) / CPI(T0) - 1) where CPI(T0) is the BaseCPI of this leg YearOnYear is used for YoY and LPI swap legs where there is a series of annual payments Notional * dayCount * (CPI(t) / CPI(t-1) - 1) If a cap and floor is added to this it becomes an LPI swap leg. Compounded is used for inflation swap legs where there is a series of annual payments Notional * dayCount * (CPI(t) / CPI(T0) - 1) i.e. the BaseCPI is used every year. These swaps are not as common as CPI or Supported string (enumeration) values are: [ZeroCoupon, YearOnYear, Compounded].")
|
37
37
|
cap_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="capRate", description="Optional cap, needed for LPI Legs or CPI Legs with Caps")
|
38
38
|
floor_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="floorRate", description="Optional floor, needed for LPI Legs or CPI Legs with Floors.")
|
39
39
|
inflation_index_conventions: InflationIndexConventions = Field(..., alias="inflationIndexConventions")
|
40
40
|
notional: Union[StrictFloat, StrictInt] = Field(..., description="The notional")
|
41
|
-
pay_receive: Optional[StrictStr] = Field(None,alias="payReceive", description="PayReceive flag for the inflation leg.
|
41
|
+
pay_receive: Optional[StrictStr] = Field(None,alias="payReceive", description="PayReceive flag for the inflation leg. This field is optional and defaults to Pay. Supported string (enumeration) values are: [Pay, Receive].")
|
42
42
|
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
43
43
|
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, FlexibleRepo")
|
44
44
|
additional_properties: Dict[str, Any] = {}
|
@@ -32,19 +32,19 @@ class InflationLinkedBond(LusidInstrument):
|
|
32
32
|
Inflation Linked Bond. # noqa: E501
|
33
33
|
"""
|
34
34
|
start_date: datetime = Field(..., alias="startDate", description="The start date of the bond.")
|
35
|
-
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.
|
35
|
+
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.")
|
36
36
|
flow_conventions: FlowConventions = Field(..., alias="flowConventions")
|
37
37
|
inflation_index_conventions: InflationIndexConventions = Field(..., alias="inflationIndexConventions")
|
38
38
|
coupon_rate: Union[StrictFloat, StrictInt] = Field(..., alias="couponRate", description="Simple coupon rate.")
|
39
39
|
identifiers: Optional[Dict[str, StrictStr]] = Field(None, description="External market codes and identifiers for the bond, e.g. ISIN.")
|
40
|
-
base_cpi: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="baseCPI", description="BaseCPI value. This is optional, if not provided the BaseCPI value will be calculated from the BaseCPIDate,
|
41
|
-
base_cpi_date: Optional[datetime] = Field(None, alias="baseCPIDate", description="BaseCPIDate. This is optional. Gives the date that the BaseCPI is calculated for.
|
42
|
-
calculation_type: Optional[StrictStr] = Field(None,alias="calculationType", description="The calculation type applied to the bond coupon and principal amount.
|
40
|
+
base_cpi: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="baseCPI", description="BaseCPI value. This is optional, if not provided the BaseCPI value will be calculated from the BaseCPIDate, if that too is not present the StartDate will be used. If provided then this value will always set the BaseCPI on this bond. The BaseCPI of an inflation linked bond is calculated using the following logic: - If a BaseCPI value is provided, this is used. - Otherwise, if BaseCPIDate is provided, the CPI for this date is calculated and used. - Otherwise, the CPI for the StartDate is calculated and used. Note that if both BaseCPI and BaseCPIDate are set, the BaseCPI value will be used and the BaseCPIDate will be ignored but can still be added for informative purposes. Some bonds are issued with a BaseCPI date that does not correspond to the StartDate CPI value, in this case the value should be provided here or with the BaseCPIDate.")
|
41
|
+
base_cpi_date: Optional[datetime] = Field(None, alias="baseCPIDate", description="BaseCPIDate. This is optional. Gives the date that the BaseCPI is calculated for. Note this is an un-lagged date (similar to StartDate) so the Bond ObservationLag will be applied to this date when calculating the CPI. The BaseCPI of an inflation linked bond is calculated using the following logic: - If a BaseCPI value is provided, this is used. - Otherwise, if BaseCPIDate is provided, the CPI for this date is calculated and used. - Otherwise, the CPI for the StartDate is calculated and used. Note that if both BaseCPI and BaseCPIDate are set, the BaseCPI value will be used and the BaseCPIDate will be ignored but can still be added for informative purposes. Some bonds are issued with a BaseCPI date that does not correspond to the StartDate CPI value, in this case the value should be provided here or with the actual BaseCPI.")
|
42
|
+
calculation_type: Optional[StrictStr] = Field(None,alias="calculationType", description="The calculation type applied to the bond coupon and principal amount. The default CalculationType is `Standard`. Supported string (enumeration) values are: [Standard, Quarterly, Ratio, Brazil, StandardAccruedOnly, RatioAccruedOnly, StandardWithCappedAccruedInterest].")
|
43
43
|
ex_dividend_days: Optional[StrictInt] = Field(None, alias="exDividendDays", description="Number of Good Business Days before the next coupon payment, in which the bond goes ex-dividend.")
|
44
44
|
index_precision: Optional[StrictInt] = Field(None, alias="indexPrecision", description="Number of decimal places used to round IndexRatio. This defaults to 5 if not set.")
|
45
45
|
principal: Union[StrictFloat, StrictInt] = Field(..., description="The face-value or principal for the bond at outset.")
|
46
|
-
principal_protection: Optional[StrictBool] = Field(None, alias="principalProtection", description="If true then the principal is protected in that the redemption amount will be at least the face value (Principal).
|
47
|
-
stub_type: Optional[StrictStr] = Field(None,alias="stubType", description="StubType. Most Inflation linked bonds have a ShortFront stub type so this is the default, however in some cases
|
46
|
+
principal_protection: Optional[StrictBool] = Field(None, alias="principalProtection", description="If true then the principal is protected in that the redemption amount will be at least the face value (Principal). This is typically set to true for inflation linked bonds issued by the United States and France (for example). This is typically set to false for inflation linked bonds issued by the United Kingdom (post 2005). For other sovereigns this can vary from issue to issue. If not set this property defaults to true. This is sometimes referred to as Deflation protection or an inflation floor of 0%.")
|
47
|
+
stub_type: Optional[StrictStr] = Field(None,alias="stubType", description="StubType. Most Inflation linked bonds have a ShortFront stub type so this is the default, however in some cases with a long front stub LongFront should be selected. StubType Both is not supported for InflationLinkedBonds. Supported string (enumeration) values are: [ShortFront, ShortBack, LongBack, LongFront, Both].")
|
48
48
|
rounding_conventions: Optional[conlist(RoundingConvention)] = Field(None, alias="roundingConventions", description="Rounding conventions for analytics, if any.")
|
49
49
|
trading_conventions: Optional[TradingConventions] = Field(None, alias="tradingConventions")
|
50
50
|
original_issue_price: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="originalIssuePrice", description="The price the bond was issued at. This is to be entered as a percentage of par, for example a value of 98.5 would represent 98.5%.")
|
lusid/models/inflation_swap.py
CHANGED
@@ -28,13 +28,13 @@ from lusid.models.time_zone_conventions import TimeZoneConventions
|
|
28
28
|
|
29
29
|
class InflationSwap(LusidInstrument):
|
30
30
|
"""
|
31
|
-
LUSID representation of an Inflation Swap.
|
31
|
+
LUSID representation of an Inflation Swap. The implementation supports the following swap types: * Zero Coupon inflation swap, with a single payment at maturity. * LPI Swap (capped and floored) * Year on Year inflation swap This instrument has multiple legs, to see how legs are used in LUSID see [knowledge base article KA-02252](https://support.lusid.com/knowledgebase/article/KA-02252). | Leg Index | Leg Identifier | Description | | --------- | -------------- | ----------- | | 1 | InflationLeg | Cash flows with a rate relating to an underlying inflation index. | | 2 | FixedLeg | Cash flows with a fixed rate. | | 3 | AdditionalPayments | Cash flows relating to any additional payments (optional). | # noqa: E501
|
32
32
|
"""
|
33
33
|
start_date: datetime = Field(..., alias="startDate", description="The start date of the instrument. This is normally synonymous with the trade-date.")
|
34
|
-
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.
|
34
|
+
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.")
|
35
35
|
inflation_leg: InflationLeg = Field(..., alias="inflationLeg")
|
36
36
|
fixed_leg: FixedLeg = Field(..., alias="fixedLeg")
|
37
|
-
additional_payments: Optional[conlist(AdditionalPayment)] = Field(None, alias="additionalPayments", description="Optional additional payments at a given date e.g. to level off an uneven inflation swap.
|
37
|
+
additional_payments: Optional[conlist(AdditionalPayment)] = Field(None, alias="additionalPayments", description="Optional additional payments at a given date e.g. to level off an uneven inflation swap. The dates must be distinct and either all payments are Pay or all payments are Receive.")
|
38
38
|
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
39
39
|
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, FlexibleRepo")
|
40
40
|
additional_properties: Dict[str, Any] = {}
|
@@ -25,11 +25,11 @@ from lusid.models.result_value_dictionary import ResultValueDictionary
|
|
25
25
|
|
26
26
|
class InformationalEvent(InstrumentEvent):
|
27
27
|
"""
|
28
|
-
A generic event derived from the economic definition of an instrument. This should be considered purely
|
28
|
+
A generic event derived from the economic definition of an instrument. This should be considered purely informational; any data provided by this event is not guaranteed to be processable by LUSID. # noqa: E501
|
29
29
|
"""
|
30
30
|
event_type: StrictStr = Field(...,alias="eventType", description="What type of internal event does this represent; reset, exercise, amortisation etc.")
|
31
|
-
anchor_date: datetime = Field(..., alias="anchorDate", description="In the case of a point event, the single date on which the event occurs. In the case of an event which is
|
32
|
-
event_window_end: Optional[datetime] = Field(None, alias="eventWindowEnd", description="In the case of a point event this is identical to the anchor date. In the case of an event that is spread over a window,
|
31
|
+
anchor_date: datetime = Field(..., alias="anchorDate", description="In the case of a point event, the single date on which the event occurs. In the case of an event which is spread over a window, e.g. a barrier or American option, the start of that window.")
|
32
|
+
event_window_end: Optional[datetime] = Field(None, alias="eventWindowEnd", description="In the case of a point event this is identical to the anchor date. In the case of an event that is spread over a window, this is the end of that window.")
|
33
33
|
diagnostics: Optional[ResultValueDictionary] = None
|
34
34
|
instrument_event_type: StrictStr = Field(...,alias="instrumentEventType", description="The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent, CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent, MbsPrincipalEvent, BonusIssueEvent, MbsPrincipalWriteOffEvent, MbsInterestDeferralEvent, MbsInterestShortfallEvent, TenderEvent, CallOnIntermediateSecuritiesEvent, IntermediateSecuritiesDistributionEvent, OptionExercisePhysicalEvent, OptionExerciseCashEvent, ProtectionPayoutCashFlowEvent, TermDepositInterestEvent, TermDepositPrincipalEvent, EarlyRedemptionEvent, FutureMarkToMarketEvent, AdjustGlobalCommitmentEvent, ContractInitialisationEvent, DrawdownEvent, LoanInterestRepaymentEvent, UpdateDepositAmountEvent, LoanPrincipalRepaymentEvent, DepositInterestPaymentEvent, DepositCloseEvent, LoanFacilityContractRolloverEvent, RepurchaseOfferEvent, RepoPartialClosureEvent, RepoCashFlowEvent, FlexibleRepoInterestPaymentEvent, FlexibleRepoCashFlowEvent, FlexibleRepoCollateralEvent, ConversionEvent, FlexibleRepoPartialClosureEvent, FlexibleRepoFullClosureEvent")
|
35
35
|
additional_properties: Dict[str, Any] = {}
|
@@ -34,15 +34,15 @@ class InlineValuationRequest(BaseModel):
|
|
34
34
|
"""
|
35
35
|
recipe_id: Optional[ResourceId] = Field(None, alias="recipeId")
|
36
36
|
as_at: Optional[datetime] = Field(None, alias="asAt", description="The asAt date to use")
|
37
|
-
metrics: conlist(AggregateSpec) = Field(..., description="The set of specifications to calculate or retrieve during the valuation and present in the results. For example:
|
38
|
-
group_by: Optional[conlist(StrictStr)] = Field(None, alias="groupBy", description="The set of items by which to perform grouping. This primarily matters when one or more of the metric operators is a mapping
|
39
|
-
filters: Optional[conlist(PropertyFilter)] = Field(None, description="A set of filters to use to reduce the data found in a request. Equivalent to the 'where ...' part of a Sql select statement.
|
37
|
+
metrics: conlist(AggregateSpec) = Field(..., description="The set of specifications to calculate or retrieve during the valuation and present in the results. For example: AggregateSpec('Valuation/PV','Sum') for returning the PV (present value) of holdings AggregateSpec('Holding/default/Units','Sum') for returning the units of holidays AggregateSpec('Instrument/default/LusidInstrumentId','Value') for returning the Lusid Instrument identifier")
|
38
|
+
group_by: Optional[conlist(StrictStr)] = Field(None, alias="groupBy", description="The set of items by which to perform grouping. This primarily matters when one or more of the metric operators is a mapping that reduces set size, e.g. sum or proportion. The group-by statement determines the set of keys by which to break the results out.")
|
39
|
+
filters: Optional[conlist(PropertyFilter)] = Field(None, description="A set of filters to use to reduce the data found in a request. Equivalent to the 'where ...' part of a Sql select statement. For example, filter a set of values within a given range or matching a particular value.")
|
40
40
|
sort: Optional[conlist(OrderBySpec)] = Field(None, description="A (possibly empty/null) set of specifications for how to order the results.")
|
41
|
-
report_currency: Optional[StrictStr] = Field(None,alias="reportCurrency", description="Three letter ISO currency string indicating what currency to report in for ReportCurrency denominated queries.
|
41
|
+
report_currency: Optional[StrictStr] = Field(None,alias="reportCurrency", description="Three letter ISO currency string indicating what currency to report in for ReportCurrency denominated queries. If not present, then the currency of the relevant portfolio will be used in its place.")
|
42
42
|
equip_with_subtotals: Optional[StrictBool] = Field(None, alias="equipWithSubtotals", description="Flag directing the Valuation call to populate the results with subtotals of aggregates.")
|
43
|
-
return_result_as_expanded_types: Optional[StrictBool] = Field(None, alias="returnResultAsExpandedTypes", description="Financially meaningful results can be presented as either simple flat types or more complex expanded types.
|
43
|
+
return_result_as_expanded_types: Optional[StrictBool] = Field(None, alias="returnResultAsExpandedTypes", description="Financially meaningful results can be presented as either simple flat types or more complex expanded types. For example, the present value (PV) of a holding could be represented either as a simple decimal (with currency implied) or as a decimal-currency pair. This flag allows either representation to be returned. In the PV example, the returned value would be the decimal-currency pair if this flag is true, or the decimal only if this flag is false.")
|
44
44
|
valuation_schedule: Optional[ValuationSchedule] = Field(None, alias="valuationSchedule")
|
45
|
-
instruments: conlist(WeightedInstrument) = Field(..., description="The set of instruments, weighted by the quantities held that are required.
|
45
|
+
instruments: conlist(WeightedInstrument) = Field(..., description="The set of instruments, weighted by the quantities held that are required. It is identified by an identifier tag that can be used to identify it externally. For a single, unique trade or transaction this can be thought of as equivalent to the transaction identifier, or a composite of the sub-holding keys for a regular sub-holding. When there are multiple transactions sharing the same underlying instrument such as purchase of shares on multiple dates where tax implications are different this would not be the case.")
|
46
46
|
market_data_overrides: Optional[MarketDataOverrides] = Field(None, alias="marketDataOverrides")
|
47
47
|
corporate_action_source_id: Optional[ResourceId] = Field(None, alias="corporateActionSourceId")
|
48
48
|
__properties = ["recipeId", "asAt", "metrics", "groupBy", "filters", "sort", "reportCurrency", "equipWithSubtotals", "returnResultAsExpandedTypes", "valuationSchedule", "instruments", "marketDataOverrides", "corporateActionSourceId"]
|