diff options
Diffstat (limited to 'python/trade_dataclasses.py')
| -rw-r--r-- | python/trade_dataclasses.py | 40 |
1 files changed, 16 insertions, 24 deletions
diff --git a/python/trade_dataclasses.py b/python/trade_dataclasses.py index 5020db67..5557013e 100644 --- a/python/trade_dataclasses.py +++ b/python/trade_dataclasses.py @@ -1360,11 +1360,8 @@ class IRSProduct( ): birth_date: datetime.date = field(metadata={"citco": "Birth_date"}) death_date: datetime.date = field(metadata={"citco": "Death_date"}) - payreceive: bool fixed_rate: float notional: float - - payreceive: str = field() instrument_type: str = field(default="IRS", metadata={"citco": "Instrument Type"}) active: str = field(default=True, metadata={"citco": "Active"}) fixed_daycount: str = field(default="ACT/360") @@ -1384,7 +1381,7 @@ class IRSProduct( ) def get_dealid(self): - sql_str = "SELECT id, dealid, committed from citco_irs where birth_date=%s and death_date=%s and float_index=%s and fixed_rate=%s and payreceive=%s" + sql_str = "SELECT id, dealid, committed from citco_irs where birth_date=%s and death_date=%s and float_index=%s and fixed_rate=%s" with self._conn.cursor() as c: c.execute( sql_str, @@ -1393,7 +1390,6 @@ class IRSProduct( self.death_date, self.float_index, self.fixed_rate, - self.payreceive, ), ) if results := c.fetchone(): @@ -1410,26 +1406,22 @@ class IRSProduct( self.get_dealid() obj = self.serialize("citco") - if obj["payreceive"]: - key1, key2 = "P", "R" - else: - key1, key2 = "R", "P" d = { - f"S_{key1}_CurrencyCode": self.currency, - f"S_{key1}_PaymentFreqID": _citco_frequency[self.fixed_payment_freq], - f"S_{key1}_RateIndexID": 0, - f"S_{key1}_AccrualMethodID": _citco_daycount[self.fixed_daycount], - f"S_{key1}_Interest Rate": self.fixed_rate, - f"S_{key1}_Day Convention": _citco_bdc[self.fixed_bdc], - f"S_{key1}_ResetFreqID": 0, - f"S_{key2}_CurrencyCode": self.currency, - f"S_{key2}_PaymentFreqID": _citco_frequency[self.float_payment_freq], - f"S_{key2}_RateIndexID": 28, - f"S_{key2}_AccrualMethodID": _citco_daycount[self.float_daycount], - f"S_{key2}_Interest Rate": 0, - f"S_{key2}_DayConventionID": _citco_bdc[self.float_bdc], - f"S_{key2}_ResetFreqID": _citco_frequency[self.float_fixing_freq], - f"S_{key2}_RateSource": _citco_ratesource[self.float_index], + f"S_P_CurrencyCode": self.currency, + f"S_P_PaymentFreqID": _citco_frequency[self.fixed_payment_freq], + f"S_P_RateIndexID": 0, + f"S_P_AccrualMethodID": _citco_daycount[self.fixed_daycount], + f"S_P_Interest Rate": self.fixed_rate, + f"S_P_Day Convention": _citco_bdc[self.fixed_bdc], + f"S_P_ResetFreqID": 0, + f"S_R_CurrencyCode": self.currency, + f"S_R_PaymentFreqID": _citco_frequency[self.float_payment_freq], + f"S_R_RateIndexID": 28, + f"S_R_AccrualMethodID": _citco_daycount[self.float_daycount], + f"S_R_Interest Rate": 0, + f"S_R_DayConventionID": _citco_bdc[self.float_bdc], + f"S_R_ResetFreqID": _citco_frequency[self.float_fixing_freq], + f"S_R_RateSource": _citco_ratesource[self.float_index], } obj.update(d) obj["Command"] = "N" |
