{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "\n", "from analytics import TrancheBasket, ManualTrancheBasket\n", "from datetime import date" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def display_result(basket_index):\n", " thetas = basket_index.tranche_thetas()\n", " result = pd.concat([pd.DataFrame(basket_index.rho[0:4], index=thetas.index, columns=['att_corr']),\n", " pd.DataFrame(basket_index.tranche_pvs().bond_price, index=thetas.index, columns=['price']),\n", " basket_index.tranche_deltas(),\n", " thetas],\n", " axis=1)\n", " result['net_theta'] = result.theta - new_index.theta()[0] * result.delta\n", " return result" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "index_type = 'HY'\n", "series = 35\n", "value_date = date.today()\n", "new_index = ManualTrancheBasket(index_type, series, \"5yr\", value_date=value_date, ref=104.625, quotes=[43, 92.5, 110, 120.27])\n", "new_index.tweak()\n", "new_index.build_skew()\n", "result = display_result(new_index)\n", "result " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Implied SS\n", "implied_ss = ((new_index.index_pv().bond_price - new_index.accrued()) -\n", " ((new_index.K[1]-new_index.K[0]) * result.price[0] +\n", " (new_index.K[2]-new_index.K[1]) * result.price[1] +\n", " (new_index.K[3]-new_index.K[2]) * result.price[2]))/(new_index.K[4] - new_index.K[3])\n", "implied_ss" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Build previous series skew to price this new series\n", "base_index = TrancheBasket(index_type, series-2, \"5yr\")\n", "base_index.tweak()\n", "base_index.build_skew()\n", "\n", "new_index.rho = base_index.map_skew(new_index)\n", "result = display_result(new_index)\n", "result" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }