aboutsummaryrefslogtreecommitdiffstats
path: root/python/risk
diff options
context:
space:
mode:
Diffstat (limited to 'python/risk')
-rw-r--r--python/risk/tranches.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/python/risk/tranches.py b/python/risk/tranches.py
index f4391f99..98d31357 100644
--- a/python/risk/tranches.py
+++ b/python/risk/tranches.py
@@ -37,15 +37,17 @@ def get_tranche_portfolio(date, conn, by_strat=False, fund="SERCGMAST"):
return portf
def insert_tranche_portfolio(portf, conn):
- cols = ["clean_nav", "accrued", "theta", "duration", "delta",
- "upfront", "running", "index_refprice", "index_refspread",
+ cols = ["clean_nav", "accrued", "duration", "delta", "gamma",
+ "theta", "upfront", "running", "corr_attach", "corr_detach",
+ "index_refprice", "index_refspread",
"index_duration"]
update_str = ",".join(f"{c} = EXCLUDED.{c}" for c in cols)
- sql_str = (f"INSERT INTO tranche_risk VALUES({','.join(['%s'] * 12)}) "
+ sql_str = (f"INSERT INTO tranche_risk VALUES({','.join(['%s'] * 15)}) "
" ON CONFLICT (date, tranche_id) DO UPDATE "
f"SET {update_str}")
with conn.cursor() as c:
for (strat, trade_id), trade in portf.items():
+ print(strat, trade_id)
c.execute(sql_str, (trade.value_date,
trade_id,
trade.clean_pv,
@@ -55,9 +57,9 @@ def insert_tranche_portfolio(portf, conn):
trade.gamma,
trade.theta(method="TLP"),
trade.upfront,
+ trade.tranche_running,
trade.rho[0],
trade.rho[1],
- trade.tranche_running,
100 - float(trade._index.pv()) * 100,
trade._index._snacspread(trade._index.coupon(),
trade._index.recovery,