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 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.7953\n"\
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():
@@ -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():
@@ -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():
@@ -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():
@@ -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():
@@ -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():
@@ -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():