aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/trade_dataclasses.py31
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