diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/position_file_bowdst.py | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/python/position_file_bowdst.py b/python/position_file_bowdst.py index 8bf71ce5..84589faf 100644 --- a/python/position_file_bowdst.py +++ b/python/position_file_bowdst.py @@ -7,6 +7,7 @@ from process_queue import rename_keys from serenitas.utils.remote import SftpClient from serenitas.utils.env import DAILY_DIR from pandas.tseries.offsets import MonthEnd +from collections import defaultdict def process_upload(trades, asset_type, upload): @@ -97,7 +98,7 @@ HEADERS = { } -def positions_bond(positions, conn, date): +def positions_bond(conn, date): with conn.cursor() as c: c.execute("SELECT * FROM risk_positions(%s, null, 'BOWDST') ", (date,)) trades = [] @@ -123,9 +124,7 @@ def positions_bond(positions, conn, date): obj["COB Date"] = date obj["Currency"] = "USD" obj["SecurityType"] = "Bond" - positions["bond"].append(obj) - # quotes['bond'] - # process_upload(trades, "bond") + yield obj def positions_future(positions, conn, date): @@ -153,11 +152,11 @@ def positions_future(positions, conn, date): ) obj["COB Date"] = date obj["SecurityType"] = "Futures" - positions["future"].append(obj) + yield obj # process_upload(trades, "future") -def positions_otc(positions, conn, date): +def positions_otc(conn, date): with conn.cursor() as c: c.execute( "SELECT trb.trade_id, trb.serenitas_clean_nav + trb.serenitas_accrued as mtm, trb.notional * trb.tranche_factor as active_notional, cds.* FROM tranche_risk_bowdst trb left join cds on trade_id=id WHERE date=%s", @@ -190,7 +189,7 @@ def positions_otc(positions, conn, date): "mtm": "MTM Valuation", }, ) - positions["otc"].append(obj) + yield obj c.execute( "SELECT abs(spr.notional) AS active_notional, spr.serenitas_nav, swaptions.*, index_version_markit.annexdate FROM list_swaption_positions_and_risks(%s, 'BOWDST') spr LEFT JOIN swaptions ON deal_id=dealid LEFT JOIN index_version_markit ON swaptions.security_id=redindexcode;", (date,), @@ -225,7 +224,7 @@ def positions_otc(positions, conn, date): "serenitas_nav": "MTM Valuation", }, ) - positions["otc"].append(obj) + yield obj c.execute( "SELECT abs(spr.notional) AS active_notional, spr.nav, swaptions.*, index_version_markit.effectivedate FROM list_ir_swaption_positions(%s, 'BOWDST') spr LEFT JOIN swaptions ON deal_id=dealid LEFT JOIN index_version_markit ON swaptions.security_id=redindexcode;", @@ -262,7 +261,7 @@ def positions_otc(positions, conn, date): "nav": "MTM Valuation", }, ) - positions["otc"].append(obj) + yield obj c.execute( "SELECT cds.*, ivm.effectivedate FROM list_cds_marks(%s, null, 'BOWDST') cds LEFT JOIN index_version_markit ivm ON security_id=redindexcode;", @@ -294,7 +293,7 @@ def positions_otc(positions, conn, date): }, ) - positions["otc"].append(obj) + yield obj if __name__ == "__main__": @@ -329,7 +328,7 @@ if __name__ == "__main__": # positions = {"bond": [], "future": [], "otc": []} positions = { - p: globals()[f"positions_{p}"](positions, conn, args.date) for p in args.product + p: list(globals()[f"positions_{p}"](conn, args.date)) for p in args.product } for asset_type, trades in positions.items(): process_upload(trades, asset_type, args.u) |
