diff options
Diffstat (limited to 'python/collateral_calc.py')
| -rw-r--r-- | python/collateral_calc.py | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/python/collateral_calc.py b/python/collateral_calc.py index 496af854..bcad3172 100644 --- a/python/collateral_calc.py +++ b/python/collateral_calc.py @@ -135,16 +135,33 @@ def ms_collateral(d): r.append(["M_CSH_CASH", -7_490_000 - acc, "USD"]) return pd.DataFrame.from_records(r, columns=['Strategy', 'Amount', 'Currency']) +def gs_collateral(d): + fname = next( (DAILY_DIR / "GS_reports"). + glob(f"Trade_Detail*{d.strftime('%d_%b_%Y')}*")) + df = pd.read_excel(fname, skiprows=9, skipfooter=77) + df = df[['Transaction Type', 'NPV (USD)', 'Initial Margin Required']] + df = df.groupby('Transaction Type').sum() + df = df.sum(axis=1).to_frame(name='Amount') + df['Currency'] = 'USD' + df = df.reset_index() + df.columns = ['Strategy', 'Amount', 'Currency'] + df.Strategy = df.Strategy.replace({'SWAP_CDINDT': 'IGTCDSCSH', + 'GENERIC_IRSIRD': 'IRDEVCSH'}) + df.Amount *= -1 + return df -def send_email(account, df_ms, df_sg): +def send_email(account, df_ms, df_sg, df_gs): pd.set_option('display.float_format', '{:.2f}'.format) content = HTMLBody('<html><body>' '<h3>At Morgan Stanley:</h3>' '{}' '<h3>At Societe Generale:</h3>' '{}' + '<h3>At Goldman Sachs:</h3>' + '{}' '</body><html>'.format(df_ms.to_html(index=False), - df_sg.to_html(index=False))) + df_sg.to_html(index=False), + df_gs.to_html(index=False))) m = Message( account=account, folder=account.sent, @@ -163,5 +180,6 @@ if __name__ == "__main__": download_files(d) df_ms = ms_collateral(d - BDay()) df_sg = sg_collateral(d) + df_gs = gs_collateral(d) account = get_account('ghorel@lmcg.com') - send_email(account, df_ms, df_sg) + send_email(account, df_ms, df_sg, df_gs) |
