diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/trade_dataclasses.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/python/trade_dataclasses.py b/python/trade_dataclasses.py index 99838ed0..7f3b1018 100644 --- a/python/trade_dataclasses.py +++ b/python/trade_dataclasses.py @@ -1336,7 +1336,7 @@ class SwaptionProduct( obj["Active"] = "Y" obj["Birth_date"] = obj["Birth_date"].strftime("%Y%m%d") obj["Death_date"] = obj["Death_date"].strftime("%Y%m%d") - obj["ExpirationDate"] = obj["Expiration Date"].strftime("%Y%m%d") + obj["ExpirationDate"] = obj["ExpirationDate"].strftime("%Y%m%d") obj["Put/CallFlag"] = "C" if obj["callput"] else "P" obj["OptionType"] = "Vanilla European" return obj @@ -1373,6 +1373,9 @@ class IRSProduct( float_fixing_freq: str = field(default="Daily") pay_interest_calc_method: str = field(default="Compound") committed: bool = field(default=False) + security_desc: str = field( + init=False, metadata={"insert": False, "citco": "Sec_Desc"}, default=None + ) id: int = field(default=None, metadata={"insert": False}) dealid: str = field( default=None, metadata={"insert": False, "citco": "UniqueIdentifier"} @@ -1392,6 +1395,7 @@ class IRSProduct( ) if results := c.fetchone(): (self.id, self.dealid, self.committed) = results + self.security_desc = f"SWAP IRS {self.float_index}-{self.fixed_rate}" def __post_init__(self): self.get_dealid() @@ -1440,7 +1444,7 @@ class TRSProduct( ): birth_date: datetime.date = field(metadata={"citco": "Birth_date"}) death_date: datetime.date = field(metadata={"citco": "Death_date"}) - underlying_security: str = field(metadata={"citco": "Underlying Security Id"}) + underlying_security: str = field(metadata={"citco": "UnderlyingSecurityId"}) active: str = field(default=True, metadata={"citco": "Active"}) funding_daycount: str = field(default="ACT/360") funding_freq: str = field(default="Quarterly") @@ -1455,9 +1459,12 @@ class TRSProduct( committed: bool = field(default=False) instrument_type: str = field(default="TRS", metadata={"citco": "InstrumentType"}) funding_index: str = field(default="SOFRRATE", metadata={}) + security_desc: str = field( + init=False, metadata={"insert": False, "citco": "Sec_Desc"}, default=None + ) id: int = field(default=None, metadata={"insert": False}) dealid: str = field( - default=None, metadata={"insert": False, "citco": "Unique Identifier"} + default=None, metadata={"insert": False, "citco": "UniqueIdentifier"} ) def get_dealid(self): @@ -1474,6 +1481,8 @@ class TRSProduct( ) if results := c.fetchone(): (self.id, self.dealid, self.committed) = results + _citco_trs = {"4J623JAA8": "IBOXHY_TRS"} + self.security_desc = _citco_trs[self.underlying_security] def __post_init__(self): self.get_dealid() |
