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