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