{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Calibration, volatilité locale et stochastique - TP\n", "(Stefano De Marco)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calibration of an implied volatility parameterization to a market smile" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We consider end-of-day option quotes for the CAC40 index, date = 2 October 2013, maturity = 20 June 2014.\n", "\n", "$\\blacktriangleright$ We import quotes (strikes, mid call and mid put prices) from csv file." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Strikes: [3500. 3700. 3800. 3900. 3950. 4000. 4050. 4100. 4150. 4200. 4250. 4300.\n", " 4350. 4400. 4500. 4600. 4800.]\n", "Call prices: [621.68 466.8 394.99 328.19 296.73 266.93 241.23 214.35 188.95 166.2\n", " 145.25 126.05 108.55 92.85 66.4 46.15 21. ]\n", "Put prices: [ 87.72 132.45 160.45 193.45 211.9 232. 256.2 279.22 303.73 330.88\n", " 359.83 390.53 422.94 457.14 530.5 610.05 784.51] \n", "\n", "Maturity (years): 0.71\n" ] } ], "source": [ "quotes = np.loadtxt(open(\"CAC40_last_option_quotes_2_oct_2013_maturity_20_june_2014.csv\", \"r\"), delimiter=\",\", skiprows=1)\n", "\n", "strikes = quotes[:, 0]\n", "call_prices = quotes[:, 1]\n", "put_prices = quotes[:, 2]\n", "\n", "maturity = 258./365\n", "\n", "print(\"Strikes: \", strikes)\n", "print(\"Call prices: \", call_prices)\n", "print(\"Put prices: \", put_prices, \"\\n\")\n", "\n", "print(\"Maturity (years): %1.2f\" %maturity)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\blacktriangleright$ Let us have a look at the price quotes" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(strikes, call_prices, color='royalblue', linewidth=0., marker=\"*\", label=\"Calls\")\n", "plt.plot(strikes, put_prices, color='indianred', linewidth=0., marker=\"*\", label=\"Puts\")\n", "\n", "plt.xlabel(\"strike $K$\", fontsize=12)\n", "plt.ylabel(\"option price\", fontsize=12)\n", "plt.title(\"Call and Put option prices\", fontsize=14)\n", "\n", "plt.legend(loc=9, fontsize=13, bbox_to_anchor=(1.4, 1.0), ncol=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### $\\blacktriangleright$ We test put-call parity, and determine the discount factor and the forward value from option quotes\n", "\n", "#### $\\blacktriangleright$ TO DO: recall theoretical parity relation for call and put prices without arbitrage,\n", "in terms of forward price $F_0^T$ and discount factor $B(0,T) = e^{-r T}$\n", "\n", "$$\n", "\\mathrm{Call}(K) - \\mathrm{Put}(K) = B(0,T) (F_0^T - K)\n", "\\qquad \\forall \\, K.\n", "$$" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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mv4A9fX1uyUPbV144YXvJw/HHXfclksvvfT1O+644wPAa3t6jvXr1/cfMmTI9mLHfv3rXx8wefLkjaeccsrmYseHDRu2PaXEm2++2W/UqFHb9vRc7bn77rsPGjp06PB+/fpx6KGHbvnOd77z6qc+9al39/bxKvWaXOmSJKnEXnrppd+dc84562tqanYA1NTU7Dj33HPXv/zyy8+W8nnq6uq2AaxYsaLDwu6777679qSTTjqytdC+ubl59Pr16zu18HLggQdue/fdd4v2nbrjjjteeeqpp/b/9Kc/Pfa993bP+95+++1+EcFBBx1UNMFpPeWXy+UmzJw588BicwDOP//8N995551Fb7/99qLnn3/+hSuvvLLDlb096c7X1BGTLkmSSmzMmDHvDR06dPuWLVv2y1a39hs6dOj2+vr6vV7tKeb444/fUl9fv+XHP/5xuwlLPp+PadOmfegzn/nM+pUrVz777rvvPv33f//3qzr7HKeccsqmjRs39itWl3b00UfnH3nkkcW/+93v9p86deqHNm/evNMpt0WLFg0+4ogjNtfU1BRtMtt6ym/Tpk1PX3bZZeuLzdmTXC634w9/+MP7+cyuCWixBrfd+Zo6YtIlSVI3WLdu3YCGhoZ1Dz/88AsNDQ3rXn/99ZK0b9jVd7/73RX33HPPQV/+8pdHvfrqqwMAXnvttf7XXntt3U033TR8y5YtsXXr1v2GDx++fciQIWnhwoU1N91008Gdffz6+vptxx9//B/uvffe2mLHx40bt/XRRx99ceXKlYNOP/30I9555533c4uHHnqo9swzz3x7319l+44//vg//PSnPz1ow4YN+61evbp/c3PzTvVzdXV1761evXpg2xqsSr0mky5JkrrBL3/5y1duv/32FR/96Ec333777St++ctfvtIdz3P++edvfPDBB1988cUXa8aPH3/s/vvvP+HUU0896vXXXx9wxhlnvHPAAQfsuO6665Z/4xvfGJ3L5SZ86Utfqr/gggu6tKp0+eWXr73tttvabZNQX1+/7dFHH1389ttv9//TP/3TcevXr9/vjTfe6Pfwww8fcNVVV7XblqEUrr/++tf69euXDj300BM+9rGPHfnZz352p9d28cUXvzVy5MithxxyyAlDhw4d/+KLLw6s1GuKlPrGZaUmTpyYFixYUOkwJKlHiYiFKaWJlY6jEp55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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "########################################################\n", "## TO DO: stock the vector of values of Call(K) - Put(K) \n", "## in the array call_minus_put\n", "#########################################################\n", "call_minus_put = call_prices - put_prices\n", "\n", "plt.plot(strikes, call_minus_put, color='black', linewidth=0., marker=\"*\", label=\"Call(K) - Put(K)\")\n", "\n", "plt.xlabel(r\"strike $K$\", fontsize=12)\n", "plt.ylabel(\"price\", fontsize=12)\n", "plt.axhline(0, color='grey', linestyle=\"--\")\n", "\n", "plt.legend(loc=9, fontsize=13, bbox_to_anchor=(1.4, 1.0), ncol=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### $\\blacktriangleright$ TO DO: perform a linear regression so to determine the discount factor and the forward value\n", "\n", "We determine the slope $b$ and the intercept $a$ of the linear function that best interpolates the values of $\\mathrm{Call}(K) - \\mathrm{Put}(K)$:\n", "\n", "$$\n", "f(K) = a + b \\, K.\n", "$$\n", "\n", "This gives a way of setting the discount factor and the forward for the maturity $T$ we are working with:\n", "\n", "$$\n", "B(0,T) = -b\n", "\\qquad\n", "F_0^T = \\frac a {B(0,T)} = - \\frac a b \\qquad \\mbox{(in terms of $a$ and $b$)}\n", "$$" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Slope = -0.998\n", "Intercept =: 4027.15\n", "Correlation coefficient = -0.999999999964 \n", "\n", "Therefore: \n", "\n", "B(0,T) = 0.998\n", "Forward value F_T = 4035.00\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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yJAhP/uXrEePHvvXrFkTe+DAgXLpjZKfn8+//vWvBllZWZF9+vT5xUMef/7zn3fddNNNW/r06bMnOzt7WXZ29rIuXbrkhtN3qmhqnFtOzjgDTjkFtmyB1FS45hpQyx8RkarpjDPO6PjRRx/FAdSqVcsBfPrpp3XMrBfA6aefvvvDDz9cXV6ft2XLlkiAhISEnxUeRV122WWHCo+uXbvm/OlPf9r64osvNgI2/tJn7Ny5M7JOnToHi1v37rvvxp999tm7TzvttP3Fra9Xr95B5xw7duyIaNmyZf4vfVZJXnvttYZ169atHxERQYsWLXImTZq09re//e3eY32/cPhOlUVH2MpR3brQsSO0awdLl8KmTX4nEhGRY3H77bdviYmJKQDIy8uzos8xMTEFd9xxx5by/LxmzZrlA6xbt+6oF8G/9tprcb169epceFPCfffd12rnzp2lOvjSoEGD/L179xZ7Hd6LL7747aefflr74osvbpeX9/OaMTMzM8LMaNiwYbHFUeFpymAw2OOpp55qUNw2AEOGDNmxZ8+e5ZmZmctXrlz51ciRI496RPGXVOR3Cjcq2CrAWWdBYiI89xy89prfaUREpKwuvPDCPVOnTv0uKirqsKa7UVFRburUqd+VdM3UserWrVtOQkJCzowZM0osdg4cOGBXXXVV+0suuWTn+vXrP9u7d++yv//97xtK+xmnnXZa9u7duyPWrVv3swLvpJNOOvDee++t+vzzz2sPGjSo/f79+w87R7R8+fLYDh067I+JiSm2CXHhacrs7Oxl11133c7itvklwWCwYN++fYfqkiOL1+IaIFfkdwo3KtgqSK1acMcdcMEF8Mgj8PXXficSEZGy2LVrV0RkZKQLBAIuOjq6IBAIuMjISLdr164KuVv0scceWzdr1qyGN954Y8u1a9fWAti4cWPk7bff3uyZZ56pn5OTY7m5uYH69esfrFOnjlu6dGnMM88806S075+QkJDfrVu3fbNnz44rbn3Hjh1z33///a/Xr18fPXDgwA579uw5VCPMnTs37rzzzss8/m9Zsm7duu17+eWXG2ZlZQU2bdoUed999x3WJ61Zs2Z5mzZtiip6zVm4f6fypIKtgtWqBX/7W6hg+/xzKOaorIiIhKHnn3++0f79+wOdOnXa/+KLL37bqVOn/fv37w9U1M0HQ4YM2T1nzpyvv/7665ju3bufXLt27R5nnHHGiVu3bq117rnn7omPjy946KGHfrjrrrtaBYPBHtdff33C0KFDy3Q064YbbvjxueeeK7GVRUJCQv7777+/KjMzM7Jfv34dd+7cGdi+fXvEggUL4m+++eYSW2eUhwkTJmyMiIhwLVq0SPzNb37T+dJLLz3suw0fPnxX8+bNc5s2bZpYt27d7l9//XVUuH+n8mTOVYkjgcetd+/eLiMjw9cMX38N//43PPQQREX5GkVEpFTMbKlzrrffOY7VihUr1iYmJm4/ln2TkpLan3nmmXvvvPPOHyMiIsjPz+fee+9t+uGHH9aZO3fut+WdtTIUFBTQs2fPE++9996NgwcPLtVp3RtuuKFlRESEe/zxx8Pyyuzq9J1WrFjRKDExsW1x61SwVTLn4NNP4a23YNQoiI31O5GISMlqcsEmUtmOVrCprUclM4NevaBRI/juu9AsCb/+td+pREREJJzpGjaftGkDXbrA99+H5iQ9WCVuKhYRERE/6Aibj8xCDXadg3Hj4Oyz4Zxz/E4lIiIi4SasjrCZWYSZLTOz2d7rdmb2iZmtNrMUM4vyxqO912u89W39zH28zOD++0NNd19+GXYeUwcbERERqa7CqmADRgJfFXn9EDDJOdcR2AX8yRv/E7DLOdcBmORtV+W1awdJSTBlCuzdGzryJiIiIhI2BZuZtQJ+CzzrvTagP/CKt8nzwMXe8kXea7z1A7ztq7z69eF//ifUsy05GbKy/E4kIiIifgubgg14DBgNFHivGwKZzrnCCVk3AC295ZbAegBvfZa3fbVx+ulw772wdWtoiisdbRMREam5wqJgM7MLgK3OuaVFh4vZ1JViXdH3HWFmGWaWsW1blWlmfEidOqHr2jp3DvVu21DqGeNERESkOgmLgg04ExhsZmuBmYROhT4G1DOzwjtZWwGFHYk3AK0BvPXxwM8u1XfOPe2c6+2c6924cYmzVoS900+Hbt1g+nT473/9TiMiIhWhT58+nUePHt288HUwGOwxd+7c2n5mOtKYMWOa9e/fv4PfOY7FqFGjWpxxxhmdjuc9rrrqqoRhw4YllFemsgiLgs05d7tzrpVzri1wBfCuc+53wHzgEm+z4cAsbznNe423/l1XzadsqFULbr8dBg8OTSa/cqXfiUREpCJlZ2cvS0pK2ud3jqIefPDBLe++++6a0m5fHkWSX1q2bHnKk08+2aDo2IwZM9ZNmzZtnR95wqJgO4rbgFFmtobQNWpTvPEpQENvfBQwxqd8lS4yEkaOhDVrYMUKyM31O5GIiFQ3+fn5HAyTju45OTnV4qbC4xV2BZtzboFz7gJv+TvnXB/nXAfn3KXOuRxv/ID3uoO3/jt/U1euyMjQkbbYWBg9WkWbiEh1ZGa93n777ToAjz/+eMOEhISu48ePb9K0adNucXFx3a+66qo2+fn5h7ZfvXp11KBBg05o3Lhxt8aNG3e78sor2+zatevQv/M33nhjy1atWp0SDAZ7tG7duuu9997bpHDdqlWrosys16RJkxq1b9/+5GAw2HPjxo0/a65/5BGzli1bnjJmzJhmp59+eqdgMNijY8eOJ8+ZM6c2wDPPPFN/8uTJzRYvXlw3GAz2CAaDPVauXBkF8NZbb9Xp1atX5/j4+O6tW7fuetdddzUtKAjdczh79uy6kZGRvZ544okGrVq1OqVBgwbdCz/r1ltvbd6rV6/OwWCwR9euXU967733goVZ8vLyuPXWW5u3atXqlPj4+O6nn356pyVLlsSU9PO97777mrRr1+7k2rVr92jevPkpN9xwQ8vCn2f//v07bN68OeqWW25pGwwGe5x55pkdAYYOHdr28ssvb1P4Ht98803UgAED2tevXz+xWbNm3f74xz+23rt376EC08x6Pfjgg427du16Uu3atXskJiaeuGzZshIzHU3YFWxSep06wWOPhVqAjB8P+/f7nUhERCrKpk2bon788cdaa9eu/fzDDz/86vXXX6//zDPPNADIzs62AQMGdDrxxBMPfP/995+vXLnyy02bNtUaMWLEoeutunTpsn/hwoVf7927d9kTTzzxwz/+8Y9Wr776alzRz3jppZcazJ8/f9Xu3buXtWjRIv/IDMWZMWNGo8mTJ6/bvXv3st/85je7r7322nYAf/7zn3fddNNNW/r06bMnOzt7WXZ29rIuXbrkZmRkxAwdOrTjLbfc8uOOHTuWp6WlrXn22WebPPnkk4e6PRw8eJC33norfsWKFSu3bNmyonB82rRpjR977LH1O3fuXD548OBdF198ccedO3cGAO68885mL730UsP09PTVW7ZsWXH66afvPf/88zsVrj9S69atc998883Ve/bsWfbKK6+smTlzZqNJkyY1Anj33XfXNG/ePHfSpElrs7Ozly1atGj1kfvn5eXx29/+tmPTpk3zf/jhh88/+uijrxYvXlznuuuua110uxdeeKHRa6+99u327duXt2jRIveGG25ofeR7lYYKtmqgVy8YNiw0L+n77/80npWVxZAhQ8hSMzcRkUNmz6buqFG0WLyY2Pvvp8moUbRYu5Zao0bR4rnnqPfqq8SNGkWLFSuIvusumo4ZQ7NVq4gaNYoWM2YQP2MG8aNG0WLVKqLGjKHZXXfRdMUKokeNosWrrxL33HPUK3zP8swdExPjJk2atDE2NtZ17do154wzztidkZFRGyAlJaWec47HHntsU506dVzjxo0Pjh8/ftOsWbMaFB41uv7663e2bds2LxAIMHjw4D19+/bNnDNnzmEF25133rkpISEhPyYmxkVGlm72yuHDh2/r3bv3gcjISK677rpt69ati96xY0dESds//vjjTc4///xdV199dWZkZCQ9evQ4cO21126dMWPGYe25Hn300Y0NGzY8WLdu3cJ2X1x55ZXbzzrrrOyYmBg3fvz4LTExMQUvvfRSPYAXX3yx0ciRI7f06NHjQGxsrJs4ceKmQCDAyy+/XK+4HL///e8zTzzxxNxAIMCZZ565f+jQoTvmz58fV9y2xVmwYEHtH374Ifpf//rX+ri4uIJ27drl3XPPPRtffvnlRoVHCwFuueWWLR07dsyNjY11w4cP3/HFF18c040kmku0mkhICPVqmzED5syB/v0hLS2N1NRU0tPTufrqq/2OKCISFi64gD0XXMAegD59OHRu4tFHD3UiYOhQdgMkJvJjceuvuoosgAcfZEtx64HM8s7doEGDvKJFVDAYLNi7d28A4LvvvovavHlzVN26dbsX3cfMWL9+fa127drljR8/vsm0adMabdmyJco5R05OTmDw4MGHdVjo0KFDmS+yad68eV7hcmFxlZmZGWjYsGGxF8GtW7cu6uOPP46rW7fuoULKOWfNmjU79NmBQID27dv/LEvbtm0P26ZFixa5GzZsqAWwZcuWqA4dOuQUro+IiKBVq1Y569evL7Zw/ve//91g8uTJTTds2BB98OBB8vLyAomJiXtL+73Xrl0b1aBBg/y4uLhD1Vnnzp1zcnJybPPmzZEtW7bMB2jZsuWhn0+dOnUKsrOzSyxmj0YFWzViBr/7Xahw+/vfIS3tcwCmTp2qgk1EpBpr06ZNbtu2bXPWrFnzZXHr33nnndrjx49vlZ6evqpfv377IiMjGTRo0AlHNlgIBALl2nGhuPdr1apV7qWXXrp9+vTpJd5taWYEAj8/Cbh27dqowuWCggI2bdoU1apVqzyAZs2a5X777bfRECrGDx48yIYNG6Jbt26dd+T7rFmzptb111/f7vnnn//2kksuyYqJiXEjRoxotXz58kNHv35pAqW2bdvm7ty5M3LPnj2BwkL1m2++iY6OjnbNmjUr1enkstAp0WomKSmJQMC4/37j669fAy5l4cKvMTPMjKSkJL8jiohIObv88suz8vPzbcyYMc127doVKCgo4Pvvv681bdq0egCZmZkRgUDANWvWLN/MmDlzZvx7770XX9G5mjVrlrdp06aoAwcOHKp+Ro4cuTU9Pb3BjBkz4nNyciwvL4+lS5fGvP7663V+6f1efPHFRgsXLgzm5OTYnXfe2fTAgQOBSy+9NAvgiiuu2P744483++yzz6IPHDhgY8aMaX7w4EG79NJLf3a0c/fu3REFBQU0bdo0Lyoqys2bN6/2q6++etgp2caNG+etXr26xBsE+vbtuy8hISHnr3/9a6s9e/YE1q5dW+vuu+9ucckll2yPiDimg2hHpYKtmhk7dizBYOimmby8NcA75OX9DqhDbGyQcePG+ZpPRETKX926dQvmzp276quvvort3Llz17i4uB79+/fvtGzZsiDA0KFDdw8ZMmTHmWeeeVKDBg26v/LKK/XPOeeccj9te6Thw4fvat68eW7Tpk0T69at2/3rr7+O+tWvfnXglVdeWT158uSmzZo169aoUaPuv//979tt3br1F6/5u+aaa7aNHDmydf369bu/9tprDV599dU1hade77nnnh+HDBmy87zzzuvUpEmTxPfff7/u66+//k2DBg0Kjnyfnj17HkhOTt502WWXdYiPj+/+wAMPNLvooosOOz08ZsyYza+88kqDuLi47r/5zW86HvketWrVYvbs2as3b94clZCQcMqpp556Us+ePfc99dRTFTIvkVXzfrOH9O7d22VkZPgdo1LMnj2bSy+9lAMHDhwai4o6i0GDnmPatBOIr/D/phKR6sLMljrnevud41itWLFibWJi4na/c8jxa9my5Sljx47deP311/9sZqPqYsWKFY0SExPbFrdOR9iqoczMTCIjIwkEAsTGxhIIBIiKWsaFF37C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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import scipy.stats as sps\n", "\n", "#########################################################\n", "## TO DO: use the function linregress of scipy.stats \n", "## to regress the values of Call(K) - Put(K) against the \n", "## strikes \n", "#########################################################\n", "\n", "(slope, intercept, rvalue, other_value1, other_value2) = sps.linregress( strikes , call_minus_put )\n", "\n", "print(\"Slope = %1.3f\" %slope)\n", "print(\"Intercept =: %1.2f\" %intercept)\n", "print(\"Correlation coefficient = %1.12f \\n\" %rvalue)\n", "\n", "##############################################\n", "## TO DO: complete with the value of B(0,T) \n", "## and the forward value F(0,T)\n", "##############################################\n", "\n", "zcb_price = - slope\n", "\n", "F_T = intercept / zcb_price\n", "\n", "print(\"Therefore: \\n\")\n", "print(\"B(0,T) = %1.3f\" %zcb_price)\n", "print(\"Forward value F_T = %1.2f\" %F_T)\n", "\n", "##############################################\n", "# Let us plot the result of linear regression\n", "##############################################\n", "plt.plot(strikes, call_minus_put, color='black', linewidth=0., marker=\"*\", markersize=9, label=\"Call(K) - Put(K)\")\n", "plt.plot(strikes, intercept + slope*strikes, color='blue', linestyle =\"--\", linewidth=0.5, label=\"linear interpolation\")\n", "\n", "plt.xlabel(r\"strike $K$\", fontsize=12)\n", "plt.ylabel(\"price\", fontsize=12)\n", "\n", "plt.legend(loc=9, fontsize=13, bbox_to_anchor=(1.4, 1.0), ncol=1)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### $\\blacktriangleright$ TO DO: evaluate the implied volatility generated by the option quotes.\n", "\n", "We are now in a good position to evaluate the implied volatility associated to the option prices. Recall that the market implied volatility $\\hat \\sigma(T,K)$ for maturity $T$ and strike $K$ is the unique solution to the equation\n", "\n", "$$\n", "Call^{\\mathrm{mkt}}(T,K) = Call_{\\mathrm{BS}}(T, K, F_0^T, B(0,T), \\hat \\sigma(T,K)),\n", "$$\n", "\n", "where $Call_{\\mathrm{BS}}(T, K, F, D, \\sigma)$ is the Black-Scholes call price for maturity $T$, strike $K$, forward value $F$, discount factor $D=e^{-rT}$ and volatility parameter $\\sigma$.\n", "\n", "We import an implied volatility solver --> contained in the python file BlackScholesFunctions.py\n", "\n", "NOTE: the function volImplCore_Newton in BlackScholesFunctions.py can evaluate the implied volatility of a call or a put price, according to the value of the argument CallOrPutFlag" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "from BlackScholesFunctions import volImplCore_Newton\n", "\n", "###########################\n", "## Implied vol from puts\n", "###########################\n", "vols_puts = []\n", "\n", "for i in range(strikes.size):\n", " K = strikes[i]\n", " \n", " #########################################################\n", " ## TO DO: complete the arguments of the function \n", " ## volImplCore_Newton\n", " ## so to compute the implied volatility of the put price P(K)\n", " ## for the current strike\n", " #########################################################\n", " \n", " vol, iterations = volImplCore_Newton(tau = maturity, K = K, DF = zcb_price,\n", " \n", " F = F_T, ## required forward value\n", " price = put_prices[i],\n", " CallOrPutFlag = 0,\n", " \n", " initial_point='automatic', prix_tol = 1.e-4, max_iter=50)\n", " \n", " vols_puts = np.append(vols_puts, vol)\n", "\n", "############################\n", "## Implied vol from calls\n", "############################\n", "vols_calls = []\n", "\n", "for i in range(strikes.size):\n", " K = strikes[i]\n", " \n", " #########################################################\n", " ## TO DO: complete the arguments of the function \n", " ## volImplCore_Newton\n", " ## so to compute the implied volatility of the call price C(K)\n", " ## for the current strike\n", " #########################################################\n", "\n", " vol, iterations = volImplCore_Newton(tau = maturity, K = K, DF = zcb_price,\n", " \n", " F = F_T, ## required forward value\n", " price = call_prices[i],\n", " CallOrPutFlag = 1,\n", " \n", " initial_point='automatic', prix_tol = 1.e-4, max_iter=50)\n", " \n", " vols_calls = np.append(vols_calls, vol)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\blacktriangleright$ Plot the resulting smile:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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5s+fP/app546fvLkyQd++tOfVjz55JPH33rrrXmHDx+20aNHRx577LFtp512WoenUVp7S/n1Vn6/35WVlaW6DAAAkCBmtsE55091HUiOzZs3V0yaNKlTq431No8++mjWokWLTqisrHwr1bUkw7x583LWrVs3dO3atX9NZR2bN2/OnjRpUl7LdqbVAQAAAIAIRwAAAAAgiXAEAAAApMytt94a7i9T6iTp4Ycfrk71lLr2EI4AAAAAQIQjAAAAAJBEOAIAAAAASYQjAAAA9GFLnvk4J9U1oPcgHAEAAKDPeubV2hNSXQN6D8IRAAAA0IOZ2blr1qwZKkm//e1vh2ZkZEzuyvkuvPDCz8ybN69bRtRKS0sz0tLSzu2Ocz/66KNZ48aNO7Pp9dVXX503Y8aMExPZB+EIAAAA6KTzzz//tNtvvz1po1NTpkzZX1tb+0ay+utvCEcAAAAAIMIRAAAAkBDvvvuuz8zOfeyxx7JOOeWUCenp6Wdfcsklp+7evXtgYWFh7ogRIyZlZ2dPeuihh0Y2HdM0VWzBggWjR44cedaIESMm3XjjjWPq6uqstT5am7b2wx/+MHv8+PETMjIyJp9++ulnPPvss5lN2xobG3XnnXeOHjVq1FnHHXfc5Dlz5ox1zrX5HqZMmXLynDlzxsa2PfLII1ljx449s7GxUZJUUlIy7LTTTjsjIyNj8mmnnXbG8uXLh3Xk5/STn/xk2Jlnnnl6RkbG5Ozs7Em33HJLriS9//77gy666KLxw4cPn5SRkTH53HPPPe31118fEs85Gxsbdcstt+Qef/zxZx177LFn5+bmTly4cOHxHalLIhwBAAAACfXcc88NX7t27V+2bdv2ZlVV1eDzzjvv9FNOOaVu165dm5csWbLtrrvuGvvee+/5mvavrq72VVZW+rZt21b++uuv/+Wll14adu+9946Kp69FixZlP/LII6OXL1/+QU1NzRv33nvv9pkzZ57y1ltvDZakH/3oRyOWLl066plnntm6a9euzdnZ2fXr168f2tb5brjhhvCzzz47IjacrVixIvvaa68NDxgwQC+//PKxc+fOPfl73/te1d69e9+47777tt94440nv/rqq8fGU++qVasyCwsLT1qwYEH13r173/jrX/9aPm3atE8kqbGx0b7xjW/8rbKysnzHjh2bzzrrrIMzZsw4pa2gGOv555/P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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(9,6))\n", "\n", "plt.plot(strikes, vols_puts ,\n", " color='indianred', linewidth=0., marker=\".\", markersize=12, label=\"Implied vol puts\")\n", "\n", "plt.plot(strikes, vols_calls ,\n", " color='royalblue', linewidth=0., marker=\"+\", markersize=14, label=\"Implied vol calls\")\n", "\n", "plt.xlabel(\"strike $K$\", fontsize=12)\n", "plt.ylabel(\"Implied vol\", fontsize=12)\n", "plt.title(\"Implied vol from call and put prices\", fontsize=14)\n", "\n", "plt.legend(loc=9, fontsize=13, bbox_to_anchor=(1.4, 1.0), ncol=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\blacktriangleright$ In terms of log-forward moneyness $k = \\log(K / F_0^T)$:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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q6qqyvfd7353TEZGxsSmx9q1azO2bds2QJJ27Njhy8vLO/y++/fvr9zc3Lq2zpeWlqapU6eGS0pKsiVp6dKlWRdccMHeU089tV6Stm3b5jvppJOaHX/SSSfVNfUXj5ycnEi/fp/GkLy8vMiOHTs6HVwzMjIag8HglhdffPG4sWPHjh83btzpTz75ZKemUCZrQQY551ZJWtWi7e6Y519o47jlkpZ3bXUAAADoLU74yle2Va1YcWLs1DobMKDxhK98ZVsq62rLnj170mpra/s1BaQPPvhg4IgRI+qPdJzkBY358+dXz5o16+PWto8cObK+oqLicPBobGzUtm3bBkqqbeucc+bM2e33+8d9+OGHA4LBYNa9995b1bQtNzc3UlFRMTB2/61btw7Mzc2Nq17Jm0bY2NiopoBUUVHhGzlyZESSMjMzDx06dEgHDx609PR0J0nbt29vFrzMPns51pQpU2qnTJlS29DQoJ///OdDZs6cecrFF1+8f9y4cW0GwdYk7SawAAAAQDIMv/zyPaO+/vUPm0aK0oYMiYz6+tc/7K6r1TU2NuqWW27J3bdvn23evNn32GOPjZg2bVpc18wUFhbufPDBB3PWrFmT3tjYqH379tnq1asHb9y48RhJuu6668LLly8f/qc//WlQXV2dzZ8/f+Tu3bvbHSCZMGFC3ZlnnnmgoKDgxP379/e//vrra5q2zZo1a/fq1auH/upXv8psaGjQypUrM1988cWhs2fPjvsan127dg24++67R9TV1VkoFEpfsWLF8BkzZoQlafz48f8YNGhQ46JFi7IPHTqk1atXD161atXQ2OOHDx9e/9577x3T9Pqjjz5KKykpGRIOh/unpaVp6NChhyQpLS2t7ZUn2pC0kaPeomBy5pF3AgAAQEoNv/zyPd01DLWUk5MTyc3Nrc/Lyzvr0KFD+upXv7rn/vvv3xnPsbfddttun8/nZs+efVJVVZUvLS3NjRs37sDDDz9cJUnf/va3wx999JHv6quvPrWurq7f1KlTw+edd94Rr8eZMWPG7nnz5p14/fXX72oawZGkK664Yv/jjz++9c477xz1jW98Y2BOTk7dk08+ufXyyy/fH+/79fv9+7Zv3+4bMWLEBJ/P13jjjTfunDNnzh5JGjp0aOPjjz9ecdddd4164IEHRl1yySWfTJ06NfzOO++kNx1/xx13bJ83b97op5566viJEyfu/9nPflbx5JNPHn/rrbfmHTp0yEaOHBl57LHHtp522mkdnkZp7S3l11P5/X5XVlaW6jIAAECCmNl655w/1XUgOTZt2lQxYcKETq021tM8+uijWQsXLjyhsrLyrVTXkgxz587NWbt27eA1a9b8LZV1bNq0KXvChAl5LduZVgcAAAAAIhwBAAAAgCTCEQAAAJAyt956a7ivTKmTpIcffrg61VPq2kM4AgAAAAARjgAAAABAEuEIAAAAACQRjgAAANCLLX7m45xU14Ceg3AEAACAXuuZV2tPSHUN6DkIRwAAAEA3Zmbnrl69erAk/e53vxuckZEx8WjOd9FFF31u7ty5XTKiVlpampGWlnZuV5z70UcfzRozZsyZTa+vueaavGnTpp2YyD4IRwAAAEAnnX/++afdfvvtSRudmjRp0r7a2to3ktVfX0M4AgAAAAARjgAAAICEePfdd31mdu5jjz2Wdcopp4xLT08/+9JLLz11165d/QsLC3OHDRs2ITs7e8JDDz00vOmYpqli8+fPHzl8+PCzhg0bNuHGG28cVVdXZ6310dq0tR/96EfZY8eOHZeRkTHx9NNPP+PZZ5/NbNrW2NioO++8c+SIESPOOu644ybOnj17tHOuzfcwadKkk2fPnj06tu2RRx7JGj169JmNjY2SpJKSkiGnnXbaGRkZGRNPO+20M5YtWzakIz+nn/70p0POPPPM0zMyMiZmZ2dPuOWWW3Il6f333x9w8cUXjx06dOiEjIyMieeee+5pr7/++qB4ztnY2Khbbrkl9/jjjz/r2GOPPTs3N3f8ggULju9IXRLhCAAAAEio5557buiaNWv+unXr1jerqqoGnnfeeaefcsopdTt37ty0ePHirXfdddfo9957z9e0f3V1ta+ystK3devW8tdff/2vL7300pB77713RDx9LVy4MPuRRx4ZuWzZsg9qamreuPfee7fNmDHjlLfeemugJP34xz8etmTJkhHPPPPMlp07d27Kzs6uX7du3eC2znfDDTeEn3322WGx4Wz58uXZ06dPD/fr108vv/zysXPmzDn5+9//ftWePXveuO+++7bdeOONJ7/66qvHxlPvypUrMwsLC0+aP39+9Z49e97429/+Vj5lypRPJKmxsdG++c1v/r2ysrJ8+/btm84666wD06ZNO6WtoBjr+eefz1y5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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(9,6))\n", "\n", "mkt_log_mon = np.log( strikes / F_T )\n", "\n", "plt.plot(mkt_log_mon, vols_puts ,\n", " color='indianred', linewidth=0., marker=\".\", markersize=12, label=\"Implied vol puts\")\n", "\n", "plt.plot(mkt_log_mon, vols_calls ,\n", " color='royalblue', linewidth=0., marker=\"+\", markersize=14, label=\"Implied vol calls\")\n", "\n", "plt.xlabel(r\"log-forward moneyness $k$\", fontsize=12)\n", "plt.ylabel(\"Implied vol\", fontsize=12)\n", "plt.title(\"Implied vol from call and put prices\", fontsize=14)\n", "\n", "plt.legend(loc=9, fontsize=13, bbox_to_anchor=(1.4, 1.0), ncol=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The SVI parameterisation\n", "\n", "#### $\\blacktriangleright$ Implied total variance\n", "\n", "The implied total variance $w(T,k)$ for maturity $T$ and log-forward moneyness $k$ is defined by\n", "\n", "$$\n", "w(T,k) = T \\, \\hat \\sigma^2(T, k)\n", "$$\n", "\n", "where (with a slight abuse of notation with respect to the notation above) $\\hat \\sigma(T, k)$ is the implied volatility for the same maturity and log-forward moneyness.\n", "\n", "\n", "#### $\\blacktriangleright$ The SVI (Stochastic Volatility Inspired) parameterisation\n", "\n", "SVI is a parametric family of functions proposed by [Gatheral 2004] to model the total implied variance smile for a fixed maturity $T$ :\n", "\n", "\\begin{equation}\n", "w_\\mathrm{SVI}(k) = a + b \\left(\\rho (k - \\bar k) + \\sqrt{(k - \\bar k)^2 + \\sigma^2} \\right),\n", "\\qquad k \\in \\mathbb R,\n", "\\end{equation}\n", "\n", "where the parameters $(a, b, \\rho, \\bar k, \\sigma)$ satisfy\n", "\n", "$$\n", "b > 0 \\qquad \\quad \\rho \\in [-1,1] \\qquad \\quad \\sigma > 0, \\qquad \\quad a, \\bar k \\in \\mathbb R.\n", "$$\n", "\n", "Note that, since $\\min_{k \\in \\mathbb R} w_\\mathrm{SVI}(k) = a + b \\, \\sigma \\, \\sqrt{1 - \\rho^2}$, we also have to impose the condition\n", "\n", "$$\n", "a + b \\, \\sigma \\, \\sqrt{1 - \\rho^2} > 0\n", "$$\n", "\n", "in order to grant positivity of the function $w_\\mathrm{SVI}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### To Do: fit an SVI parameterisation to the market quotes\n", "\n", "We want to find a parameter set $(a^*, b^*, \\rho^*, \\bar k^*, \\sigma^*)$ that best fits the observed values $w^{\\mathrm{mkt}}$.\n", "\n", "We formulate this calibration problem as a least-square problem:\n", "\n", "$$\n", "\\min_{(a,b,\\rho,\\bar k,\\sigma)}\n", "\\sum_{i} \\left( w^{\\mathrm{mkt}}(k_i) - w_\\mathrm{SVI} \\left(k_i \\, ; a,b,\\rho,\\bar k,\\sigma \\right) \\right)^2\n", "$$\n", "\n", "where the $k_i$ are the observed log-moneyness points and $w^{\\mathrm{mkt}}(k_i) = T \\bigl( \\hat \\sigma^{\\mathrm{mkt}}(k_i) \\bigr)^2$ the observed values of total implied variance." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\blacktriangleright$ The problem above is a constrained optimization problem.\n", "Some of the constraints on the parameter set are easy to impose (they are \"box constraints\"):\n", "\n", "$$\n", "b > 0 \\qquad \\quad \\rho \\in [-1,1] \\qquad \\quad \\sigma > 0\n", "$$\n", "\n", "while the positivity constraint\n", "\n", "$$\n", "a + b \\, \\sigma \\, \\sqrt{1 - \\rho^2} > 0\n", "$$\n", "\n", "is slightly more involved.\n", "\n", "$\\blacktriangleright$ We decide to replace the positivity constraint $a + b \\, \\sigma \\, \\sqrt{1 - \\rho^2} > 0$ with the condition\n", "\n", "$$\n", "a > 0\n", "$$\n", "\n", "which is stronger, but we accept to make this restriction.\n", "\n", "$\\blacktriangleright$ There would be other constraints, relate to no-arbitrage conditions: we want to guarantee that the interpolation and extrapolation of the observed market variances provided by the function $w_\\mathrm{SVI}$ does not generate arbitrage opportunities (in other words: we want the call price $K \\mapsto Call_{\\mathrm{BS}} \\Bigl(T, K, F_0^T, B(0,T), \\frac 1{\\sqrt{T}} \\sqrt{w_\\mathrm{SVI} \\Bigl(\\log \\frac K{F_0^T}\\Bigr)} \\Bigr)$ to be a true call price without arbitrage).\n", "\n", "This point will be discussed in detail in a future lecture.\n", "\n", "$\\blacktriangleright$ For the moment, we just accept to neglect such no-arbitrage constraints and fit the SVI parameterisation as it is.\n", "\n", "$\\blacktriangleright$ Finally, we will cap the positive parameters $a,b,\\sigma$ at some reasonably high levels $a_{\\mathrm{max}}, b_{\\mathrm{max}}, \\sigma_{\\mathrm{max}}$.\n", "\n", "#### We make a try with the function least_squares from the library scipy.optimize" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "import scipy.optimize as opt\n", "\n", "def SVI(k, a, b , rho, k_bar, sig):\n", " total_variance = a + b*( rho*(k - k_bar) + np.sqrt( (k - k_bar)*(k - k_bar) + sig*sig) )\n", " \n", " return total_variance\n", "\n", "def SVI_two_arguments(theta, k):\n", " ## Attention à l'ordre des paramètres...\n", " a, b , rho, k_bar, sig = theta\n", " \n", " return SVI(k, a, b , rho, k_bar, sig)\n", "\n", "def fct_least_squares(theta, log_mon, tot_implied_variance):\n", " \"\"\"\n", " theta : the vector of SVI parameters\n", " log_mon : log-forward moneyness k (float or double)\n", " tot_implied_variance : the target total implied variance (float or double)\n", " \n", " returns : the objective function to inject in the least-square problem\n", " \"\"\"\n", " return SVI_two_arguments(theta, log_mon) - tot_implied_variance" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\blacktriangleright$ We have to choose a starting point for the minimum search:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "## Our target is the vector of total variances from (call or put) price quotes\n", "mkt_tot_variance = maturity * vols_calls**2\n", "\n", "## Choice of initial point\n", "a_init = np.min(mkt_tot_variance) / 2\n", "b_init = 0.1\n", "rho_init = -0.8\n", "k_bar_init = 0.\n", "sig_init = 0.1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\blacktriangleright$ Let us have a look at our initial guess for SVI:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABBgAAAGMCAYAAABwLhGbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3XlYVPX+B/D3Z4Z12BlQQUXcC3fBJbUuN2+2mJlRaZi7UbZZmpbavWJXu7e8LVbWjUxNU9Oyui6VVmarWZCiuW8kCiqr7Nvw/f0xQz8i0EHOcFjer+c5DzPnfM+Z95mYHufDdxGlFIiIiIiIiIiI6sKgdwAiIiIiIiIiavxYYCAiIiIiIiKiOmOBgYiIiIiIiIjqjAUGIiIiIiIiIqozFhiIiIiIiIiIqM5YYCAiIiIiIiKiOmOBgagZEZFYEUm/gvNWikh8pef9RSRWw+srEXn4Mm0CROQ1ETkpIkUikiIi20Tkdtvx10QkQ0Scazj/CRGxiEiQiITaXvPW2mYlIiIiIqLqscBARPb4J4CJlZ73BzC/mnbLANyo9YvbigZfAbgZwCIANwGYDeA8gKG2ZusA+AMYVsNlxgDYqZRK1TofEREREREBTnoHIKKGTyl1ws52ZwCccUCESADdAfRXSv1caf+7IiK2xz8A+A3WQsLWyieLSCcA4QDuc0A2IiIiIiICezAQNWsiEmkbKhApIu+LSJ5tCMKDVdr9PkRCRCYCeNX2WNm2nbbnfxgiISIetqELR0SkQEROichSEfGuZVRf289zVQ8opVSln+sBjBQRtyrNxgAoBbCxNi8qIiEi8qmIFNqyTxSRDyru19bmD8NHbPv+NARDRAwi8pSIHBeRYhE5KiITqpw3RES+FZEc27ZXRO6qdPw2EUkQkXwRyRKR3SLyl9rcExERERGRo7DAQEQA8BaARACjAOwEsFRE+tfQdiuAF2yPr7FtD9bQ1gTACGAerMMb/g7gegDv1zLfXgDlAJbbvoTX1PtqHQAvAMOr7B8D4DOlVJa9L2jrGbEJwNUAJgOYAeBRAANqmb3CqwCeBhBny/cRrPdzq+31vAFsAXASQBSAOwGshq24IiIdAXwAYAeAEQDG2tr7X2EeIiIiIiJNcYgEEQHAOqXUQgCw/XV+BIA7APxUtaFSKk1EkmyPf7zURZVSaQCmVTy3FQZOAfhOREKUUqftCaeUOiYiswD8G8C3AIpE5GsAbyul3q/Ubq+IHIK1oLDR9prdAHSDde6G2rgFQC8AA5RSP9mu9ROAJAB2DRmpYBuiMQ3AJKXUO7bdX4hIEKxzWWwB0AWAD4CHlVK5tjbbK12mD4BcpdSsSvs+qdUdERERERE5EHswEBFQ6YusUqoUwDEAbbS4sIiME5E9IpIH6zCF72yHutTmOkqpFwG0B/AQgM2w9iTYICL/qtL0PQDDRcTT9nwMgAJYeyPURj8A5yqKC7YMZwEk1PI6gHUiynIAH4mIU8UG4EsAvUXECGvRIg/AWhEZKSK+Va6xH4CPiLwjIsNExOMKchAREREROQwLDEQEANlVnpcAqDqPQa2JyCgAqwDsAnAXgIGwDsPAlVxfKXVWKfW6UupuWAsgnwGYJSLmSs3WAXAHcJvt+WgAm5RS+bV8uVYA0qrZX92+ywmAdajIRViLLBXbSlh7kgXZhm8MA+AMYAOANBHZKiIdAEApdQTASAAdYO25kC4ia0Uk8AryEBERERFpjgUGInKkuwDsVko9qJT6VCm1G4Dd8yBciq1g8DqsX9w7Vdp/DNZeBmNEJBxAZ1iLDrV1DkB1X96r7isC4FJlX9V5ETIBlMHa66JfNdsFW/ZdSqmbYJ134Q5Ye3msrbiIUmqrUupaAGYAUwD8DbYJN4mIiIiI9MYCAxFdiRIAqGa1hqrcARRX2Te2ti8mIv41TOzY2fbzQpX96wDcCOABWHtnfFbb1wTwM4BWlSe7FJHWsC53WdkZAKFV3osbqrTZAWshxEcpFV/NVlK5sVKqUCm1GcByAGFVgymlLiql1sI6UeSfjhMRERER6YGTPBLRlThs+zldRHYAyLF14a/qc1hXpJgHYDesEycOvYLXux7Av0RkBaxf/MsBDALwFIAtSqlTVdqvB7AY1r/yL6/6Bd5On8C6ssYGEZkDoBDWCRnP216/wscAngGwTERWwjoZ46TKF1JKHRGR/wJ4T0SeBxAP6xCRbgC6KKWmishwWFer+BjAaQCtAdwPa3ECInI/rCt2fAYgBdbiyl2wDkEhIiIiItIdCwxEdCW+hfUL/HQA/wLwDYDIatq9CeucAdNh/UL9OYBoAJdcfaIauwH8D8DdAGbD2hsgCcBCAEuqNlZKnRGRbwFcB+ukj7WmlFIiMtJ2DytgLSwsgnX5yIJK7X4VkcmwLsF5B6wFgckAvq9yyYcAHAVwH6wFiRwABwG8bTt+HIAC8CyAFrDO9bAFwFzb8X2wzivxIqxDMFJhXV70H1dyf0REREREWhOllN4ZiIgaBRHxAXASwGtKqfl65yEiIiIiakjYg4GIqAYi8gCswyGOwTq54wwArrDOjUBERERERJWwwEBEVLNiAE8CCIF1+MJPAP6mlPpN11RERERERA0Qh0gQERERERERUZ1xmUoiIiIiIiIiqjMWGIiIiIiIiIiozprdHAwBAQEqNDRU7xhEBEApBRHROwYRNWIJCQnpSqlAvXMQERFRMywwhIaGIj4+Xu8YRARg48aNiIqK0jsGETViIsJJV4mIiBoIDpEgIt3s379f7whERERERKQRFhiISDcxMTF6RyAiIiIiIo2wwEBEuomLi9M7AhERERERaYQFBiLSjdls1jsCERERERFppNlN8khEDUdkZKTeEYiIqJFISEhwcXJyegvAEABGvfMQETVD5SJyrqysbEHfvn23VdeABQYi0s3GjRvRo0cPvWMQEVEjYDAYpnl7ew9u165dtsFgUHrnISJqbsrLy6WwsNAnKSnptV9++eXh6ooMHCJBRLphDwYiIrKX0WicFBwcnM/iAhGRPgwGg/Lw8CgMDQ0tcXJyml9tm/oORURUISUlRe8IRETUSCilfFxcXEr1zkFE1Ny5u7sXKaVaVXeMBQYi0s3Ro0f1jkBERI2HiIjeGYiImj1bT7JqawksMBCRbmJiYvSOQEREREREGmGBgYh0ExcXp3cEIiIiIiLSCAsMGigvV/jy53xYyjnnEFFtBAUF6R2BiIiIiIg0wgKDBn4+VIRFKzKwfnuO3lGIGpWIiAi9IxAREZEGIiMjO82dO7faSd+oaRoyZEjn+fPnt9Q7BzUsLDBooH+YG/4absLyLRdx6FSx3nGIGo3NmzfrHYGIiKjBKisrw/3339/Gz8+vl4eHR58bb7yxY2pqqlNdzomLi/MLDw/v6unp2cfJySlcq6wHDx409ezZs7Cu16ntPdtzP1fyPuqptnlPnz7tNHz48A5+fn69vL29ew8cOLDLrl273OtyTXscPHjQ1KdPn4K6XKOuHPEZaei/L1p/RrS+XxYYNCAiePwefwT4GrFwRQYKisr1jkTUKAwbNkzvCERERA3WvHnzWm3bts33+++/P3T69Ol9ADB69Oj2dTnHbDZbYmJi0hYuXHhaq5zJyclOaWlpzhEREXX+slnbe7bnfq7kfdRTbfNOnTq1XVZWlvHw4cO/XrhwIbF3794Fo0aN6lxeXn7F17ycU6dOOWdlZTkNGDCgzkWlunDEZ6Sh/75o/RnR+n5ZYNCIp8mAuRPNOJ9Rhlc3ZOkdh6hR4DKVRETUFFksFowaNSo0ODi4h8lk6hMSEtI9Li7Or7bXWb16deD06dPPhYWFlZjNZsuLL7545ttvv/U+cuSIy5WeExUVlXP//fdndurUqaQu91jZ7t27TV5eXpbPP//cKyQkpLuXl1fvO++8M7S4uLjW64rW9p7tuZ8reR8vp7y8HAsXLmwRFBTUw93dvU+fPn2uOnz48BVfry55k5KSXO+4446sli1bWtzc3NS0adPSzp8/73z+/HmnK73m5fz444+mFi1alAYFBZXZru/bunXrHsuWLav173ldOOIz4ojfFwB44YUXAjp37tzNZDL1EZHwim3OnDm1Glqk9WdE6/ttMF09moKendxw783eWPVJDvqFueH6CA+9IxE1aElJSXpHICKiRur51RltT6WUmurjtdoHOxfMHmdOtrd9Zmam8aabbspZtmxZsq+vr+X5558PfOSRR9qPHz8+e+rUqW3/97//+dd07iOPPHLu2WefPZeRkWFMTU11GTBgQH7FsW7duhV7enpa4uPj3bt27fqnLwtXco4W4uPjTYWFhYYTJ064JiYmHkxJSXGOjIzs+sorr5hnzZqVfu+994Y46p4vx1HvyQMPPNDm+PHjbrt37z7k4+NTPnz48I7Tp09vu23bthP23q9WeadPn35u3bp15rFjx2b7+PhYXnvttcC+ffvmVXz5d8R7kJCQYAoLCysoLCyUBx54oE18fLzntm3bjnbv3r3O48Ud+ftyuXMCAgIsjvh9Wbx4ccDixYuDV69efXLo0KF5K1eu9Lvvvvs6rF279viwYcPy9PqMOOJ3gwUGjY272Qfxh4rw0rpMhLV3RSsz32KimsTExOgdgYiISHOBgYGW+++/P7Pi+YMPPpgxd+7ckNzcXMO77757GsBlhydkZWUZAMDf399Seb+Xl5fl4sWLRq3O0UJiYqJpyJAhOf/5z39SAcDPz6946NChF/fu3WsCAEfesx7X/OWXX9w2btxoPnny5H4fH59yABg9enTmCy+8EATYf79a5f3rX/+at2bNmoDg4OBeRqMRLVu2LNmyZcuxulzzchITE01ubm7lffv2vTo8PDwvPj7+sLu7++9L6i1atKiFu7t7+YwZM9Jre209PyOOeK9KS0vx7LPPtl6yZMlvN954Yx4ATJ06Nevxxx+3lJWVidlstuj1GXHE/fLbr8aMRsG8SQG479lUPLsyAy891gJGY617hxE1C3FxcYiNjdU7BhERNUK16VFQ3z766CPvl156qeWRI0fcCwoKDOXl5RIYGFgaGBhoufzZVr6+vuWAtTdE5f25ublGHx+faq9zJedo4cCBA6Z58+alVN6XlpbmVNtJHx2R3xHXfO+99/yuvfbanIriAmC934CAgNLaXOeNN97wnzlzZruK5wUFBXtqm9disWDYsGFdIyMjL27ZsuW4yWRSr7/+uvn666/vum/fvgNt27Ytc8R7cPDgQVNJSYm0b9++2Pbl+A/27t1revDBBy/U9roWiwVGo33fax3xGXHEe/XZZ595FRYWGkePHn2xYl9eXp4UFRUZWrduXavfGa3zOeJ+OQeDAwQFOOGxMf749UQx1mzj0pVENQkNDdU7AhERkaZ27NjhMWnSpA4PP/zw+ePHj/+am5u796GHHjrXvXv3AgCIjo4OMZlMfWrannrqqVYAEBAQYAkKCir56aeffh8GcvDgQZe8vDxjREREtV/cr+ScusrMzDScOXPGNSgo6PcvSsnJyU4//vijd1RUVLaj7/lyHHHNH3/80bNFixa/3295eTk+/vhjv5EjR2bV5n6nTZuWWVBQsKdiu5K8Fy5ccDp79qzLjBkzLvj7+5e7ubmpGTNmpCul5Ouvv/Z0xHuQlpZmTElJcfnkk0+OZmdnGx999NHgqm0OHDjg/u6775oHDhzYZdCgQZ0LCwsFABYuXNhi8ODBna+66qqwhx9+uDUAdO/e/epp06a1HjRoUJekpCRnPT8jjvh9SU5OdnZ3d7e4urr+3sPjnXfe8TObzWWRkZH5gH6fEUfcL3swOMjf+nvgp4OFWLX1Ivp2dUP3jq56RyJqcLp06aJ3BCIiIk3Fx8ebvL29y4YOHZrv5OSkXnnlFfOrr77a6qGHHjoHAGvXrrW7+/y4cePSXn755aCbbropt0WLFmUzZ85sM2TIkJxLjYu+3DllZWUoKSmRkpISAYCCggIBADc3N2UwGDBjxozg9evXm8+ePbvfnoy7d+82GQwGtWrVKvPNN9+ce/r0aefo6Oj2I0aMyBwyZEiBo+/5cvdjzzVre88HDhwwpaamupw+ffqcj49P+cyZM4OLi4sNM2fOTKvt/db1PQgKCipr165d8ZIlSwJfffXVs+7u7uVLly415+fnG/r27Vtg7zVr8x7s2rXL5OvrW9avX7+iTz/99NjgwYOvbtOmTens2bPTAKCoqEiSk5Nd16xZc6pPnz5FUVFRoZs2bfIePXr0xUceeST96aefvmCxWBAWFhZWXFyccvr0adcpU6ZkREREnK3t++eIz4jWvy+9e/cuzM7Odlq2bJnfxIkTs7Zu3er19NNPt126dGlSxe+onp+RK3kPL4UFBgeaPtofB04UY9GKdLw1Lwie7uwwQlTZ9u3bMWjQIL1jEBERaWby5MmZmzdv9m3Tpk3PgICA0qlTp17w9va29OvXr9ZLOC5atOhcVlaW0zXXXHN1SUmJYfDgwTkbNmw4VblNdHR0yJkzZ1y/+eabY/ac8/rrr5unT58eWvHcw8OjLwAcPnx4f9euXUuSk5NdBg4cmGtvxvj4eNPAgQNzg4KCSgMDA3u7u7tbxowZk/H888+nXP7s2t9z1fu93P3Yc83a3POJEyecc3JyjP/4xz/OhIeHh5WVlcl1112X89VXXx01mUzq8lfQ/j348MMPj8+cObNNu3btepSVlUlISEjxihUrToaFhZXYe83avAcJCQmmbt26FQBAx44dSzdt2nRs2LBhXYOCgkrHjRuXnZCQ4Hbdddfl9OnTpwgA3N3dyz08PMrT09ONjz76aOsTJ064KaVERJCQkOA2ZMiQnIiIiCJHvFfVvV+XO0fL9woABg0aVPif//zntwULFrR+/PHH23Xq1Kno7bffPnXHHXdcUVd3rT8j9ryHtSFKafI5aDQiIiJUfHx8vb3ewVPFePSF84jsa8K8SWaIcD4GogoJCQkIDw/XOwYRNWIikqCUitA7BzleYmJiUq9evWo9YRzVTmhoaPcvvvjiSKdOnWo1Nrwxq809r1mzxmfBggWtjx49erA+stUXLf+7v/zyy+Yvv/zSe/PmzafOnj3rdPvtt3f87rvvjk6fPr11ly5dimbMmJG+fPlyvy1btvhcd911uRcvXjTOnz+/1vM16KU5fkaqk5iYGNCrV6/QqvvZg8HBwtq7YsJwH6zYfBH9u7lj2AAuXUlUIT4+ngUGIiKiBiQpKelXvTPUt9rcc3x8vEfXrl0dMp+FnrT8775nzx6Tt7e3Zfjw4R3y8/MNb7zxxm+urq7q2muvzX366afb7Nixw1tE1MCBA/P37Nljuueee7K0eu360Bw/I7XBAkM9iL7RG/GHivDK+kx06+CC1oHOekciahBSU1P1jkBERERkt8TERFP//v3z9M7RkL3zzjvVrvAyduzYi2PHjr1Y3TFqOjgpQD0wGgRzJ5ohAjy7IgNlluY1LIWoJjExMXpHICIiIrLbjh07jv/73/8+p3cOooaKBYZ60tLfCTOj/XEoqQTvbGXhjggA4uLi9I5AREREREQaYYGhHkWGe+CmazywdlsOEo9e0USpRE0Kl6kkIiIiImo6WGCoZ4/c5YfWgU54dmUGcgvK9Y5DpKvg4GC9IxARERERkUZYYKhn7m4GzJ1oRmaOBS+syUBzWyaUqLKdO3fqHYGIiIiIiDTCAoMOrgp1xeTbfPHNnkJ8titf7zhEuomKitI7AhERERERaaTeCgwicpOIHBGR4yLyVDXHXUVkve34bhEJte3vLyJ7bVuiiIyqdE6SiOy3HYuvr3vRwui/eaF3F1e8uiELyedL9Y5DpAv2YCAiovo2Y8YMjs8jInKQeikwiIgRwFIANwMIA3CPiIRVaTYFQJZSqhOAlwA8Z9v/K4AIpVRvADcBeFNEnCqd91elVG+lVIRDb0JjBoNgzgQzXJwFi1ZkoLSMQyWo+cnIyNA7AhERNTMvvfRSkN4ZiIiaqvrqwdAfwHGl1EmlVAmA9wCMrNJmJIB3bI8/ADBUREQpVaCUKrPtdwPQZL6JB/o5YeZYfxw9XYIVm7P1jkNU72JiYvSOQERE1KjMmDEjeNCgQU1mGSYRCd+2bZtnfb3esWPHXEwmU5+kpCTn+npNouakvgoMrQEkV3p+xrav2ja2gsJFAGYAEJEBInIAwH4AD1QqOCgA20UkQURq/KYiIjEiEi8i8WlpaZrckFau7W3CrUM8sf6LXPxymEtXUvMSFxendwQiIiJN9e/fv6uIhC9btsyv8v4dO3Z4iEh469ate+iVDbDmmz179iV7cbzyyivmkJCQ7rW57pEjR1xEJPzEiRMN+ot7586dSwoKCvaEhoZyjDKRA9RXgUGq2Ve1J0KNbZRSu5VS3QD0AzBHRNxsxwcrpfrCOvTiIRG5rroXV0rFKaUilFIRgYGBV3YHDjQtyhdtWzjhX+9k4GKeRe84RPWmRw9d/41FRETkEB06dChavnx5QOV9b775ZkCHDh3q9Nek4uLi6v69THbi+0fkePVVYDgDoG2l520ApNTUxjbHgg+AzMoNlFKHAOQD6G57nmL7eQHAR7AOxWh03F0NmDc5ABfzLPjPu5lcupKaDU/PeusRSUREVG+GDx+edejQIdPBgwddACArK8vw6aef+kVHR6dXbhcXF+fXtWvXME9Pzz6BgYE9o6Oj2+Xk5Pz+7/PWrVv3eOKJJ4IGDBjQxd3dvc8777zjW/W1lixZYm7ZsmXPr776ygQA586dM959993tWrVq1dPPz6/XLbfc0iE5OdkJAMaPHx+SkJDg+fLLLweZTKY+oaGhf+ql8MUXX3jMmjWr3ZkzZ1xNJlMfk8nUZ8uWLV4AsHXrVs+ePXte5eXl1bt9+/bdFi9e/HsRJSIiIgwAunfv3t1kMvWZNWtWEAA8/PDDrdu0adPDZDL1adu2bfdnnnmmhb3vY/fu3a/+5z//+Yf2jz/+ePDAgQO7AMCuXbvc+/Xr19XPz6+Xt7d37+uuu67zgQMHXCvaRkVFhd52223t77zzzlAfH5/ekydPblu1p4U917j99tvbjxkzpp2Xl1fvFi1a9Kx83xXvS3h4eFcfH5/efn5+ve68887QimM///yz25AhQzr7+fn1CgoK6vHQQw+1ZqGDmrL6KjD8DKCziLQXERcAYwBsqtJmE4AJtsd3AtihlFK2c5wAQETaAegKIElEPETEy7bfA8AwWCeEbJQ6t3XBfbf74vt9hdjyXZ7ecYjqxa5du/SOQEREpDk3Nzd1++23Z77xxhuBAPD222/79+/fPzcoKOgP3fJ9fX0ta9asOXnx4sU9X3311ZHdu3d7zpkz5w/DF959993AF198MTk/P39PdHT0Hybteuyxx4JffvnlVl999dXhv/71rwXl5eUYPnx4JxHBgQMHDpw+fXq/p6en5e677+4AAKtWrTodHh6e99hjj6UWFBTsSUpK+tO/nf/2t7/lL168+Lc2bdoUFxQU7CkoKNhz66235h4+fNglKiqqy5QpU9IyMzP3Llu2LGnhwoVtli9f7gcA8fHxBwHg119//bWgoGDP4sWLUwEgLCys8Lvvvjucl5e3Z+nSpb89++yzbTZu3Ohtz/t47733pq9Zs+b3L/Pl5eXYsGGDedy4cekAYDAY8I9//CMlJSVl36lTp/Z7eHhYxo4d277yNT799FO/G2+88WJGRsbe//73v2eqvoY91/jss8/8RowYkZ2dnb138eLFp+fMmRNy9OhRFwDYvXu3+x133NFlwoQJ6efOnUtMTk7eN2HChAwAOHv2rNMNN9xw1ciRI7NSU1P3/fDDD4e//vpr73nz5rWy5/6JGqN6KTDY5kx4GMA2AIcAbFBKHRCRZ0TkNluztwGYReQ4gBkAKpayHAIgUUT2wtpL4UGlVDqAlgC+E5FEAD8B2KqU+qw+7qcmsbGxdTo/6q9eiLjaDa9/kI3fUjksjJq+e+65R+8IRETUBM2YMSNYRMKr2wDrxILVbVouYfnggw+mrV+/3lxaWoqVK1cGTp06Nb1qm7vvvjsnIiKiyGg0onv37sVTpky58M033/zhy/e9996bNnjw4EKDwQBPT08FACUlJTJy5Mj23333ndePP/54OCwsrAQAvvvuO9PBgwdNK1euPG02my1eXl7lr7zyypkff/zRq65zI6xcudI/LCysYPr06RnOzs4YOnRo/r333ptWdShINe9DZmhoaKnBYMBtt92WGxkZmf3555/bVWCYMmVK5qlTp9y+//57dwDYsmWLV05OjnH8+PHZADBgwIDCESNG5Lq7uyuz2Wx55plnUhITEz0q9wIJDw/Pu++++7KcnJzg5eVVXvU17LnGwIEDc8aOHXvRaDRiwoQJ2V5eXpaffvrJBACvvvpq4PXXX5/96KOPZri7uytPT081YsSIXAB48803zVdddVXBrFmz0t3c3FT79u1Ln3jiidQNGzaY7bl/osbI6fJNtKGU+gTAJ1X2/aPS4yIAd1Vz3moAq6vZfxJAL+2TXrkFCxbUqchgMAieHG/G1EWpWLgiHUtntYKLM3tQUdO1ZcsWdO3aVe8YRETUxLz44ospL774YtXhuACsxQWlVIKjM/Tr168oODi4ZPbs2cHp6enOd95558W4uDj/ym0++ugj74ULFwadPHnSrbS01GCxWODv719WuU1oaGhJ1WufOHHCbe/evR4ffvjhsZYtW/4+gdfx48ddS0pKDC1atPjDv5FdXV3VyZMnXTp27HjFf8FKTk52CQkJKa68r2PHjsWfffbZn4ZtVLZw4cIWq1atCjh37pyLUgrFxcWG2267LfNS51QIDAy03HDDDdlvvfVWwODBg5OXL18eMGLEiKyKQsGBAwdcH3/88TZ79+71KCgoMIqIAoBz5845eXt7lwBA27Zt//T+VWbPNVq2bPmH981kMpVXFCCSk5NdevbsWVjdtU+dOuX6yy+/eHp5efWuvN9isfAf+NRk1dcQCbKT2ceI2ePMOHGmFMv+x6UrqWkrLi6+fCMiIqJGatKkSWlLliwJio6OTndy+uPf9YqKiiQ6OrrjnXfemZmcnLwvLy9vz9///vfquvD/aXKuq6++uvDtt98+OW7cuI4ff/yxV8X+9u0Yi1AFAAAgAElEQVTbF7u7u5dnZ2fvzc3N/X0rKir65YYbbsiv6XrVvOaf9rVt27YkOTnZpfK+kydPugYFBZXUdM727ds9Fi5c2Gbp0qW/ZWZm7s3Nzd17/fXXZ9dmvrFJkyal/+9///NPTU112rZtm++UKVN+7wly3333hXh6elr27dt3IC8vb8+OHTsOA/jDfGaXu197rnEpbdu2LTlx4oRrdcfatWtXPGjQoJzK/y1yc3P3FhQU7LHr4kSNEAsMDdA1Pdwx8i+e+GBHLn46UG1BlKhJiI6O1jsCERGRw9x3332ZH3744dE5c+acr3qsuLhYSkpKDH5+fhZPT0+VkJDg9tZbb9k9AeKECROyly9ffnLChAkdV69e7QsA1113XcFVV11VMHny5Lbnzp0zAkBKSopTXFzc70tmBgYGltb0hbhCcHBwaWZmpnNmZubv3xUmTpyYeeDAAY/XXnvNXFpaiq+++sr07rvvBk6cODEdAIKCgkoNBgMOHjxYsdobsrOzjQaDQbVq1apMRPDee+/5fP311z723iMA3H777Tmurq5qzJgxocHBwSVDhw7NrziWl5dnNJlM5QEBAZbU1FSnefPmta7NtbW4xkMPPZT25Zdf+i5dutS/qKhI8vLypGJSzJiYmIz9+/d7vPzyy+aCggKxWCw4ePCgywcffGDXEBGixogFhgbqgVG+CA1yxnOrM5CVy6UrqWlauXKl3hGIiIgcxmQyqdtvvz03MDDwT/+Y8/HxKX/uued+mz9/fhuTydTnwQcfDImKirJr6ECFqKionPXr1x9/5JFHQl9//XV/o9GIrVu3Hi8vL5fw8PAwDw+PPv379796586dv/dyeOKJJ87v27fPw8vLq3enTp26VXfdESNG5AwePDinQ4cOPb28vHpv3brV86qrrip5//33j7355pst/P39e0+aNKnDk08+eXbq1KlZAODp6almzZp1dtKkSR28vLx6P/nkk62ioqJyRo0alTF48OCr/f39e3/wwQd+w4YNq1UXXaPRiLvuuivjm2++8Rk7duwf5rF44YUXkn/66SdPLy+vPoMHD+56yy231Lr7b12vcc011xS+//77x5YtW9YiMDCwV9u2bXuuWrXKHwBCQkLKtm/ffmTTpk1+ISEhPX19fXuPGjWq0/Hjxy9Z4CFqzKS5LYkYERGh4uPjHXJtEdF0icmTZ0sw7blz6NvVDc8+GAgRDteipmXz5s0YMWKE3jGIqBETkQSlVITeOcjxEhMTk3r16vWniRJrq77mYCAiasoSExMDevXqFVp1P3swNGAdWrvg/lF+2H2gCB9/zaUriYiIiIiIqOFigaGWYmNjISLVbgBqPHalq0uMivTEgG5u+O+HWTh59pKT4BI1OgkJ/AMSERHVr8cffzxV7wxERE0Vh0hoSOshEhWyci2YuigVvp5GvD67JVxdWBeipiEpKQmhoaF6xyCiRoxDJJoPrYZIEBFR3XGIRCPm52XEk+PMOJVSijc/4tKV1HSsXbtW7whERERERKQRFhgaif7d3BF1vRc+/joPu/Zz6UpqGlxdOYkyERHZTTW3nrdERA1ReXm5ACiv7hgLDI3IfSN90bGNM55fnYGMi1y6khq/W2+9Ve8IRETUSIjIxZKSEme9cxARNXeFhYVuInKuumMsMDQiLs6CeZMCUFSs8NyqDJSXs4pPjdu6dev0jkBERI2ExWJZkZKS4mH7yxkREdWz8vJyyc/Pd09KSnIpKytbUF0bp/oORXUTGuSMaVG+ePm9LGz8Khd3DfXWOxLRFbvmmmv0jkBERI1EeXn5Gzk5OX33798/BIBR7zxERM1QuYicKysrW9C3b99t1TVggUFD8+fPr5fXGXGtJ34+WIS3Ps5G7y5u6NzWpV5el0hreXl5ekcgIqJGIjw8vATABL1zEBFRzThEQkOxsbH18joigifu9YePpxGLlqejqKTa+TWIGrz9+/frHYGIiIiIiDTCAkMj5eNpxJwJZiRfKMMbH3DpSmqcYmJi9I5AREREREQaYYGhEet7lRvuHuqFzd/l4du9BXrHIaq1uLg4vSMQEREREZFGWGBo5Cbf5ovObZ3xwppMpGWX6R2HqFbMZrPeEYiIiIiISCMsMDRyzk6CpycHoKRU4V8rM2Dh0pXUiERGRuodgYiIiIiINMICQxPQtqUzHr7LD3uPFmPDF7l6xyGy28aNG/WOQEREREREGmGBoYm4eZAHruvjjuWbsnHkt2K94xDZhT0YiIiIiIiaDhYYmggRwcyxZvh7G7FoRQYKi7h0JTV8KSkpekcgIiIiIiKNsMDQhHiZDJg70YyzaWV47f0sveMQXdbRo0f1jkBERERERBphgaGJ6dXFDdE3euPTXfnYmZCvdxyiS4qJidE7AhERERERaYQFhiZownAfXB3qghfWZuJ8JpeupIYrLi5O7whERERERKQRFhiaICejYO4kM8rLgWe5dCU1YEFBQXpHICIiIiIijbDA0ES1DnTG9NF+2H+8GGu35egdh6haERERekcgIiIiIiKNsMDQhN0wwAPXR5jwztaLOHiKS1dSw7N582a9IxARERERkUZYYGjCRASP3eOPQF8jFi1PR34hl66khmXYsGF6RyAiIiIiIo2wwNDEebobMG9SAM5nWvDK+ky94xD9AZepJCIiIiJqOlhgaAa6d3TFuFt88PlPBfjiJy5dSQ1HUlKS3hGIiIiIiEgjLDA0E/fe5I3uHV3x8nuZSE3n0pXUMMTExOgdgYiIiIiINMICQzNhNArmTjRDACxakQ6LhUtXkv7i4uL0jkBERERERBphgaEZaWV2wmP3+OPgqRKs/vSi3nGIEBoaqncEIiIiIiLSCAsMzczQfh4YNsAD736ag/3Hi/SOQ81cly5d9I5AREREREQaYYGhGXp0tB9amp2waGUG8gq4dCXpZ/v27XpHICIiIiIijbDA0AyZ3Ax4epIZ6dkWvLQuE0pxPgbSx4gRI/SOQEREREREGmGBoZm6ur0rJt3qg68SCrB9N5euJH3Ex8frHYGIiIiIiDTCAkMzNmaYN3p1dsWS9Vk4e6FU7zjUDKWmpuodgYiIiIiINMICQzNmNAjmTDDDyQAsXJGBMi5dSfUsJiZG7whERERERKQRFhiauRb+Tpg51owjv5Vg5RYuXUn1Ky4uTu8IRERERESkERYYCH/pa8ItgzywbnsO9hzh0pVUf7hMJRERERFR08ECAwEAHrrTD60DnfCvdzKQk2/ROw41E8HBwXpHICIiIiIijbDAQAAAdzcDnp4cgOxcC15Yw6UrqX7s3LlT7whERERERKQRFhjod11CXDD5Nl98u7cQn/zApSvJ8aKiovSOQEREREREGmGBgf7g7qFe6NvVFUvfz8Lpc1y6khyLPRiIiIiIiJoOFhjoDwwGwZMTzHBxFixckY6SUg6VIMfJyMjQOwIREREREWmEBQb6k0BfJ8y61x/Hk0uxfHO23nGoCYuJidE7AhERERERaYQFBqrW4F4mjLjWExu+yEX8oUK941ATFRcXp3cEIiIiIiLSCAsMVKNpUb5o18oJz63KRHYul64k7fXo0UPvCEREREREpBEWGKhGbi7WpStz8i1Y/C6XriTteXp66h2BiIiIiIg0wgIDXVLHNi6473Zf7NpfiE3f5Dn0tWJjYx16fWp4du3apXcEIiIiIiLSCAsMdFl3RHqhf5gb3vgwG6dSShz2OgsWLHDYtalhuueee/SOQEREREREGmGBgS7LYBDMHm+GyVWwaHkGl64kzWzZskXvCEREREREpBEWGMgu/t5GzB5vxsmUUsR9zKUrSRvFxcV6RyAiIiIiIo2wwEB2G9jdHaMiPfHhV7nYfYBLV1LdRUdH6x2BiIiIiIg0wgID1cr9o/zQPtgZz6/KQGYOl66kulm5cqXeEYiIiIiISCP1VmAQkZtE5IiIHBeRp6o57ioi623Hd4tIqG1/fxHZa9sSRWSUvdck7bk4C56ebEZeYTmeX5WB8nLOx0BXLjw8XO8IRERERESkkXopMIiIEcBSADcDCANwj4iEVWk2BUCWUqoTgJcAPGfb/yuACKVUbwA3AXhTRJzsvCY5QPtgF0yL8sNPB4vw0c7cWp0bGxsLEal2A1DjMS5hSURERERE1LDVVw+G/gCOK6VOKqVKALwHYGSVNiMBvGN7/AGAoSIiSqkCpVSZbb8bgIo/mdtzTXKQkdd5YmB3N8R9nI0TZ+xfujI2NhZKqWo3ADUeY4GhaUpISNA7AhERERERaaS+CgytASRXen7Gtq/aNraCwkUAZgAQkQEicgDAfgAP2I7bc03Yzo8RkXgRiU9LS9PgdkhEMHucGV4mAxauyEBxSbnekagRmjhxot4RiIiIiIhII/VVYJBq9lUdvF9jG6XUbqVUNwD9AMwRETc7rwnb+XFKqQilVERgYGAtYtOl+HoZ8eR4M35LLcV/P+TSlVR7a9eu1TsCERERERFppL4KDGcAtK30vA2AlJraiIgTAB8AmZUbKKUOAcgH0N3Oa5KD9Qtzx11DvfC/b/Lw/b4CveNQI+Pq6qp3BCIiIiIi0kh9FRh+BtBZRNqLiAuAMQA2VWmzCcAE2+M7AexQSinbOU4AICLtAHQFkGTnNakeTLnNF53aOGPx6kykZ5dd/gQim1tvvVXvCEREREREpJF6KTDY5kx4GMA2AIcAbFBKHRCRZ0TkNluztwGYReQ4gBkAKpadHAIgUUT2AvgIwINKqfSarlkf90N/ZF26MgDFJQrPrcrk0pVkt3Xr1ukdgYiIiIiINOJUXy+klPoEwCdV9v2j0uMiAHdVc95qAKvtvSbpI6SVMx66yw8vrs3E+1/mYvQN3rW+xvz58x2QjBqya665Ru8IRERERESkkfoaIkHNwPDBHhjSyx1vb8rG0dP2L11ZgUtRNj95eXl6RyAiIiIiIo2wwECaERHMHOsPXy8jFi5PR2Exl66kS9u/f7/eEYiIiIiISCMsMJCmfDyNeGqCGWfTyrD0gyy941ADFxMTo3cEIiIiIiLSCAsMpLm+Xd0w+gZvfPJ9Pr7Zw6UrqWZxcXF6RyAiIiIiIo2wwEAOMelWH3QNccELazJxIZNLV1L1zGaz3hGIiIiIiEgjLDCQQzg7CeZNNqPUovDvdzJg4dKVVI3IyEi9IxARERERkUZYYCCHadPCGY/c7Ye9x4qxfnuO3nGoAdq4caPeEYiIiIiISCMsMJBD3TTQA5F9TVix5SIOJRXrHYcaGPZgICIiIiJqOlhgIIcSETwe7Q+zjxGLVmSgoIhLV9L/S0lJ0TsCERERERFphAUGcjgvkwFzJ5lxLr0Mr27g0pX0/44ePap3BCIiIiIi0ggLDFQvenZyw9ibvLHtx3zsiM/XOw41EDExMXpHICIiIiIijbDAQPVm/C0+CGvvgpfWZeJcBpeuJCAuLk7vCEREREREpBEWGKjeGI2CuZMCoBTw7MoMWCyNY+nK2NhYvSM0WUFBQXpHICIiIiIijbDAQPUqOMAJ00f749cTxVizrXEsXblgwQK9IzRZERERekcgIiIiIiKN2F1gEBEfEblLRKbbnrcQkVaOi0ZN1Q0DPPC3fias2noRv57g0pXN2ebNm/WOQEREREREGrGrwCAigwAcA/AQgIW23d0B/NdBuaiJe3SMP1r6G/HsynTkFXLpyuZq2LBhekcgIiIiIiKN2NuD4RUA45VSkQAqZufbBWCgI0JR0+fpbsDcSQG4kGXBkvcy9Y5DOuEylURERERETYe9BYaOSqnPbI8rZuYrBuCifSRqLrp1cMWEW3zw5c8F+Hw3l65sjpKSkvSOQEREREREGrG3wHBERP5aZV8kgAPaxqHmJvomb/To6Iol6zNxNq1U7zhUz2JiYvSOQEREREREGrG3wDALwPsi8iYANxFZAuBdALMdloyaBaNBMGeiGSLAgmXpKC7RZz6G2NhYiEi1G4Aaj3EJy7qJi4vTOwIREREREWnErgKDUupbABEAzgJYByALwGCl1C4HZqNmopXZCXMmmHE8uRQvrM2EUuryJ2ksNjYWSqlqNwA1HmOBoW5CQ0P1jkBERERERBpxsqeRiBgA/KaUeqbSPhERg1KKSwBQnQ3qacLEW32wcstFdA1xQdT13npHonrQpUsXvSMQEREREZFG7B0i8SWAQVX2DQLwubZxqDm79yZvDO7pjjc+zMbeo0V6x6F6sH37dr0jEBERERGRRuwtMPQG8EOVfbsA9NE2DjVnBoPgqQlmtAl0woJl6TifWXb5k6hRGzFihN4RiIiIiIhII/YWGHIBBFTZFwCgUNs41Nx5uBvwzAOBKC1TmB+n36SPVD/i4+P1jkBERERERBqxt8DwMYDVItJJRIwi0hnASgAfOiwZNVshLZ0xZ6IZR0+X4KV1WbpM+kj1IzU1Ve8IRERERESkEXsLDE/BuoLEQQAlAH61PX/SQbmomRvc04QJw32wfXc+PtqZp2uW+fPn6/r6TVlMTIzeEYiIiIiISCP2LlNZoJSaAsAEIBSAh1LqPqVUgSPDUfM27mZvDOrpjtc3ZiFRx0kfuRSl48TFxekdgYiIiIiINGJvDwaIiAlAGIC2APqLyCARqbqyBJFmKiZ9bM1JH5ssLlNJRERERNR02FVgEJFoAOcAfAtgY6XtA8dFIwI83Q345/2BKOGkj01ScHCw3hGIiIiIiEgj9vZgeA7AeKWUj1IqqNLGbwfkcCGtnDFngnXSx5ff46SPTcnOnTv1jkBERERERBqxt8DgCmCzI4MQXcrgXiaMv8Ub237Mx8df6zvpI2knKipK7whERERERKQRewsMLwGY5cggRJcz/hYfDOzuhtc/yELiMf0mfSTtsAcDEREREVHTYW+BYTKAZ0QkS0SOVt4cGY6oMoNBMHdSAIICnLDgrXRc4KSPjV5GRobeEYiIiIiISCNiz3h2EbmxpmNKqW2aJnKwiIgIFR8fr3cMqoPfUkvx4PPnENLKGUtmtISLs+gdia5QSkoKJ3okojoRkQSlVITeOYiIiMjOHgxKqW01bY4OSFRVuyDrpI9HfivBS+syOeljIxYXF6d3BCIiIiIi0oiTvQ1F5GoAQwAEAPj9T8ZKqWcdkIvokob0NmHczd5Y/WkOurZzwe1/8dI7El2BHj166B2BiIiIiIg0YlcPBhGZBCABwB0A5gO4FsDfAfR1XDSiS5sw3Drp49L3s7DvePOb9DE2NlbvCHXm6empdwQiIiIiItKIvZM8zgFwq1LqZgCFtp+jAWQ7LBnRZRgMgrkT/3/Sx7Ss5jXp44IFC/SOUGe7du3SOwIREREREWnE3gJDK6XUDtvjchERAJsBjHJMLCL7eJoMeOb+QBSVKMx/Kx0lpZyPoTG555579I5AREREREQasbfAcFZEQmyPjwO4GUAEgOb1J2NqkEKDnPHUBDMOJ5VgyXuc9LEx2bJli94RiIiIiIhII/YWGF4C0NP2eBGADwHsAvAvR4Qiqq1re5tw783e+HRXPjZ9m6d3HLJTcXGx3hGIiIiIiEgjdq0ioZSKq/R4k4j4A3BXSmU4LBlRLU0Y7oNjp0vw2oYsdAh2Ro9ObnpHosuIjo7WOwIREREREWnE3h4Mf6CUKmBxgRoao0Ewb1IAWpmdELssHWnZHMHT0K1cuVLvCEREREREpJEaCwwiklnpcamIlFTZSkWkpH5iEtnHOuljAIqKFWLjGv+kj7GxsRCRajcANR5rLEtYhoeH6x2BiIiIiIg0cqkeDAMqPe4OoEeVrWIfUYPSPtgFT44341BSCV5Z37gnfYyNjYVSqtoNQI3HGkuBgYiIiIiImo4aCwxKqWMAICJGAEsAJCmljlTd6isoUW1c18eEsTd645Mf8rGZkz42WAkJCXpHICIiIiIijVx2DgallAVAGABxfBwi7Uwc4YP+3dzw2vtZ+PUEVytoiCZOnKh3BCIiIiIi0oi9kzw+A+AVEWnpyDBEWqqY9LGFvxNi30pDOid9bHDWrl2rdwQiIiIiItKIvQWGNwBMBZBSacJHTvJIDZ6XyYB/3h+AgmKF2Lca/6SPTY2rq6veEYiIiIiISCP2Fhi6A7ga1qESFZM7cpJHahTaB7vgyXFmHDxVglc3ZF7+hGZGzwkhb731Vt1em4iIiIiItGVXgaG6yR05ySM1Jn/pa0L0jd7Y+n0+Nn+bq3ccTcyfP1+T6yxYsECT61yJdevW6fbaRERERESkLSd7G4rIMAB/ARCAShM+KqViHJCLSHOTRvjgeHIJXt2QhfbBLujesXF3z28KS1Fec801ekcgIiIiIiKN2NWDQUTmAFgLwB/AOAAWAHcA4Kx51GgYDYJ5kznpY0OSl8clRImIiIiImgp752CIAfA3pdQ0ACW2n7cBaOWwZEQOwEkfG5b9+/frHYGIiIiIiDRib4HBXym11/a4RESclVI/ABjqoFxEDtM+2AWzbZM+vvZ+lt5xmrWYGI6wIiIiIiJqKuwtMJwSkattjw8CmCwidwG4aO8LichNInJERI6LyFPVHHcVkfW247tFJNS2/wYRSRCR/baf11c6Z6ftmnttWwt781DzFtnXhHuGeWPLd3nY8h276eslLi5O7whERERERKQRewsMsfj/4RDzAPwdQByAWfacLCJGAEsB3AzrUpf3iEhYlWZTAGQppToBeAnAc7b96QBGKKV6AJgAYHWV88YqpXrbtgt23g8RJt/mg35hbnhlfSYOnCzWO45DxcbGQkSq3QDUeMzRE0mazWaHXp+IiIiIiOqPKOX4Megicg2AWKXUjbbncwBAKfWvSm222drsEhEnAOcABKpKAcX6bSgdQLBSqlhEdgJ4QikVb2+WiIgIFR9vd3Nq4nLyLZj23HmUlCr896lWMPsY9Y5U70QE9fH/gers378fPXr00OW1iahpEJEEpVSE3jmIiIjI/lUk3hOREbYv/leiNYDkSs/P2PZV20YpVQbr8Iuqf96MArBHKVX5z80rbMMj/i4Vf479c/4YEYkXkfi0tLQrvAVqirw9jPjn/QHILyxH7FtpKC3jpI/1aePGjXpHICIiIiIijdg7RCIRwCIA50XkTRH5Sy1fp7ov/lW/yV2yjYh0g3XYxP2Vjo+1DZ241raNq+7FlVJxSqkIpVREYGBgrYJT09ehtQtmj/PHgZOc9LG+RUZG6h2BiIiIiIg0YleBQSn1L6VUTwB/AZABa6+BZBF53s7XOQOgbaXnbQCk1NTG1lPCB0Cm7XkbAB8BGK+UOlEp11nbz1wAawH0tzMP0R9EhntgzA1e2PxtHrZ+z0kfr1Rt52xISan6vwEiIiIiImqs7O3BAABQSv2qlJoL4BYAhwDMtPPUnwF0FpH2IuICYAyATVXabIJ1EkcAuBPADqWUEhFfAFsBzFFKfV/RWEScRCTA9tgZwK0Afq3N/RBVNmWkLyKutk76ePBU05700VEWLFhQq/ZHjx51UBIiIiIiIqpvdhcYRKSNiDwhIgkAfoC1x8GN9pxrm1PhYQDbYC1MbFBKHRCRZ0TkNluztwGYReQ4gBkAKpayfBhAJwB/r7IcpSuAbSKyD8BeAGcBvGXv/RBVZTQInp5sRoCPEfPj0pF50aJ3pCYvJiZG7whERERERKQRu1aREJFvAfQB8AmAdQC2KqVKHJzNIbiKBF3OiTMleOQ/59GprQtemN4Czk7Vzh3aZMTGxmq2HGVtV6TQ8rWJqHniKhJEREQNh709GJYBCFJK3a2U+qixFheI7NGxjQueuNcfv54oxtJmMOmjnl/wg4KCdHttIiIiIiLSlr2TPL5jm0iRqFm4PsIDo//mhU3f5uETTvroMBERf/6jI3s0EBERERE1TrWa5JGoOZk60hfhV7lhyfpMJB4t0jtOk7R58+Y/7avtRJFERERERNQwsMBAVAOjUfD3KWYEBzjh6f+m4cQZjgwCrD0MRKTaDUCNx6rrmTBs2LB6Tk9ERERERI7CAgPRJXh7GPHcwy1gcjPgydcuIDW9TO9IuouNjYVSqtoNQI3HqiswcJlKIiIiIqKmo8YCg4gE27PVZ1giPbTwd8K/Hw5EaRkw+9ULyMrl8pVaSUpK0jsCERERERFp5FI9GM4ASLb9rGlLdnRAooagfbALFk0LRHq2BXOXpqGgqFzvSE1CTEyM3hGIiIiIiEgjlyowuAMw2X7WtJkcHZCooeje0RX/mBqAY2dKMD8uHaVlSu9IjV5cXJzeEYiIiIiISCM1FhiUUsX2bPUZlkhv1/RwxxNj/ZFwuAj/XpWB8nIWGa5ExUSRCxYsqPNEkURERERE1DBIxcRsl2wkYgAwFcBfAAQAkIpjSqlGNQ18RESEio+P1zsGNXLrtufgrY+zcUekJx66y+/3L8bNnYjAnv+nVPjhhx8waNCgOl2DiJo3EUlQSkXonYOIiIjsX0XiPwCeALAPwGAAXwLoAOAnB+UiatDG3OCFqOu98OHOPKzbnqN3nAZj/vz5tWq/fft2ByUhIiIiIqL6Zm+B4W4ANyqlngNgsf0cCWDQpU8jappEBNPu8MXQfiYs+99FfPpDnt6RGoTaDmEYMWKEY4IQEREREVG9s7fA4KmUOmV7XCgi7kqpAwDYJZGaLYNBMHucGRFXu+GFNZn4fl+B3pEaHQ5XIiIiIiJqOuwtMBwWkXDb418AzBWRJwCkOiYWUePg7CRYcF8AOoe44J9vZ+DXE5z3tDZSUx33vxBOCElEREREVL/sneRxEIASpVS8iFwN4C0AngBmKKV2ODijpjjJIzlCdq4Fj75wHtm5FiyZ2RLtg130jtQopKSkIDg4+A/7tJrkkZNFEjUPnOSRiIio4bC3B8MhpVQ8ACilDimlhiilesPam4Go2fP1MuL5R1rA1cWA2a+m4VxGmd6RGoW4uLg/7avtRJFERERERNQw2Ftg+K2G/Se1CkLU2LUyO+HfDwWiqKQcT752ARfzLHpHavC6dOnyp7xsLIgAACAASURBVH0c2kBERERE1DjZW2CQP+0Q8QBQrm0cosatYxsXLHwgEOcyyjD39TQUFvMjcilVh0cQEREREVHjdckCg4gcE5GjANxF5GjlDcBZAJ/US0qiRqRXZzf8fXIAjvxWggXL0lFm4TwANdm5c6feEYiIiIiISCNOlzn+MKy9Fz4E8Eil/QrAeaVUoqOCETVmQ3qb8Ng9/nhxbSaeX52Bp8abYTD8qSNQsxcVFaV3BCIi+r/27jtMzrLe//j7uzVl03toiQJBFClZPViJeAQ8UlTwSLCgck48HlEBpQhqNqg/y1FBBcvawBJAiSKgAmKMiiKyEQRFQMAgyYYUUjdls+X+/TETWJJtyc7Ms+X9uq65pjxlPs/NLDDfuYskSQXSbQ+GlNKtKaVbgH3zj3febrO4IHXvxJfX8M6TxnD7n7ZSf8OGrOP0S33twVBXV0dEdHoDutzmPA+SJElS4fV2DoaNEfHhiHggIjbm7z8cET31gJCGtLeeMJrXH1PDD2/fzHW/3JR1nH7nqaee6tPxdXV1pJQ6vQFdbrPAIEmSJBVebwsEnwLmABeRW1HiAOBiYDxwflGSSYNARPDeN41jw+Z2vv6TDYwbVcZxR9dkHavfmDdvXtYRJEmSJBVIb3swnA68LqV0Y0rpLymlG4GTgbnFiyYNDuVlwUVnTuDIWdV89vvr+ONft2Udqd+or6/POoIkSZKkAultgaECaN3ltVagvLBxpMGpqjK4dN4knrtPJZd+cy0P/LM560j9wmGHHZZ1BEmSJEkF0tsCw0+AGyLimIiYGRFzgEXkVpeQ1Asjh5fxqfdOZvyYci7+yhoeX9mSdaTM1dT0/+EiztcgSZIk9U5vCwwfBO4CfgD8A/ge0AB8qEi5pEFp/OhyPnP2JMrL4cIrVrNm/a4dg4aWO++8M+sIPVqwYEHWESRJkqQBodsCQ0TMBUgpbU8pXZBS2jelVJFS2i+ldH5KycHk0h7aZ1Iln37vZJq2tXPBFWvYtKUt60iZmTu3eNO4zJ8/v2jnliRJkrS7nnowfL0kKaQh5qD9qvj4uyfRuKaFj3xtLdt3tGcdKRM333xz0c7t0AZJkiSptHoqMERJUkhD0JGzhnHxOybyt8eaufSba2lrS1lHKrnmZie7lCRJkgaLih62l0fEq+im0JBSWlzYSNLQccxRI3h/0zi+eO16Pr9wHee/dTwRQ6eud8YZZ2QdQZIkSVKB9FRgqAa+RdcFhgQ8p6CJpCHmlFeOYv2mNr77802MH13Of50yNutIJXPVVVc5lEGSJEkaJHoaIrElpfSclNLMLm4WF6QCOPN1Yzjp5TUsvHUTixZvyjpOycyePTvrCEBuvoaI6PQGdLnN4ogkSZL0jJ56MEgqgYjg/aePY0NTG1dev4Gxo8p59YtGZh1ryKirq+uyWBARpDT05seQJEmS9pSTPEr9RHlZcMk7J3L4QdV85rtPcfcDg38V2KVLl2YdoSTs6SBJkqShIIbaL3O1tbWpoaEh6xhSl5q2tXPuZatYsaaVL3xgMofMqM46UtEsW7aMGTNmZB2jW4XowWAvCKl4ImJpSqk26xySJKnnHgySSqxmeBmffu9kxtaU8eGvrOGJVS1ZRyqahQsXZh1BkiRJUoFYYJD6oQljyvns+yYTwIVXrGbthtasIxVFdfXg7Z0hSZIkDTUWGKR+at/JlXzqvZPY2NTORVeuoWlre9aRCu7EE0/MOoIkSZKkArHAIPVjsw6oZsG8ifzryRY+8rU17GgZXOP4r7nmmqwj9Gj+/PlZR5AkSZIGBAsMUj9X+7zhXHTmBO57pJlPfHstbe2Dp8jwkpe8JOsIPXIFCEmSJKl3LDBIA8CxtSM5+03juOMv2/jitesHzYoETU1NWUcomLq6OiKi0xvQ5TYLGJIkSRosLDBIA8QbXzWKtxw/mpvvaOLqn23MOk5B3H///VlHKJi6ujpSSp3egC63WWCQJEnSYGGBQRpA3nXyGF77kpF89+eb+PGvN2cdp8/mzZuXdYQBw0KEJEmS+jsLDNIAEhGcd8Z4Xnb4cK740Xp+ePumrCP1SX19fdYRBowFCxZkHUGSJEnqlgUGaYApLw/m/9dEjjlqBF/78Qa+9/ONA3ZOhgkTJmQdQZIkSVKBVGQdQNKeqygPPvLOCVRXBt+5eSPbdyT+65QxT08oOFDMmTMn6wiSJEmSCsQeDNIAVV4eXPC28Zz08hquuW0TV/5o4K0usWjRoqwjSJIkSSoQezBIA1hZWXDO3HFUVQWLFm+muSVxztzxlJcNjJ4MQ6UHw/z587OOIEmSJBWdBQZpgIsI/vfUsQyrCn5wyyaaWxIXvm0C5eX9v8jQ2NiYdYSScAUISZIkDQUOkZAGgYjgrJPH8q6TxnD7n7by8W+vpaW1/w+XePjhh7OO0K/U1dUREZ3egC63WcCQJElSfxADbcx2X9XW1qaGhoasY0hFc/3iTXzl+g0c/YJh1P33JKoq+29PhsbGRqZPn551jAEhIvo8x0ZdXZ3FCA06EbE0pVSbdQ5JkmQPBmnQOe3Y0Zw7dxx//Ot2LvnqGrY1t2cdqUv19fVZRxhSFixYkHUESZIkDWIWGKRB6KRXjOKit4/nnoe2c9EVa9iyrX8WGaZNm5Z1BEmSJEkFYoFBGqSOO7qGj5w1kQf+2cyHvrSaTVvaso60m9paezVLkiRJg4UFBmkQm3PUCBbMm8hjK3Zw3uWrWb+5fxUZbrrppqwjSJIkSSqQkhUYIuKEiHgoIh6JiIs62V4dEdflt98VETPyr78mIpZGxP35+2M7HDM7//ojEfGl2DnVuqSnvfSFI/jkeyaxYnUr535hFWs3tGYd6WnHHXdc1hEkSZIkFUhJCgwRUQ5cCbwWOBSYGxGH7rLbWcD6lNKBwGXAZ/KvrwVOSikdBpwJfK/DMV8F5gEH5W8nFO0ipAGs9nnD+fTZk1izoY1zLlvNk0/1jyKDy1T23vz587OOIEmSJHWrVD0YXgw8klJ6LKW0A7gWOGWXfU4Brs4/vh54dURESumelFJj/vW/AcPyvR2mAaNTSnem3Npt3wVeX/xLkQamww8axufeP5lNTW2c84VVrFjdknUkli1blnWEAaO3y0vW1dUREZ3egC63uXylJEmS+qpUBYZ9gCc6PF+ef63TfVJKrcBGYMIu+5wK3JNSas7vv7yHcwIQEfMioiEiGtasWbPXFyENdM+bWc3nz5lCc0vinMtWs2xltkWGefPmZfr+g1FdXR0ppU5vQJfb9qSAIUmSJHWmVAWGzuZGSHuyT0Q8n9ywiXfvwTlzL6ZUn1KqTSnVTpo0qRdxpcHroP2q+MI5k0kpce5lq3jkiR2ZZamvr8/svbV3FixYkHUESZIk9VOlKjAsB/br8HxfoLGrfSKiAhgDrMs/3xf4CfD2lNKjHfbft4dzSurEzOlVXH7eFKorg/MuX8W9D2/PJMeMGTMyeV9JkiRJhVeqAsPdwEERMTMiqoDTgRt32edGcpM4ApwGLE4ppYgYC/wM+HBK6fc7d04prQQ2R8TR+dUj3g78tNgXIg0W+06u5PLzpjBhTDkXfHk1t9zZVPIMBx98cMnfU5IkSVJxlKTAkJ9T4WzgVuDvwA9TSn+LiEsj4uT8bt8CJkTEI8B5wM6lLM8GDgQ+GhH35m+T89veA3wTeAR4FPhFKa5HGiymTqjgyx+aygsPrOaz31vHt366gfb2TkcaFcVtt91WsveSJEmSVFyxc+KvoaK2tjY1NDRkHUPqV1rbEpdfu46f/34Lc44awYVvH091VfHrj0uXLmX27NlFfx/lRAR9/Xd+Ic4hFVJELE0p1WadQ5IklW6IhKR+rKI8+OAZ45n3hrEs+fNWPvjF1azf3Fb097XYV1rz58/POoIkSZIGMQsMkoDcL9Onv2Y0df89kUeXt/Dezz5Z9GUsV65cWdTz69n2ZCnKiOj0BnS5rTfnd5lLSZKkwcshEpJ28+CyZj7ytTU070jUzZvE7EOGFeV9GhsbmT59elHOreLo6xAJh1io0BwiIUlS/2EPBkm7OWRGNVdeMJUp4yu48IrV3HxHcVaYqK+vL8p5JUmSJJWeBQZJnZoyvoIvfnAKtYcM4wsL1/H1H68v+AoTLlMpSZIkDR4WGCR1aeTwMj75nkmc/Ioarrt9M3XfWMv2He0FO7/DIyRJkqTBwwKDpG6VlwcfOH0c/3vaWH5/3zbO/cJqntpYmBUmlixZUpDzSJIkScqeBQZJPYoITjt2NJe+eyKPP5lbYeKxFTv6fN5TTz21AOkkSZIk9QcWGCT12steOILLz5tCWzu8//Or+NPftvXpfPZgGHjmz5/f4z7FXOZSkiRJ/ZfLVEraY2vWt3LJV9fw2IoW3vef4zjlmFF7dZ66ujq/VA4xLlOpQnOZSkmS+g97MEjaY5PGVfDF86bw4ucP44vXrefK69fTthcrTMybN68I6SRJkiRlwQKDpL0yfFgZH/+fSbzxVaNYtHgzH/v6WrZu37MVJurr64uUTpIkSVKpWWCQtNfKy4Kz3zSO9795HHf9dRvv/tST/OOJ3k/+eNhhhxUxnSRJkqRSssAgqc9ef8wovnDuZJpbEmf/35Pc8JvNvRpnX1NTU4J0kiRJkkrBAoOkgnjhgcP4xsVTOWrWML503XrqvrGWpq3dD5m48847S5ROkiRJUrFZYJBUMGNqyvnkeybx7jeM5Q/3bWPep1by92XNXe4/d+7cEqZTf9CbZS6LzZVLJEmSisMCg6SCKisL3vya0Xzxg1NICd7/uVX86FebOh0ycfPNN2eQUFnqD1/uFyxYkHUESZKkQckCg6SiOHRmNfUXT+Pow4bz1UUbuOSra9jY1PasfZqbu+7dIEmSJGlgscAgqWhGjSjj0nkTOftN41j64Hbm/b8n+eujzxQVzjjjjAzTSZIkSSokCwySiioieOOrRvHlD02lsjI457JVLLxlI+3tiauuuirreJIkSZIKpCLrAJKGhoP3r+LrF03lCwvX8c0bN3LvP5o58tAjso4lSZIkqUDswSCpZEYOL+Mj75rAeWeM575HmvnyD9dzz0Pbs44lSZIkqQAsMEgqqYjgxJfXcOX5U9iy9q+c/6XVXP2zjbS1777KhLS36urqiIhOb0CX2/rDKheSJEkDVXS2dNxgVltbmxoaGrKOIQl48KHHuOGPY7jtri0ccVA1F79zAhPHOnJLxRURnS6bqoEpIpamlGqzziFJkuzBIClDP150LRedOYEL3z6eBx/fwbz/9yR3P7At61iSJEmS9oIFBkmZqa6uBuD4o2v46oVTGTe6nAuvWMNl16yjaWt7xukkSZIk7QkLDJIyc+KJJz79+IBplXzlgimcduwofnZHE+/8+Ep+e89Wu7JLkiRJA4QFBkmZueaaa571vLqqjP89bRxfuXAq40aXUfeNtXz062tZva41o4RS4TmRpCRJGqyc5FFSZm699VaOP/74Tre1tSWuX7yZq27eSFkZnHXyWE45pobysihxSg02WU/ymPX7DzZO8ihJUv9hDwZJmWlqaupyW3l58ObXjObbH53GC55bzRU/Ws/7PreKR5fvKGFCDUbz58/POoIkSdKgZIFBUmbuv//+HveZNrGCT793Epe8cwJPrm3lfz79JN+4YQPNO5wEUnvHIQqSJEnF4RAJSZlpbGxk+vTpvd5/05Y2vv7jDfzizi1Mn1TBuXPHM/uQYUVMKBWeQyQKyyESkiT1H/ZgkJSZ+vr6Pdp/9Mhyzn/bBD7/gcmUBZz/pdV8+uqn2NjUVqSEkiRJknrLAoOkzEyYMGGvjjty1jC+eck03vra0fzq7i2cuWAlt921xV+FJUmSpAxZYJCUmTlz5uz1sVWVwbtOGkv9xVPZd3IFn776KS748hpWrGkpXEBpL9XV1RERnd6ALrc5P4QkSRrInINBUmbq6uoK8oWqvT1x0x1NfOOGDbS2wZmvG8ObXj2KinKXtFT/4xwMheUcDJIk9R/2YJCUmb70YOiorCw45ZWj+M7HpvFvzx/GN27YwLs/9SR33r/NL3KSJElSiVhgkJSZxsbGgp5v0tgKFsybxKXzJtLckrjkq2v4wBdW85d/bC/o+0iSJEnaXUXWASQNXQ8//HBRzvvyI0Zw9GHD+cUfmvjuzzdx7mWrefGhwzjrlLEctF9VUd5TkiRJGuqcg0FSZhobG5k+fXpR36N5Rzs/+U0T1962iU1b2plz1AjeedIY9ptSWdT3lbriHAyF5RwMkiT1Hw6RkJSZ+vr6or9HdVUZp79mNN+/dDpvfe1o/vi3bbzz4yv53A+eYs361qK/vyRJkjRUOERCUmamTZtWsveqGV7Gu04ay+uPGcXCWzZy0x1N/PKuLbz+mFGccfxoxtSUlyyLhrb58+dnHUGSJKko7MEgKTO1taXv1Tx+dDln/+d4rp4/nVe/aCSLFm/mLR9r5OqfbWTr9vaS59HQU4ilWQeaoXjNkiQNRRYYJGXmpptuyuy9p06o4IK3TeBbH5nG7EOGcfXPNvKWjzXyo19tYkeL4+OlQlqwYEHWESRJUglYYJCUmeOOOy7rCBwwrZIF8ybxlQumcOC+VXx10QbeXtfIz3/fRFubhQZJkiSptywwSMpMsZap3BuHzKjm/94/mc99YDLjx5TzuR+s412fWMktdzbZo0GSJEnqBQsMkjKzbNmyrCPs5qhZw7jy/Cl8/N0TqSwPPvu9dZx+yQq+fdMG1m5w1QlJkiSpKzHU1uKura1NDQ0NWceQBDQ2NjJ9+vSsY3QppcQ9Dzfzk19v5g/3b6Ms4JVHjeCNc0Zx6MwqIiLriNKAEBEU6/83ImJpSqn0M8ZKkqTduEylpMzU19f369nlI4KjZg3jqFnDaFzbyk9/s5mf/6GJXzdsZdYBVbxxziiOOWoEVZUWGiRJkiSHSEjKzIwZM7KO0GvTJ1bwnlPH8cNP7sMHTh/Htu3tfOrqp5j70RVc/bONrNvYlnVEKVN1dXVERKc3oMtt/bnIKEmS9oxDJCRl5g9/+AMvfelLs46xV9rbE0sf3M5Plmzmj3/dTkU5zJmdGz5xyIzqrONJ/YpDJCRJGhocIiEpM7fddtuALTCUlQUvOnQ4Lzp0OMtXt3DDks3c8sct3P6nrRw6s4o35IdPVJQ7fEKSJElDgz0YJGVm6dKlzJ49O+sYBbNlWzu3/nELN/xmM8tXtzJhTDknv7KG172shvGjy7OOJ2XGHgySJA0N9mCQlJmGhoZBVWAYObyMN75qFK8/poY/PZAbPvGdmzZy9c82ctSsYbyqdgSvOHwENSOc/kaSJEmDjwUGSZlZuXJl1hGKoqwsOPoFwzn6BcP516oWfnnXFhY3bOX/vreOy69Zx4sOHc6xtSN4yWHDGV5tsUGSJEmDg0MkJGWmsbGR6dOnZx2jJFJKPPT4Dn69dCu/XrqVtRvaGFYVvOSw4bxq9ghe/PzhLnepQcshEpIkDQ0l++ksIk6IiIci4pGIuKiT7dURcV1++10RMSP/+oSI+HVENEXEFbscsyR/znvzt8mluRpJhVBfX591hJKJCA6ZUc17Th3HtZ+YzmXnTua4fxvJnx/azsfq13LqRcv5zHef4u4HttHaNrQKvxr85s+fn3UESZJUAiUZIhER5cCVwGuA5cDdEXFjSumBDrudBaxPKR0YEacDnwHeDGwHPgq8IH/b1VtSSnZJkAaggw8+OOsImSgrCw4/aBiHHzSM9/3nOP780HYWN2zljnu3cusftzCmpoxjjhzBq2pHcNhzqykrs2eDBra6urqsI0iSpBIo1RwMLwYeSSk9BhAR1wKnAB0LDKcAdfnH1wNXRESklLYAd0TEgSXKKqlEhsrwiO6Ulz+z3OW5c8dz9wPbWLx0K7fdtYUbf9fExLHlzDlqBMccNYJDDqii3GUvJUmS1E+VqsCwD/BEh+fLgX/rap+UUmtEbAQmAGt7OPd3IqINWAR8InUyyDMi5gHzAPbff/+9ugBJhbdkyRLmzJmTdYx+o6oyeNnhI3jZ4SPY1tzOnfdv49cNW/npbzdz/eLNjBweHDVrGLMPGcbs5w1jn0mVWUeWJEmSnlaqAkNnP7ntWgjozT67ektKaUVEjCJXYHgb8N3dTpJSPVAPuUkee44rqRROPfXUrCP0W8Oryzi2diTH1o6kaWs7DX/fRsPft9Pw4HZ+d+82AKZNrKA2X2w4ctYwRrn8pSRJkjJUqgLDcmC/Ds/3BRq72Gd5RFQAY4B13Z00pbQif785IhaSG4qxW4FBUv+0ZMkSDjvssKxj9Hs1I8qYM3skc2aPJKXE8tWtNPx9O0sf3M6vGrZw0x1NlAXMOqCK2c/L9XA4dGY1lRUOp5AkSVLplKrAcDdwUETMBFYApwNn7LLPjcCZwJ3AacDizoY77JQvQoxNKa2NiErgROD2YoSXVBxPPfVU1hEGnIhgvymV7DelkjfMGUVrW+Lv/2xm6YPbafj7dhbesonv/2ITw6uDww+qpvZ5w5l9yDD2n1pBhAUHSZIkFU8Ua13q3d4o4j+Ay4Fy4NsppU9GxKVAQ0rpxogYBnwPOJJcz4XTO0wKuQwYDVQBG4DjgMeB3wKV+XPeDpyXUmrrLkdtbW1qaHDRCak/aGxsdKLHAmva2s49D29naX44ReOaVgAmjS3n8IOrOeSAag6ZUcWB+1ZRVWnBQQNfRCxNKdVmnUOSJJWwwNBfWGCQ+o+6ujqXryuylWtb870btvHXR5tZt6kdgPIymLlPJYccUM2sA6o45IAqZkyrdJUKDTgWGCRJ6j9KNURCknbj/AvFN21iBSe+vIYTX15DSom1G9p48PEdPJS//XrpFm6+owmA6srgoP2rni44zDqgin0mObRCkiRJvWOBQVJmampqso4wpEQEk8ZVMGlcBa84YgQA7e2JFWtaeejxHfnCQzM3/a6JRYtzvdtqhgezDqh+uuAwc59Kpk6ooLzMooMkSZKezQKDpMzceeedHH/88VnHGNLKyp6ZNPLfXzwSgLa2xLKVLfx9Wa7g8NDjO7jml5toz42uoLIC9plUyf5TK9hvciX7Ta1kvykV7DelkprhLpUpSZI0VFlgkJSZuXPnZh1BnSgvD567bxXP3beKE1+e62XSvKOdR1e08PjKFv71ZAv/WtXKYytauOMv254uPACMH13G/vmCxX5Tc0WH/adUMnl8ub0eJEmSBjkLDJIyc/PNNzNr1qysY6gXqqvKOHRmNYfOrH7W6y2tiZVrW/nXky08sTp/v6qFJX/eyuatz1QeKitgv8mV7DO5gvGjyxk/upxxo8sZN7qM8aNyj8ePLndlC0mSpAHMAoOkzDQ3N2cdQX1UWRHsP7WS/adWPuv1lBIbmtp5YlUL/3qylSdW5QoPj69s4d6Hm59VfOho5PBg3KhnChDjR5d1+nzc6HIqKyxGSJIk9ScWGCRl5owzzsg6gookIlcoGDeqnBceuPv2HS2JDZvbWLepjfWb21m/aefjNtZtyj1/dPkOGja3sWVb58spjxpR9kzBYUx5vhBR9nRviJ3Px44qp8LlN3ulrT2xoyXR0pq739Ga+2f19K31mcctrbs832X7jlaePs+EMeX872njsr48SZJUZBYYJGXmqquuoq6uLusYykBVZTB5fAWTx/f8n6HmHe3PFCE2t7F+0+4FiYcf38G6TW1sa+68GDGmZmfPhzJGVJdRVRlUVkT+HqoqgsrKyN1XPLOtqoJd9u1w//QxdNg/KN/LYkZKidY2dvsiv/N5yy5f3nfb3vG4nc87+9K/22vPPG7rvGPJHqnMt9nO9qiqDFpaK3s+UJIkDXgWGCRlZvbs2VlH0ABQXVXG1AllTJ3Q83+ytjW3P7tHxKZneknsfL6xqfVZv8C3dPi1PXVen9gjZWU8XajYtYBRUR60tXXWGwB2FOD9y+KZL/dPFz06FEqqKoORw55dYKnquN+uzzsWT3bZVrnbvkFFeW5lEkmSNDRZYJAkDRrDq8sYXl3G9Il7/p+3nT0IdvYUaOnYG6CV3XoS7H7Ps3sStO6yrSXR2paoKN/9S3+nX/Y7edxZ74COj/e294QkSVIhWGCQlJmlS5dy0kknZR1DAnLzRlTmf7EfMSzrNJIkSQNPWdYBJA1d73jHO7KOIEmSJKlALDBIyszChQuzjiBJkiSpQCwwSMpMdXV11hEkSZIkFYgFBkmZOfHEE7OOIEmSJKlALDBIysw111yTdQRJkiRJBWKBQVJmXvKSl2QdQZIkSVKBWGCQlJmmpqasI0iSJEkqEAsMkjJz//33Zx1BkiRJUoFYYJCUmXnz5mUdQZIkSVKBWGCQlJn6+vqsI0iSJEkqEAsMkjIzYcKErCNIkiRJKhALDJIyM2fOnKwjSJIkSSoQCwySMrNo0aKsI0iSJEkqkEgpZZ2hpCJiDfB4L3efCKwtYpzBwDbqnu3TPdune7ZPz2yj7g2F9jkgpTQp6xCSJGkIFhj2REQ0pJRqs87Rn9lG3bN9umf7dM/26Zlt1D3bR5IklZJDJCRJkiRJUp9ZYJAkSZIkSX1mgaF79VkHGABso+7ZPt2zfbpn+/TMNuqe7SNJkkrGORgkSZIkSVKf2YNBkiRJkiT12ZAvMETE+Ij4ZUT8I38/rov9bomIDRFx8y6vXxUR/4yIe/O3I0qTvDQK0D4zI+Ku/PHXRURVaZKXzh600Zn5ff4REWd2eH1JRDzU4TM0uXTpiyciTshf1yMRcVEn26vzn4lH8p+RGR22fTj/+kMRcXwpc5fK3rZPRMyIiG0dPi9fK3X2UuhF+7wyIv4cEa0Rcdou2zr9WxtM+tg+bR0+PzeWLrUkSRrshnyBAbgI+FVK6SDgV/nnnfk/4G1dbDs/pXRE/nZvMUJmqK/t8xngsvzx64GzipIyWz22UUSMB+YD/wa8GJi/SyHiLR0+Q6tLEbqYIqIcuBJ4LXAoMDciDt1lt7OAkBST7gAACl5JREFU9SmlA4HLyH1WyO93OvB84ATgK/nzDRp9aZ+8Rzt8Xv6nJKFLqJft8y/gHcDCXY7t6W9twOtL++Rt6/D5ObmoYSVJ0pBigQFOAa7OP74aeH1nO6WUfgVsLlWofmSv2yciAjgWuL6n4we43rTR8cAvU0rrUkrrgV+S+/I8WL0YeCSl9FhKaQdwLbl26qhju10PvDr/mTkFuDal1JxS+ifwSP58g0lf2mco6LF9UkrLUkr3Ae27HDsU/tb60j6SJElFY4EBpqSUVgLk7/eme/onI+K+iLgsIqoLGy9zfWmfCcCGlFJr/vlyYJ8C5+sPetNG+wBPdHi+a1t8J99d+aOD5EtkT9f7rH3yn5GN5D4zvTl2oOtL+wDMjIh7IuI3EfGKYofNQF8+A35+ejYsIhoi4o8RMRiLvpIkKSMVWQcohYi4HZjayaZLCnD6DwNPAlXklgO7ELi0AOctmSK2T2dflAfksiUFaKPu2uItKaUVETEKWERuqMl39zxlv9Kbf/Zd7TNoPjfd6Ev7rAT2Tyk9FRGzgRsi4vkppU2FDpmhvnwG/Pz0bP+UUmNEPAdYHBH3p5QeLVA2SZI0hA2JAkNK6d+72hYRqyJiWkppZURMA/Zo/PvOX66B5oj4DvChPkTNRBHbZy0wNiIq8r/A7gs09jFuJgrQRsuBOR2e7wssyZ97Rf5+c0QsJNf9eaAXGJYD+3V43tk/+537LI+ICmAMsK6Xxw50e90+Kbe2cDNASmlpRDwKHAw0FD116fTlM9Dl39og0qe/kZRSY/7+sYhYAhwJWGCQJEl95hAJuBHYOcv4mcBP9+Tg/BfKnfMNvB74a0HTZW+v2yf/RejXwM4ZzPe4fQeI3rTRrcBxETEuP+HcccCtEVERERMBIqISOJHB8Rm6GzgocquIVJGbtHHX2eo7tttpwOL8Z+ZG4PT8KgozgYOAP5Uod6nsdftExKSdk17mf4E+CHisRLlLpTft05VO/9aKlDMre90++Xapzj+eCLwMeKBoSSVJ0pASuf+fH7oiYgLwQ2B/crNuvymltC4iaoH/SSn9V36/3wGHADXAU8BZKaVbI2IxMIlcl9V788c0ZXApRVGA9nkOuQnIxgP3AG9NKTVncClFswdt9C7g4vxhn0wpfSciRgK/BSqBcuB24LyUUlupr6PQIuI/gMvJXde3U0qfjIhLgYaU0o0RMQz4HrlfT9cBp6eUHssfewnwLqAVOCel9ItMLqKI9rZ9IuJUcsOwWoE2YH5K6aZsrqJ4etE+LwJ+AowDtgNPppSenz92t7+10l9Bce1t+0TES4Gvk5v8sQy4PKX0rWyuQpIkDTZDvsAgSZIkSZL6ziESkiRJkiSpzywwSJIkSZKkPrPAIEmSJEmS+swCgyRJkiRJ6jMLDJIkSZIkqc8sMEiSJEmSpD6zwCBJkiRJkvrMAoM0gETEsoj49yKcd1ZE3BMRmyPi/YU+fyFFxFUR8YmscwxkEfFERByZdQ5JkiQNLhVZB5DUL1wALEkp+aVzkIuIccA04O9ZZ5EkSdLgYg8GSQAHAH/bmwMjoiiFymKdVxwGPJJS2p51EEmSJA0uFhikASoinhcRSyJiQ0T8LSJO7rDtqA5DHn4UEdd1NawgIhYDrwKuiIimiDi4u3Pnj1kWERdGxH3Aloj474i4qcP2RyLihx2ePxERR0TERRHxaD7XAxHxhh7OWxERR0bEn/PHXAcM66ZNlkXE+RFxX0RsiYhvRcSUiPhF/vjb87/g96YNl0XEh/Ln2phvw2Edtk+PiEURsSYi/rlzaEn+/RftkuvLEXF5X86b33ZhRKzIX8tDEfHq3mzbxQuBv+aPGRERCyPixxFR01W7SpIkSb1hgUEagCKiErgJuA2YDLwP+EF+LoUq4CfAVcB44BrgDV2cipTSscDvgLNTSjXAP7s69y6HzgVeB4wFfgW8IiLKImIaUAm8LJ/1OUANcB/wKPAKYAywAPh+fv+uzlsG3AB8L38tPwJO7aF5TgVeAxwMnAT8ArgYmJg/385CQJdt2OFc/wmcAMwk98X8Hfljy/LH/gXYB3g1cE5EHA98HzghIsbm960A3py/hr0+bz7X2cCLUkqjgOOBZfnjutzWiRcC90fETOAO4CHg1JRSU/fNKkmSJHXPAoM0MB1N7kv7p1NKO1JKi4GbyX05P5rc/CpfSim1pJR+DPypQOfu6EsppSdSSttSSo8Bm4EjgGOAW4EVEXFI/vnvUkrtKaUfpZQa84+vA/4BvLir8+azVAKX56/leuDuHvJ/OaW0KqW0glzh5K6U0j0ppWZyhZed80z05jq/lM+7jtwX/yPyr78ImJRSujR/7GPAN4DTU0orgd8Cb8rvewKwNqW0tC/nBdqAauDQiKhMKS1LKT2aP667bbs6jNwcDIuBBSmlBSml1EObSpIkST2ywCANTNOBJ1JK7R1ee5zcr97TgRW7fGl8YueDiHhLfihEU0T8Yg/P3dETuzz/DTAHeGX+8RJyxYVj8s+JiLdHxL35IQkbgBeQ61nQ1Xk7u5bHO8nc0aoOj7d18nznUIDeXOeTHR5v7XDsAcD0ndeRv5aLgSn57VcDb80/fivP7r2wV+dNKT0CnAPUAasj4tqImA7Q3baOIiLItfkbgK+llH666z6SJEnS3rLAIA1MjcB++S71O+0PrABWAvvkv0zutN/OBymlH6SUavK31+7huTva9VfvnQWGV+Qf/4YOBYaIOIDcr/FnAxNSSmPJzQUQu5yn43k7u5b9O8m8N3p7nZ15AvhnSmlsh9uolNJ/5LffALwwIl4AnAj8oJeZuj1vSmlhSunl5AoRCfjMzgO729bBzPz9vwMfjIjaXuaSJEmSemSBQRqY7gK2ABdERGVEzCE338C1wJ3kusyfnZ8k8RR2H4awt+fuzm/ITRY5PKW0nNzwhBOACcA9wEhyX3zXAETEO8n9mt6dO4FW4P35a3njHl5Ld/b2OiE35GRTfmLF4RFRHhEviIgXAeRXaLgeWAj8KaX0r15m6vK8+fk1jo2IamA7ud4YbZCbg6Grbbt4IXBfSul+YB7wk07mwJAkSZL2igUGaQBKKe0ATgZeC6wFvgK8PaX0YH7bG4GzgA3kuujfDDT39dw9HPcw0ESusEBKaRPwGPD7lFJbSukB4PPkigaryM0F8PteZHkjuUkQ15ObLPHHvbmOnuztdeaPbSNXjDiC3KSYa4Fvkpu8cqeryV3jrsMj9va81cCn8689SW5iyovzh3a3raPDyE22SUrpBqAeuKHjKhaSJEnS3grn9pIGv4i4i9yY++9knWWoiIj9gQeBqfliiyRJkjSo2YNBGoQi4piImJofVnAmua7xt2Sda6jIz+twHnCtxQVJkiQNFRVZB5BUFLOAH5JbneBR4LT88okqsogYSW4IyOPk5qCQJEmShgSHSEiSJEmSpD5ziIQkSZIkSeozCwySJEmSJKnPLDBIkiRJkqQ+s8AgSZIkSZL6zAKDJEmSJEnqMwsMkiRJkiSpzywwSJIkSZKkPrPAIEmSJEmS+uz/A4XqvM4a1GfIAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "## Recall that our vector of market values for log-forward moneyness: mkt_log_mon\n", "## has been defined above\n", "\n", "################################\n", "## Plot of initial SVI guess\n", "################################\n", "plt.figure(figsize=(9,6))\n", "\n", "total_variances_init = SVI(mkt_log_mon , a_init, b_init, rho_init, k_bar_init, sig_init)\n", "\n", "plt.plot(mkt_log_mon, total_variances_init,\n", " color='royalblue', linewidth=1.5, \n", " label=r\"$a$=%1.2f, $b$=%1.2f, $\\rho$=%1.2f, $k_{bar}$=%1.2f, $\\sigma$=%1.2f\" %(a_init,b_init,rho_init,k_bar_init,sig_init))\n", "\n", "plt.plot(mkt_log_mon, mkt_tot_variance,\n", " color='black', linewidth=0., marker=\"+\", markersize=14, label=\"Market total variance\")\n", "\n", "plt.axvline(0., linestyle=\"--\", linewidth=0.5, color=\"k\")\n", "\n", "plt.xlabel(r\"log-forward moneyness $k$\", fontsize=12)\n", "plt.ylabel(\"Total variance\", fontsize=12)\n", "plt.title(r\"Initial SVI guess\", fontsize=15)\n", "\n", "plt.legend(loc=9, fontsize=13, bbox_to_anchor=(1.6, 1.0), ncol=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### $\\blacktriangleright$ TO DO: run the function least_squares from scipy.optimize" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "`gtol` termination condition is satisfied.\n", "Function evaluations 76, initial cost 2.0068e-04, final cost 8.4088e-08, first-order optimality 8.91e-11.\n" ] } ], "source": [ "################################################\n", "## The bounds we impose on the SVI parameters\n", "## \n", "## Reminder: the order is a, b , rho, k_bar, sig\n", "################################################\n", "lower = np.array([0., 0., -1., -0.5, 0.])\n", "\n", "upper = np.array([np.max(mkt_tot_variance), 2., 1., 0.5, 1.])\n", "\n", "SVI_param_bounds = (lower, upper)\n", "\n", "theta_init = np.array([a_init, b_init, rho_init, k_bar_init, sig_init])\n", "\n", "###################################################################\n", "## TO DO: apply the least squares method\n", "## \n", "## - to the objective function to be minimized\n", "## - using theta_init as the starting point for the search\n", "## - imposing the bounds we defined above\n", "###################################################################\n", "\n", "result = opt.least_squares(fun = fct_least_squares ,\n", " x0 = theta_init , \n", " bounds = SVI_param_bounds ,\n", " args = (mkt_log_mon, mkt_tot_variance), #additional arguments for the LS objective\n", " verbose = 1)\n", "\n", "## The optimized parameters\n", "a_star, b_star, rho_star, k_bar_star, sig_star = result.x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\blacktriangleright$ Have a look at our SVI fit of implied variance:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#######################################\n", "## Plot of SVI fit from least squares\n", "##\n", "## TO DO: complete with the plot of the\n", "## calibrated SVI and the market implied \n", "## variances for comparison\n", "#######################################\n", "\n", "total_variances_fit = SVI_two_arguments(result.x, mkt_log_mon)\n", "\n", "\n", "plt.figure(figsize=(9,6))\n", "\n", "plt.plot(mkt_log_mon, total_variances_fit,\n", " color='royalblue', linewidth=1.5, \n", " label=r\"$a$=%1.2f, $b$=%1.2f, $\\rho$=%1.2f, $k_{bar}$=%1.2f, $\\sigma$=%1.2f\" %(a_star, b_star, rho_star, k_bar_star, sig_star))\n", "\n", "plt.plot(mkt_log_mon, mkt_tot_variance ,\n", " color='black', linewidth=0., marker=\"+\", markersize=14, label=\"Market total variance\")\n", "\n", "\n", "plt.axvline(0., linestyle=\"--\", linewidth=0.5, color=\"k\")\n", "\n", "plt.xlabel(r\"log-forward moneyness $k$\", fontsize=12)\n", "plt.ylabel(\"Total variance\", fontsize=12)\n", "plt.title(r\"SVI fit from least-squares\", fontsize=15)\n", "\n", "plt.legend(loc=9, fontsize=12, bbox_to_anchor=(1.6, 1.0), ncol=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### How does the result look like?\n", "\n", "The fit of implied volatility:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#####################################\n", "## Plot of SVI fit of implied vol\n", "#####################################\n", "implied_vols_fit = np.sqrt( total_variances_fit / maturity )\n", "\n", "plt.figure(figsize=(9,6))\n", "\n", "plt.plot(mkt_log_mon, implied_vols_fit ,\n", " color='royalblue', linewidth=1.5, \n", " label=r\"$a$=%1.2f, $b$=%1.2f, $\\rho$=%1.2f, $k_{bar}$=%1.2f, $\\sigma$=%1.2f\" %(a_star, b_star, rho_star, k_bar_star, sig_star))\n", "\n", "plt.plot(mkt_log_mon, vols_calls ,\n", " color='black', linewidth=0., marker=\"+\", markersize=14, label=\"Market implied volatility\")\n", "\n", "plt.axvline(0., linestyle=\"--\", linewidth=0.5, color=\"k\")\n", "\n", "plt.xlabel(r\"log-forward moneyness $k$\", fontsize=12)\n", "plt.ylabel(\"Implied vol\", fontsize=12)\n", "plt.title(r\"SVI fit of implied volatility\", fontsize=15)\n", "\n", "plt.legend(loc=9, fontsize=12, bbox_to_anchor=(1.6, 1.0), ncol=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### $\\blacktriangleright$ Delayed option quotes on the SP500 index\n", "\n", "can be downloaded freely from the the [CBOE quotes platform](http://www.cboe.com/delayedquote/quote-table) (index symbol: SPX).\n", "\n", "You can download option quotes for different maturities (the standard monthly maturity for the SPX option market being the third Friday of each month) and try the same SVI calibration as above.\n" ] } ], "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.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }