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