diff options
Diffstat (limited to 'python/trade_dataclasses.py')
| -rw-r--r-- | python/trade_dataclasses.py | 31 |
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 |
