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