aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/notebooks/risk_sabo.ipynb26
1 files changed, 23 insertions, 3 deletions
diff --git a/python/notebooks/risk_sabo.ipynb b/python/notebooks/risk_sabo.ipynb
index 20813d2f..1697de6b 100644
--- a/python/notebooks/risk_sabo.ipynb
+++ b/python/notebooks/risk_sabo.ipynb
@@ -88,7 +88,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Jump to default"
+ "### Jump to default - monthly"
]
},
{
@@ -114,11 +114,31 @@
]
},
{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Jump to default - today"
+ ]
+ },
+ {
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
- "source": []
+ "source": [
+ "position_date = (datetime.date.today() - BDay(1))\n",
+ "spread_date = position_date\n",
+ "_, portf = build_portfolio(position_date.date(), spread_date.date())\n",
+ "jtd = portf.jtd_single_names()\n",
+ "conn = serenitas_pool.getconn()\n",
+ "surv_curves = load_all_curves(conn, spread_date.date())\n",
+ "serenitas_pool.putconn(conn)\n",
+ "surv_curves['spread'] = surv_curves['curve'].apply(lambda sc: sc.to_series(forward=False)[5] * (1-sc.recovery_rates[5]))\n",
+ "jtd_sabo = jtd[[jtd.columns[0]]].join(surv_curves.groupby(level=0).first()[['name', 'company_id', 'spread']])\n",
+ "jtd_sabo.columns = ['jtd', 'name', 'company_id', 'spread']\n",
+ "jtd_sabo = jtd_sabo.groupby(['company_id', 'name']).sum()\n",
+ "jtd_sabo.to_csv(base_dir / f\"jtd_{position_date:%Y%m%d}.csv\")"
+ ]
},
{
"cell_type": "code",
@@ -132,7 +152,7 @@
"kernelspec": {
"display_name": "Python 3.9.1 64-bit",
"language": "python",
- "name": "python39164bitf8da796bd4214fb9a205dc5a90db6a8a"
+ "name": "python39164bit6ddd573894c04d6a858a9a58880cc9d4"
},
"language_info": {
"codemirror_mode": {