aboutsummaryrefslogtreecommitdiffstats
path: root/python/trade_dataclasses.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/trade_dataclasses.py')
-rw-r--r--python/trade_dataclasses.py44
1 files changed, 18 insertions, 26 deletions
diff --git a/python/trade_dataclasses.py b/python/trade_dataclasses.py
index 6895e14e..7986a623 100644
--- a/python/trade_dataclasses.py
+++ b/python/trade_dataclasses.py
@@ -728,6 +728,7 @@ class SpotDeal(
_fx_cp = {"BAST": "BAMSNY", "MSST": "MSCSNY"}
_fx_funds = {"serenitas": "SERCGMAST", "bowdst": "BOWDST"}
+_fx_accounts = {"serenitas": "V0NSCLMAMB", "bowdst": "319478"}
@dataclass
@@ -762,23 +763,21 @@ class FxswapDeal(
@classmethod
def from_bbg_line(cls, line: dict):
if line["Side"] == "S":
- near_buy_currency = line["Currency 1"]
- near_buy_amount = line["Amount Dealt"]
- near_sell_currency = line["Currency 2"]
- near_sell_amount = line["Counter Amount"]
- far_buy_currency = line["Currency 2"]
- far_buy_amount = line["Far Counter Amount"]
- far_sell_currency = line["Currency 1"]
- far_sell_amount = line["Far Amount Dealt"]
- elif line["Side"] == "B":
- near_sell_currency = line["Currency 1"]
- near_sell_amount = line["Amount Dealt"]
- near_buy_currency = line["Currency 2"]
- near_buy_amount = line["Counter Amount"]
- far_sell_currency = line["Currency 2"]
- far_sell_amount = line["Far Counter Amount"]
- far_buy_currency = line["Currency 1"]
- far_buy_amount = line["Far Amount Dealt"]
+ key1, key2 = "buy", "sell"
+ else:
+ key1, key2 = "sell", "buy"
+
+ d = {
+ f"near_{key1}_currency": line["Currency 1"],
+ f"near_{key1}_amount": line["Amount Dealt"],
+ f"far_{key1}_currency": line["Currency 2"],
+ f"far_{key1}_amount": line["Far Counter Amount"],
+ f"near_{key2}_currency": line["Currency 2"],
+ f"near_{key2}_amount": line["Counter Amount"],
+ f"far_{key2}_currency": line["Currency 1"],
+ f"far_{key2}_amount": line["Far Amount Dealt"],
+ }
+
sql_line = [None if not value else value for value in list(line.values())]
cls._bbg_insert_queue.append(sql_line)
return cls(
@@ -792,16 +791,9 @@ class FxswapDeal(
far_settle_date=datetime.datetime.strptime(
line["Value Date Period 2 Currency 1"], "%Y%m%d"
),
- near_buy_currency=near_buy_currency,
- near_buy_amount=near_buy_amount,
- near_sell_currency=near_sell_currency,
- near_sell_amount=near_sell_amount,
- far_buy_currency=far_buy_currency,
- far_buy_amount=far_buy_amount,
- far_sell_currency=far_sell_currency,
- far_sell_amount=far_sell_amount,
fund=_fx_funds[line["ALOC Account 1"]],
near_rate=line["Exchange Rate Period 1"],
far_rate=line["Exchange Rate Period 2"],
- cash_account="V0NSCLMAMB",
+ cash_account=_fx_accounts[line["ALOC Account 1"]],
+ **d,
)