aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/trade_dataclasses.py31
1 files changed, 18 insertions, 13 deletions
diff --git a/python/trade_dataclasses.py b/python/trade_dataclasses.py
index 2559585a..9683930e 100644
--- a/python/trade_dataclasses.py
+++ b/python/trade_dataclasses.py
@@ -462,14 +462,14 @@ class Citco:
@classmethod
def fname(cls):
- return f"i.innocap_{cls.file_tag}.{datetime.datetime.now():%Y%m%d%H%M%S}.csv"
+ 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"
+ file_tag = "serenitas."
def __init_subclass__(cls, product_key, **kwargs):
cls.product_key = product_key
@@ -495,18 +495,23 @@ class CitcoProduct(Citco):
class CitcoTrade(Citco):
_citco_queue: ClassVar[list] = []
_citco_headers = GTL
- file_tag = "serenitas_trades"
+ file_tag = "serenitas_trades_"
def to_citco(self):
obj = self.serialize("citco")
obj["FillID"] = obj["ClientOrderID"]
obj["Trader"] = "DFLT"
obj["StrategyCode"] = f"{obj['portfolio']}/{obj['folder']}"
- obj["TradeDate"] = obj["TradeDate"].strftime("%Y%m%d")
- obj["SettlementDate"] = obj["SettlementDate"].strftime("%Y%m%d")
- obj["FillQty"] = obj["OrderQty"]
- if self._table_name not in ("cds",):
- obj["FillPrice"] = obj["AvgPrice"]
+ obj["TradeDate"] = (
+ obj["TradeDate"].strftime("%Y%m%d") if obj.get("TradeDate") else None
+ )
+ obj["SettlementDate"] = (
+ obj["SettlementDate"].strftime("%Y%m%d")
+ if obj.get("SettlementDate")
+ else None
+ )
+ obj["FillQty"] = obj.get("OrderQty")
+ obj["FillPrice"] = obj.get("AvgPrice")
return obj
@@ -577,9 +582,9 @@ class CDSDeal(
self.orig_detach - self.orig_attach
)
else:
- with self._conn() as c:
+ with self._conn.cursor() as c:
c.execute(
- "SELECT index_factor / 100 from index_version where redindexcode=%s",
+ "SELECT indexfactor / 100 from index_version where redindexcode=%s",
(self.security_id,),
)
(self.factor,) = c.fetchone()
@@ -1208,7 +1213,9 @@ class FxSwapDeal(
sell_amount=obj[f"near_{key2}_amount"],
fund=obj["fund"],
dealid=obj["ClientOrderID"] + "_N",
- trade_date=obj["TradeDate"],
+ trade_date=datetime.datetime.strptime(
+ obj["TradeDate"], "%Y%m%d"
+ ), # Will be cleaning up with a split function, this is just to run it
settle_date=obj["near_settle_date"],
cp_code=obj["cp_code"],
cash_account=obj["cash_account"],
@@ -1760,8 +1767,6 @@ class IRSProduct(
obj["Command"] = "N"
obj["Active"] = "Y" if obj["Active"] else "N"
obj["PrincipalExchTypeID"] = 1
- obj["Birth_date"] = obj["Birth_date"].strftime("%Y%m%d")
- obj["Death_date"] = obj["Death_date"].strftime("%Y%m%d")
return obj