diff options
| -rw-r--r-- | python/trade_dataclasses.py | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/python/trade_dataclasses.py b/python/trade_dataclasses.py index cf0c983f..adc3dcc4 100644 --- a/python/trade_dataclasses.py +++ b/python/trade_dataclasses.py @@ -999,11 +999,11 @@ class SpotDeal( def to_citco(self): obj = self.serialize("citco") if obj["buy_currency"] == "USD": - key = "sell" + key1, key2 = "sell", "buy" else: - key = "buy" - obj["SecurityCurrency"] = obj[f"{key}_currency"] - obj["OrderQty"] = obj[f"{key}_amount"] + key1, key2 = "buy", "sell" + obj["SecurityCurrency"] = obj[f"{key1}_currency"] + obj["OrderQty"] = obj[f"{key1}_amount"] obj["FillID"] = obj["ClientOrderID"] obj["SecurityType"] = "FX" obj["Trader"] = "DFLT" @@ -1019,6 +1019,7 @@ class SpotDeal( obj["ClearingAgent"] = "NT" obj["TradeDate"] = obj["TradeDate"].strftime("%Y%m%d") obj["SettlementDate"] = obj["SettlementDate"].strftime("%Y%m%d") + obj["FillFXSettleAmount"] = obj[f"{key2}_amount"] return obj @@ -1130,12 +1131,28 @@ class FxSwapDeal( _citco_currency_mapping = {"EUR": "EURUSD CURNCY"} obj["SecurityID"] = _citco_currency_mapping[obj["SecurityCurrency"]] obj["ClearingAgent"] = "NT" - obj["TradeDate"] = obj["TradeDate"].strftime("%Y%m%d") obj["SettlementDate"] = obj["far_settle_date"] - obj["SettlementDate"] = obj["SettlementDate"].strftime("%Y%m%d") + obj["FillFXSettleAmount"] = obj[f"far_{key2}_amount"] + near_trade = SpotDeal( + folder=obj["folder"], + portfolio=obj["portfolio"], + spot_rate=obj["near_rate"], + buy_currency=obj[f"near_{key1}_currency"], + buy_amount=obj[f"near_{key1}_amount"], + sell_currency=obj[f"near_{key2}_currency"], + sell_amount=obj[f"near_{key2}_amount"], + fund=obj["fund"], + dealid=obj["ClientOrderID"] + "_N", + trade_date=obj["TradeDate"], + settle_date=obj["near_settle_date"], + cp_code=obj["cp_code"], + cash_account=obj["cash_account"], + ) + near_trade.citco_stage() obj["ClientOrderID"] = obj["ClientOrderID"] + "_F" obj["FillID"] = obj["ClientOrderID"] - obj["FillFXSettleAmount"] = obj[f"far_{key2}_amount"] + obj["SettlementDate"] = obj["SettlementDate"].strftime("%Y%m%d") + obj["TradeDate"] = obj["TradeDate"].strftime("%Y%m%d") return obj |
