diff options
Diffstat (limited to 'python/trade_dataclasses.py')
| -rw-r--r-- | python/trade_dataclasses.py | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/python/trade_dataclasses.py b/python/trade_dataclasses.py index 933c6812..e885992b 100644 --- a/python/trade_dataclasses.py +++ b/python/trade_dataclasses.py @@ -441,39 +441,35 @@ class Citco: csvwriter = csv.writer(buf) csvwriter.writerow(cls._citco_headers) ###### Static Values for Now - new_values = [] for h in cls._citco_queue: h["OrdStatus"] = "N" h["ExecTransType"] = 2 h["Fund"] = "ISOSEL" - new_values.append(h) - cls._citco_queue = new_values ###### csvwriter.writerows( [row.get(h, None) for h in cls._citco_headers] for row in cls._citco_queue ) buf = buf.getvalue().encode() - if hasattr(cls, "product_key"): - fname = f"i.innocap_serenitas.{datetime.datetime.now():%Y%m%d%H%M%S}.csv" - else: - fname = ( - f"innocap_serenitas_trades_{datetime.datetime.now():%Y%m%d%H%M%S}.csv" - ) cls._sftp.client.chdir("/incoming") - cls._sftp.put(buf, fname) - dest = DAILY_DIR / str(datetime.date.today()) / fname + cls._sftp.put(buf, cls.fname()) + dest = DAILY_DIR / str(datetime.date.today()) / cls.fname() dest.write_bytes(buf) cls._citco_queue.clear() def citco_stage(self): self._citco_queue.append(self.to_citco()) + @classmethod + def fname(cls): + return f"i.innocap_{cls.file_tag}.{datetime.datetime.now():%Y%m%d%H%M%S}.csv" + class CitcoProduct(Citco): _citco_queue: ClassVar[list] = [] _citco_headers = GIL product_key = () + file_tag = "serenitas" def __init_subclass__(cls, product_key, **kwargs): cls.product_key = product_key @@ -499,6 +495,7 @@ class CitcoProduct(Citco): class CitcoTrade(Citco): _citco_queue: ClassVar[list] = [] _citco_headers = GTL + file_tag = "serenitas_trades" def to_citco(self): obj = self.serialize("citco") @@ -595,7 +592,6 @@ class CDSDeal( obj = super().to_citco() obj["SecurityType"] = "CDS" obj["BuySellShortCover"] = "B" if obj["protection"] == "Buy" else "S" - obj["Trader"] = "DFLT" obj["SettleCurrency"] = obj["SecurityCurrency"] if obj["orig_attach"]: # tranche process @@ -626,7 +622,6 @@ class CDSDeal( obj[ "ClearingAgent" ] = "BOA_FC" # We need to query DB via accounts table here - obj = super().to_citco() return obj @classmethod @@ -872,7 +867,6 @@ class SwaptionDeal( ) instrument.citco_stage() obj["SecurityID"] = instrument.dealid - obj = super().to_citco() return obj @@ -1074,7 +1068,6 @@ class SpotDeal( obj["FillFXSettleAmount"] = obj[f"{key2}_amount"] obj["SettleCurrency"] = "USD" obj["FXRate"] = 1 - obj = super().to_citco() return obj @@ -1359,7 +1352,6 @@ class TRSDeal( ) product.citco_stage() obj["SecurityID"] = product.dealid - obj = obj._base_attrs(obj) return obj @@ -1488,7 +1480,6 @@ class IRSDeal( product.citco_stage() obj["SecurityID"] = product.dealid obj["ClearingAgent"] = "BOA_FC" - obj = super().to_citco() return obj |
