aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/collateral_calc.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/python/collateral_calc.py b/python/collateral_calc.py
index 7261a216..4d0589a0 100644
--- a/python/collateral_calc.py
+++ b/python/collateral_calc.py
@@ -373,6 +373,9 @@ def ms_collateral(d, dawn_trades):
collat = float(collat)
df = pd.read_excel(DAILY_DIR / "MS_reports" / f"Trade_Detail_{d:%Y%m%d}.xls")
df = df.merge(dawn_trades, how='left', left_on='trade_id', right_on='cpty_id')
+ missing_ids = df.loc[df.cpty_id.isnull(), "trade_id"]
+ if not missing_ids.empty:
+ raise ValueError(f"{missing_ids.tolist()} not in the database")
df = df.groupby('folder')[["collat_req_in_agr_ccy"]].sum()
df['Currency'] = "USD"
df = df.reset_index()
@@ -430,6 +433,9 @@ def gs_collateral(d, dawn_trades):
df = load_gs_file(d, "Trade_Detail")
df = df[['Trade Id', 'Transaction Type', 'NPV (USD)', 'Initial Margin Required']]
df = df.merge(dawn_trades, how='left', left_on='Trade Id', right_on='cpty_id')
+ missing_ids = df.loc[df.cpty_id.isnull(), "Trade Id"]
+ if not missing_ids.empty:
+ raise ValueError(f"{missing_ids.tolist()} not in the database")
df = df[['folder', 'NPV (USD)', 'Initial Margin Required']]
df = df.groupby('folder').sum()
df = df.sum(axis=1).to_frame(name='Amount')
@@ -448,6 +454,9 @@ def citi_collateral(d, dawn_trades):
collateral = get_citi_collateral(d - BDay())
df = df[['Operations File', 'Market Value', 'BasicAmt']]
df = df.merge(dawn_trades, how='left', left_on='Operations File', right_on='cpty_id')
+ missing_ids = df.loc[df.cpty_id.isnull(), "Operations File"]
+ if not missing_ids.empty:
+ raise ValueError(f"{missing_ids.tolist()} not in the database")
df = df.groupby('folder').sum()
df = df.sum(axis=1).to_frame(name='Amount')
df['Currency'] = 'USD'