aboutsummaryrefslogtreecommitdiffstats
path: root/python/collateral_calc.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/collateral_calc.py')
-rw-r--r--python/collateral_calc.py34
1 files changed, 22 insertions, 12 deletions
diff --git a/python/collateral_calc.py b/python/collateral_calc.py
index 7d314e39..08e34047 100644
--- a/python/collateral_calc.py
+++ b/python/collateral_calc.py
@@ -72,7 +72,10 @@ def download_baml_files(d=None):
DATA_DIR = DAILY_DIR / "BAML_reports"
sftp = get_baml_sftp_client()
for f in sftp.listdir('outgoing'):
- sftp.get(f"outgoing/{f}", localpath=DATA_DIR / f)
+ local_file = DATA_DIR / f
+ if not local_file.exists():
+ sftp.get(f"outgoing/{f}", localpath=DATA_DIR / f)
+
def download_wells_files(d=None):
DATA_DIR = DAILY_DIR / "Wells_reports"
@@ -456,7 +459,7 @@ def citi_collateral(d, dawn_trades):
return df
-def send_email(dfs):
+def send_email(d, dfs):
pd.set_option('display.float_format', '{:.2f}'.format)
content = HTMLBody('<html><body>'
'<h3>At Morgan Stanley:</h3>'
@@ -471,12 +474,19 @@ def send_email(dfs):
'{}'
'</body><html>'.format(*(df.to_html(index=False) for df in dfs)))
em = ExchangeMessage()
- em.send_email("IAM booking", content,
+ em.send_email(f"IAM booking {d:%Y-%m-%d}", content,
['serenitas.otc@sscinc.com'],
['nyops@lmcg.com'])
if __name__ == "__main__":
+ import argparse
+ from dates import bus_day
+ parser = argparse.ArgumentParser()
+ parser.add_argument('workdate', nargs='?',
+ type=lambda s: pd.datetime.strptime(s, "%Y-%m-%d").date(),
+ default=pd.Timestamp.today().normalize())
+ args = parser.parse_args()
download_ms_emails()
download_gs_emails()
download_citi_emails()
@@ -484,20 +494,20 @@ if __name__ == "__main__":
download_baml_files()
download_wells_files()
dawn_trades = get_dawn_trades()
- d = (pd.Timestamp.today() - BDay()).normalize()
+ df_citi = citi_collateral(args.workdate, dawn_trades)
+ args.workdate = args.workdate - bus_day
try:
- df_ms = ms_collateral(d, dawn_trades)
+ df_ms = ms_collateral(args.workdate, dawn_trades)
except FileNotFoundError as e:
logging.info(e)
- df_ms = ms_collateral(d - BDay(), dawn_trades)
+ df_ms = ms_collateral(args.workdate-bus_day, dawn_trades)
#df_sg = sg_collateral(d)
- df_baml = baml_collateral(d)
+ df_baml = baml_collateral(args.workdate)
try:
- df_gs = gs_collateral(d, dawn_trades)
+ df_gs = gs_collateral(args.workdate, dawn_trades)
except FileNotFoundError as e:
logging.info(e)
- df_gs = gs_collateral(d - BDay(), dawn_trades)
- df_wells = wells_collateral(d)
+ df_gs = gs_collateral(args.workdate-busday, dawn_trades)
+ df_wells = wells_collateral(args.workdate)
d = pd.Timestamp.today().normalize()
- df_citi = citi_collateral(d, dawn_trades)
- send_email([df_ms, df_baml, df_gs, df_citi, df_wells])
+ send_email(args.workdate, [df_ms, df_baml, df_gs, df_citi, df_wells])