diff options
| -rw-r--r-- | python/notebooks/risk_sabo.ipynb | 26 |
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": { |
