{ "cells": [ { "cell_type": "markdown", "id": "serial-cartridge", "metadata": {}, "source": [ "# Credit Risk Modelling #\n", "
\n", "\n", "In this section, we will build the loss model for the HTS Customer Finance Program.\n", "

\n", "\n", "**Why Should Fico Care About Predicting Losses?**\n", "\n", "**1. Equity**\n", "\n", "+ How much equity does Fico need to absorb potential lossess?\n", "+ Fico *expects* to have average losses of `x` per year, **but** in any one year, Fico might experience losses `10x` or `100x`.\n", "+ Fico needs an equity base to support those extreme years.\n", "\n", "**2. Pricing**\n", "\n", "+ Loan losses are Fico's largest expense.\n", "+ Interest rate to charge borrower is a function of how much we expect to lose.\n", "\n", "**3. Return**\n", "\n", "+ Is this loan worthwhile?\n", "+ Is this *entire loan portfolio* worthwhile?\n", "\n", "**The 3 Components of Loss**:\n", "\n", "+ **Exposure at Default, EAD**: amount that is owed at the time the borrower defaults (principal only)\n", "+ **Probability of Default, PD**: the likelihood a borrower will not repay the loan\n", "+ **Loss Given Default, LGD**: the actual amount of loss on the loan, if the borrower defaults.\n", "\n", "The expected average loss on a loan portfolio *in a given year* is a very simple formula:\n", "\n", "$$EAD * PD * LGD$$\n", "\n", "

" ] }, { "cell_type": "markdown", "id": "green-rings", "metadata": {}, "source": [ "## Loss Distribution ##\n", "
" ] }, { "cell_type": "code", "execution_count": 38, "id": "protective-assist", "metadata": { "nbsphinx": "hidden" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The autoreload extension is already loaded. To reload it, use:\n", " %reload_ext autoreload\n" ] } ], "source": [ "%load_ext autoreload\n", "%autoreload 2\n", "\n", "import matplotlib.pyplot as plt\n", "from IPython.core.display import display, HTML, Markdown\n", "from IPython.display import Image\n", "\n", "import dataframe_image as dfi\n", "\n", "import sys\n", "sys.path.append('..')\n", "from htsfi.main import *\n", "\n", "update_style()\n", "plt.style.use('htsfi')" ] }, { "cell_type": "code", "execution_count": 39, "id": "resident-gates", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "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sJXscDvaSLqVBQsWSKFChexGRLsST52OLSVcv35d8uTJI2vWrLE6FM+l7aNLSSiJ1HsiY7l27RrZsmWLc9v06dMfGEgSGhpqe/zcc8/RokUL3nvvPUaMGPHA/ZNgPyIxJCSEEiVK2EYTbt26lYMHDzJz5kzbPua/nTlC09vbmxs3blCzZk2H38/Zs2c5fvw4nTt3pkuXLrb1t2/fth07KiqKXLly8cgjj9i2V6hQAS+vpI+5ioqKomTJknafT6VKlfDy8iIyMpICBQrYRkdOnjyZmjVr0qRJE4oUKQKYhZNr165NoUKFePrpp6lfvz716tWziykwMBAR4fr163YjUt1Gy5ZWR6CcULduXbp27cpff/1FeHi41eGoFHTs2DEGDBiQpOLyKplo++g2NImMJa5RmPfkzp2bAgUKxPva69evs3nzZry9vTl48KDT546JiaFjx4707NnzgW25cuVi165dSTomwJdffkmlSpWcfn1KuDd6csiQIbRs2ZIFCxawaNEihg4dypdffsnLL79M2bJlOXr0KIsWLeL333+nbdu2lCpViiVLltgSyfPnzxMQEOCeCSRA6dJWR6Cc9MYbb1gdgkoFhQoVolChQlaH4dm0fXQbWuInljJlyth6Bp3Vp08fbty4wZIlS5g4cSJz5sx5YJ/YIxKvXLnC7t27bdMelS1blj179lCgQIEHlsDAQIoWLYq/vz+///57nOf38/MDsBs9mS1bNnLmzMmhQ4fiPC6YoxxPnDjB8ePHba/btGnTQ5XPKVq0KLt27bKry7Zu3TpiYmJs7xewjYycP38+HTp04JtvvrFtCw0N5YUXXmDcuHHMnz+fZcuW2SXnu3fvpmzZskmO0XJ9+lgdgUpDJk2axLx586wOQ6nkoe2j29CeyFjq1KlD3759+eeff8iUKZPdtn/++cc2l+096dKlIzAwkAULFjB+/HhWr15NhQoVGDJkCB07dmTnzp1kz57dtv97771HlixZyJkzJ++++y5+fn60aNECgL59+xIREcGrr75K586dCQ0NZe/evcydO5fx48cTGhpK9+7defvtt/H396dq1ar8888/bN26lS5dupA1a1YCAwNZtGgRefPmJSAggHTp0jF06FBef/110qdPT/369bl16xZ//PEHJ06c4O2336ZWrVoUKVKENm3aMGbMGK5du0bPnj3x8Un8q3H9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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from scipy.stats import bernoulli as bern, beta, gamma, norm\n", "\n", "a = 1.5\n", "b = 5\n", "cvar = 0.9995\n", "\n", "fig, ax = plt.subplots(figsize=(11,7))\n", "\n", "x = np.linspace(beta.ppf(0.000001, a, b), beta.ppf(0.999999, a, b), 100)\n", "rv = beta(a, b)\n", "ax.plot(x, rv.pdf(x), 'b', lw=2)\n", "ax.axvline(rv.mean(), c='r', ls='--', lw=.75)\n", "ax.axvline(rv.ppf(cvar), c='r', ls='--', lw=.75)\n", "\n", "h = 3.25\n", "plt.annotate(\n", " 'This is what you expect\\nto lose on average...\\n(Expected Loss)', (rv.mean(), h), \n", " xytext=((rv.mean() - .1)/2.5, h), \n", " ha='center', va='center',\n", " arrowprops={'width': .25, 'headlength': 6, 'color': 'r'}\n", ")\n", "plt.annotate(\n", " '...but you ' + r'${could}$' + ' lose all of this...\\n(Unexpected Loss)', \n", " ((rv.mean()), h,),\n", " ((rv.ppf(.9995) - rv.mean() - .05), h,),\n", " ha='center', va='center',\n", ")\n", "plt.annotate(\n", " '...so you better have ' + r'${at}$ ${least}$' + '\\nenough equity for this\\n(99.95% VaR)', (rv.ppf(cvar), h/2), \n", " xytext=(rv.ppf(.9995) - rv.mean() - .05, h/2), \n", " ha='center', va='center',\n", " arrowprops={'width': .25, 'headlength': 8, 'color': 'r'}\n", ")\n", "\n", "plt.text((1 + rv.ppf(cvar)) / 2, h, 'Exceptional\\nLoss', ha='center', va='center')\n", "\n", "ax.set_xlim(-.1, ax.get_xlim()[1])\n", "ax.set_ylim(0, rv.pdf(x).max()*1.3)\n", "\n", "ax.tick_params('both', width=0)\n", "ax.set_xticklabels([])\n", "ax.set_yticklabels([])\n", "ax.set_ylabel('Likeihood of Occurence')\n", "ax.set_xlabel('Portfolio Loss in $')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "outstanding-leisure", "metadata": {}, "source": [ "To predict losses, we need to map our portfolio onto a **Loss Distribution**.\n", "

\n", "\n", "The parameters of the distribution are unique to each loan book at any moment in time based on:\n", "\n", "+ number of loans\n", "+ size of loans\n", "+ ratings of different borrowers\n", "+ value of assets under each loan\n", "+ correlation of defaults and correlation of defaults / asset values\n", "\n", "Here are some key terms we will use:\n", "

\n", "\n", "**Beta Distribution**\n", "\n", "+ the distribution of losses in any given year is generally believed to follow a Beta distribution, where very small losses occur the vast majority of years and very large losses occur sporadically.\n", "\n", "**Expected Loss (EL)**\n", "\n", "+ the mean value of the Loss distribution\n", "+ if the loan book is correctly modelled, i.e. borrower PDs are accurate, equipment market values are accurate etc., this is the average amount of losses Fico should experience in the long-term.\n", " \n", "**Unexpected Loss (UL)**\n", "\n", "+ one standard deviation from the mean of the Loss distribution\n", "+ varies by loan book but typically loan losses should be less than UL in 80% of years\n", "\n", "**Economic Capital (EC)**\n", "\n", "+ amount of equity required to absorb extreme events\n", "+ sometimes set using Value-at-Risk (VaR)\n", " + [agencies typically consider VaR as a factor for determining a bank's credit rating](https://helda.helsinki.fi/bof/bitstream/handle/123456789/7797/128554.pdf?sequence=1)\n", " + a 99.95% VaR can be interpreted as \"*this level of losses is expected in 5 out of every 10,000 years*\"" ] }, { "cell_type": "code", "execution_count": 40, "id": "sapphire-criticism", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_rating = pd.DataFrame([\n", " ['AA', '99.97%'],\n", " ['A', '99.95%'],\n", " ['BBB+', '99.9%']\n", "], columns=['S&P', 'VaR']\n", ").set_index('S&P')\n", "\n", "await dfi.export_async(df_rating.style, '_static/loss_credit_rating_var.png', fontsize=12, dpi=300)\n", "HTML('')" ] }, { "cell_type": "markdown", "id": "quick-gardening", "metadata": {}, "source": [ "**Other Considerations**\n", "\n", "+ Correlation of Defaults:\n", " + exogeneous factors may result in borrowers defaulting at the same time and more than they would independently. This increases losses at those times.\n", "+ Correlation of PD and LGD:\n", " + simplest (and prevailing) assumption is PD and LGD are uncorrelated\n", " + more realistic assumption is PD and LGD are correlated\n", "+ 3rd party providers\n", " + data and modelling tools can be purchased from 3rd parties\n", " + Examples: \n", " + https://theanalyticsboutique.com/demos/\n", "\n", "**Process to Determine Loss Distribution**\n", "\n", "+ Determine **PD**, **LGD**, LGD distribution, PD correlations, PD/LGD correlations (if any).\n", "+ Find **EL** and **UL**.\n", "+ Run Monte Carlo simulations. Determine the **Loss Distribution** of the portfolio.\n", "+ Find best fit for beta distribution\n", "+ Find **Economic Capital** through **VaR** (for whatever credit rating desired).\n", "\n", "+ Fico needs equity equal to *at least* the **Economic Capital**.\n", "+ Extreme Value Theory can be used to protect against even greater tail risks.\n", "\n", "

" ] }, { "cell_type": "markdown", "id": "distinguished-sequence", "metadata": {}, "source": [ "## Probability of Default ##\n", "
\n", "\n", "+ determined through analysis of company financial statements, business/industry risks, and exogenous factors like economic activity.\n", "+ bond/credit ratings are categorized based on PD. The S&P ratings and their analogous PDs are shown below:" ] }, { "cell_type": "code", "execution_count": 41, "id": "elementary-quarter", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Convert ratings and PDs to pandas dataframe\n", "df_pds = pd.DataFrame({\n", " 'S&P': SPs,\n", " 'PD': PDs\n", "}).set_index('S&P').T\n", "\n", "await dfi.export_async(df_pds.style.format('{:.2%}'), '_static/loss_pds.png', fontsize=12, dpi=300)\n", "display(HTML(''))" ] }, { "cell_type": "markdown", "id": "central-blues", "metadata": {}, "source": [ "+ credit ratings BBB+ and greater are typically considered investment grade.\n", "+ rating BBB to CCC+/CCC are consider \"junk\" or speculative.\n", "+ CCC+/CCC or worse is typically considered a default" ] }, { "cell_type": "markdown", "id": "generous-bidder", "metadata": {}, "source": [ "+ The distribution of ratings within a portfolio are often unique to the portfolio: what borrowers are targeted? what is risk management quality? etc.\n", "\n", "+ For now, it is useful to assume a portfolio with normally distributed PDs with the following parameters:\n", "\n", " + $\\mu = .44$%\n", " + $\\sigma = .2$%\n", "\n", "The portfolio has a PD distribution as per below. Note the x-axis increases exponentially, so the normal distribution is skewed." ] }, { "cell_type": "code", "execution_count": 42, "id": "norman-pontiac", "metadata": {}, "outputs": [ { "data": { "image/png": "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ZXXZRm0HzhWRAjdnzhyGDh1KcXExv/71ryst16pVK8477zwAHn/88foKT0QkryhhE5Faue+++6ioqOCMM86gQ4cOVZY999xzAXjyySd18YGISC0oYRORGlu/fj0PPfQQAFdeeWW15fv27cuuu+7K7NmzGTduXKbDExHJO0rYRKTGXnjhBZYvX853v/tdvve971VbvkGDBpxxRjCaz4svvpjp8ERE8o4SNhGpsX//+98AXHDBBZhZSuscf/zxAIwYMSJjcYmI5CslbCJSI4sWLeK1116juLiYs846K+X1+vbtS5MmTZg0aRLz58/PYIQiIvlHCZuI1MiTTz5JeXk5xx13HK1bt055vUaNGtG/f39ArWwiIjWlhE1EauSZZ54Btl35WRNHH300AKNGjUprTCIi+U4Jm4ik7Ouvv2bcuHHssMMOHHfccTVe/9BDDwVg7Nix6Q5NRCSvKWETkZS98MILAAwYMICmTZvWeP299tqL0tJS5syZw5w5c9IcnYhI/lLCJiIp++9//wvAaaedVqv1GzRowMEHHwyolU1EpCaUsIlISpYvX87o0aMpLi7mhBNOqPV2DjnkEEAJm4hITShhE5GUvPrqq5SXl3PooYfSokWLWm/noIMOAuCDDz5IV2giInlPCZuIpOSVV14BqNXFBvH2339/zIxJkyaxYcOGdIQmIpL3lLCJSLXKy8u3jp0Wu2NBbTVr1ow999yTLVu2MHHixHSEJyKS95SwiUi13n//fZYtW0aXLl3YY4896ry9Aw44ANBpURGRVClhE5FqDR8+HAha11K9d2hVysrKACVsIiKpUsImItV64403gGD8tXTo3bs3gE6JioikSAmbiFRp1apVfPDBBxQVFW29U0Fd7bXXXgB8+umnbNq0KS3bFBHJZ0rYRKRKo0ePpry8nAMPPJDmzZunZZvNmjWjW7dubN68mWnTpqVlmyIi+UwJm4hU6c033wTgiCOOSOt29913XwAmTZqU1u2KiOQjJWwiUqVMJ2zqxyYiUj0lbCJSqUWLFjFlyhR23HHHrXcoSJd99tkHUAubiEgqlLCJSKVGjhwJQN++fWnUqFFat92rVy8A9WETEUmBEjYRqVSmTocCdOnShZKSEubMmcPatWvTvn0RkXySUsJmZrua2d/MbJyZrTMzN7POCWVuDucnmzYklJ1VSblT0vfSRKSuYi1s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/vjjWbt2Leeccw6XX3551CFJNdTCJiL5Kq0Jm7t/DHwcN2u0mY0B3ifom3ZTbbdtZoOBwbDtS1kkU1avXs2JJ57I119/Td++fXn00UfVby0HKGETkXyV8T5s7v4RMAM4IJy1gqAVLVHLuOXJtvOgu5e5e1mbNm3SH6hIaMuWLZx11ll88skn7L777rzwwgs0atQo6rAkBbGETWOxiUi+qc+LDjx8nErQjy1RT2COu+t0qETG3fnZz37G8OHDadWq1dZHyQ1qYRORfJXxhM3MyoA9CE6LAgwDOpjZYXFlmgMnhstEInPPPffw97//nYYNG/LCCy/QvXv3qEOSGtBFByKSr9Lah83MniAYT+0jYCXBRQc3AvOBe8Jiw4BxwONmdh3bBs414LZ0xiNSE48++ihXX301AEOGDKFv374RRyQ11b59e4qLi1m8eDHr169nxx13jDokEZG0SHcL2xSCcdYeA14FfgY8B3zP3ZcCuHsFcALwOnAf8DxQDhzu7up4IpF49NFHueiii3B3brvtNs4+++yoQ5JaKCoq0k3gRSQvpTVhc/db3H0fd9/J3UvcvaO7D3b3BQnllrv7j929pbs3dvcj3H1iOmMRSdUjjzzChRdeiLvz5z//meuuuy7qkKQOdOGBiOQj3WxPCtrDDz/MRRddBMBtt93G9ddfH3FEUle68EBE8lGm7iUqkvUeeughBg8eDAR3Mbj22msjjkjSQRceiEg+UgubFKQHHnhga7J2xx13KFnLI2phE5F8pIRNCkp5eTnXX389l1xyCQB33nkn11xzTcRRSTrFErbZs2dHHImISProlKgUjDVr1nDuuecybNgwiouLue+++/jJT34SdViSZl27dgVg5syZEUciIpI+StikIMyZM4eTTjqJiRMn0qJFC4YOHUr//v2jDksyoHPnzkDQwrZlyxaKi/U1JyK5T6dEJe+99957HHjggUycOJHvfOc7jB8/XslaHtthhx3o0KEDW7Zs0dAeIpI3lLBJXnvqqac47LDDWLRoEf3792f8+PF85zvfiTosybDYadGvvvoq4khERNJDCZvkpXXr1nHllVdy9tlns3HjRi6++GJGjBhBixYtog5N6oESNhHJN+rcIXnnww8/5LzzzmPatGkUFxdz++23c+WVV2JmUYcm9aRbt26AEjYRyR9qYZO8sWXLFv7whz/Qp08fpk2bxp577sl7773HVVddpWStwMRa2L788suIIxERSQ+1sEle+OKLLzj//PMZN24cAFdddRW33HILO+64Y8SRSRR0SlRE8o0SNslp7s7DDz/M1Vdfzdq1a+nQoQNDhgzhyCOPjDo0iZASNhHJNzolKjlr8uTJHH300QwePJi1a9dy1llnMXnyZCVrQtu2bWnSpAkrVqxgxYoVUYcjIlJnStgk5yxatIiLL76Y/fbbjzfeeIPS0lL+85//8OSTT+oqUAHAzNTKJiJ5RQmb5IwNGzZw6623svvuu/Pggw9iZlxxxRV8/vnnnH322VGHJ1lGCZuI5BP1YZOs5+4888wz3HDDDVtv6H388cdz++2306NHj4ijk2ylhE1E8okSNslq7733Htdccw3vvvsuAHvvvTd33HEHRx11VMSRSbZTwiYi+USnRCXrVFRU8Morr3DEEUfQp08f3n33Xdq2bcsDDzzAxx9/rGRNUhIbPFdjsYlIPlALm2SN9evX8+9//5u77rqLadOmAdC0aVMuv/xybrzxRpo3bx5xhJJLunfvDsCMGTMijkREpO6UsEnkFi5cyH333cf999/P0qVLAdh111256qqruOiiiygtLY02QMlJXbp0oaSkhLlz57J27VqaNGkSdUgiIrWmhE0iM3nyZO666y6eeOIJNm3aBEBZWRnXXnstp512GiUlJRFHKLmsuLiY7t2789lnnzFjxgz233//qEMSEak1JWxSr7755hteeOEFHn/8cd544w0gGDPr1FNP5ZprruHggw/WfT8lbXr06MFnn33G9OnTlbCJSE5TwiYZt3r1aoYNG8YzzzzDiBEjtramNWnShB//+MdcddVVWzuIi6TTHnvsAbC1T6SISK5SwiYZsXbtWl555RWefvpphg8fzoYNG4CgNe3www9n4MCBnHnmmbozgWRULGGbPn16xJGIiNRNWhM2MzsdOBsoA9oCc4DngD+5++qwTGdgZiWbaOHuK9MZk9Sf9evX87///Y+nn36al19+mXXr1m1d1rdvX84880xOP/102rdvH2GUUkhiAysrYRORXJfuFrafEyRpvwTmAfsDNwOHm9n33b0iruwtwLCE9VenOR7JsNmzZzNmzBhGjBjBsGHDWLNmzdZlffr04cwzz+SMM86gQ4cOEUYphSq+ha2iooIGDTT0pIjkpnQnbCe6+5K456PNbDnwT6AfMDJu2VfuPj7N+5cMcne++OILxowZw+jRoxkzZszWW0XFlJWVbU3Sdtttt4giFQm0aNGCtm3bsnjxYubOnatjUkRyVloTtoRkLeaD8FFNLDmmoqKCzz77bGtyNmbMGBYsWLBdmdLSUg455BAOO+wwTjnlFF08IFlnr732YuTIkUyZMkUJm4jkrPq46OCw8PGzhPm3mNk/gLXAaOBX7j65HuKRSpSXlzNp0qTtErRly5ZtV6ZNmzYceuihHHbYYRx66KHstddeFBUVRRSxSPXiE7bjjz8+6nBERGolowmbmXUAfg+84e4TwtkbgQeA14AlQA+CPm/vmtmB7p6Y2MW2NRgYDNCpU6dMhl0QvvnmG6ZNm8Znn33GZ599xuTJk3nnnXdYtWrVduU6dOiwNTk79NBD6dGjh8ZJk5yy9957A8FAzSIiuSpjCZuZNQVeBLYAF8Tmu/sC4JK4omPNbAQwFfgVcF6y7bn7g8CDAGVlZZ6hsPOKu7No0aKtSVn89PXXXyddp0uXLlsTtMMOO4wuXbooQZOcpoRNRPJBRhI2M9sReAnoChzm7vOqKu/uc83sbeCATMST78rLy5k1a9a3krJp06axcuXKpOvssMMO7LHHHuy5555bpz59+tCxY8f6DV4kw3r27AkEg+du3rxZtzwTkZyU9oTNzEqAoQRjsR1Vw35pajmrhLuzatUq5syZ863EbMaMGVsHpk1UWlq6XVIWm3bbbTf1PZOC0KxZM7p06cLMmTP5/PPPtyZwIiK5JN0D5zYAngD6AyekOmyHmXUC+gIvpDOebLdx40aWLFnC4sWLk06LFi3a7nnslk7JdOjQgR49enwrMWvXrp1OaUrB22uvvZg5cyaTJ09WwiYiOSndLWx/B84A/gisNbM+ccvmufs8M7sDaACMI7joYA/gRqAiXC9nVVRUsGLFikoTsMRE7JtvvqnR9ps2bcouu+zyrcSsR48eNG/ePEOvSiT37bfffrz00kt8/PHHnHnmmVGHIyJSY+lO2I4NH38VTvF+R3DXg6nAT4FBQFNgGcGAur9z96y7f8y6deuqTcBi05IlS9iyZUvK2y4qKqJt27Zbp3bt2m33PH5q06YNjRs3zuArFclfvXv3BmDChAnVlBQRyU7mnnvdxho3buzdu3fP6D7Wrl3L4sWLt7vVUipKS0srTboSE7LS0lLdKkekHsybN4+OHTvSokULli1bpm4CIlKvzOxDdy+r0zZyMWEzs3oLumHDhlW2fMUnY61bt6ZRo0b1FZqIpMjdad++PYsXL+bLL7+ka9euUYckIgUkHQlbfdzpIO169uzJk08+mdF97LDDDrRr147mzZvr17hIjjMzysrKGD58OBMmTFDCJiI5JycTth133JF99tkn6jBEJIf07t2b4cOH8+GHHzJw4MCowxERqRF1oBKRgnDAAcG43OPHpzTakIhIVlHCJiIF4aCDDgLg/fffr3JMQxGRbKSETUQKQuvWrenRowcbNmzgo48+ijocEZEaUcImIgWjb9++ALzzzjsRRyIiUjNK2ESkYBx88MEAvP322xFHIiJSM0rYRKRgxFrYxo4dS0VFRcTRiIikTgmbiBSMbt260alTJ5YtW8bHH38cdTgiIilTwiYiBcPMGDBgAACvvfZaxNGIiKROCZuIFJSjjz4aUMImIrlFCZuIFJQjjjiCBg0a8M4777B69eqowxERSYkSNhEpKC1atOD73/8+mzdvZvjw4VGHIyKSEiVsIlJwTj/9dACGDh0acSQiIqlRwiYiBecHP/gBAMOHD2ft2rURRyMiUj0lbCJScDp27EifPn1Yt24dw4YNizocEZFqKWETkYJ0/vnnA/Dwww9HHImISPWUsIlIQTrnnHNo3LgxI0eO5Isvvog6HBGRKilhE5GCtNNOOzFw4EAA7rnnnoijERGpmhI2ESlY11xzDQAPPfQQixYtijgaEZHKKWETkYK19957c8opp7BhwwZuueWWqMMREamUEjYRKWi//e1vMTPuvfdepkyZEnU4IiJJKWETkYK23377cckll1BeXs6FF17Ipk2bog5JRORbIkvYzKyjmQ01s2/MbJWZPWdmnaKKR0QK1x//+Ec6duzI+++/z7XXXou7Rx2SiMh2IknYzKwxMBLoAfwI+CGwOzDKzJpEEZOIFK4WLVrw9NNPU1JSwr333stNN92kpE1EskpULWw/AboCp7j7C+7+InASsBtwcUQxiUgBO+igg/jPf/5DgwYN+NOf/sSpp57K3Llzow5LRASILmE7CRjv7ltHq3T3mcA7wMkRxSQiBe70009n2LBhNGvWjBdffJEePXpwySWXMHr0aDZs2BB1eCJSwCyKZn8zWwi86O4XJ8y/DzjD3dtUtX5ZWZlPmDAhkyGK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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import warnings\n", "\n", "with warnings.catch_warnings():\n", " warnings.filterwarnings(\"ignore\")\n", " \n", " mu = .0044\n", " std = .002\n", "\n", " x = np.linspace(0,1,10000)\n", " y = norm.pdf(x, mu, std)\n", " \n", " fig, ax = plt.subplots(figsize=(10,6))\n", " ax.plot(x, y, 'k-', lw=2)\n", "\n", " ax.set_xscale('log')\n", "\n", " ratlabs = ['', '', 'AAA', 'A-', 'B+', 'CCC+', 'D', '']\n", " ax.set_xticklabels([f'{val:.2%}\\n{ratlab}' for val, ratlab in zip(ax.get_xticks(), ratlabs)])\n", "\n", " plt.suptitle('Portfolio Distribution of PD')\n", " \n", " plt.show()" ] }, { "cell_type": "markdown", "id": "qualified-nickname", "metadata": {}, "source": [ "The portfolio, on average, would have \"junk\" exposure, but we can see above that the majority of borrowers would be rated stronger.\n", "\n", "

" ] }, { "cell_type": "markdown", "id": "exposed-temperature", "metadata": {}, "source": [ "## Loss Given Default ##\n", "
\n", "\n", "A detailed discussion of [LGD is here](lgd.ipynb). For this exercise, we are just looking for a credible way to model it.\n", "\n", "+ often modelled based on the Beta distribution, as per [Moody's LossCalc](http://www.defaultrisk.com/_pdf6j4/losscalc_methodology.pdf)\n", "+ the Beta distribution isn't great for leases, because it does not allow for recovery gains. [More complex models should be considered for leasing](https://www.cairn.info/revue-finance-2005-2-page-35.html).\n", "+ There is limited data available on equipment recoveries, but [one study shows recoveries in various European countries between 1976 and 2002](https://www.cairn.info/revue-finance-2005-2-page-35.html). The average LGD and standard deviation varied quite widely, so judging by the wind we'll go with:\n", "\n", "$$\n", "\\mu_{LGD} = .4\n", "\\\\\\sigma_{LGD} = .4\n", "$$\n", " \n", "+ the Beta distribution is generally parameterized as follows:\n", "\n", "$$\\beta(\\alpha, \\beta)$$\n", "\n", "+ but it can also be built from the mean and standard deviation:\n", "\n", "$$\n", "\\mu = \\frac{\\alpha}{\\alpha+\\beta}\n", "\\\\\\sigma^2 = \\frac{\\alpha\\beta}{(\\alpha + \\beta)^2(\\alpha+\\beta+1)}\n", "$$" ] }, { "cell_type": "markdown", "id": "severe-publicity", "metadata": {}, "source": [ "We have some helper functions written derive $\\alpha$/$\\beta$ from $\\mu$/$\\sigma$." ] }, { "cell_type": "code", "execution_count": 43, "id": "right-wayne", "metadata": {}, "outputs": [], "source": [ "mu = .4\n", "std = .4\n", "\n", "a, b = beta_params_from_descript(mu, std**2)" ] }, { "cell_type": "code", "execution_count": 44, "id": "refined-congo", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "text/markdown": [ "This results in alpha = 0.2 and beta = 0.3. Plug those into Beta(0.2, 0.3) and you get the following LGD distribution:" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "md = 'This results in alpha = '\n", "md += f' {a:.1f}'\n", "md += r' and beta = '\n", "md += f' {b:.1f}.'\n", "md += r' Plug those into Beta'\n", "md += f'({a:.1f}, {b:.1f}) and you get the following LGD distribution:'\n", "\n", "display(Markdown(md))" ] }, { "cell_type": "code", "execution_count": 45, "id": "tight-layout", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "r = beta.rvs(a, b, size=100000)\n", "\n", "fig, ax = plt.subplots(figsize=(10,6))\n", "ax.hist(r, density=True, rwidth=.9)\n", "\n", "import matplotlib.ticker as ticker\n", "@ticker.FuncFormatter\n", "def major_formatter(x, pos):\n", " return f'{x:.0%}'\n", "\n", "ax.xaxis.set_major_formatter(major_formatter)\n", "\n", "plt.suptitle('Probability of LGD at Recovery Time')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "unnecessary-electronics", "metadata": {}, "source": [ "We can see that the majority of defaults result in almost no loss or an entire loss.\n", "\n", "

" ] }, { "cell_type": "markdown", "id": "proper-equation", "metadata": {}, "source": [ "## Loss Models ##\n", "
\n", "\n", "A loss model must:\n", "\n", "+ determine expected losses at loan level\n", "+ determine expected losses at portfolio level, and how to aggregrate based on correlated outcomes.\n", "\n", "

\n", "\n", "Loss models have developed increasing complexity in the past two decades but regulatory requirements of banks and other FIs still center around Basel 2, which has a basic assumption that PD and LGD are uncorrelated. This assumption has been questioned more recently (and intuitively seems weak).\n", "\n", "

\n", "\n", "We will show examples for both (though the latter is much more complicated and so the example is partial).\n", "\n", "

" ] }, { "cell_type": "markdown", "id": "trained-locator", "metadata": {}, "source": [ "### Model 1: PD / LGD Uncorrelated ###\n", "\n", "+ Assumes that the loss given default on the loan is *not* related to the default. Picture an asset whose value does *not* change regardless of economic circumstances.\n", "\n", "+ The model *does* account for correlation of default among obligors. i.e. there is some exogneous factor(s) that cause bororwers to default at the same time. This makes sense intuitively.\n", "\n", "**Single Loan**\n", "\n", "$$EL = EAD * PD * LGD$$\n", "\n", "often shown for each dollar of EAD as:\n", "\n", "\\begin{equation}\n", "UL = EAD * \\sqrt(PD*\\sigma^2_{LGD} + LGD^2*\\sigma^2_{PD})\n", "\\\\\\sigma^2_{PD} = (PD)(1-PD)\n", "\\\\\\sigma^2_{LGD} = \\frac{\\alpha\\beta}{(\\alpha+\\beta)^2(\\alpha+\\beta+1)}\n", "\\end{equation}" ] }, { "cell_type": "markdown", "id": "flexible-roulette", "metadata": {}, "source": [ "**Multiple Loans**\n", "\n", "\\begin{equation}\n", "EL_p = \\sum^n_{i=1}{EAD_i*PD_i*LGD_i}\n", "\\\\UL_p = \\sqrt{\\sum_i\\sum_j\\rho_{ij}w_iw_jUL_iUL_j}\n", "\\end{equation}\n", "\n", "where:\n", "\n", "\\begin{equation}\n", "p_{i,j} = 1 \\text{ if }i=j\n", "\\\\w_i = EAD_i / EAD_p\n", "\\\\EAD_p = \\sum^n_{i=0}EAD_i\n", "\\\\UL_i = EAD_i * \\sqrt(PD^2_i*\\sigma^2_{LGD, i} + LGD^2_i*\\sigma^2_{PD,i})\n", "\\end{equation}" ] }, { "cell_type": "code", "execution_count": 46, "id": "increased-bridges", "metadata": { "nbsphinx": "hidden" }, "outputs": [], "source": [ "# Confirm Equivalence of Formulations\n", "p12 = .5\n", "\n", "corrmat = np.ones(shape=(2,2))\n", "corrmat[0, 1] = p12\n", "corrmat[1, 0] = p12\n", "\n", "EAD = 1\n", "EAD1 = EAD / 2\n", "EAD2 = EAD / 2\n", "w1 = EAD1 / EAD\n", "w2 = EAD2 / EAD\n", "w = np.array([w1, w2])\n", "UL1 = .25\n", "UL2 = .25\n", "ULs = np.array([UL1, UL2])\n", "\n", "rloop = np.zeros(shape=(2,2))\n", "\n", "for i in range(len(w)):\n", " for j in range(len(w)):\n", " rloop[i][j] += corrmat[i, j]*w[i]*w[j]*ULs[i]*ULs[j]\n", "\n", "rform = (UL1**2 + UL2**2 + 2*p12*UL1*UL2)*EAD1*EAD2/(EAD**2)\n", "\n", "rnumpy = np.multiply(corrmat, np.multiply(np.outer(w,w), np.outer(ULs, ULs,)))\n", "\n", "assert rloop.sum() == rform == rnumpy.sum()\n", "\n", "try:\n", " p = np.random.randint(1,10,size=(3,3))\n", " corrs_to_corrmat(p)\n", "except AssertionError as e:\n", " assert str(e) == '`p` must be an nx1 array'" ] }, { "cell_type": "markdown", "id": "immune-donor", "metadata": {}, "source": [ "**Example**\n", "\n", "Assumptions:\n", "\n", "+ 5 loans\n", "+ \\$500K total outstanding\n", "+ PD is Bernoulli variable, however, generated randomly via Normal distribution as per [above](#Probability-of-Default).\n", "+ LGD is Beta variable as per [above](#Loss-Given-Default)\n", "+ all loans are for the same asset, therefore, have same LGD distribution\n", "+ PD and LGD are uncorrelated" ] }, { "cell_type": "markdown", "id": "bizarre-conversation", "metadata": {}, "source": [ "First, we create the loan exposures." ] }, { "cell_type": "code", "execution_count": 47, "id": "compound-teacher", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Confirming Portfolio Size: 500,000.00\n" ] } ], "source": [ "# Loan Portfolio\n", "n = 5\n", "loans_t = 5*10**5\n", "randloans = np.random.uniform(0.1,1,n)\n", "EAD = (randloans / randloans.sum())*loans_t\n", "w = EAD / EAD.sum()\n", "print (f'Confirming Portfolio Size: {EAD.sum():,.2f}')" ] }, { "cell_type": "markdown", "id": "broadband-cisco", "metadata": {}, "source": [ "Now, we created the PDs for each loan.\n" ] }, { "cell_type": "code", "execution_count": 48, "id": "civic-professional", "metadata": {}, "outputs": [], "source": [ "# PD for each borrower/loan.\n", "pd_mu = 0.0044\n", "pd_std = 0.002\n", "p_of_d = np.random.normal(pd_mu, pd_std, n)\n", "count, bins = np.histogram(p_of_d, bins=PDs)\n", "binned = np.digitize(p_of_d, bins)\n", "rats = np.array(SPs)[binned]\n", "\n", "p_of_d = np.where(p_of_d<0, 0, p_of_d)\n", "\n", "pd_var = bern.var(p_of_d) # PD for each individual loan is bernoulli distributed and has its own variance." ] }, { "cell_type": "markdown", "id": "stuck-trinidad", "metadata": {}, "source": [ "And the LGDs for each loan." ] }, { "cell_type": "code", "execution_count": 49, "id": "opposed-opinion", "metadata": {}, "outputs": [], "source": [ "# LGD\n", "lgd_mu = .4\n", "lgd_std = .4\n", "\n", "a, b = beta_params_from_descript(lgd_mu, lgd_std**2)\n", "lgd_freeze = beta(a, b)\n", "lgd = lgd_freeze.rvs(size=n)\n", "\n", "lgd_var = np.repeat(lgd.var(), n)" ] }, { "cell_type": "markdown", "id": "coastal-spending", "metadata": {}, "source": [ "Then EL and UL can be calculated as:" ] }, { "cell_type": "code", "execution_count": 50, "id": "gentle-syndicate", "metadata": {}, "outputs": [], "source": [ "el = EAD*p_of_d*lgd\n", "ul = loan_ul(EAD, p_of_d, lgd, pd_var, lgd_var)" ] }, { "cell_type": "markdown", "id": "alien-watch", "metadata": {}, "source": [ "We show the results for each individual loan below:" ] }, { "cell_type": "code", "execution_count": 51, "id": "cheap-camcorder", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create lists of data for each column\n", "data = {\n", " 'Amount': EAD,\n", " 'Probability of Default (PD)': p_of_d,\n", " 'S&P Rating': rats,\n", " 'Loss Given Default (LGD)': lgd,\n", " 'σ²_PD': pd_var,\n", " 'σ²_LGD': lgd_var, \n", " 'Expected Loss (EL)': el,\n", " 'Unexpected Loss (UL)': ul\n", "}\n", "\n", "# Create DataFrame with loan numbers as columns\n", "df = pd.DataFrame(data, index=[f'Loan {i+1}' for i in range(n)]).T\n", "\n", "# Format numeric columns\n", "df.loc['Amount'] = df.loc['Amount'].map('{:,.2f}'.format)\n", "df.loc['Probability of Default (PD)'] = df.loc['Probability of Default (PD)'].map('{:.2%}'.format)\n", "df.loc['Loss Given Default (LGD)'] = df.loc['Loss Given Default (LGD)'].map('{:.2%}'.format)\n", "df.loc['σ²_PD'] = df.loc['σ²_PD'].map('{:.2%}'.format)\n", "df.loc['σ²_LGD'] = df.loc['σ²_LGD'].map('{:.2%}'.format)\n", "df.loc['Expected Loss (EL)'] = df.loc['Expected Loss (EL)'].map('{:,.2f}'.format)\n", "df.loc['Unexpected Loss (UL)'] = df.loc['Unexpected Loss (UL)'].map('{:,.2f}'.format)\n", "\n", "await dfi.export_async(df.style, '_static/loss_loan_table.png', fontsize=16, dpi=300)\n", "display(HTML(''))" ] }, { "cell_type": "markdown", "id": "bizarre-female", "metadata": {}, "source": [ "Now, we must combine the above results to find the likely performance of the entire portfolio. Remember when trying to determine the **Loss Distribubion**, as per formulations above:\n", "\n", "+ expected losses are *additive* \n", "+ unexpected losses are *not additive*\n", "+ probability of default may be correlated, thereby impacting unexpected loss\n", "\n", "We will consider three scenarios:\n", "

\n", "\n", "**PD entirely uncorrelated**\n", "\n", "$\\rho_{ij} = 0 \\text{ for all } i,j$\n", "

\n", "\n", "**PD all perfectly correlated**\n", "\n", "$\\rho_{ij} = 1 \\text{ for all } i,j$\n", "\n", "

\n", "\n", "**PD correlated**\n", "\n", "$.2 < \\rho_{ij} < .8 \\text{ where }i \\neq j$" ] }, { "cell_type": "markdown", "id": "intermediate-uzbekistan", "metadata": {}, "source": [ "Scenarios 1 and 2 can be developed rather easily." ] }, { "cell_type": "code", "execution_count": 52, "id": "toxic-mention", "metadata": {}, "outputs": [], "source": [ "p = np.zeros(n)\n", "\n", "port_ul1 = port_ul_w_corr(w, ul, p)\n", "\n", "p = np.ones(n)\n", "port_ul2 = port_ul_w_corr(w, ul, p)" ] }, { "cell_type": "markdown", "id": "greater-switch", "metadata": {}, "source": [ "For Scenario 3, we must prepare a correlation matrix. First we randomly generate the correlation factors." ] }, { "cell_type": "code", "execution_count": 53, "id": "united-traveler", "metadata": {}, "outputs": [], "source": [ "p = np.random.uniform(.2, .8, n)" ] }, { "cell_type": "markdown", "id": "automated-context", "metadata": {}, "source": [ "Then build a 2-D correlation matrix using our hepler function `corrs_to_corrmat`." ] }, { "cell_type": "code", "execution_count": 54, "id": "young-component", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1. 0.38 0.38 0.41 0.78]\n", " [0.38 1. 0.41 0.78 0.78]\n", " [0.38 0.41 1. 0.78 0.78]\n", " [0.41 0.78 0.78 1. 0.78]\n", " [0.78 0.78 0.78 0.78 1. ]]\n" ] } ], "source": [ "print (np.around(corrs_to_corrmat(p), 2))" ] }, { "cell_type": "markdown", "id": "incredible-underwear", "metadata": {}, "source": [ "Then, multiply the correlation matrix by the weights and individual expected losses. This is all done inside the helper function `port_ul_w_corr`." ] }, { "cell_type": "code", "execution_count": 55, "id": "indie-decade", "metadata": {}, "outputs": [], "source": [ "port_ul3 = port_ul_w_corr(w, ul, p)\n", "port_uls = [port_ul1, port_ul2, port_ul3]" ] }, { "cell_type": "markdown", "id": "synthetic-poultry", "metadata": {}, "source": [ "This results in the below:" ] }, { "cell_type": "code", "execution_count": 56, "id": "external-chester", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create a pandas DataFrame from the data\n", "import pandas as pd\n", "\n", "data = {\n", " 'Scenario 1': [EAD.sum(), el.sum(), port_uls[0]],\n", " 'Scenario 2': [EAD.sum(), el.sum(), port_uls[1]], \n", " 'Scenario 3': [EAD.sum(), el.sum(), port_uls[2]]\n", "}\n", "\n", "df_port = pd.DataFrame(data, index=['Amount', 'EL, portfolio', 'UL, portfolio'])\n", "\n", "await dfi.export_async(\n", " df_port.T.style.format({'Amount': '${:,.2f}', 'EL, portfolio': '{:,.2f}', 'UL, portfolio': '{:,.2f}'}), \n", " '_static/loss_port_table.png',\n", " fontsize=12,\n", " dpi=300\n", ")\n", "display(HTML(''))" ] }, { "cell_type": "code", "execution_count": 57, "id": "described-heritage", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "text/html": [ "So, in our hypothetical $500k loan portfolio, we should expect loan losses of 0.25% per year on average." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "co = el.sum() / EAD.sum()\n", "md = 'So, in our hypothetical $500k loan portfolio, we should expect loan losses'\n", "md += f' of {co:.2%} per year on average.'\n", "\n", "display(HTML(md))" ] }, { "cell_type": "markdown", "id": "stupid-brazilian", "metadata": {}, "source": [ "This is below the market average in the US, seen below and found [here](https://www.elfaonline.org/data/mlfi-25-monthly-leasing-and-finance-index/view-mlfi/monthly-leasing-and-finance-index-december-2020), but still pretty good for some rough math.\n", "

" ] }, { "cell_type": "markdown", "id": "fleet-health", "metadata": {}, "source": [ "\"Image" ] }, { "cell_type": "markdown", "id": "limiting-personal", "metadata": {}, "source": [ "

\n", "But we should also note that the Unexpected Loss could be 10x-20x more than the Expected Loss in a given year. Should we hold enough capital to absorb the Unexpected Loss? No, we should hold even more than that.\n", "\n", "

" ] }, { "cell_type": "markdown", "id": "banner-legend", "metadata": {}, "source": [ "### Model 2: PD / LGD Correlated ###\n", "+ To be fleshed in greater detail.\n", "+ [PD and LGD are likely correlated](https://www.moodysanalytics.com/-/media/whitepaper/before-2011/10-05-02-implications-of-PD-lgd-correlation-in-a-portfolio-setting.PDf)\n", "+ current accepted approaches to risk modelling to not account for this (e.g. Basel 2)\n", "+ usually considered when the value of the asset is dependent on the economic cycle\n", "+ models of PD/LGD correlation are generally very complicated. we will use simple assumptions to show the effect on expected loss.\n", "+ to account for this, EL can incorporate a covariance term for PD / LGD\n", "\n", "+ a borrower may default because of exogeneous circumstances that also impact the market value of the asset\n", "+ a borrower that defaults may be more likely to depreciate an asset through improper use (i.e. poor maintenance, etc).\n", "\n", "\n", "Assumes:\n", "\n", "+ Linear relationship between PD and LGD\n", "+ $R^2$ = .5 [per historical data detailed in Figure 1 here](https://www.researchgate.net/publication/24103510_The_Link_Between_Default_and_Recovery_Rates_Theory_Empirical_Evidence_and_Implications)\n", "+ all defaults and all assets have the same correlation of PD and LGD\n", "\n", "The main adjustment to the loss model is the addition of a covariance term to the Expected Loss.\n", "\n", "$$EL = PD*LGD + cov(PD, LGD)$$\n", "\n", "where:\n", "\n", "$$COV(PD,LGD) = \\rho_{PD,LGD}*\\sigma_{PD}*\\sigma_{LGD}$$\n", "\n", "and\n", "\n", "$$\\rho_{PD,LGD} = R = \\sqrt{.5}$$\n", "\n", "where:\n", "\n", "$$cov(PD, LGD) = \\rho_{PD,LGD}*\\sigma_{PD}*\\sigma_{LGD}$$\n", "\n", "$$UL = EAD * \\sqrt(PD^2*\\sigma^2_{LGD} + LGD^2*\\sigma^2_{PD})$$\n", "\n", "\n", "For multiple loans:\n", "\n", "$$EL_p = \\sum^n_{i=1}({EAD_i*PD_i*LGD_i + cov(PD_i, LGD_i)})$$\n", "\n", "$$\\sum^n_{i=1}cov(PD_i, LGD_i) = n*cov(PD, LGD)$$\n", "\n", "$$EL_p = (\\sum^n_{i=1}EAD_i*PD_i*LGD_i) + n*cov(PD, LGD)$$\n", "\n", "The UL is very complicated and should be derived via simulation.\n", "\n", "

" ] }, { "cell_type": "markdown", "id": "approved-bubble", "metadata": {}, "source": [ "## Simulating Losses ##\n", "
\n", "\n", "To map the **Loss Distribution**, we must simulate portfolio outcomes based on **Loss Model** we have constructed.\n", "

\n", "\n", "**Goal**\n", "\n", "1. Create a sample portfolio from our Loss Model\n", "2. Generate 50,000 simulations of the portfolio performance in a single year.\n", "3. The amount of loss in each simulation will be recorded.\n", "4. A Beta distribution will be fit to the loss record.\n", "\n", "**Process**\n", "\n", "1. Generate `n=20` loans totaling \\$2MM aggregate\n", "2. Generate PD for each borrower/loan from normal distribution as per [here](#Probability-of-Default).\n", "3. Simulate default events\n", " + generate `n` random standard normals, denoted `e`\n", " + generate correlation matrix of defaults across all borrowers for all simulations([values informed by Chapter 7, Appendix B of Ong](https://www.amazon.ca/Internal-Credit-Risk-Models-Performance/dp/1899332030)).\n", " + find transformation matrix via Cholesky method\n", " + correlated defaults found as `e_prime`\n", " + defaults occur when `e_prime` is less than the inverse normal of PD \n", "4. For each default, generate an LGD based on the distribution used earlier\n", " + where the borrower has not defaulted, `LGD = 0%`." ] }, { "cell_type": "code", "execution_count": 58, "id": "broke-solid", "metadata": {}, "outputs": [], "source": [ "from scipy.stats import invgauss\n", "from scipy.linalg import eigh, cholesky, svd\n", "\n", "# Loan amounts\n", "n = 20\n", "n_samples = 50000\n", "\n", "loans_t = 2*10**6\n", "randloans = np.random.uniform(0.1,1,n)\n", "EAD = (randloans / randloans.sum())*loans_t\n", "w = EAD / EAD.sum()\n", "\n", "# PD for each borrower/loan.\n", "pd_mu = 0.0044\n", "pd_std = 0.002\n", "p_of_d = np.random.normal(pd_mu, pd_std, n)\n", "p_of_d = np.where(p_of_d<0, 0, p_of_d)\n", "pd_var = bern.var(p_of_d)\n", "\n", "# Correlation matrix\n", "e = norm.rvs(0, 1, size=(n, n_samples)) # this creates defaults for ALL borrowers in ALL simulations\n", "p = np.random.uniform(.01, .13, n)\n", "corrmat = corrs_to_corrmat(p)\n", "\n", "c = cholesky(corrmat, lower=True)\n", "\n", "e_prime = np.dot(c, e).T\n", "pd_inv = np.repeat(norm.ppf(p_of_d), n_samples).reshape(n_samples, n)" ] }, { "cell_type": "markdown", "id": "intensive-integer", "metadata": {}, "source": [ "If $e\\prime_{i,j} < N^{-1}(PD_{i})$ for any $i,j$ then borrower $i$ defaulted in simulation $j$" ] }, { "cell_type": "code", "execution_count": 59, "id": "confidential-guard", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(50000, 20)\n" ] } ], "source": [ "in_default = e_prime < pd_inv\n", "print (in_default.shape)" ] }, { "cell_type": "markdown", "id": "important-marriage", "metadata": {}, "source": [ "`in_default` is now a boolean array where `True` means default and `False` means no default for every borrower (20) in every simulation (50,000).\n", "\n", "As a check, we can sum all the defaults and divide by the total number of instances of borrowers (n borrowers X n_samples)." ] }, { "cell_type": "code", "execution_count": 60, "id": "considerable-exclusion", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.004452\n" ] } ], "source": [ "default_per = (e_prime < pd_inv).sum() / (n*n_samples)\n", "print (default_per)" ] }, { "cell_type": "code", "execution_count": 61, "id": "proud-excuse", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "text/markdown": [ "The process resulted in 0.45% defaults which aligns closely with the expected value of 0.44% mean of the Normal distribution used." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "text = f'The process resulted in {default_per:.2%} defaults'\n", "text += ' which aligns closely with the expected value'\n", "text += f' of {pd_mu: .2%} mean of the Normal distribution used.'\n", "\n", "from IPython.core.display import display, Markdown\n", "\n", "display(Markdown(text))" ] }, { "cell_type": "markdown", "id": "relevant-genetics", "metadata": {}, "source": [ "Now, randomly generated LGDs for *only those loans that defaulted*." ] }, { "cell_type": "code", "execution_count": 62, "id": "indoor-asbestos", "metadata": {}, "outputs": [], "source": [ "# LGD\n", "mean = .4\n", "lgd_std = .4\n", "a, b = beta_params_from_descript(mean, lgd_std**2)\n", "lgds = np.zeros(shape=in_default.shape) # LGDs for all loans start at 0%\n", "\n", "i_loss = np.argwhere(in_default)\n", "lgd_rands = beta.rvs(a, b, size=i_loss.shape[0]) \n", "\n", "# Insert LGDs where there was a default\n", "for i in range(i_loss.shape[0]):\n", " x, y = i_loss[i]\n", " lgds[x, y] = lgd_rands[i]" ] }, { "cell_type": "markdown", "id": "classical-school", "metadata": {}, "source": [ "Finally, we multiply the loan amounts by the LGDs to get the loss on every loan in every simulation." ] }, { "cell_type": "code", "execution_count": 63, "id": "romance-chrome", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "50000 4180\n" ] } ], "source": [ "losses = np.repeat(EAD, n_samples).reshape(n_samples, n) * lgds\n", "\n", "simloss = losses.sum(axis=1)\n", "simloss_gt0 = simloss[simloss>0]\n", "\n", "print (simloss.shape[0], simloss_gt0.shape[0])" ] }, { "cell_type": "code", "execution_count": 64, "id": "civilian-luther", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "text/markdown": [ "`simloss_gt0` is now an array of simulations where loss was greater than 0. We can see from the above, out of 50,000 simulations, only 4,180 had *any* defaults. The small size of the portfolio skews the distribution and so simulations with losses of zero will be ignored for distribution fitting." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from IPython.core.display import Markdown\n", "\n", "md = '`simloss_gt0` is now an array of simulations where loss was greater than 0.'\n", "md += f' We can see from the above, out of {simloss.shape[0]:,.0f} simulations,'\n", "md += f' only {simloss_gt0.shape[0]:,.0f} had *any* defaults.'\n", "md += ' The small size of the portfolio skews the distribution and so simulations with'\n", "md += ' losses of zero will be ignored for distribution fitting.'\n", "\n", "display(Markdown(md))" ] }, { "cell_type": "markdown", "id": "corrected-premium", "metadata": {}, "source": [ "A few key statistics from the data" ] }, { "cell_type": "code", "execution_count": 65, "id": "natural-chemistry", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Average losses in each year: $3,284.02\n", "Average Percentage Losses: 0.16%\n", "Number of years with 0% loss: 45,820\n", "Average losses in years with loss: $39,282.59\n", "Average Percentage Losses in years with loss: 1.96%\n", "Maximum Loss in any Year: $331,577.44\n" ] } ], "source": [ "val = f'Average losses in each year: ${simloss.mean():,.2f}'\n", "val += f'\\nAverage Percentage Losses: {simloss.mean()/EAD.sum():.2%}'\n", "val += f'\\nNumber of years with 0% loss: {simloss.shape[0] - simloss_gt0.shape[0]:,.0f}'\n", "val += f'\\nAverage losses in years with loss: ${simloss_gt0.mean():,.2f}'\n", "val += f'\\nAverage Percentage Losses in years with loss: {simloss_gt0.mean()/EAD.sum():.2%}'\n", "val += f'\\nMaximum Loss in any Year: ${simloss_gt0.max():,.2f}'\n", "print (val)" ] }, { "cell_type": "markdown", "id": "gentle-homeless", "metadata": {}, "source": [ "Now we can fit the distribution and plot it against the simulation." ] }, { "cell_type": "code", "execution_count": 66, "id": "cellular-malpractice", "metadata": {}, "outputs": [], "source": [ "with warnings.catch_warnings():\n", " warnings.filterwarnings(\"ignore\")\n", " \n", " lnspc = np.linspace(0, simloss_gt0.max(), len(bins))\n", " params = beta.fit(simloss_gt0)\n", " ld = beta(*params)" ] }, { "cell_type": "code", "execution_count": 67, "id": "surface-joshua", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAApsAAAGrCAYAAACPAFxUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAACEsklEQVR4nOzdd3xUVfrH8c9DQuhVEBCkKCpFiooFRRcQxY7dXVFRd+26uva2ir2sa/mtBWzo4qrYe0MBBUWl2kVREAugCEiHkDy/P86dMBlmkpkkQ0j4vl+v+5rMveece+6d9uTeU8zdERERERHJhhqVXQERERERqb4UbIqIiIhI1ijYFBEREZGsUbApIiIiIlmjYFNEREREskbBpoiIiIhkjYLNKsrMhpqZJ1mWmdnPZjbNzB4ys7+ZWaPKrm+2mNmJsWOv7LqkYmbtU7xWbmZ/mNlnZna3mXVOkT/2Ws/ewFXf4MyskZndamZfm9nKuPN0aIbltDaz68zsQzNbaGb50WfjGzN7wczON7OdzMyS5B0X7fORijquDa0qfC4qipk9Eh3ruDLkjf9sDq342smGZmazy/t6bojPTwm/4cmWExPyzM5WvbJFwWb1Uw/YAugJnAw8APxiZrebWZ3KrFhlSPywboQaAtsDZwGfmNlpG3LnZtY37hy135D7TlKXHOAd4CJgO6B2Gcv5M/A1cCWwK9AEyCV8NrYBBgH/BiYD7cpd8U1MQoDWt7LrI5KuqhyslWZj/1wq2KweugINoqUpsDUwELgJ+BWoC/wDmGRmm1dWJQUIr0nstWpIeK0uBFYCNYF7zWzPyqtepdoH2Cn6+3KgDevO1cvpFGBmfwIeA+oDvwFXAb2AlkAroDchmP2wIisuIlIO8b/hyZbHKq9qFSO3sisgFWKFuy+Le74I+B54y8yuA+4mXOXsCjxrZv3cfW0l1LPCufsjwCOVXI1MrEl4rZYC/zaz+cBIwj+AlwHjK6Nylaxb9LjY3W8qYxnXATnAYmBnd/8hYfs8QqB5m5ntACxMLMDd+5Zx3yJSydy9fWXXoQwSf8OTcvehwNCs1yYLdGWzmnP3le7+V+C5aFUf4C+VWCVJ7n/ArOjvP0W3lDc1daPHP8qS2cxqA3tET59OEmgW4+7T3H1JWfYlIiLpU7C56fg7ELuaeX6qRGZWz8wuMLPxZrbAzFZHHY6eKun2bmIjfTPb2cyeNrO5ZrbKzL4zs3+bWZMSymhgZleY2Udmtjjq1PGrmX1uZiPN7LjEICxVQ+5YJ4+4VSOSNLpub2bHRH8XltZmMdp/LG2HktJmyt0d+DJ6WpfQHCJtZlbbzP5hZu9HHWJWm9mPZva4me2RIo8DY+NWzUo4P7PLcixm1j96v/wU1eN3M3vPzM4ys5pJ0sdeq6HRqnYJ9XgkzV03Zd13WpmDSCuhg1Bimy8z62Jm/42OdaWFDkhXm1nduDxNLXRW+srMVpjZb2b2v1Tvt3TbXiV+5jI8xtZmdoaZvRK9T1Zb6ED1lZndY2YdU+Sbzbp/igDGJn6uUuTrbGb3mtmMaD/LzewLM7vFSmnaY2Z5ZnaRmX0anb8FZvaOmR2W6XFXtLJ87uLybmVm/zGzL6PzsTp6H00xs7vMrF+KfIeY2YsWvpfXmNkSM5tpZqPN7GIz27KEfe4avW++j87lEjObamZXmlmDEvJl/N1cyrGfHr1ffk2xPb7zzHUp0syNtp+dsH69DkIWtU0Hro5WJX7HlPg9Y2ZbmNn/mdms6HWaZ2ZPWIpOndmS+P0Tt342ZfhcblDurqUKLoQfZo+W9mnmeTUuT7Mk23sCP8alSbbclKLsR6Lt44DjgDUp8n8JNEqSvzXwXSn7dqBxQr4TY9sS1o9Lo6z2QC3CrVQHrirl/I2O0o3N8LVqH7fPoSWkezEu3eZJXuvZKfK1I3SIKelYb0mSr7Tzk3R/JdS/BnBPKWVOB1pl+Fo9kub+6wEFUZ7JQI0yfrbGpdpv/GsB7AcsT1Hn0YQ2uB2Ab1OkmQu0LeX90reEej4SpRmXZNuJsTJS5F1UyjlfARySJN/s0t43SfJcQvhHN1We34HdU9SzIaHZQ8rvo5LOQ0V9Nivycxfl3Ts6xyV+VpLkG17a+QfOS/HZ/L9S8s0CtkuSt0zfzaWcu85x+bqW8Bl0YHyS7Z3itm+f4j06NG5d3zTq/0hc+hPj1ncH5qfIswTYqYzfM0PjymmfYZ7Z5f1cbuhFVzY3LR/E/b1b/AYzaweMIXTK+Ao4nvBF3JTQaeOhKOmlVnKP6W2AB6Oy/gQ0i9bdGW3vTOglnOhWYCvCF/AFQBdgM6AFoUfxhcC0Uo9wnf0JDatjTmf9Rtc/uPtq4PEozQlm6w+FA2BmbYD+0dNHMqhHJmL/Ja8mSVvCZCzcOn6V0Ht7DXBt9HdzQn1jbT8vNrN/JGRvABwQ9zyxkXqXDOt/BXBm9PdoYC/C698ZuIUQCPYAXrbiVzhjr1WsneachHqk1UPf3ZezruPPTsAoM+uZ4TGkqzHhffMJMIBwvrcBhkXbBwCnAk8RetUfT/jRbgWcA+QTOi39K0v1K80XwD8J9exCeJ22BY4inMM6wGPR+z5eF8L7JOYA1v9cFTGzvwM3E9rRPk74Ttic8Lk+DPiM8B3zkpm1TlLPhwiffwgja/SI6roH8AZwaVTmBlWez52Z1QBGEM7xTGAw0JFwHrYkvCY3AT8l5NuH8J4CeBLYk/CeakoIvo4FRkX1SXQb4X1XQGjDvyvhPLYhvDd/IHzfv2Jm9RPyVvR3M+7+FaHzKoRAMP44a0XlelTfXWz9kVRir/kCwnu5NOMp+TumpO+ZFwhtwI8mfH63IPyerIzyDUuRb0PK6HNZKSo72tVStoWy/Vd0dFyeUxK2vRKt/wiomyL/dVGa34A6CdseiSv7RZJcVQKeibbPT7ItdnXx7xmehxMp4T+3uDqdWEIZO8al2zNFmsui7UuBehnWsX1c+UNTpDk8Ls3bKV7r2UnyXRCX79gk2/MIX7RO+LFomrC9b6bvoxT1b8W6q9mvAzlJ0pwRt6/TS3hPr3ecGdRjT9a/qv4L8Dyhh/ueQG4pZYwj4UpHkjo6ISirlSTNu9H2/Oh9nezq5fVRmjVAwxLeL31LqGfsMzcu089FKcefA7wX5b++lPdzSfVrDayK0l2QIk19wt0OB+5N2LZb3H5uT1HPN+LSrHce0jjW+GNJ+tlMka/MnzvClbKiq2YZ7PP2KM+UDI9x57j9HZkizRasu3p3ccK2Mn03p1Gvp6Jyn05Y/6do/XTg4+jvvRPSPBGtfzZJubNTvZ6k+R1D8SubPwCbJUlzdlyaLmU4/qHx+aPPQrIlL536p/u5rKxFVzY3LfEdL4raBJrZ1qy7wnW2u69Ikf9Gwm3DZoShlVI5390Lk6wfGT1uHl1JjRdr7/NLCeVmhbtPJVyhAhiSIlls/dMerqBVCDNrbmanAA/Hrc7katfJ0eP77v544kZ3X0NorwvhSkq2OocdR7htDOFHqSBJXe5j3Xn+azYq4e7jgX2Bb+JWtwIOBW4gBFE/mdnl0RWU8rjMw5XxRE9Fj7nA/7n7nCRpnoweaxKar2w0otcuVr+9y1HUaYRmKl8QAqVk+1rGuqtNf064sxD7zC0lXIVNVs/Eq/UbSnk+d/FtGzP5vovlm5tBHghXNAFec/dnkiVw918IVzwhXCFNtt+K/m5+N3r8U8L62PNx0QIJVz/j0rxL9l3r7r8nWR8/HNHO5dzHF4T3ebLl1nKWvVFQsLlpif8i97i/+0fbFgJfmVn9ZAvhS+frKE+vFPv4zt2/S7Ht27i/WyRsmx493mBmfUo7kCyIBXtHWVznDgiN6gm3yKD8t9CvTmi0/StwP9CI8Jpc7u5vplOQmTVl3a3uZ1Olc/dphDZXEK7sZUPsNfvU3b8tIV3sx24HM6uXjYq4+zjCeTmQcG6/AuL/+WlBCDzHlqMOq0g9PNX3cX+PTpEm/jPSsox1KBcz28PMRliYrWmphY5vsfflPVGybcuxi1igOgaoV8L3SqxjXBPCuLMxu0ePb6f6B8/D7dgZ5ahjxirgczeD8P6B0HFxa9IzPXrc38z+nsF7t+h1SPUaRK9D7HZ0NzPLS7Lfiv5uHhc9Njez+FvAfeO2j0tYh5ltS/gHMr6MbEr6fezuiwl3+WD93zNJoGBz09Io7u9FcX/HAqmmpP7vKrbEBt1unmIfJf3XHX/FNLENzqWE247bAuMt9LR8POq1mO6XcXn8j+iWJqEtWbzYFZbvqfjxLwsJnbIeA3p7ZuNLto37+8uUqYLYD0nbElOVXexKdbr1yCHcZs0Kdy9w99fc/TR370J47w8ktPuLtWnrTWhLWhYLPPVYtSvj/p6Xon7xaTb4zF5mdjswgXC7cDvC7bpk7ZUbJVmXrtj3yjmU/J0yOS5P/PdK++jxa0pW2vaKVq7PXXTnKNZu/SBgZtSr+z4z+7OZbZairMeAqYTf7buAWK/8q80s6XBpURC5RfT0Nkp+HWKBcw1Cm8yYbH03f8m6YK1vVN9arGs+8R7hPZrYbrNv9LiQ0OY329L5TSvvZ7iDu1uK5bxylr1RULC5adkm7u/4D1BZflBS3YJc7/ZpCsV+2Nx9IuFL5mXCF9sWhFtP9xG+jN8zs/Leqkgpuk3yYvS06FZ69OX35+jpox41jimH+BmE6hPaD7Z19+Pd/aMMy4pvyF/agMBLo8dsNRSP1SXdemSzLutx92Xu/pa7n0q4Chu7/X1yGW+np/s+Tydd0k5p2WJmx7Hu9vNYQlvuzoTmMbH35hnR9vKM91re75XYlbvSmq2UOhh2BSv3587d/00477FAuyuh08kTwFwze8zMWibkyQf6ETpc/UroeNaf0I5vHKF5yN8TmiKU9Z+FotchW9/N0Xfpe9HTvtHjLoTA7VN3X+hhHNxphDawsSvdsVvo71XA93E69dzoPsNVkYLNTUvvuL/jp+uLfWHOKeG/q8TlxIqunLtPdfdDCFdY9yV8icbquSfwnpntWNH7jRO7lb53XC/cgwm39xx4tAL2sSYKfJa5+/JyflnG/9Al9iBNFNu+tMRU5a9LuvXIZl1K5O6TCCMmQPhh61QZ9ShBuu+Jss4Ad3r0OAEY4O5Pu/vX7v577L1JGeelTxB7T1ybwffKuLj8sSCztNvFpb3nKlqFfO6i874z4ZbwkYSrld8T2vEOBt63hLEv3X2Ju19GaHrRkzD6w9OEc9UyKiP+an18XU/O4HWYnbDfbH03J7bb7Bs9jotLMy5h24ZsrykVRMHmJsLMtiB8SQBMc/cFcZtjbcxaJRliYoOLfvBGu/s17t6b8GW2kvADeEkWd/0WYbiRGoThQGDdVc6xXsqMNJVgDusCk9IGF461icrWMczOsB4FwM9Zqks64odLqZsyVeVYFfd3SZ/HViVsK0n36PGZFB35ALYvY9nxYt8rW5Ux/+zosbR/Bjb0PwsV+rlz93nu/mx0u7Qj6ybd2IrQ8S5ZHnf3T9z9Pnc/mjBkUuwq4Xlm1jBK9wfrhlEr6+sQv9+K/m4eFz3G2m3+KWF9/N99LUw20DpJGtnIKdjcdNzFuish/07Y9nb0WJPQa3ej4u4TCIEgZP7DEmtXV+rtwOiHN3b1coiZtSAM3A0b4fzr7r6QdW3GjkiVzsx6EH7EIFzNipcf93d5bpnGyu1uKWafiRwZPU5L1eljA4kfP3KDj4BQioWse122SZYgCiZ2TbYtDbFbpElf76iD3KEl5E/3PRPrHHVAkrEb0xEbF3hAqs4w0Qwu2yXbli0V9LlLVba7+x2sGzkkre87d18E3BE9rUnxjlax1+HIaIzPClPO72aAzwmD+kO4GNKbde01Y8YTtdskjMkLoc/Bp2XYX+y9Wx2nA66o7/KsULBZzZlZLTMbzrof+fdYN6wJUNSj8/Xo6b+t9Gkb21fAsDHx5dVLMnh0/PYahJlYYN0XU7pi6dO9CjSC8GW3HWHGjVyKN57f2MRu/fcxs2MSN0aDp/9f9HQFoU1YvPjzWdYrZRA6L+QT2i7dmexHzcJkAD2jpw8lbi8vM6trZneX9F6K0m0JnBI9nbmxXbGO2uZNj54em9AGL+Y6Sr+9nMqs6PGgFNtvo3gHkUSLWHdlr6T3zD2EzlhNgfuSdWCJF/Uyjhf7x68B4XgT0+eQYkilDaDMnzsLU4WmfO0sTN8Zu33+e9z60oLq+AAz/nMdC0I7EcZ3TcnMcuI7/WT5uzmx3ea5hLsMn0YBfSzNEsLnIY8wvimEWYVSXZUvSayOzcysrM1QNlbpfi4rhYLN6qFu3BAWjaNgcICZXU+4FRWbdeIzwqC+yRo8n0GYjaEVMMXCPLg9LMzr3Dz6+69m9hJh1ouK7NzRnDAv9/NmNsTMuprZZmbWysz+BDzHult/T6YuJqmp0eMQC/MC1zOz3FRfNB6GbYp9+R0dPT7lqccerWz3su4qy3/N7Coz6xidvz+xbiYfgCvjv8QjM1k3j/glUd5a0TlK+79jd5/HuoDgQOBVM+sT1WM7M7uRdcPpTCELwSbh++wswnvpZTP7m5l1j96/TaO/LyJ0yoj1er4iC/WoCLFAa1fC69rZzJqYWS8zG0no4T0rdfYSPR099rMwr3XP6HXaxcxGEb4LvkqVOfosxHqAn21m3cysTuLnyt1/ZN0t4eOADyz0tm4ffU+1sTBn9VVm9iUJgaO7f8i6obL+YWbDo301NbPehA4r+7Hudnt5tTGz3UpZYgFxeT53+xA68ww3s0PNbOvofLQzsyMId5pqEO7KxP+TO9zMPrMwRuye0fdjUzPrYmaXEYbzApjocWO7Rh0Pb4ueXmZmb1qYX72NmTUys7Zmtq+Z3UwYqil+7NJsfjfHxNpexka0GJckzbiENGVtrxn7PagNXGVmLWPvW6vgq74bWrqfy0rjG8HI8loyXyg++0BpyzLCl03tUsrsQhgDrrTy1gJNEvI+QimzeJBihoOE9SUtIwBLKPPE2PYU+9y/hPLap8hzQkK6PuV8reKPb2g5XuvZKba3o/Q5mm9NPHdx+W9OkSfp/kqoZ5nmRk/3ONPYf53ovZ7Oe2klYQKDZOWMi9I8UpY6kuasTHFpTkyyLZd1MxElLoXARZRxBiFCp5XpJZybZwmDlpf0uTo9Vf4kac8i9P4v7TV5Lkne0uZGv6Wk85DhZzOd5YXyfu4oPjtNqiWf9Wd5G5dGvu+ArVN8Nq8n3I4urYzby3B+RiQeZwavQY+Esg5NkuaghDQ7llDe7CjN0BTbJ6Y4hkfi0hS9RqXUvcR9lZJ3aNy+U35PZPL9Qwafyw29VOlIXpJaSRjb7xPCF8ApwBbufqG7ryopo7t/CXQjzO7yKmF4pDWEDguzCVNa/gNo56GNUEWZQxiO5hrCUCzfE249rY72OwoY6O4nefSJSpe7v074onqLcOU2nWEsnmFd79GZHtolbbQ83AbuSbiKNJEwj+8aQmenJwnB8sUlnLvLgfOASYTjzugcx9Wj0N3PIgwi/QyhLWQ+4fbOeML0bju7e6YzoKS7/5WEKzGDCG2UJxA+C2ui5VfCVetrgE7ufneKoiqdhzE89wOuIlxlXE24BfgGsI+7l3lOdQ+9zfck/JPxHeum1ZxA+OwfSfFB8JOVMYzwT9l4wvstZXp3v4fQdvFmwlXtRYTP4RJCu7uHCG0f/5wk7xLCFcJLCHdmVkV1HQcc7e7Z7DBYonJ87p4ijHLxf4TpGH8ivAbLCVdL7yVMY/lAQr4hhFmZniZ0cFtI+Mf/d8L7+gKgmyeZVCP6bF5J6LD0f4S2kksIr8MiwtX+ewjvuQvjsmbtuznOZ6wb99kp3l4zJtZuE0J71ull3BeE2fJuJ/yjUOJvYlWTyedyQ7Oyvz9EqicLs2fMJbQ1+6e7l9jOSURERFLTlU2R9cXGkysE/lvJdREREanSFGyKrO+c6PFNj2toLyIiIpmr/B5KIpXMzIwwLllDQmeGWC/S21JmEhERkbQo2BQJs1aMTVj3jLuPqYzKiIiIVCcKNkXWKST0vnySJINIi4iISObUG11EREREskYdhEREREQkaxRsioiIiEjWKNgUERERkaxRsCkiIiIiWaNgU0RERESyRsGmiIiIiGSNgk0RERERyRoFmyIiIiKSNQo2RURERCRrFGyKiIiISNYo2BQRERGRrFGwKSIiIiJZo2BTRERERLJGwaaIiIiIZI2CTRERERHJGgWbIiIiIpI1uZVdAUmuWbNm3r59+8quhoiIiEippkyZssDdmyfbpmBzI9W+fXsmT55c2dUQERERKZWZ/ZBqm26ji4iIiEjWKNgUERERkaxRsCkiIiIiWaNgU0RERESyRsGmiIiIiGSNgk0RERERyRoFmyIiIiKSNZUabJrZlmb2jJn9YWZLzOw5M2ubZt7aZvYvM5trZivNbKKZ7ZUkXQ0zu8zMZpvZKjP7xMyOSFHmKWb2tZmtNrMZZnZ6kjQHm9njZvaNmRWa2bgS6tjVzN4ys2Vm9ruZjTCzpukcn4iIiEh1UGnBppnVBcYAnYAhwPHANsBYM6uXRhEPAacAVwEHAXOBN82sZ0K664ChwN3A/sCHwNNmdkBCfU4BhgPPAvsBTwP3mtkZCeUdCvSMyvmphOPbAhgH1AGOBM4CBgCvmJmuKIuIiMgmwdy9cnZsdi5wO7Cdu8+M1nUAvgUudvfbS8jbA5gOnOzuI6J1ucAXwAx3PyRatznwI3Czu18dl/8doLm7d4/L+wvwursPiUv3MHAI0Mrd86N1Ndy9MPp7ArDW3fsmqeMdwElAe3dfHK3bC3gXOMLdnyvp/PTq1cs1g5CIiIhUBWY2xd17JdtWmVfYDgE+jAWaAO4+C3gfGJRG3nxgVFzetcCTwEAzqxWtHgjkAY8l5H8M6BYFtwC9geZJ0o0ENgP6xO2nsNQjW1fHV2OBZpT3PWAOpR+fiIiISLVQmcFmV+DzJOu/ALqkkXeWu69IkjcP6BiXbjUwM0k64vbTNXpMrE9iurSYWR2gQ5LyYmVmVJ6IiIhIVVWZwWZTYFGS9QuBJuXIG9see1zs67cVSJaOJGUmpktXE8BKqGPS8szsVDObbGaTf/vttwx3KSIiIrLxya3sCsg67n4/cD+ENpsbYp/tL311vXWzbz5wQ+xaRERENgGVeWVzEcmvYKa6apluXlh3RXIR0NjMLI10JCkzMV26FgNeQh0zLU9ERESkSqrMYPML1rWVjNcF+DKNvB2i4ZMS865hXRvNL4BawNZJ0hG3n1jbzMT6JKZLS9SWdHaS8mJlZlSeiIiISFVVmcHmS8BuZrZVbIWZtQf2iLaV5GWgJnBUXN5c4BjgLXdfHa1+g9BrfXBC/uOAz6Pe7wATgQUp0i0k9JDP1EvAgWbWKK6OfYB2lH58IiIiItVCZbbZfAA4G3jRzK4k3Ha+jjAu5vBYIjNrB3wHXOvu1wK4+zQzGwXcaWY1gVnAGYQe4EUBo7v/ama3A5eZ2VJgKiEg7U8YmiiWLt/M/kkYxP1n4O0ozcnAOe6+JqE+O0dPNwMKzezI6Pkkd/8h+vtfhGD1JTO7CWgE3Ap8BDxf9tMmIiIiUnVUWrDp7svNrD9wB2E8SwPeAc5z92VxSQ3IYf2rsCcBNwDXA42BT4D93H1qQrorgGXAuUBLYAZwtLu/klCfYWbmwAXARYTxMM9293sTyusHjEhY93RcnR6JyvvZzPoRBq5/lnB7/0XgggzG6hQRERGp0iptBiEp2YaaQUi90UVERKS8NtYZhERERESkmlOwKSIiIiJZo2BTRERERLJGwaaIiIiIZI2CTRERERHJGgWbIiIiIpI1CjZFREREJGsUbIqIiIhI1ijYFBEREZGsUbApIiIiIlmjYFNEREREskbBpoiIiIhkjYJNEREREckaBZsiIiIikjUKNkVEREQkaxRsioiIiEjWKNgUERERkaxRsCkiIiIiWaNgU0RERESyRsGmiIiIiGSNgk0RERERyRoFmyIiIiKSNQo2RURERCRrFGyKiIiISNYo2BQRERGRrFGwKSIiIiJZk1uWTGZWD9gWqO/u4yu2SiIiIiJSXWR0ZdPM2pjZs8AiYDIwNm5bHzP70sz6VmgNRURERKTKSjvYNLNWwEfAIOAVYCJgcUk+AjYHjqnICoqIiIhI1ZXJlc2rCcHkPu5+ODA6fqO75wPjgT0qrnoiIiIiUpVlEmweALzk7mNLSDMH2KJ8VRIRERGR6iKTYLMF8G0pafKBemWvjoiIiIhUJ5kEmwuBLUtJsy0wr+zVEREREZHqJJNg833gEDNrmWyjmW0D7EdcD3URERER2bRlEmz+C6gNvGtm+wN1IYy5GT1/GSgE/l3htRQRERGRKintQd3d/SMzOw24jzD0UcyS6HEtcLK7f1GB9RMRERGRKiyjGYTc/WEzGw+cCewGbAb8AXwI3O3uMyq+iiIiIiJSVWU8XaW7fwv8Iwt1EREREZFqJqPpKkVEREREMpHJdJVHmdkYM0s6aLuZtTazd8zs8IqrnoiIiIhUZZlc2fwb0Njdf0m20d1/BhpF6UREREREMgo2uwGTS0kzCehe9uqIiIiISHWSSbDZFPi1lDS/A83KXh0RERERqU4yCTYXANuUkmYbYHGZayMiIiIi1UpZpqvslGyjmXUGBgHjK6JiIiIiIlL1ZRJs3kYYl3OCmf3dzLaNpqrc1szOJQSZOVE6EREREZGMpqucZGZnAvcAd0RLvALgDHf/qALrJyIiIiJVWKbTVT5gZhMI01XuCjQmtNH8ELjP3b+q6AqKiIiISNVVlukqvwLOyUJdRERERKSaqdTpKs1sSzN7xsz+MLMlZvacmbVNM29tM/uXmc01s5VmNtHM9kqSroaZXWZms81slZl9YmZHpCjzFDP72sxWm9kMMzs9RbpDzWxaVN4PZnalmeUkSTfEzKZEx/abmY02sz3TOT4RERGR6iDjYNPMcsysi5ntYWZ7JVvSLKcuMAboBAwBjicMnTTWzOqlUcRDwCnAVcBBwFzgTTPrmZDuOmAocDewP+GW/9NmdkBCfU4BhgPPAvsBTwP3mtkZCekGRmkmReXdBVwJ3JiQ7lTgEeBj4AjCzEp5wGgz2yGN4xMRERGp8jK6jW5m/wT+QZiWsiTrXeVL4hRgK2A7d58Zlf8p8C1wGnB7CfXoARwLnOzuI6J17wJfANcCh0TrNgcuBG5291gv+bFm1hG4GXgtSpcL3ACMdPcr4tJtAVxnZg+6e360/mZggrufGpeuPnClmd3h7vOi9ScCE929KFg1szGEge+PBqalcY5EREREqrS0g00zuxi4BvgDGAn8CKwtx74PAT6MBZoA7j7LzN4njNeZMtiM8uYDo+LyrjWzJ4FLzayWu68GBhKuJj6WkP8x4GEz6+Dus4DeQPMk6UYCJwF9CEHllkBP4NQk6a4hXOkcEa3LIwyEH29FVO9Kbb4gIiIisqFkcmXzFOBnYEd3/60C9t0VeDHJ+i+Ao9LIO8vdVyTJmwd0jP7uCqwGZiZJB9AFmBWlA/i8hHRjU6WLguQVUbqYe4H7zeyvhNvu9Qi32/MJTQBEREREqr1Mgs0tgQcqKNCEMNf6oiTrFwJNypE3tj32uNjdPY10JCkz3XSxdbHtuPvDZgYh6HwwWj0P2Mfdv0mSP9bO81SAtm3T6iclIiIislHL5HbufMowVNKmyswGEQbAHw4MAA4mXBF9zcy2T5bH3e93917u3qt58+YbrrIiIiIiWZJJsPkUsI+Z1aqgfS8i+RXMVFct080L665ILgIaW3SJsZR0JCkz3XSxdQsBov3dDzzj7ue6+zvu/gpwILCU0ENeREREpNrLJNi8mjC80DNm1qEC9h1rU5moC/BlGnk7RMMnJeZdw7o2ml8AtYCtk6Qjbj+xtpmJ9UkrnZm1B+rGpWsBbE4YHqmIu68BPgE6JzkmERERkWonk2Dzc6A9cAAw08wWmtn3SZbv0izvJWA3M9sqtiIK2vaItpXkZaAmcR2JouGLjgHeinqiA7xB6JAzOCH/ccDnUU90gImEnuPJ0i0E3gdw9zmEYDFZunzg9ej5IkLHpF3iE5lZHqE3+8+lHJ+IiIhItZBJG8wahKGO5sStS7w9nWpdMg8AZwMvmtmVgBNuL/9IaOcYCjNrB3wHXOvu1wK4+zQzGwXcaWY1CT3KzwA6EBcIuvuvZnY7cJmZLQWmEgLS/kRjcUbp8qMxRO81s5+Bt6M0JwPnRFckYy4HXjGz4cATwA6EXuZ3xcbYdPfVZvYAcLaZLQReAepEx9seOC/NcyQiIiJSpaUdbLp7+4rcsbsvN7P+wB2EcSoNeAc4z92XxSU1wiDxiVdhTyIMxH490JhwxXE/d5+akO4KYBlwLtASmAEcHbWhjK/PMDNz4ALgIkJQfba735uQ7jUzO5LQrOBEQsepG6O6xPtHtK+/RXVdRbgNP9Dd3yrp3IiIiIhUF7b+qECyMejVq5dPnjw56/tpf+mr662bffOBWd+viIiIVB9mNsXdeyXbVuaZbMysSTSjjoiIiIhIUhkFm2ZW38z+bWbzCB1qZsVt29XMXjOzHSu6kiIiIiJSNaUdbJpZI0Kv7X8AvwBfUbwz0GfAnsBfKrKCIiIiIlJ1ZXJl8wrC+JInuvuOwNPxG6N5yt8F9q646omIiIhIVZZJsHk48Ka7/7eEND8ArctXJRERERGpLjIJNtsAn5aSZhnQqOzVEREREZHqJJNgcylhCsaSdCB0HBIRERERySjYnAQcZGYNkm00s1aEqSwnVETFREREkmnfvj233XZbhZc7btw4zIwFC8I1k0ceeYT69etX+H5isnUcIhubTILNu4DNgNfMrHP8huj500Bt4P8qrnoiIlLRTjzxRMysaGnWrBkHHXQQX3/9dUblDB06lO23375C6tS3b9+i+uTl5dGqVSv2228/HnvsMRInH5k0aRJnnnlmWuWeeOKJHHTQQWml3X333Zk7dy6bbbZZxvUvSarzlMlxlEf8a92gQQN69erFc889l/X9isSkHWy6+5vANcAewOfAZQBmtiB6vjtwmbt/kIV6iohIBRowYABz585l7ty5vPXWW6xcuZLDDjusUut00kknMXfuXL7//nteeuklevfuzWmnncZhhx1GQUFBUbrmzZtTt27dCt13fn4+eXl5tGzZEjMrPUMFyMZxpPLAAw8wd+5cJk2aRI8ePTjqqKOYOHFimcpas2ZNBddOqruMBnV392sIQxu9BCwCCgAHXgMGuPu/KryGIiJS4WrVqkXLli1p2bIlO+64I//4xz/4+uuvWblyZVGan3/+mT//+c80adKEJk2acOCBB/Ltt98C4RbzNddcwxdffFF01eyRRx4B4Pbbb6d79+7Uq1eP1q1b87e//Y3FixeXWqe6devSsmVL2rRpw84778zVV1/Nc889x4svvsh//7tuIJTE28/Dhw9n2223pXbt2jRr1oyBAweydu1ahg4dyqOPPsqrr75aVMdx48Yxe/ZszIwnnniC/v37U6dOHYYPH77ebfSYl19+uaj8fv368f333xdtS3bVMv72e0nnKfE45syZw2GHHUaDBg1o0KABhx9+OD/99NN6+3ryySfZeuutadCgAYceeuh69U2mcePGtGzZkk6dOjFs2DBq1arFSy+9REFBAX/961/p0KEDderUYZtttuHWW2+lsLCwKG/s6vAtt9xCmzZtaNOmDQCPPfYYO++8Mw0aNGDzzTfnqKOO4ueffy7KFzufr7/+OjvttBN16tRhzz335KeffuLdd9+lR48e1K9fn4MOOojff/+9KN9nn33G3nvvTcOGDalfvz49evRg7NixpR6jbLxy001oZnsBS9x9LKBXXUSkmli6dCmjRo2iW7du1KlTB4AVK1bQr18/dt99d959913y8vK47bbbGDBgAF999RXHHHMMn3/+Oa+88grjxo0DoFGjMBhJjRo1uPPOO9lqq6344YcfOOecczjnnHMYOXJkxnUbOHAg3bp149lnn+Wkk05ab/vkyZM566yzePTRR+nTpw+LFy9mzJgxAFx44YV89dVXLFy4sGjfTZs25ZdffgHgsssu47bbbuOhhx6iZs2azJw5c73yV69ezTXXXMOIESOoW7cu5557LocffjjTpk1L6wpoSecpXmFhIYMGDaJOnTpFgdXZZ5/NoYceyqRJk4r2NXv2bEaNGsXzzz/P8uXL+fOf/8wVV1zB8OHD0zibQc2aNalZsyb5+fkUFhbSunVrnnrqKZo3b87HH3/MqaeeymabbcZf//rXojzvvvsujRo14o033ihq1rBmzRquueYaOnXqxIIFC7jkkkv4y1/+wnvvvVdsf1dffTV33nknjRo14thjj+WYY46hdu3a3H///eTk5HDUUUcxdOhQ/vOf/wBw7LHH0qNHDz7++GNyc3P57LPPqF27dtrHJxuftINNQoA5HMh+AxMREcmqN954o+jq2/Lly9lyyy157bXXirY/+eSTuDsjRowoCnSGDx/O5ptvziuvvMLRRx9N/fr1yc3NpWXLlsXKPu+884r+bt++PbfeeiuDBg3i0UcfpUaNjG6oAdClSxc+/TT5yHtz5syhXr16HHLIITRo0IB27drRo0cPAOrXr0+dOnWKruImOuecczjyyCOLnicLNteuXctdd93FHnvsAcDIkSPZaquteOeddxgwYECpda9Tp07K8xTvnXfe4dNPP+W7776jffv2ADz++ON07Nix2L7Wrl3LI488UhSwnnrqqYwYMaLUesSsXr2af/3rXyxZsoS9996bmjVrcu211xZtb9++PVOnTuWJJ54oFmzWrl2bhx9+mFq1ahWtO/nkk4v+3mqrrbjvvvvo3LkzP/30U9HVT4DrrruOPffcE4DTTz+dc845hylTprDjjmF26yFDhvDMM88Upf/hhx+48MIL6dSpEwAdO3ZM+/hk45TJp34BsLLUVCIistHba6+9mD59OtOnT+fjjz9m7733Zt999+XHH38EYMqUKcyaNYsGDRpQv3596tevT6NGjVi0aBHfffddiWWPGTOGffbZhzZt2hTdDl6zZg3z5s0rU13dPeVVxH322Yd27drRoUMHBg8ezKOPPsrSpUvTKrdXr16lpqlRowa77LJL0fN27dqxxRZb8OWXX6ZX+TR99dVXbLHFFkWBJoQALnFf7dq1K3ZldIsttuDXX38ttfzjjz+e+vXrU7duXW6//XZuu+029t9/fwCGDRtGr169aN68OfXr1+eOO+5gzpw5xfJvv/32xQJNgKlTpzJo0CDatWtX1PEIWC9v9+7di/5u0aIFAN26dSu2Lv4Yzj//fP72t7/Rv39/brjhhow7rsnGJ5NgcxyhE5CIiFRxdevWpWPHjnTs2JGdd96ZBx98kCVLlnD//fcD4bZuz549iwLS2PLNN99w2mmnpSz3hx9+4MADD6Rz5848/fTTTJkyhYcffhgoe8eSL7/8kq222irptgYNGjB16lSeeuop2rZty0033USnTp2KbpWXpF69emntv6Tb5TVq1Fivt3x+fn5a5aYrfv81a9Zcb1t8+8pU/vWvfzF9+nTmzp3LwoULueCCCwAYNWoU5513HieeeCJvvvkm06dP58wzz1zvtUo8V8uXL2fgwIHUrVuXkSNHMmnSJN544w1g/dc5vs6xY0lcF38MQ4cO5csvv+TQQw/lgw8+oHv37kXvIamaMgk2rwS2M7PrzKxmqalFRKTKMDNq1KjBihUrANhxxx2ZOXMmzZo1KwpKY0vTpk0ByMvLK9ZLHEIbyjVr1nDHHXfQu3dvtt1227QCv1TefPNNPv/882K3uxPl5ubSv39/brrpJj799FOWL1/OK6+8krKOmSgsLOTjjz8uej5nzhx++eUXOncOIwA2b96c+fPnFws4p0+fXqyMdOrQuXNnfvnlF2bPnl207vvvv+eXX36hS5cuZa5/TMuWLenYsSObb158bpYJEyaw6667cvbZZ7PjjjvSsWPHUq9cA3z99dcsWLCAG2+8kb322otOnTqldYU1Xdtssw1///vfefXVV/nrX//Kgw8+WGFly4aXSbB5GWGIo8uBH8zsdTMbYWYPJywPZaeqIiJSUVavXs28efOYN28eX331Feeccw7Lli3j4IMPBmDw4MG0aNGCQYMG8e677zJr1izee+89LrjggqIe6e3bt+eHH35g6tSpLFiwgNWrV7PNNttQWFjInXfeyaxZs3jiiSe4884706rTihUrmDdvHj/99BOTJk3immuu4fDDD2fQoEEcd9xxSfO88sor3HXXXUybNo0ffviBxx9/nKVLlxYFg+3bt+fzzz9nxowZLFiwIOOrjrm5uZx33nlMnDiR6dOnM2TIELp27VrUhrJv374sXLiQG2+8ke+++46HHnqoWPvDVOcp0YABA+jevTuDBw9m8uTJTJ48mcGDB7PjjjvSv3//jOqciW233ZapU6fy+uuv8+2333Ldddfx7rvvlpqvbdu21KpVi7vvvpvvv/+eV199lX/+85/lrs/KlSs566yzikYN+Oijj5gwYUKFBNxSeTIJNk8E+gAGtAQGAkOi9YmLiIhsxN5++21atWpFq1at2HXXXZk0aRJPP/00ffv2BcJt9vfee4+tttqKo446ik6dOjFkyBAWLVpEkyZNADjiiCM44IAD2HvvvWnevDlPPPEE3bt356677uL222+nS5cuPPjgg2nPkjNixAhatWrFVlttxcEHH8zEiRMZNmwYzz//PDk5OUnzNG7cmBdeeIEBAwbQqVMnbrvtNh588MGiDimnnHIKnTt3LmqT+P7772d0nmrVqsUVV1zBCSecwK677kphYSHPPfdc0e3gzp07c99993H//ffTvXt3Ro8ezeWXX16sjGTnKZGZ8eKLL9K8eXP69etHv379aNmyJS+88EJWx/087bTTOProozn22GPZeeedmT17dtEt9pI0b96cRx99lBdeeIEuXbpwzTXXcPvtt5e7Pjk5OSxatIgTTzyR7bbbjsMOO4zevXtXSNlSeSyxrUnKhGbt0i3U3X8oc40EgF69evnkyZOzvp/2l7663rrZNx+Y9f2KiIhI9WFmU9w9aa+7tIc+UgApIiIiIpnKfMAzEREREZE0ZTKDUNt007r7nNJTiYiIiEh1l8kMQrMJ86CXxjMsV0RERESqqUyCwv+SPNhsDPQE2hEGflfbThEREREBMusgdGKqbWZWA/gncDphOCQRERERkYrpIOTuhe5+DeFW+80VUaaIiIiIVH0V3Rv9A2DfCi5TRERERKqoig42mwL1KrhMERGpJu699146dOhA7dq12WmnnRg/fnyJ6W+66SZ23nlnGjZsSPPmzTn44IP5/PPPi6VZunQp5513Hu3ataNOnTrsvvvuTJo0KZuHISIZqLBg08wGAMcQ5k8XEREpZtSoUZx77rlcfvnlTJs2jd13353999+fOXNSj5Y3btw4zjzzTD744APGjBlDbm4uAwYMYOHChUVp/va3v/Hmm2/y6KOP8tlnn7HvvvsyYMAAfv755w1xWCJSikymqxyTYlMusCUQG4dzkLu/UgF126RpukoRybYpU6Zw8cUX88EHH9C6dWsefvhh5s2bx1133ZXxHOLp2HXXXenevTsPPPBA0bptttmGI488kptuuimtMpYtW0ajRo144YUXOPjgg1m5ciUNGjTg2WefZdCgQUXpdtppJ/bff3+uv/76Cj8OEVlfSdNVZnJls2+KZQ+gAfAmsI8CTRGRjd+kSZPYc8896devH59++im77bYbV199NTfccAPXXXdd0jw33ngj9evXL3FJdVt8zZo1TJkyhX33Ld6sf9999+WDDz5Iu95Lly6lsLCQJk2aALB27VoKCgqoXbt2sXR16tRhwoQJaZcrItmTydBHmtpSRKSauOCCCzj44IO58sorATj22GM5+OCD2Wuvvejfv3/SPKeffjpHH310ieW2bt066foFCxZQUFBAixYtiq1v0aIFb7/9dtr1Pvfcc+nZsye9e/cGoEGDBvTu3Zvrr7+e7bffnpYtW/LEE08wceJEOnbsmHa5IpI9mulHRGQTM2/ePMaPH8/YsWOL1uXl5VFYWJjyqiZA06ZNadq06YaoYlLnn38+EyZMYMKECeTk5BStHzlyJCeffDJt2rQhJyeHHXfckb/85S9MmTKl0uoqIuvoaqWIyCbmq6++AqBXr3XNq2bMmMF2221Hnz59UuYrz230Zs2akZOTw/z584utnz9/Pi1btiy1zv/4xz944oknGDNmDFtttVWxbVtvvTXvvvsuy5Yt48cff+Tjjz8mPz9/vXQiUjnSvrJpZlcCVwPt3P2XJNtbA7OAf7r7LRVXRRERqUiLFy/GzIquDi5dupQbbrih1KCvPLfR8/Ly2GmnnRg9ejRHHXVU0frRo0dzxBFHlFjmueeey6hRoxg7diydOnVKma5evXrUq1ePRYsW8eabb3LrrbeWWK6IbBiZ3EY/GBiXLNAEcPefzWwscCigYFNEZCPVs2dP3J2bbrqJwYMHc9FFF9GqVStmzpzJt99+yzbbbJM0X3lvo59//vkcf/zx7LLLLuyxxx4MGzaMX375hdNPP70ozd13383dd9/N119/DcBZZ53FyJEjeeGFF2jSpAnz5s0DKLqSCvDmm29SWFhIp06dmDlzJhdddBGdOnXipJNOKnNdRaTiZHIbvSPwZSlpvozSiYjIRqpDhw7ccMMN3HffffTo0YMGDRrw9ttvs/3227P77rtnbb/HHHMMd955J9dffz09e/ZkwoQJvPbaa7Rr164ozYIFC5gxY0bR83vvvZelS5ey995706pVq6LltttuK0rzxx9/cPbZZ9OpUydOOOEE+vTpw5tvvknNmjWzdiwikr5MxtlcAdzl7peVkOYm4B/uXjtVGkmPxtkUERGRqqKixtn8CditlDS7AZqyQURERESAzILNN4C9zOyYZBvN7M/An4DXK6JiIiIiIlL1ZdJB6BZgMPB4FHC+QbiK2RrYHzgEWAjcXNGVFBEREZGqKZMZhH42s4HA04Qe54PiNhswGzjK3X+qyAqKiIiISNWV0QxC7j7ZzLYlDIO0G9AYWAx8CLzs7vkVXUERERERqboynq4yCiifixYRERERkZQ0XaWIiIiIZE3awaaZXWlm+Wa2RYrtrc1sjZldUnHVExEREZGqLJMrm6VOVwnEpqsUEZEq4PHHH6dbt27UrVuXbbbZhqeeeqqyqyQi1YymqxQR2US98sor/PWvf+Wiiy7i888/55hjjuGUU06hoKAgK/u755576N69Ow0bNqRhw4b07t2bV19dfxazRPfeey8dOnSgdu3a7LTTTowfP77Y9vfee49DDjmE1q1bY2Y88sgjWam/iJRNJsFmHWBFKWlWAQ3KXh0REdlQbrvtNs455xxOOOEEttpqKwYNGsTSpUupUSM7zfnbtGnDLbfcwtSpU5k8eTL9+/fn0EMP5dNPP02ZZ9SoUZx77rlcfvnlTJs2jd13353999+fOXPmFKVZtmwZ22+/PXfddRd16tTJSt1FpOw0XaWIyCZoxYoVTJgwgQMPPLBo3RtvvEGPHj0ws6zsc9CgQey///507NiRbbfdlhtuuIEGDRowceLElHluv/12TjzxRE455RQ6d+7Mf/7zH1q1asV9991XlOaAAw7gxhtv5Mgjj8xaoCwiZVep01Wa2ZZm9oyZ/WFmS8zsOTNrm2be2mb2LzOba2YrzWyime2VJF0NM7vMzGab2Soz+8TMjkhR5ilm9rWZrTazGWZ2eop0h5rZtKi8H6LOUzlJ0uWY2Xlm9nmU9ncze9vMWqVzjCIi2fLpp59SWFjIDjvswMqVKxk5ciQ33ngjF110Uco8N954I/Xr1y9xSbzFnUpBQQFPPvkky5YtY/fdd0+aZs2aNUyZMoV999232Pp9992XDz74IP2DFZFKVWnTVZpZXWAMsBoYAjhwPTDWzLq7+/JSingIOBC4CPgeOAt408x6u/v0uHTXARcCVwBTgD8DT5vZQe7+Wlx9TgGGAzcBbwN7A/eambn7fXHpBgLPRvs/H9gBuJHQfCCxJ/5IYGC0fTLQiBCQ1y7t/IiIZNP06dPZeuutmTlzJr169cLdGThwIEcffXTKPKeffnqJ2wFat25d4vbPPvuM3r17s2rVKurXr8/zzz9Pt27dkqZdsGABBQUFtGjRotj6Fi1a8Pbbb5e4HxHZeFTmdJWnAFsB27n7TAAz+xT4FjgNuD1VRjPrARwLnOzuI6J17wJfANcSAl/MbHNCoHmzu98WZR9rZh0JQfFrUbpc4AZgpLtfEZduC+A6M3swbnakm4EJ7n5qXLr6wJVmdoe7z4vK/DNwNLCru0+Jq/5LaZ4fEZGsmTZtGjvuuCPbbrstH374IZMmTeKKK67g/PPP5//+7/+S5mnatClNmzYt13632247pk+fzh9//MEzzzzDkCFDGDduHNtvv325yhWRjVdGjVvcfTKwLXAk8G/C1b1/R8+3SwiqSnMI8GEs0IzKnwW8T/FANlXefGBUXN61wJPAQDOrFa0eCOQBjyXkfwzoZmYdoue9geZJ0o0ENgP6QLjtD/RMka4m4QpvzJnAuxmeExGRDWL69OnsuOOO1K9fn1122YWzzjqLU045pcT2kxVxGz0vL4+OHTuy0047cdNNN9GzZ0/uuOOOpGmbNWtGTk4O8+fPL7Z+/vz5tGzZMvODFpFKUZnTVXYFXkyy/gvgqDTyznL3xN7xXxCCy47R310Jt+lnJkkH0AWYFaUD+LyEdGNTpXP3WWa2IkqHmdUEdgWGm9mtwMmEW+hTgcvcfUwpxycikjUFBQV89tlnXHHFFcXWf/rpp+y5554p81XEbfREhYWFrF69Oum2vLw8dtppJ0aPHs1RR637WRg9ejRHHJG06b2IbIQyDjYtdFPcLHr6u7t7GffdFFiUZP1CoEk58sa2xx4XJ6ljsnQkKTPddLF1se2bEYLeEwntSU8hBL0XAW+Y2e7RVeJizOxU4FSAtm3T6iclIpKxGTNmsHLlSm644QZat25NgwYNePTRR5k0aVKxXt6Jynsb/dJLL+XAAw9kyy23ZOnSpTz++OOMGzeu2Fibd999N3fffTdff/01AOeffz7HH388u+yyC3vssQfDhg3jl19+4fTT1/XfXLZsGTNnhmsKhYWFzJkzh+nTp9O0aVN9l4psBNIONs3sL4RAaDdCIAWwxswmAve7+5NZqF9VFWueUBM4IDbrkpm9Rwg+LwLW69Xv7vcD9wP06tWrrEG8iEiJpk2bRosWLWjSpAl9+/alTp067LbbbowbN46tttoqa/udN28exx13HPPmzaNRo0Z0796d119/nYEDBxalWbBgATNmzCh6fswxx/D7779z/fXXM3fuXLbffntee+012rVrV5Rm8uTJ9OvXr+j51VdfzdVXX82QIUM0wLvIRqDUYNPMGhHaRu5D6AgUrxbQF/iTmZ0IHO3uS9Lc9yKSX8FMddUyMW+7JOtj/3IvjEvXOOpR7qWkI6rP3DTTJWqSkM6BL+On93T3ZVFwvkOygxIR2RCmT5/OzjvvzMsvv7xB95tO4Dd06FCGDh1abN2ZZ57JmWeemTJP3759KftNNhHJtnQ6CD0F7Eto23gWoYNQnWjZNlr3fZQmk0l1Y20qE3Wh9GkxvwA6RMMnJeZdw7o2ml8QAuKtk6Qjbj+xtpmJ9UkrnZm1B+rG0rn7SsI5SaWwhG0iIlk1bdo0unfvXtnVEJFNRInBppkdSbii+QbQ3d3vc/eZ7r46WmZGY1B2Iwzmvk+qAdOTeAnYzcyK7tlEQdselD480MuEW9RFLcaj4YuOAd5y91hr8zcIvdYHJ+Q/Dvg86v0OMBFYkCLdQkIPedx9DvBJinT5FB/Q/nmgq5kVtZY3swbA7sCkUo5PRCRrPvnkEwWbIrLBlHYb/QTCLeFjk/T8LuLuq8zsOMIVxSGEQc9L8wBwNvCimV1JuO18HfAjYXB1AMysHfAdcK27Xxvtb5qZjQLujHp+zwLOADoQFwi6+69mdjtwmZktJfQGPwboTzQWZ5Qu38z+SRjE/WfCoO79Cb3Iz3H3NXH1vhx4xcyGA08QbolfCdwVG2MzchtwPPC6mV1LuOJ6IeEKaFoD34uIZMNvv/1W2VUQkU1IacFmL+BVd19cWkHuvsjMXgUGpLNjd19uZv2BOwjjVBrwDnCeuy+LS2pADutfhT2JMBD79UBjwhXH/dx9akK6K4BlwLlAS2AGoW3pKwn1GWZmDlxA6MAzBzjb3e9NSPdadMX3akJv8/mEGYJuSEg3P5o+89/AiKj+E4E/ufsXiIiIiGwCSgs2NyMEXemaw7pONaWKbkuXeNvd3WezfsekWLvI86OlpPwFhID0+jTqM5y4q6olpEtrnFF3/wY4uLR0IiIiItVVaR2ElrBuTM10NCVcRRQRERERKTXY/JIw/WOpvdbNLAfYj9J7kouIiIjIJqK0IPIFoD1wTRplXU0Y+7K801iKiEgWnXjiiRx00EGVXQ0R2USUFmwOA2YDl5vZY2a2XWICM9vOzEYSOuL8QBptHkVEREri7gwdOpQtttiCOnXq0LdvX774ovS+lc8++yxdunShVq1adOnSheeff75CyhWRsisx2Iw64RxM6HF9LPClmf1oZh9Ey4+E2+aDgV+BQ6I8IiIiZXbrrbfy73//m//85z9MmjSJzTffnH322YelS5emzDNx4kSOOeYYBg8ezPTp0xk8eDBHHXUUH330UbnKFZHyKbUtZjRMzw7Aw4SxIlsT5kffLfp7DWFonx3d/fPsVVVERLJh9erVnHfeebRo0YLatWuz2267MWHChGJpvv76aw455BAaNWpE/fr16d27N5999llW6uPu3HnnnVx66aUcccQRbL/99jz66KMsXbqUxx9/PGW+O++8k379+nHFFVfQuXNnrrjiCvr27cudd95ZrnJFpHzSma4Sd5/v7n8jzP+9F2Fg9GOAPwFN3P2v7j63pDJERGTjdPHFFzNq1Cgefvhhpk2bRrdu3dhvv/2YOzd8rf/yyy/06dMHM2P06NFMnTqVs846i4KCgpRldu3alfr166dcunZNNltxMGvWLObNm8e+++5btK5OnTrstddefPDBBynzTZw4sVgegIEDBxblKWu5IlI+pY2zWYy7rwImlJpQRESqhOXLl3Pffffx4IMPcuCBBwIwbNgwxowZwz333MP111/PPffcQ7169Xj66afJy8sDYNttty2x3Ndee438/PyU22vWrJly27x5YTK2Fi1aFFvfokULfv755xLzJcsTK6+s5YpI+WQUbIqISPXy3XffkZ+fzx577FG0Licnh969e/Pll2Eku2nTptGnT5+iQDMd7dq1q/C6ikjVlNZtdBER2fSYrTd5W9rKcxu9ZcuWAMyfP7/Y+vnz5xdtS5WvpDxlLVdEykfBpojIJmzrrbcmLy+P999/v2hdQUEBEydOpEuXLgDssMMOTJgwgTVr1qRd7muvvcb06dNTLq+99lrKvB06dKBly5aMHj26aN2qVasYP348u+++e8p8vXv3LpYHYPTo0UV5ylquiJSPbqOLiGzC6tWrxxlnnMEll1xCs2bN6NChA3fccQfz58/nzDPPBODMM89k2LBhHH300VxxxRU0adKESZMm0blzZ3r27Jm03PLcRjczzjvvPG688UY6derEtttuy/XXX0/9+vU59thji9Ltvffe7LLLLtx0000AnHvuuey1117cfPPNHHrooTz//POMHTu2qGd9uuWKSMVSsCkisom75ZZbADjppJNYvHgxO+ywA2+88QatWrUCoHXr1rz33ntcdNFF9OvXDzOjW7du3H///Vmr08UXX8zKlSs566yzWLRoEbvuuitvvfUWDRo0KErz3XffseWWWxY933333XnyySe58sorueqqq9h6660ZNWoUu+66a0blikjFMndPvsHs78CH7v7xhq2SAPTq1csnT56c9f20v/TV9dbNvvnArO9XREREqg8zm+LuvZJtK6nN5p3AfnGFFJjZPyu4biIiIiJSjZUUbK4CasU9t2gREREREUlLScHmLGCgmcWPfpv8nruIiIiISBIlBZvDgR2BX8wsNifZ0Oh2eknL2uxXW0RERESqgpS90d39/8zsV+BAYAugHzAHmL1hqiYiIiIiVV2JQx+5+5PAkwBmVgiMcPdrN0TFRERERKTqy2QGoWuAcVmqh4iIiIhUQ2kP6u7u12SzIiIiIiJS/WQ8N7qZ7WZmD5rZFDP7zsymmtkDZqaJZUVEBDPjmWeeqexqiMhGIqNg08yuB94HTgZ2ADoAPYG/AuPN7MaKrqCIiEim7rnnHrp3707Dhg1p2LAhvXv35tVX158x7ZtvvuHwww+ncePG1K1blx133JGvvvqqaPspp5zC1ltvTZ06dWjevDmDBg0qtj1WxqGHHkqzZs1o0KABu+22G2+88UaxNHPmzOHggw+mXr16NGvWjL///e+sWbNmvTp37tyZOnXqsN122/Hf//437eNdtWoVPXr0wMxInH3OzNZbhg0blnbZIuWVdrBpZkcBlxN6pP8N2AqoEz3+LVp/iZkdnYV6ioiIpK1NmzbccsstTJ06lcmTJ9O/f38OPfRQPv3006I0s2bNYo899qBDhw6MGTOGzz//nOuvv5769esXpenVqxePPPIIX331FW+++SbuzoABA8jPzy9Kc9BBB7Fq1Sreeecdpk2bRp8+fRg0aBDfffcdAAUFBRx44IEsXbqU8ePH88QTT/DMM89wwQUXFJVx3333cckll3DVVVfxxRdfcM0113DWWWfx8ssvp3W8F154IW3atEm5/YEHHmDu3LlFy5AhQ9I+lyLl5u5pLcB7wFygWYrtzYB5wLvplqkl9bLTTjv5htDuklfWW0Skenv33Xd911139Xr16nnDhg1955139s8++6xo+8SJE71fv35et25db9iwoffr189//vlnd3d//fXXvU+fPt64cWNv0qSJ77vvvv7ll18WKx/wp59+uuj5Tz/95Mccc4w3btzYGzdu7AcccIB/8803G+Zg4zRp0sSHDRtW9Pwvf/mLH3vssRmV8cknnzjgX3/9tbu7//bbbw74mDFjitLk5+d7jRo1is7Ba6+95mbmc+bMKUozcuRIr1Wrlv/xxx/u7t67d28/77zziu3r/PPP9z322KPUOr3wwgvepUsX//LLLx3wSZMmFdue+HqIZAMw2VPENJncRu8BPOPuC1IErQuApwm31UVEZCO0du1aBg0aRJ8+ffjkk0/46KOPOO+888jJyQHgk08+oV+/fnTs2JH333+fDz/8kGOOOYa1a8N8HcuXL+e8887j448/Zty4cTRq1IiDDz54vVvCMStWrKBfv37Url2bd999l4kTJ9KqVSsGDBjAihUrUtZz//33p379+iUu6SooKODJJ59k2bJl7L576F5QWFjIyy+/TJcuXdhvv/1o3rw5O++8M6NGjUpZzvLlyxkxYgRt27alffv2AGy22WZ07tyZkSNHsmzZMgoKCrj//vtp0KABe+yxBwATJ06kc+fObLnllkVlDRw4kNWrVzNlyhQAVq9eTe3atYvtr06dOnz88cfFrqIm+umnnzjjjDN4/PHHqVOnTsp05557Ls2aNWPnnXdm2LBhFBYWlnzSRCpQ2r3Ro7SpvxmCFRmWKSIiG9CSJUtYvHgxBx98MFtvvTUAnTp1Ktp+66230rNnT+6///6idZ07dy76+4gjjihW3ogRI2jYsCEff/wxffr0WW9/Tz75JO7OiBEjMDMAhg8fzuabb84rr7zC0Ucnb3n14IMPsnLlyrIfKPDZZ5/Ru3dvVq1aRf369Xn++efp1q0bAL/++ivLli3jxhtv5LrrruPmm29mzJgxDB48mPr163PggQcWlXPvvfdy8cUXs3z5crbbbjveeecdatWqBYT2kKNHj+awww6jYcOG1KhRg6ZNm/L666/TqlUrAObNm0eLFi2K1a1Zs2bk5OQwb948IASfDz30EIcffji9evViypQpPPjgg+Tn57NgwYKisuIVFBQwePBgLrjgAnr06MHs2bOTnodrr72Wfv36Ub9+fd555x0uuOACFixYwJVXXlmu8yuSrkwCw++Ag8zsMndf718iM6sBHBClExGRjVDTpk058cQTGThwIHvvvTd77703Rx55JG3btgVg2rRpHHbYYSnzf/fdd/zzn//ko48+4rfffqOwsJDCwkLmzJmTNP2UKVOYNWsWDRo0KLZ+xYoVRW0ak2ndunUZjq647bbbjunTp/PHH3/wzDPPMGTIEMaNG8f2229fdGVv0KBBnH/++QD07NmTyZMnc/fddxcLNgcPHsw+++zD3Llzue222zjqqKN4//33qVu3Lu7OmWeeyWabbcb48eOpU6cODz74IEcccQSTJk1K+zj++c9/Mm/ePHbffXfcnRYtWjBkyBBuvfVWatRIfhPyxhtvJC8vr6j+JZUd07NnTwoKCrjhhhsUbMoGk8lt9MeBzsCLZrZN/AYz2xp4BugSpRMRkY3UiBEj+Oijj9hrr7146aWX2G677XjzzTfTynvQQQfx22+/MXz4cD766COmTZtGbm5uytvohYWF9OzZk+nTpxdbvvnmG0477bSU+6mI2+h5eXl07NiRnXbaiZtuuomePXtyxx13AOHKYm5uLl26dCmWp3PnzusFzo0aNWKbbbZhr7324plnnuGbb77h2WefBWDMmDG8/PLLPPHEE+yxxx7suOOO3HvvvdSrV48RI0YA0LJlS+bPn1+szAULFlBQUEDLli2BcMv84YcfZsWKFcyePZs5c+bQvn17GjRoQPPmzZMe3zvvvMOYMWOoWbMmubm5dOzYEYDddtuNwYMHpzwvu+66K0uWLFmvTiLZksmVzduB/Qhzpe9vZr8QOgy1BFoTAtcJUToREdmI9ejRgx49enDJJZew//778+ijjzJw4EB22GEHxowZkzTP77//ztdff829995Lv379AJg6dWpRe85kdtxxR5544gmaNWtG48aN065fRdxGT1RYWMjq1auBEIjuvPPOzJgxo1iab775hnbt2qUsI9bhIVZOrN1p4tXHGjVqFF097d27N9dffz0//fRTUY/x0aNHU6tWLXbaaadi+WrWrFmU5sknn+Sggw5KeWVzxIgRLF++vOj5L7/8wsCBA/nf//5X1F40menTp1O7du2MXg+R8shkBqE1ZrYPcCFhnM2tgdg4C98BDwO3uXvqlswiIlKpZs2axfDhwznkkENo3bo133//PZ9++ilnnHEGABdddBG77bYbp556KmeddRa1a9dm/Pjx7LvvvrRp04ZmzZrxwAMPsOWWW/Lzzz9z0UUXkZub+qdk8ODB3HbbbQwaNIhrr72Wtm3b8uOPP/Liiy9y+umns8022yTNV97b6JdeeikHHnggW265JUuXLuXxxx9n3LhxxcbavPjiizn66KPZc8896d+/P2PHjuXJJ5/khRdeAGDmzJk8++yzDBgwgObNm/PTTz9x8803U6tWLQ466CAgBJJNmzblpJNO4qqrrqJOnTo88MADfP/990Vp9t13X7p27coJJ5zAv//9b37//XcuuugiTjnlFBo2bAiEIPejjz5it912Y9GiRdx+++18/vnnPProo0X1ff7557nssst45513aN26NR06dCh2zLGrvVtvvXVRwPryyy8zb948evfuTZ06dRg7dixXXXUVp556alG7U5GsS9VNvbQFqE+4olm/rGVo0dBHIrJhzZs3zw877DDfYostPC8vz7fccku/6KKLfM2aNUVpxo8f73vuuafXrl3bGzVq5Hvvvbf/8ssv7u7+zjvveNeuXb1WrVretWtXf+ONN7xevXo+YsSIovwkDLUzb948P/HEE7158+ael5fn7du395NOOsl/++23rB3nkCFDvG3btp6Xl+fNmzf3vffe299444310o0YMcK32WYbr127tnfr1s0ff/zxom1z5szx/fbbz5s3b+41a9b0Nm3a+LHHHutfffVVsTImTZrk++67rzdt2tQbNGjgu+yyi7/ySvHv0h9++MEPPPBAr1Onjjdt2tTPOeccX7VqVdH2L7/80nv27Ol16tTxhg0b+qBBg4qGV4qvK+CzZs1KesyzZs1ab+ij119/3Xv27On169f3unXr+vbbb+933nmn5+fnp30uRdJBCUMfWdguG5tevXp54iwQ2dD+0vVn1Jh984FJUoqIiIgkZ2ZT3L1Xsm0Zz40uIiIiIpIuBZsiIiIikjUKNkVEREQkaxRsioiIiEjWKNgUERERkaxRsCkiIiIiWaNgU0RERESyJuW0D2Z2VRnLdHe/rox5RURERKQaKWm6yqFJ1sWPAG9J1lv0t4JNERERESkx2OyXZN0/gAOA/wHjgHlAyyjtscCrwJ0VWkMRERERqbJSBpvu/m78czM7AdgH2M3dpyYkf9TM7gbeA56r8FqKiIiISJWUSQehfwCjkgSaALj7ZOCpKJ2IiIiISEbB5nbA3FLS/BKlExERERHJKNhcAuxRSpo+wLKyV0dEREREqpNMgs1XgT3N7DYzaxC/wcwamNm/CcHoyxVZQRERERGpujIJNi8DZhPaZP5oZuPMbJSZjQN+jNbPAi5Pt0Az29LMnjGzP8xsiZk9Z2Zt08xb28z+ZWZzzWylmU00s72SpKthZpeZ2WwzW2Vmn5jZESnKPMXMvjaz1WY2w8xOT5HuUDObFpX3g5ldaWY5JdS1cVRPN7MB6RyfiIiISHWQdrDp7r8CuwAPEXqx7wUcFT3mAg8Au0bpSmVmdYExQCdgCHA8sA0w1szq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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import warnings\n", "\n", "fig, ax = plt.subplots(figsize=(10,6))\n", "\n", "vals, bins, _ = ax.hist(simloss_gt0, bins=100, density=True)\n", "\n", "ax.plot(lnspc, ld.pdf(lnspc), label=\"Beta\")\n", "\n", "ax.text(.5, .69, 'Beta Distribution Params', transform=ax.transAxes)\n", "ax.text(.5, .63, r'$\\alpha$' + f' = {params[0]:.2f}', transform=ax.transAxes)\n", "ax.text(.5, .57, r'$\\beta$' + f' = {params[1]:.2f}', transform=ax.transAxes)\n", "ax.text(.5, .51, f'loc = {params[2]:.2f}', transform=ax.transAxes)\n", "ax.text(.5, .45, f'scale = {params[3]:.2f}', transform=ax.transAxes)\n", "\n", "import matplotlib.ticker as ticker\n", "@ticker.FuncFormatter\n", "def major_formatter(x, pos):\n", " return f'{x:,.0f}'\n", "\n", "ax.xaxis.set_major_formatter(major_formatter)\n", "\n", "ax.set_xlabel('Portfolio Loss in $')\n", "ax.set_ylabel('Likeihood of Occurence')\n", "plt.suptitle('Density Plot of Simulated Losses with Fit')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "confused-copper", "metadata": {}, "source": [ "FINALLY, we can find the amount of equity HTS Fico should hold at the 99.95% VAR level of our loss distribution, good enough for a AA credit rating." ] }, { "cell_type": "code", "execution_count": 68, "id": "commercial-islam", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "309417.7141661356\n" ] } ], "source": [ "print (ld.ppf(0.9995))" ] }, { "cell_type": "code", "execution_count": 69, "id": "accessory-quarter", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "text/markdown": [ "If Fico has a \\$2MM loan portfolio with the characteristics described here, it should have equity of *at least* **$309,417.71**." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n_gt_var = simloss[simloss>ld.ppf(0.9995)].shape[0]\n", "\n", "md = 'If Fico has a \\\\$2MM loan portfolio with the characteristics described here,'\n", "md += f' it should have equity of *at least* **${ld.ppf(0.9995):,.2f}**.'\n", "\n", "display(Markdown(md))" ] }, { "cell_type": "code", "execution_count": 70, "id": "painted-lambda", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "text/markdown": [ "Looking closer at the distribution, in the vast majority of cases this amount would protect against solvency, however, it must be noted that in 4 out of the 50,000 simulations, the loss would exceed the equity base and Fico would be in default." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "md = 'Looking closer at the distribution, in the vast majority of cases'\n", "md += ' this amount would protect against solvency, however, it must be noted that in'\n", "md += f' {n_gt_var} out of the {simloss.shape[0]:,.0f} simulations, the loss would exceed' \n", "md += ' the equity base and Fico would be in default.'\n", "\n", "display(Markdown(md))" ] } ], "metadata": { "celltoolbar": "Edit 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.20" } }, "nbformat": 4, "nbformat_minor": 5 }