diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/analytics/curve_trades.py | 4 | ||||
| -rw-r--r-- | python/notebooks/Curve Trades.ipynb | 77 |
2 files changed, 77 insertions, 4 deletions
diff --git a/python/analytics/curve_trades.py b/python/analytics/curve_trades.py index b1b09c74..73afaa0f 100644 --- a/python/analytics/curve_trades.py +++ b/python/analytics/curve_trades.py @@ -187,9 +187,9 @@ def forward_loss(index="IG"): df["fwd_loss_rate"] = df.indexel.diff(2) / df.duration.diff(2) -def curve_model(tenor_1="5yr", tenor_2="10yr"): +def curve_model(tenor_1="5yr", tenor_2="10yr", index="IG"): # OLS model - df = ratio_within_series(param="close_spread") + df = ratio_within_series(index, param="close_spread") df = pd.concat( [ df.duration[tenor_1], diff --git a/python/notebooks/Curve Trades.ipynb b/python/notebooks/Curve Trades.ipynb index 28c62bd9..2040aee8 100644 --- a/python/notebooks/Curve Trades.ipynb +++ b/python/notebooks/Curve Trades.ipynb @@ -222,7 +222,7 @@ "metadata": {}, "outputs": [], "source": [ - "model = ct.curve_model('5yr', '10yr')\n", + "model = ct.curve_model('5yr', '10yr', index='IG')\n", "model_results = ct.curve_model_results(model[0], model[1])" ] }, @@ -232,6 +232,37 @@ "metadata": {}, "outputs": [], "source": [ + "model_results['diff'] = model_results['predicted'] - model_results['close_spread']\n", + "model_results" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#Do the same regression for Itrxx\n", + "model = ct.curve_model('5yr', '10yr', index='EU')\n", + "model_results = ct.curve_model_results(model[0], model[1])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model_results['diff'] = model_results['predicted'] - model_results['close_spread']\n", + "model_results" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ "df = ct.forward_spread(report_date, index)\n", "df.plot()\n", "plt.ylabel('spread')\n", @@ -379,6 +410,48 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -397,7 +470,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.8.0" } }, "nbformat": 4, |
