lusid-sdk 2.1.847__py3-none-any.whl → 2.1.848__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/configuration.py +1 -1
- lusid/models/bond.py +8 -2
- lusid/models/cap_floor.py +8 -2
- lusid/models/cds_index.py +8 -2
- lusid/models/complex_bond.py +8 -2
- lusid/models/contract_for_difference.py +8 -2
- lusid/models/credit_default_swap.py +8 -2
- lusid/models/equity_option.py +8 -2
- lusid/models/equity_swap.py +8 -2
- lusid/models/exchange_traded_option.py +8 -2
- lusid/models/fixed_leg.py +8 -2
- lusid/models/flexible_deposit.py +8 -2
- lusid/models/flexible_loan.py +9 -3
- lusid/models/floating_leg.py +8 -2
- lusid/models/forward_rate_agreement.py +8 -2
- lusid/models/fund_share_class.py +8 -2
- lusid/models/funding_leg.py +8 -2
- lusid/models/future.py +8 -2
- lusid/models/fx_forward.py +8 -2
- lusid/models/fx_option.py +8 -2
- lusid/models/fx_swap.py +8 -2
- lusid/models/inflation_leg.py +8 -2
- lusid/models/inflation_linked_bond.py +8 -2
- lusid/models/inflation_swap.py +8 -2
- lusid/models/interest_rate_swap.py +8 -2
- lusid/models/interest_rate_swaption.py +8 -2
- lusid/models/loan_facility.py +9 -3
- lusid/models/repo.py +8 -2
- lusid/models/simple_cash_flow_loan.py +9 -3
- lusid/models/term_deposit.py +8 -2
- lusid/models/total_return_swap.py +8 -2
- {lusid_sdk-2.1.847.dist-info → lusid_sdk-2.1.848.dist-info}/METADATA +1 -1
- {lusid_sdk-2.1.847.dist-info → lusid_sdk-2.1.848.dist-info}/RECORD +34 -34
- {lusid_sdk-2.1.847.dist-info → lusid_sdk-2.1.848.dist-info}/WHEEL +0 -0
lusid/configuration.py
CHANGED
@@ -445,7 +445,7 @@ class Configuration:
|
|
445
445
|
return "Python SDK Debug Report:\n"\
|
446
446
|
"OS: {env}\n"\
|
447
447
|
"Python Version: {pyversion}\n"\
|
448
|
-
"Version of the API: 0.11.
|
448
|
+
"Version of the API: 0.11.7960\n"\
|
449
449
|
"SDK Package Version: {package_version}".\
|
450
450
|
format(env=sys.platform, pyversion=sys.version, package_version=package_version)
|
451
451
|
|
lusid/models/bond.py
CHANGED
@@ -24,6 +24,7 @@ from lusid.models.ex_dividend_configuration import ExDividendConfiguration
|
|
24
24
|
from lusid.models.flow_conventions import FlowConventions
|
25
25
|
from lusid.models.lusid_instrument import LusidInstrument
|
26
26
|
from lusid.models.rounding_convention import RoundingConvention
|
27
|
+
from lusid.models.time_zone_conventions import TimeZoneConventions
|
27
28
|
from lusid.models.trading_conventions import TradingConventions
|
28
29
|
|
29
30
|
class Bond(LusidInstrument):
|
@@ -45,9 +46,10 @@ class Bond(LusidInstrument):
|
|
45
46
|
ex_dividend_configuration: Optional[ExDividendConfiguration] = Field(None, alias="exDividendConfiguration")
|
46
47
|
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%.")
|
47
48
|
trading_conventions: Optional[TradingConventions] = Field(None, alias="tradingConventions")
|
49
|
+
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
48
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")
|
49
51
|
additional_properties: Dict[str, Any] = {}
|
50
|
-
__properties = ["instrumentType", "startDate", "maturityDate", "domCcy", "flowConventions", "principal", "couponRate", "identifiers", "exDividendDays", "initialCouponDate", "firstCouponPayDate", "calculationType", "roundingConventions", "exDividendConfiguration", "originalIssuePrice", "tradingConventions"]
|
52
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "domCcy", "flowConventions", "principal", "couponRate", "identifiers", "exDividendDays", "initialCouponDate", "firstCouponPayDate", "calculationType", "roundingConventions", "exDividendConfiguration", "originalIssuePrice", "tradingConventions", "timeZoneConventions"]
|
51
53
|
|
52
54
|
@validator('instrument_type')
|
53
55
|
def instrument_type_validate_enum(cls, value):
|
@@ -157,6 +159,9 @@ class Bond(LusidInstrument):
|
|
157
159
|
# override the default output from pydantic by calling `to_dict()` of trading_conventions
|
158
160
|
if self.trading_conventions:
|
159
161
|
_dict['tradingConventions'] = self.trading_conventions.to_dict()
|
162
|
+
# override the default output from pydantic by calling `to_dict()` of time_zone_conventions
|
163
|
+
if self.time_zone_conventions:
|
164
|
+
_dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
|
160
165
|
# puts key-value pairs in additional_properties in the top level
|
161
166
|
if self.additional_properties is not None:
|
162
167
|
for _key, _value in self.additional_properties.items():
|
@@ -224,7 +229,8 @@ class Bond(LusidInstrument):
|
|
224
229
|
"rounding_conventions": [RoundingConvention.from_dict(_item) for _item in obj.get("roundingConventions")] if obj.get("roundingConventions") is not None else None,
|
225
230
|
"ex_dividend_configuration": ExDividendConfiguration.from_dict(obj.get("exDividendConfiguration")) if obj.get("exDividendConfiguration") is not None else None,
|
226
231
|
"original_issue_price": obj.get("originalIssuePrice"),
|
227
|
-
"trading_conventions": TradingConventions.from_dict(obj.get("tradingConventions")) if obj.get("tradingConventions") is not None else None
|
232
|
+
"trading_conventions": TradingConventions.from_dict(obj.get("tradingConventions")) if obj.get("tradingConventions") is not None else None,
|
233
|
+
"time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
|
228
234
|
})
|
229
235
|
# store additional fields in additional_properties
|
230
236
|
for _key in obj.keys():
|
lusid/models/cap_floor.py
CHANGED
@@ -23,6 +23,7 @@ from pydantic.v1 import StrictStr, Field, Field, StrictBool, StrictFloat, Strict
|
|
23
23
|
from lusid.models.additional_payment import AdditionalPayment
|
24
24
|
from lusid.models.floating_leg import FloatingLeg
|
25
25
|
from lusid.models.lusid_instrument import LusidInstrument
|
26
|
+
from lusid.models.time_zone_conventions import TimeZoneConventions
|
26
27
|
|
27
28
|
class CapFloor(LusidInstrument):
|
28
29
|
"""
|
@@ -34,9 +35,10 @@ class CapFloor(LusidInstrument):
|
|
34
35
|
include_first_caplet: StrictBool = Field(..., alias="includeFirstCaplet", description="Include first caplet flag.")
|
35
36
|
underlying_floating_leg: FloatingLeg = Field(..., alias="underlyingFloatingLeg")
|
36
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 equity swap. The dates must be distinct and either all payments are Pay or all payments are Receive.")
|
38
|
+
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
37
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")
|
38
40
|
additional_properties: Dict[str, Any] = {}
|
39
|
-
__properties = ["instrumentType", "capFloorType", "capStrike", "floorStrike", "includeFirstCaplet", "underlyingFloatingLeg", "additionalPayments"]
|
41
|
+
__properties = ["instrumentType", "capFloorType", "capStrike", "floorStrike", "includeFirstCaplet", "underlyingFloatingLeg", "additionalPayments", "timeZoneConventions"]
|
40
42
|
|
41
43
|
@validator('instrument_type')
|
42
44
|
def instrument_type_validate_enum(cls, value):
|
@@ -140,6 +142,9 @@ class CapFloor(LusidInstrument):
|
|
140
142
|
if _item:
|
141
143
|
_items.append(_item.to_dict())
|
142
144
|
_dict['additionalPayments'] = _items
|
145
|
+
# override the default output from pydantic by calling `to_dict()` of time_zone_conventions
|
146
|
+
if self.time_zone_conventions:
|
147
|
+
_dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
|
143
148
|
# puts key-value pairs in additional_properties in the top level
|
144
149
|
if self.additional_properties is not None:
|
145
150
|
for _key, _value in self.additional_properties.items():
|
@@ -178,7 +183,8 @@ class CapFloor(LusidInstrument):
|
|
178
183
|
"floor_strike": obj.get("floorStrike"),
|
179
184
|
"include_first_caplet": obj.get("includeFirstCaplet"),
|
180
185
|
"underlying_floating_leg": FloatingLeg.from_dict(obj.get("underlyingFloatingLeg")) if obj.get("underlyingFloatingLeg") is not None else None,
|
181
|
-
"additional_payments": [AdditionalPayment.from_dict(_item) for _item in obj.get("additionalPayments")] if obj.get("additionalPayments") is not None else None
|
186
|
+
"additional_payments": [AdditionalPayment.from_dict(_item) for _item in obj.get("additionalPayments")] if obj.get("additionalPayments") is not None else None,
|
187
|
+
"time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
|
182
188
|
})
|
183
189
|
# store additional fields in additional_properties
|
184
190
|
for _key in obj.keys():
|
lusid/models/cds_index.py
CHANGED
@@ -25,6 +25,7 @@ from lusid.models.basket import Basket
|
|
25
25
|
from lusid.models.cds_flow_conventions import CdsFlowConventions
|
26
26
|
from lusid.models.flow_convention_name import FlowConventionName
|
27
27
|
from lusid.models.lusid_instrument import LusidInstrument
|
28
|
+
from lusid.models.time_zone_conventions import TimeZoneConventions
|
28
29
|
|
29
30
|
class CdsIndex(LusidInstrument):
|
30
31
|
"""
|
@@ -39,9 +40,10 @@ class CdsIndex(LusidInstrument):
|
|
39
40
|
convention_name: Optional[FlowConventionName] = Field(None, alias="conventionName")
|
40
41
|
notional: Union[StrictFloat, StrictInt] = Field(..., description="The notional quantity that applies to both the premium and protection legs.")
|
41
42
|
additional_payments: Optional[conlist(AdditionalPayment)] = Field(None, alias="additionalPayments", description="Optional additional payments at a given date e.g. to level off an uneven swap. The dates must be distinct and either all payments are Pay or all payments are Receive.")
|
43
|
+
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
42
44
|
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")
|
43
45
|
additional_properties: Dict[str, Any] = {}
|
44
|
-
__properties = ["instrumentType", "startDate", "maturityDate", "flowConventions", "couponRate", "identifiers", "basket", "conventionName", "notional", "additionalPayments"]
|
46
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "flowConventions", "couponRate", "identifiers", "basket", "conventionName", "notional", "additionalPayments", "timeZoneConventions"]
|
45
47
|
|
46
48
|
@validator('instrument_type')
|
47
49
|
def instrument_type_validate_enum(cls, value):
|
@@ -151,6 +153,9 @@ class CdsIndex(LusidInstrument):
|
|
151
153
|
if _item:
|
152
154
|
_items.append(_item.to_dict())
|
153
155
|
_dict['additionalPayments'] = _items
|
156
|
+
# override the default output from pydantic by calling `to_dict()` of time_zone_conventions
|
157
|
+
if self.time_zone_conventions:
|
158
|
+
_dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
|
154
159
|
# puts key-value pairs in additional_properties in the top level
|
155
160
|
if self.additional_properties is not None:
|
156
161
|
for _key, _value in self.additional_properties.items():
|
@@ -182,7 +187,8 @@ class CdsIndex(LusidInstrument):
|
|
182
187
|
"basket": Basket.from_dict(obj.get("basket")) if obj.get("basket") is not None else None,
|
183
188
|
"convention_name": FlowConventionName.from_dict(obj.get("conventionName")) if obj.get("conventionName") is not None else None,
|
184
189
|
"notional": obj.get("notional"),
|
185
|
-
"additional_payments": [AdditionalPayment.from_dict(_item) for _item in obj.get("additionalPayments")] if obj.get("additionalPayments") is not None else None
|
190
|
+
"additional_payments": [AdditionalPayment.from_dict(_item) for _item in obj.get("additionalPayments")] if obj.get("additionalPayments") is not None else None,
|
191
|
+
"time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
|
186
192
|
})
|
187
193
|
# store additional fields in additional_properties
|
188
194
|
for _key in obj.keys():
|
lusid/models/complex_bond.py
CHANGED
@@ -23,6 +23,7 @@ from pydantic.v1 import StrictStr, Field, Field, StrictBool, StrictFloat, Strict
|
|
23
23
|
from lusid.models.lusid_instrument import LusidInstrument
|
24
24
|
from lusid.models.rounding_convention import RoundingConvention
|
25
25
|
from lusid.models.schedule import Schedule
|
26
|
+
from lusid.models.time_zone_conventions import TimeZoneConventions
|
26
27
|
from lusid.models.trading_conventions import TradingConventions
|
27
28
|
|
28
29
|
class ComplexBond(LusidInstrument):
|
@@ -37,9 +38,10 @@ class ComplexBond(LusidInstrument):
|
|
37
38
|
asset_backed: Optional[StrictBool] = Field(None, alias="assetBacked", description="If this flag is set to true, then the outstanding notional and principal repayments will be calculated based on pool factors in the quote store. Usually AssetBacked bonds also require a RollConvention setting of within the FlowConventions any given rates schedule (to ensure payment dates always happen on the same day of the month) and US Agency MBSs with Pay Delay features also require their rates schedules to include an ExDividendConfiguration to drive the lag between interest accrual and payment.")
|
38
39
|
asset_pool_identifier: Optional[StrictStr] = Field(None,alias="assetPoolIdentifier", description="Identifier used to retrieve pool factor information about this bond from the quote store. This is typically the bond's ISIN, but can also be ClientInternal. Please ensure you align the MarketDataKeyRule with the correct Quote (Quote.ClientInternal.* or Quote.Isin.*)")
|
39
40
|
trading_conventions: Optional[TradingConventions] = Field(None, alias="tradingConventions")
|
41
|
+
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
40
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")
|
41
43
|
additional_properties: Dict[str, Any] = {}
|
42
|
-
__properties = ["instrumentType", "identifiers", "calculationType", "schedules", "originalIssuePrice", "roundingConventions", "assetBacked", "assetPoolIdentifier", "tradingConventions"]
|
44
|
+
__properties = ["instrumentType", "identifiers", "calculationType", "schedules", "originalIssuePrice", "roundingConventions", "assetBacked", "assetPoolIdentifier", "tradingConventions", "timeZoneConventions"]
|
43
45
|
|
44
46
|
@validator('instrument_type')
|
45
47
|
def instrument_type_validate_enum(cls, value):
|
@@ -150,6 +152,9 @@ class ComplexBond(LusidInstrument):
|
|
150
152
|
# override the default output from pydantic by calling `to_dict()` of trading_conventions
|
151
153
|
if self.trading_conventions:
|
152
154
|
_dict['tradingConventions'] = self.trading_conventions.to_dict()
|
155
|
+
# override the default output from pydantic by calling `to_dict()` of time_zone_conventions
|
156
|
+
if self.time_zone_conventions:
|
157
|
+
_dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
|
153
158
|
# puts key-value pairs in additional_properties in the top level
|
154
159
|
if self.additional_properties is not None:
|
155
160
|
for _key, _value in self.additional_properties.items():
|
@@ -210,7 +215,8 @@ class ComplexBond(LusidInstrument):
|
|
210
215
|
"rounding_conventions": [RoundingConvention.from_dict(_item) for _item in obj.get("roundingConventions")] if obj.get("roundingConventions") is not None else None,
|
211
216
|
"asset_backed": obj.get("assetBacked"),
|
212
217
|
"asset_pool_identifier": obj.get("assetPoolIdentifier"),
|
213
|
-
"trading_conventions": TradingConventions.from_dict(obj.get("tradingConventions")) if obj.get("tradingConventions") is not None else None
|
218
|
+
"trading_conventions": TradingConventions.from_dict(obj.get("tradingConventions")) if obj.get("tradingConventions") is not None else None,
|
219
|
+
"time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
|
214
220
|
})
|
215
221
|
# store additional fields in additional_properties
|
216
222
|
for _key in obj.keys():
|
@@ -21,6 +21,7 @@ from datetime import datetime
|
|
21
21
|
from typing import Any, Dict, Optional, Union
|
22
22
|
from pydantic.v1 import StrictStr, Field, Field, StrictFloat, StrictInt, StrictStr, constr, validator
|
23
23
|
from lusid.models.lusid_instrument import LusidInstrument
|
24
|
+
from lusid.models.time_zone_conventions import TimeZoneConventions
|
24
25
|
|
25
26
|
class ContractForDifference(LusidInstrument):
|
26
27
|
"""
|
@@ -37,9 +38,10 @@ class ContractForDifference(LusidInstrument):
|
|
37
38
|
underlying_identifier: Optional[StrictStr] = Field(None,alias="underlyingIdentifier", description="External market codes and identifiers for the CFD, e.g. RIC. Supported string (enumeration) values are: [LusidInstrumentId, Isin, Sedol, Cusip, ClientInternal, Figi, RIC, QuotePermId, REDCode, BBGId, ICECode].")
|
38
39
|
lot_size: Optional[StrictInt] = Field(None, alias="lotSize", description="CFD LotSize, the minimum number of shares that can be bought or sold at once. Optional, if set must be non-negative, if not set defaults to 1.")
|
39
40
|
underlying: Optional[LusidInstrument] = None
|
41
|
+
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
40
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")
|
41
43
|
additional_properties: Dict[str, Any] = {}
|
42
|
-
__properties = ["instrumentType", "startDate", "maturityDate", "code", "contractSize", "payCcy", "referenceRate", "type", "underlyingCcy", "underlyingIdentifier", "lotSize", "underlying"]
|
44
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "code", "contractSize", "payCcy", "referenceRate", "type", "underlyingCcy", "underlyingIdentifier", "lotSize", "underlying", "timeZoneConventions"]
|
43
45
|
|
44
46
|
@validator('instrument_type')
|
45
47
|
def instrument_type_validate_enum(cls, value):
|
@@ -136,6 +138,9 @@ class ContractForDifference(LusidInstrument):
|
|
136
138
|
# override the default output from pydantic by calling `to_dict()` of underlying
|
137
139
|
if self.underlying:
|
138
140
|
_dict['underlying'] = self.underlying.to_dict()
|
141
|
+
# override the default output from pydantic by calling `to_dict()` of time_zone_conventions
|
142
|
+
if self.time_zone_conventions:
|
143
|
+
_dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
|
139
144
|
# puts key-value pairs in additional_properties in the top level
|
140
145
|
if self.additional_properties is not None:
|
141
146
|
for _key, _value in self.additional_properties.items():
|
@@ -179,7 +184,8 @@ class ContractForDifference(LusidInstrument):
|
|
179
184
|
"underlying_ccy": obj.get("underlyingCcy"),
|
180
185
|
"underlying_identifier": obj.get("underlyingIdentifier"),
|
181
186
|
"lot_size": obj.get("lotSize"),
|
182
|
-
"underlying": LusidInstrument.from_dict(obj.get("underlying")) if obj.get("underlying") is not None else None
|
187
|
+
"underlying": LusidInstrument.from_dict(obj.get("underlying")) if obj.get("underlying") is not None else None,
|
188
|
+
"time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
|
183
189
|
})
|
184
190
|
# store additional fields in additional_properties
|
185
191
|
for _key in obj.keys():
|
@@ -25,6 +25,7 @@ from lusid.models.cds_flow_conventions import CdsFlowConventions
|
|
25
25
|
from lusid.models.cds_protection_detail_specification import CdsProtectionDetailSpecification
|
26
26
|
from lusid.models.flow_convention_name import FlowConventionName
|
27
27
|
from lusid.models.lusid_instrument import LusidInstrument
|
28
|
+
from lusid.models.time_zone_conventions import TimeZoneConventions
|
28
29
|
|
29
30
|
class CreditDefaultSwap(LusidInstrument):
|
30
31
|
"""
|
@@ -39,9 +40,10 @@ class CreditDefaultSwap(LusidInstrument):
|
|
39
40
|
notional: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The notional protected by the Credit Default Swap")
|
40
41
|
protection_detail_specification: Optional[CdsProtectionDetailSpecification] = Field(None, alias="protectionDetailSpecification")
|
41
42
|
additional_payments: Optional[conlist(AdditionalPayment)] = Field(None, alias="additionalPayments", description="Optional additional payments at a given date e.g. to level off an uneven swap. The dates must be distinct and either all payments are Pay or all payments are Receive.")
|
43
|
+
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
42
44
|
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")
|
43
45
|
additional_properties: Dict[str, Any] = {}
|
44
|
-
__properties = ["instrumentType", "ticker", "startDate", "maturityDate", "flowConventions", "couponRate", "conventionName", "notional", "protectionDetailSpecification", "additionalPayments"]
|
46
|
+
__properties = ["instrumentType", "ticker", "startDate", "maturityDate", "flowConventions", "couponRate", "conventionName", "notional", "protectionDetailSpecification", "additionalPayments", "timeZoneConventions"]
|
45
47
|
|
46
48
|
@validator('instrument_type')
|
47
49
|
def instrument_type_validate_enum(cls, value):
|
@@ -151,6 +153,9 @@ class CreditDefaultSwap(LusidInstrument):
|
|
151
153
|
if _item:
|
152
154
|
_items.append(_item.to_dict())
|
153
155
|
_dict['additionalPayments'] = _items
|
156
|
+
# override the default output from pydantic by calling `to_dict()` of time_zone_conventions
|
157
|
+
if self.time_zone_conventions:
|
158
|
+
_dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
|
154
159
|
# puts key-value pairs in additional_properties in the top level
|
155
160
|
if self.additional_properties is not None:
|
156
161
|
for _key, _value in self.additional_properties.items():
|
@@ -192,7 +197,8 @@ class CreditDefaultSwap(LusidInstrument):
|
|
192
197
|
"convention_name": FlowConventionName.from_dict(obj.get("conventionName")) if obj.get("conventionName") is not None else None,
|
193
198
|
"notional": obj.get("notional"),
|
194
199
|
"protection_detail_specification": CdsProtectionDetailSpecification.from_dict(obj.get("protectionDetailSpecification")) if obj.get("protectionDetailSpecification") is not None else None,
|
195
|
-
"additional_payments": [AdditionalPayment.from_dict(_item) for _item in obj.get("additionalPayments")] if obj.get("additionalPayments") is not None else None
|
200
|
+
"additional_payments": [AdditionalPayment.from_dict(_item) for _item in obj.get("additionalPayments")] if obj.get("additionalPayments") is not None else None,
|
201
|
+
"time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
|
196
202
|
})
|
197
203
|
# store additional fields in additional_properties
|
198
204
|
for _key in obj.keys():
|
lusid/models/equity_option.py
CHANGED
@@ -22,6 +22,7 @@ from typing import Any, Dict, List, Optional, Union
|
|
22
22
|
from pydantic.v1 import StrictStr, Field, Field, StrictFloat, StrictInt, StrictStr, conlist, constr, validator
|
23
23
|
from lusid.models.lusid_instrument import LusidInstrument
|
24
24
|
from lusid.models.premium import Premium
|
25
|
+
from lusid.models.time_zone_conventions import TimeZoneConventions
|
25
26
|
|
26
27
|
class EquityOption(LusidInstrument):
|
27
28
|
"""
|
@@ -44,9 +45,10 @@ class EquityOption(LusidInstrument):
|
|
44
45
|
delivery_days: Optional[StrictInt] = Field(None, alias="deliveryDays", description="Number of business days between exercise date and settlement of the option payoff or underlying.")
|
45
46
|
business_day_convention: Optional[StrictStr] = Field(None,alias="businessDayConvention", description="Business day convention for option exercise date to settlement date calculation. Supported string (enumeration) values are: [NoAdjustment, Previous, P, Following, F, ModifiedPrevious, MP, ModifiedFollowing, MF, HalfMonthModifiedFollowing, Nearest].")
|
46
47
|
settlement_calendars: Optional[conlist(StrictStr)] = Field(None, alias="settlementCalendars", description="Holiday calendars for option exercise date to settlement date calculation.")
|
48
|
+
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
47
49
|
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")
|
48
50
|
additional_properties: Dict[str, Any] = {}
|
49
|
-
__properties = ["instrumentType", "startDate", "optionMaturityDate", "optionSettlementDate", "deliveryType", "optionType", "strike", "domCcy", "underlyingIdentifier", "code", "equityOptionType", "numberOfShares", "premium", "exerciseType", "underlying", "deliveryDays", "businessDayConvention", "settlementCalendars"]
|
51
|
+
__properties = ["instrumentType", "startDate", "optionMaturityDate", "optionSettlementDate", "deliveryType", "optionType", "strike", "domCcy", "underlyingIdentifier", "code", "equityOptionType", "numberOfShares", "premium", "exerciseType", "underlying", "deliveryDays", "businessDayConvention", "settlementCalendars", "timeZoneConventions"]
|
50
52
|
|
51
53
|
@validator('instrument_type')
|
52
54
|
def instrument_type_validate_enum(cls, value):
|
@@ -146,6 +148,9 @@ class EquityOption(LusidInstrument):
|
|
146
148
|
# override the default output from pydantic by calling `to_dict()` of underlying
|
147
149
|
if self.underlying:
|
148
150
|
_dict['underlying'] = self.underlying.to_dict()
|
151
|
+
# override the default output from pydantic by calling `to_dict()` of time_zone_conventions
|
152
|
+
if self.time_zone_conventions:
|
153
|
+
_dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
|
149
154
|
# puts key-value pairs in additional_properties in the top level
|
150
155
|
if self.additional_properties is not None:
|
151
156
|
for _key, _value in self.additional_properties.items():
|
@@ -220,7 +225,8 @@ class EquityOption(LusidInstrument):
|
|
220
225
|
"underlying": LusidInstrument.from_dict(obj.get("underlying")) if obj.get("underlying") is not None else None,
|
221
226
|
"delivery_days": obj.get("deliveryDays"),
|
222
227
|
"business_day_convention": obj.get("businessDayConvention"),
|
223
|
-
"settlement_calendars": obj.get("settlementCalendars")
|
228
|
+
"settlement_calendars": obj.get("settlementCalendars"),
|
229
|
+
"time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
|
224
230
|
})
|
225
231
|
# store additional fields in additional_properties
|
226
232
|
for _key in obj.keys():
|
lusid/models/equity_swap.py
CHANGED
@@ -24,6 +24,7 @@ from lusid.models.additional_payment import AdditionalPayment
|
|
24
24
|
from lusid.models.flow_conventions import FlowConventions
|
25
25
|
from lusid.models.instrument_leg import InstrumentLeg
|
26
26
|
from lusid.models.lusid_instrument import LusidInstrument
|
27
|
+
from lusid.models.time_zone_conventions import TimeZoneConventions
|
27
28
|
|
28
29
|
class EquitySwap(LusidInstrument):
|
29
30
|
"""
|
@@ -41,9 +42,10 @@ class EquitySwap(LusidInstrument):
|
|
41
42
|
underlying_identifier: StrictStr = Field(...,alias="underlyingIdentifier", description="External market codes and identifiers for the EquitySwap, e.g. RIC. Supported string (enumeration) values are: [LusidInstrumentId, Isin, Sedol, Cusip, ClientInternal, Figi, RIC, QuotePermId, REDCode, BBGId, ICECode].")
|
42
43
|
equity_swap_dividend_payment_timing: Optional[StrictStr] = Field(None,alias="equitySwapDividendPaymentTiming", description="Determines how the payment of dividends is handled for the equity swap. Defaults to paying at the next Equity coupon date. Supported string (enumeration) values are: [PayAtNextEquityCouponDate, PayAtMaturityOfSwap, PayAtNextFundingLegCouponDate, PayAtPaymentDateOfDividendEvent].")
|
43
44
|
additional_payments: Optional[conlist(AdditionalPayment)] = Field(None, alias="additionalPayments", description="Optional additional payments at a given date e.g. to level off an uneven equity swap. The dates must be distinct and either all payments are Pay or all payments are Receive.")
|
45
|
+
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
44
46
|
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")
|
45
47
|
additional_properties: Dict[str, Any] = {}
|
46
|
-
__properties = ["instrumentType", "startDate", "maturityDate", "code", "equityFlowConventions", "fundingLeg", "includeDividends", "initialPrice", "notionalReset", "quantity", "underlyingIdentifier", "equitySwapDividendPaymentTiming", "additionalPayments"]
|
48
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "code", "equityFlowConventions", "fundingLeg", "includeDividends", "initialPrice", "notionalReset", "quantity", "underlyingIdentifier", "equitySwapDividendPaymentTiming", "additionalPayments", "timeZoneConventions"]
|
47
49
|
|
48
50
|
@validator('instrument_type')
|
49
51
|
def instrument_type_validate_enum(cls, value):
|
@@ -150,6 +152,9 @@ class EquitySwap(LusidInstrument):
|
|
150
152
|
if _item:
|
151
153
|
_items.append(_item.to_dict())
|
152
154
|
_dict['additionalPayments'] = _items
|
155
|
+
# override the default output from pydantic by calling `to_dict()` of time_zone_conventions
|
156
|
+
if self.time_zone_conventions:
|
157
|
+
_dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
|
153
158
|
# puts key-value pairs in additional_properties in the top level
|
154
159
|
if self.additional_properties is not None:
|
155
160
|
for _key, _value in self.additional_properties.items():
|
@@ -189,7 +194,8 @@ class EquitySwap(LusidInstrument):
|
|
189
194
|
"quantity": obj.get("quantity"),
|
190
195
|
"underlying_identifier": obj.get("underlyingIdentifier"),
|
191
196
|
"equity_swap_dividend_payment_timing": obj.get("equitySwapDividendPaymentTiming"),
|
192
|
-
"additional_payments": [AdditionalPayment.from_dict(_item) for _item in obj.get("additionalPayments")] if obj.get("additionalPayments") is not None else None
|
197
|
+
"additional_payments": [AdditionalPayment.from_dict(_item) for _item in obj.get("additionalPayments")] if obj.get("additionalPayments") is not None else None,
|
198
|
+
"time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
|
193
199
|
})
|
194
200
|
# store additional fields in additional_properties
|
195
201
|
for _key in obj.keys():
|
@@ -22,6 +22,7 @@ from typing import Any, Dict, Optional, Union
|
|
22
22
|
from pydantic.v1 import StrictStr, Field, Field, StrictFloat, StrictInt, StrictStr, validator
|
23
23
|
from lusid.models.exchange_traded_option_contract_details import ExchangeTradedOptionContractDetails
|
24
24
|
from lusid.models.lusid_instrument import LusidInstrument
|
25
|
+
from lusid.models.time_zone_conventions import TimeZoneConventions
|
25
26
|
from lusid.models.trading_conventions import TradingConventions
|
26
27
|
|
27
28
|
class ExchangeTradedOption(LusidInstrument):
|
@@ -33,9 +34,10 @@ class ExchangeTradedOption(LusidInstrument):
|
|
33
34
|
contracts: Union[StrictFloat, StrictInt] = Field(..., description="The number of contracts held.")
|
34
35
|
ref_spot_price: Union[StrictFloat, StrictInt] = Field(..., alias="refSpotPrice", description="The reference spot price for the option at which the contract was entered into.")
|
35
36
|
trading_conventions: Optional[TradingConventions] = Field(None, alias="tradingConventions")
|
37
|
+
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
36
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")
|
37
39
|
additional_properties: Dict[str, Any] = {}
|
38
|
-
__properties = ["instrumentType", "startDate", "contractDetails", "contracts", "refSpotPrice", "tradingConventions"]
|
40
|
+
__properties = ["instrumentType", "startDate", "contractDetails", "contracts", "refSpotPrice", "tradingConventions", "timeZoneConventions"]
|
39
41
|
|
40
42
|
@validator('instrument_type')
|
41
43
|
def instrument_type_validate_enum(cls, value):
|
@@ -135,6 +137,9 @@ class ExchangeTradedOption(LusidInstrument):
|
|
135
137
|
# override the default output from pydantic by calling `to_dict()` of trading_conventions
|
136
138
|
if self.trading_conventions:
|
137
139
|
_dict['tradingConventions'] = self.trading_conventions.to_dict()
|
140
|
+
# override the default output from pydantic by calling `to_dict()` of time_zone_conventions
|
141
|
+
if self.time_zone_conventions:
|
142
|
+
_dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
|
138
143
|
# puts key-value pairs in additional_properties in the top level
|
139
144
|
if self.additional_properties is not None:
|
140
145
|
for _key, _value in self.additional_properties.items():
|
@@ -157,7 +162,8 @@ class ExchangeTradedOption(LusidInstrument):
|
|
157
162
|
"contract_details": ExchangeTradedOptionContractDetails.from_dict(obj.get("contractDetails")) if obj.get("contractDetails") is not None else None,
|
158
163
|
"contracts": obj.get("contracts"),
|
159
164
|
"ref_spot_price": obj.get("refSpotPrice"),
|
160
|
-
"trading_conventions": TradingConventions.from_dict(obj.get("tradingConventions")) if obj.get("tradingConventions") is not None else None
|
165
|
+
"trading_conventions": TradingConventions.from_dict(obj.get("tradingConventions")) if obj.get("tradingConventions") is not None else None,
|
166
|
+
"time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
|
161
167
|
})
|
162
168
|
# store additional fields in additional_properties
|
163
169
|
for _key in obj.keys():
|
lusid/models/fixed_leg.py
CHANGED
@@ -23,6 +23,7 @@ from pydantic.v1 import StrictStr, Field, Field, StrictFloat, StrictInt, StrictS
|
|
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
|
26
|
+
from lusid.models.time_zone_conventions import TimeZoneConventions
|
26
27
|
|
27
28
|
class FixedLeg(InstrumentLeg):
|
28
29
|
"""
|
@@ -33,9 +34,10 @@ class FixedLeg(InstrumentLeg):
|
|
33
34
|
leg_definition: LegDefinition = Field(..., alias="legDefinition")
|
34
35
|
notional: Union[StrictFloat, StrictInt] = Field(...)
|
35
36
|
overrides: Optional[FixedLegAllOfOverrides] = None
|
37
|
+
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
36
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")
|
37
39
|
additional_properties: Dict[str, Any] = {}
|
38
|
-
__properties = ["instrumentType", "startDate", "maturityDate", "legDefinition", "notional", "overrides"]
|
40
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "legDefinition", "notional", "overrides", "timeZoneConventions"]
|
39
41
|
|
40
42
|
@validator('instrument_type')
|
41
43
|
def instrument_type_validate_enum(cls, value):
|
@@ -135,6 +137,9 @@ class FixedLeg(InstrumentLeg):
|
|
135
137
|
# override the default output from pydantic by calling `to_dict()` of overrides
|
136
138
|
if self.overrides:
|
137
139
|
_dict['overrides'] = self.overrides.to_dict()
|
140
|
+
# override the default output from pydantic by calling `to_dict()` of time_zone_conventions
|
141
|
+
if self.time_zone_conventions:
|
142
|
+
_dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
|
138
143
|
# puts key-value pairs in additional_properties in the top level
|
139
144
|
if self.additional_properties is not None:
|
140
145
|
for _key, _value in self.additional_properties.items():
|
@@ -162,7 +167,8 @@ class FixedLeg(InstrumentLeg):
|
|
162
167
|
"maturity_date": obj.get("maturityDate"),
|
163
168
|
"leg_definition": LegDefinition.from_dict(obj.get("legDefinition")) if obj.get("legDefinition") is not None else None,
|
164
169
|
"notional": obj.get("notional"),
|
165
|
-
"overrides": FixedLegAllOfOverrides.from_dict(obj.get("overrides")) if obj.get("overrides") is not None else None
|
170
|
+
"overrides": FixedLegAllOfOverrides.from_dict(obj.get("overrides")) if obj.get("overrides") is not None else None,
|
171
|
+
"time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
|
166
172
|
})
|
167
173
|
# store additional fields in additional_properties
|
168
174
|
for _key in obj.keys():
|
lusid/models/flexible_deposit.py
CHANGED
@@ -22,6 +22,7 @@ from typing import Any, Dict, List, Optional
|
|
22
22
|
from pydantic.v1 import StrictStr, Field, Field, StrictStr, conlist, validator
|
23
23
|
from lusid.models.lusid_instrument import LusidInstrument
|
24
24
|
from lusid.models.schedule import Schedule
|
25
|
+
from lusid.models.time_zone_conventions import TimeZoneConventions
|
25
26
|
from lusid.models.trading_conventions import TradingConventions
|
26
27
|
|
27
28
|
class FlexibleDeposit(LusidInstrument):
|
@@ -33,9 +34,10 @@ class FlexibleDeposit(LusidInstrument):
|
|
33
34
|
dom_ccy: StrictStr = Field(...,alias="domCcy", description="The domestic currency of the instrument.")
|
34
35
|
schedules: conlist(Schedule) = Field(..., description="Repayment schedules for the deposit instrument.")
|
35
36
|
trading_conventions: Optional[TradingConventions] = Field(None, alias="tradingConventions")
|
37
|
+
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
36
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")
|
37
39
|
additional_properties: Dict[str, Any] = {}
|
38
|
-
__properties = ["instrumentType", "startDate", "maturityDate", "domCcy", "schedules", "tradingConventions"]
|
40
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "domCcy", "schedules", "tradingConventions", "timeZoneConventions"]
|
39
41
|
|
40
42
|
@validator('instrument_type')
|
41
43
|
def instrument_type_validate_enum(cls, value):
|
@@ -139,6 +141,9 @@ class FlexibleDeposit(LusidInstrument):
|
|
139
141
|
# override the default output from pydantic by calling `to_dict()` of trading_conventions
|
140
142
|
if self.trading_conventions:
|
141
143
|
_dict['tradingConventions'] = self.trading_conventions.to_dict()
|
144
|
+
# override the default output from pydantic by calling `to_dict()` of time_zone_conventions
|
145
|
+
if self.time_zone_conventions:
|
146
|
+
_dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
|
142
147
|
# puts key-value pairs in additional_properties in the top level
|
143
148
|
if self.additional_properties is not None:
|
144
149
|
for _key, _value in self.additional_properties.items():
|
@@ -161,7 +166,8 @@ class FlexibleDeposit(LusidInstrument):
|
|
161
166
|
"maturity_date": obj.get("maturityDate"),
|
162
167
|
"dom_ccy": obj.get("domCcy"),
|
163
168
|
"schedules": [Schedule.from_dict(_item) for _item in obj.get("schedules")] if obj.get("schedules") is not None else None,
|
164
|
-
"trading_conventions": TradingConventions.from_dict(obj.get("tradingConventions")) if obj.get("tradingConventions") is not None else None
|
169
|
+
"trading_conventions": TradingConventions.from_dict(obj.get("tradingConventions")) if obj.get("tradingConventions") is not None else None,
|
170
|
+
"time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
|
165
171
|
})
|
166
172
|
# store additional fields in additional_properties
|
167
173
|
for _key in obj.keys():
|
lusid/models/flexible_loan.py
CHANGED
@@ -18,10 +18,11 @@ import re # noqa: F401
|
|
18
18
|
import json
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
|
-
from typing import Any, Dict, List
|
21
|
+
from typing import Any, Dict, List, Optional
|
22
22
|
from pydantic.v1 import StrictStr, Field, Field, StrictStr, conlist, validator
|
23
23
|
from lusid.models.lusid_instrument import LusidInstrument
|
24
24
|
from lusid.models.schedule import Schedule
|
25
|
+
from lusid.models.time_zone_conventions import TimeZoneConventions
|
25
26
|
|
26
27
|
class FlexibleLoan(LusidInstrument):
|
27
28
|
"""
|
@@ -31,9 +32,10 @@ class FlexibleLoan(LusidInstrument):
|
|
31
32
|
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
33
|
dom_ccy: StrictStr = Field(...,alias="domCcy", description="The domestic currency of the instrument.")
|
33
34
|
schedules: conlist(Schedule) = Field(..., description="Repayment schedules for the loan.")
|
35
|
+
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
34
36
|
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
37
|
additional_properties: Dict[str, Any] = {}
|
36
|
-
__properties = ["instrumentType", "startDate", "maturityDate", "domCcy", "schedules"]
|
38
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "domCcy", "schedules", "timeZoneConventions"]
|
37
39
|
|
38
40
|
@validator('instrument_type')
|
39
41
|
def instrument_type_validate_enum(cls, value):
|
@@ -134,6 +136,9 @@ class FlexibleLoan(LusidInstrument):
|
|
134
136
|
if _item:
|
135
137
|
_items.append(_item.to_dict())
|
136
138
|
_dict['schedules'] = _items
|
139
|
+
# override the default output from pydantic by calling `to_dict()` of time_zone_conventions
|
140
|
+
if self.time_zone_conventions:
|
141
|
+
_dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
|
137
142
|
# puts key-value pairs in additional_properties in the top level
|
138
143
|
if self.additional_properties is not None:
|
139
144
|
for _key, _value in self.additional_properties.items():
|
@@ -155,7 +160,8 @@ class FlexibleLoan(LusidInstrument):
|
|
155
160
|
"start_date": obj.get("startDate"),
|
156
161
|
"maturity_date": obj.get("maturityDate"),
|
157
162
|
"dom_ccy": obj.get("domCcy"),
|
158
|
-
"schedules": [Schedule.from_dict(_item) for _item in obj.get("schedules")] if obj.get("schedules") is not None else None
|
163
|
+
"schedules": [Schedule.from_dict(_item) for _item in obj.get("schedules")] if obj.get("schedules") is not None else None,
|
164
|
+
"time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
|
159
165
|
})
|
160
166
|
# store additional fields in additional_properties
|
161
167
|
for _key in obj.keys():
|
lusid/models/floating_leg.py
CHANGED
@@ -23,6 +23,7 @@ from pydantic.v1 import StrictStr, Field, Field, StrictFloat, StrictInt, StrictS
|
|
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
|
26
|
+
from lusid.models.time_zone_conventions import TimeZoneConventions
|
26
27
|
|
27
28
|
class FloatingLeg(InstrumentLeg):
|
28
29
|
"""
|
@@ -35,9 +36,10 @@ class FloatingLeg(InstrumentLeg):
|
|
35
36
|
overrides: Optional[FixedLegAllOfOverrides] = None
|
36
37
|
cap_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="capRate", description="The maximum floating rate which a cashflow can accrue.")
|
37
38
|
floor_rate: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="floorRate", description="The minimum floating rate which a cashflow can accrue.")
|
39
|
+
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
38
40
|
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
41
|
additional_properties: Dict[str, Any] = {}
|
40
|
-
__properties = ["instrumentType", "startDate", "maturityDate", "legDefinition", "notional", "overrides", "capRate", "floorRate"]
|
42
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "legDefinition", "notional", "overrides", "capRate", "floorRate", "timeZoneConventions"]
|
41
43
|
|
42
44
|
@validator('instrument_type')
|
43
45
|
def instrument_type_validate_enum(cls, value):
|
@@ -137,6 +139,9 @@ class FloatingLeg(InstrumentLeg):
|
|
137
139
|
# override the default output from pydantic by calling `to_dict()` of overrides
|
138
140
|
if self.overrides:
|
139
141
|
_dict['overrides'] = self.overrides.to_dict()
|
142
|
+
# override the default output from pydantic by calling `to_dict()` of time_zone_conventions
|
143
|
+
if self.time_zone_conventions:
|
144
|
+
_dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
|
140
145
|
# puts key-value pairs in additional_properties in the top level
|
141
146
|
if self.additional_properties is not None:
|
142
147
|
for _key, _value in self.additional_properties.items():
|
@@ -176,7 +181,8 @@ class FloatingLeg(InstrumentLeg):
|
|
176
181
|
"notional": obj.get("notional"),
|
177
182
|
"overrides": FixedLegAllOfOverrides.from_dict(obj.get("overrides")) if obj.get("overrides") is not None else None,
|
178
183
|
"cap_rate": obj.get("capRate"),
|
179
|
-
"floor_rate": obj.get("floorRate")
|
184
|
+
"floor_rate": obj.get("floorRate"),
|
185
|
+
"time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
|
180
186
|
})
|
181
187
|
# store additional fields in additional_properties
|
182
188
|
for _key in obj.keys():
|
@@ -22,6 +22,7 @@ from typing import Any, Dict, Optional, Union
|
|
22
22
|
from pydantic.v1 import StrictStr, Field, Field, StrictFloat, StrictInt, StrictStr, validator
|
23
23
|
from lusid.models.index_convention import IndexConvention
|
24
24
|
from lusid.models.lusid_instrument import LusidInstrument
|
25
|
+
from lusid.models.time_zone_conventions import TimeZoneConventions
|
25
26
|
|
26
27
|
class ForwardRateAgreement(LusidInstrument):
|
27
28
|
"""
|
@@ -34,9 +35,10 @@ class ForwardRateAgreement(LusidInstrument):
|
|
34
35
|
fra_rate: Union[StrictFloat, StrictInt] = Field(..., alias="fraRate", description="The rate at which the FRA is traded.")
|
35
36
|
notional: Union[StrictFloat, StrictInt] = Field(..., description="The amount for which the FRA is traded.")
|
36
37
|
index_convention: Optional[IndexConvention] = Field(None, alias="indexConvention")
|
38
|
+
time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
|
37
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")
|
38
40
|
additional_properties: Dict[str, Any] = {}
|
39
|
-
__properties = ["instrumentType", "startDate", "maturityDate", "domCcy", "fixingDate", "fraRate", "notional", "indexConvention"]
|
41
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "domCcy", "fixingDate", "fraRate", "notional", "indexConvention", "timeZoneConventions"]
|
40
42
|
|
41
43
|
@validator('instrument_type')
|
42
44
|
def instrument_type_validate_enum(cls, value):
|
@@ -133,6 +135,9 @@ class ForwardRateAgreement(LusidInstrument):
|
|
133
135
|
# override the default output from pydantic by calling `to_dict()` of index_convention
|
134
136
|
if self.index_convention:
|
135
137
|
_dict['indexConvention'] = self.index_convention.to_dict()
|
138
|
+
# override the default output from pydantic by calling `to_dict()` of time_zone_conventions
|
139
|
+
if self.time_zone_conventions:
|
140
|
+
_dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
|
136
141
|
# puts key-value pairs in additional_properties in the top level
|
137
142
|
if self.additional_properties is not None:
|
138
143
|
for _key, _value in self.additional_properties.items():
|
@@ -157,7 +162,8 @@ class ForwardRateAgreement(LusidInstrument):
|
|
157
162
|
"fixing_date": obj.get("fixingDate"),
|
158
163
|
"fra_rate": obj.get("fraRate"),
|
159
164
|
"notional": obj.get("notional"),
|
160
|
-
"index_convention": IndexConvention.from_dict(obj.get("indexConvention")) if obj.get("indexConvention") is not None else None
|
165
|
+
"index_convention": IndexConvention.from_dict(obj.get("indexConvention")) if obj.get("indexConvention") is not None else None,
|
166
|
+
"time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
|
161
167
|
})
|
162
168
|
# store additional fields in additional_properties
|
163
169
|
for _key in obj.keys():
|