aboutsummaryrefslogtreecommitdiffstats
path: root/python/mtm_upload.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/mtm_upload.py')
-rw-r--r--python/mtm_upload.py30
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)