aboutsummaryrefslogtreecommitdiffstats
path: root/python/notebooks
diff options
context:
space:
mode:
Diffstat (limited to 'python/notebooks')
-rw-r--r--python/notebooks/Reto Report.ipynb29
1 files changed, 20 insertions, 9 deletions
diff --git a/python/notebooks/Reto Report.ipynb b/python/notebooks/Reto Report.ipynb
index 63e5ab48..1b8211f4 100644
--- a/python/notebooks/Reto Report.ipynb
+++ b/python/notebooks/Reto Report.ipynb
@@ -16,7 +16,13 @@
"from analytics.index_data import get_index_quotes\n",
"from analytics.scenarios import run_portfolio_scenarios\n",
"from analytics import BlackSwaption, CreditIndex, BlackSwaptionVolSurface, Portfolio,DualCorrTranche\n",
- "from db import dawn_engine"
+ "\n",
+ "from utils.db import dbconn, dbengine\n",
+ "\n",
+ "from risk.tranches import get_tranche_portfolio\n",
+ "from risk.bonds import subprime_risk, clo_risk, crt_risk\n",
+ "\n",
+ "dawn_engine = dbengine('dawndb')"
]
},
{
@@ -132,7 +138,6 @@
"outputs": [],
"source": [
"#tranche positions\n",
- "from risk.tranches import get_tranche_portfolio\n",
"conn = dawn_engine.raw_connection()\n",
"portf = get_tranche_portfolio(position_date, conn, False, 'SERCGMAST')\n",
"\n",
@@ -165,13 +170,19 @@
"portf.add_trade(CreditIndex('HY', on_the_run('HY', spread_date), '5yr', \n",
" value_date=spread_date, \n",
" notional=curve_portf.hy_equiv), ('curve_trades', ''))\n",
- " \n",
+ "\n",
+ "mysql_engine = dbengine('rmbs_model')\n",
+ "mysqlcrt_engine = dbengine('crt')\n",
+ "\n",
"#get bond risks:\n",
- "rmbs_pos = go.rmbs_pos(position_date)\n",
- "clo_pos = go.clo_pos(position_date)\n",
+ "with dbconn('etdb') as etconn, dbconn('dawndb') as dawnconn:\n",
+ " rmbs_pos = subprime_risk(position_date, dawnconn, mysql_engine)\n",
+ " clo_pos = clo_risk(position_date, dawnconn, etconn)\n",
+ " crt_pos = crt_risk(position_date, dawnconn, mysqlcrt_engine)\n",
"duration = analytics._ontr.risky_annuity\n",
"rmbs_pos['hy_equiv'] = rmbs_pos['delta_yield']/duration * 100\n",
- "notional = rmbs_pos['hy_equiv'].sum() + clo_pos['hy_equiv'].sum()\n",
+ "crt_pos['hy_equiv'] = crt_pos['delta_yield']/duration * 100\n",
+ "notional = rmbs_pos['hy_equiv'].sum() + clo_pos['hy_equiv'].sum() + crt_pos['hy_equiv'].sum()\n",
"portf.add_trade(CreditIndex('HY', on_the_run('HY', spread_date), '5yr', \n",
" value_date = spread_date, \n",
" notional = -notional), ('bonds', ''))\n",
@@ -219,10 +230,10 @@
" corr_shock=[0],\n",
" vol_surface=vol_surface)\n",
"\n",
- "scens = scens.xs('pnl', axis=1, level=2)\n",
- "scens = scens.xs((0,0), level=['vol_shock', 'corr_shock'])\n",
+ "pnl = scens.xs('pnl', axis=1, level=2)\n",
+ "pnl = pnl.xs((0,0), level=['vol_shock', 'corr_shock'])\n",
"\n",
- "scenarios = (scens.\n",
+ "scenarios = (pnl.\n",
" reset_index(level=['date'], drop=True).\n",
" groupby(level=0, axis=1).sum())\n",
"\n",