aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/trade_dataclasses.py40
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"