diff options
Diffstat (limited to 'python/mtm_upload.py')
| -rw-r--r-- | python/mtm_upload.py | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/python/mtm_upload.py b/python/mtm_upload.py index fa2f526e..d56a60d2 100644 --- a/python/mtm_upload.py +++ b/python/mtm_upload.py @@ -8,37 +8,25 @@ from headers import MTM_HEADERS deal_registry = { "cds": CDSDeal, - "swaptions": SwaptionDeal, + "swaption": SwaptionDeal, "termination": TerminationDeal, } -def process_upload(tradeid, asset_type): - obj = deal_registry["asset_type"].from_tradeid(tradeid).to_markit() +def mtm_process_upload(tradeids, asset_type): + objs = [ + deal_registry["asset_type"].from_tradeid(tradeid).to_markit() + for tradeid in tradeids + ] buf = StringIO() csvwriter = csv.writer(buf) csvwriter.writerow(MTM_HEADERS[asset_type]) - csvwriter.writerows([obj.get(h, None) for h in MTM_HEADERS[asset_type]]) + csvwriter.writerows( + [obj.get(h, None) for h in MTM_HEADERS[asset_type]] for obj in objs + ) buf = buf.getvalue().encode() fname = f"MTM.{datetime.datetime.now():%Y%m%d.%H%M%S}.{asset_type.capitalize()}.csv" sftp = SftpClient.from_creds("mtm") sftp.put(buf, fname) dest = DAILY_DIR / str(datetime.date.today()) / fname dest.write_bytes(buf) - - -def upload_mtm_trades(trade_type, tradeid, conn=None): - match trade_type: - case "swaption": - process_upload( - SwaptionDeal.from_tradeid(tradeid).to_markit(), trade_type, True - ) - case "cds": - process_upload(CDSDeal.from_tradeid(tradeid).to_markit(), trade_type, True) - case "termination": - process_upload(terminations(tradeid, conn), trade_type, True) - - -if __name__ == "__main__": - conn = dbconn("dawndb") - upload_trades(conn) |
