{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "*This notebook contains course material from [CBE40455](https://jckantor.github.io/CBE40455) by\n", "Jeffrey Kantor (jeff at nd.edu); the content is available [on Github](https://github.com/jckantor/CBE40455.git).\n", "The text is released under the [CC-BY-NC-ND-4.0 license](https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode),\n", "and code is released under the [MIT license](https://opensource.org/licenses/MIT).*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Portfolio Optimization](http://nbviewer.jupyter.org/github/jckantor/CBE40455/blob/master/notebooks/07.07-MAD-Portfolio-Optimization.ipynb) | [Contents](toc.ipynb) | [Log-Optimal Portfolios](http://nbviewer.jupyter.org/github/jckantor/CBE40455/blob/master/notebooks/07.09-Log-Optimal-Portfolios.ipynb) >

\"Open

\"Download\"" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "HedPhu1-uqXL" }, "source": [ "# Log-Optimal Growth and the Kelly Criterion" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "Jc08h8eGuqXL" }, "source": [ "This [IPython notebook](http://ipython.org/notebook.html) demonstrates the Kelly criterion and other phenomena associated with log-optimal growth." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "LN9Xm4q0uqXM" }, "source": [ "## Initializations" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": {}, "colab_type": "code", "id": "udCWC5J-uqXN" }, "outputs": [], "source": [ "%matplotlib notebook\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import random" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "ui0RvOnxuqXQ" }, "source": [ "## What are the Issues in Managing for Optimal Growth?" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "Y0tFvIxuuqXQ" }, "source": [ "Consider a continuing 'investment opportunity' for which, at each stage, an invested dollar will yield either two dollars with probability $p$ or nothing with probability $1-p$. You can think of this as a gambling game if you like, or as sequence of business investment decisions.\n", "\n", "![Kelly_Criterion_Fig1](https://github.com/jckantor/CBE40455/blob/master/notebooks/figures/Kelly_Criterion_Fig1.png?raw=true)\n", "\n", "Let $W_k$ be the wealth after $k$ stages in this sequence of decisions. At each stage $k$ there will be an associated return $R_k$ so that\n", "\n", "$$W_k = R_k W_{k-1}$$\n", "\n", "Starting with a wealth $W_0$, after $k$ stages our wealth will be\n", "\n", "$$W_k = R_kR_{k-1}\\cdots R_2R_1W_0$$\n", "\n", "Now let's consider a specific investment strategy. To avoid risking total loss of wealth in a single stage, we'll consider a strategy where we invest a fraction $\\alpha$ of our remaining wealth, and retain a fraction $1-\\alpha$ for future use. Under this strategy, the return $R_k$ is given by\n", "\n", "$$R_k = \\begin{cases} 1+\\alpha & \\mbox{with probability}\\quad p \\\\ 1-\\alpha & \\mbox{with probability}\\quad 1-p\\end{cases}$$\n", "\n", "How should we pick $\\alpha$? A small value means that wealth will grow slowly. A large value will risk more of our wealth in each trial." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "d4wl2IfsuqXR" }, "source": [ "## Why Maximizing Expected Wealth is a Bad Idea" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "e7ioaVPZuqXS" }, "source": [ "At first glance, maximizing expected wealth seems like a reasonable investment objective. Suppose after $k$ stages we have witnessed $u$ profitable outcomes (i.e., 'wins'), and $k-u$ outcomes showing a loss. The remaining wealth will be given by\n", "\n", "$$W_k/W_0 = (1+\\alpha)^u(1-\\alpha)^{k-u}$$\n", "\n", "The binomial distribution gives the probability of observing $u$ 'wins' in $k$ trials\n", "\n", "$$Pr(u \\mbox{ wins in } k \\mbox{ trials}) = {k\\choose{u}}p^u (1-p)^{k-u}$$\n", "\n", "So the expected value of $W_k$ is given by\n", "\n", "$$E[W_k/W_0] = \\sum_{u=0}^{k} {k\\choose{u}}p^u (1-p)^{k-u}(1+\\alpha)^u(1-\\alpha)^{k-u}$$\n", "\n", "Next we plot $E[W_k/W_0]$ as a function of $\\alpha$. If you run this notebook on your own server, you can adjust $p$ and $K$ to see the impact of changing parameters." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": {}, "colab_type": "code", "id": "BUbFBBUfuqXT", "outputId": "6128296e-5fc4-4e68-b45f-64db1c9b3eaa" }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "90f394624e7448e6a425e2f5a18ad4ee" } }, "metadata": { "tags": [] }, "output_type": "display_data" } ], "source": [ "from scipy.misc import comb\n", "from ipywidgets import interact\n", "\n", "def sim(K = 40,p = 0.55):\n", " alpha = np.linspace(0,1,100)\n", " W = [sum([comb(K,u)*((p*(1+a))**u)*(((1-p)*(1-a))**(K-u)) \\\n", " for u in range(0,K+1)]) for a in alpha]\n", " plt.figure()\n", " plt.plot(alpha,W,'b')\n", " plt.xlabel('alpha')\n", " plt.ylabel('E[W({:d})/W(0)]'.format(K))\n", " plt.title('Expected Wealth after {:d} trials'.format(K))\n", "\n", "interact(sim,K=(1,60),p=(0.4,0.6,0.01));" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "Po0g0gTIuqXY" }, "source": [ "This simulation suggests that if each stage is, on average, a winning proposition with $p > 0.5$, then expected wealth after $K$ stages is maximized by setting $\\alpha = 1$. This is a very risky strategy. \n", "\n", "To show how risky, the following cell simulates the behavior of this process for as a function of $\\alpha$, $p$, and $K$. Try different values of $\\alpha$ in the range from 0 to 1 to see what happens." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": {}, "colab_type": "code", "id": "tlVMPSGmuqXZ", "outputId": "91df71c7-75e6-4e01-9cec-dbdf9cec4abd" }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "00de5525a9e84114a4d03dcd75f5468d" } }, "metadata": { "tags": [] }, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": { "tags": [] }, "output_type": "execute_result" } ], "source": [ "# Number of simulations to run\n", "N = 200\n", "\n", "def sim2(K = 50, p = 0.55, alpha = 0.8):\n", " plt.figure()\n", " plt.xlabel('Stage k')\n", " plt.ylabel('Fraction of Initial Wealth');\n", " plt.xlim(0,K)\n", " for n in range(0,N):\n", " # Compute an array of future returns\n", " R = np.array([1-alpha + 2*alpha*float(random.random() <= p) for _ in range(0,K)])\n", " # Use returns to compute fraction of wealth that remains\n", " W = np.concatenate(([1.0],np.cumprod(R)))\n", " plt.semilogy(W) \n", "\n", "interact(sim2, K = (10,60), p = (0.4,0.6,0.001), alpha = (0.0,1.0,0.01))" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "iDTkHEK-uqXd" }, "source": [ "Attempting to maximize wealth leads to a risky strategy where all wealth is put at risk at each stage hoping for a string of $k$ wins. The very high rewards for this one outcome mask the fact that the most common outcome is to lose everything. If you're not convinced of this, go back and run the simulation a few more times for values of alpha in the range 0.8 to 1.0. \n", "\n", "If $\\alpha =1$, the probability of still having money after $k$ stages is $(1-p)^k$." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": {}, "colab_type": "code", "id": "NH6hSNyfuqXe", "outputId": "2808f987-37f1-420e-add9-26d7d812f4f6" }, "outputs": [ { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": { "tags": [] }, "output_type": "display_data" } ], "source": [ "K = 50\n", "p = 0.55\n", "\n", "plt.semilogy(range(0,K+1), [(1-p)**k for k in range(0,K+1)])\n", "plt.title('Probability of non-zero wealth after k stages')\n", "plt.xlabel('Stage k')\n", "plt.ylabel('Probability')\n", "plt.grid();" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "FPNQJfgWuqXi" }, "source": [ "The problem with maximizing expected wealth is that the objective ignores the associated financial risks. For the type of application being analyzed here, the possibility of a few very large outcomes are averaged with many others showing loss. While the average outcome make look fine, the most likely outcome is a very different result.\n", "\n", "It's like the case of buying into a high stakes lottery. The average outcome is calculated by including the rare outcome of the winning ticket together millions of tickets where there is no payout whatsoever. Buying lottery tickets shouldn't be anyone's notion of a good business plan!" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": {}, "colab_type": "code", "id": "MoN8SFfduqXj", "outputId": "1fa39a11-1e1c-4c43-de96-c2b64d9a817e" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/jeff/anaconda/lib/python3.6/site-packages/IPython/html.py:14: ShimWarning: The `IPython.html` package has been deprecated since IPython 4.0. You should import from `notebook` instead. `IPython.html.widgets` has moved to `ipywidgets`.\n", " \"`IPython.html.widgets` has moved to `ipywidgets`.\", ShimWarning)\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "8e963fe394924c5f9a581ab56d74066b" } }, "metadata": { "tags": [] }, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": { "tags": [] }, "output_type": "execute_result" } ], "source": [ "from scipy.misc import comb\n", "from scipy.stats import binom\n", "from IPython.html.widgets import interact\n", "\n", "K = 40\n", "\n", "def Wpdf(p=0.55, alpha=0.5):\n", " rv = binom(K,p)\n", " U = np.array(range(0,K+1))\n", " Pr = np.array([rv.pmf(u) for u in U])\n", " W = np.array([((1+alpha)**u)*(((1-alpha))**(K-u)) for u in U])\n", " plt.figure(figsize=(12,4))\n", " \n", " plt.subplot(2,2,1)\n", " plt.bar(U-0.5,W)\n", " plt.xlim(-0.5,K+0.5)\n", " plt.ylabel('W(u)/W(0)')\n", " plt.xlabel('u')\n", " plt.title('Final Return W(K={0})/W(0) vs. u for alpha = {1:.3f}'.format(K,alpha))\n", " \n", " plt.subplot(2,2,3)\n", " plt.bar(U-0.5,Pr)\n", " plt.xlim(-0.5,K+0.5)\n", " plt.ylabel('Prob(u)')\n", " plt.xlabel('u')\n", " plt.title('Binomial Distribution K = {0}, p = {1:.3f}'.format(K,p))\n", " \n", " plt.subplot(1,2,2)\n", " plt.semilogx(W,Pr,'b')\n", " plt.xlabel('W(K={0})/W(0)'.format(K))\n", " plt.ylabel('Prob(W(K={0})/W(0)'.format(K))\n", " plt.title('Distribution for Total Return W(K={0})/W(0)'.format(K))\n", " plt.ylim([0,0.2])\n", " Wbar = sum(Pr*W)\n", " WVaR = W[rv.ppf(0.05)]\n", " Wmed = 0.5*(W[rv.ppf(0.49)] + W[rv.ppf(0.51)])\n", " ylim = np.array(plt.ylim())\n", " plt.plot([WVaR,WVaR],0.5*ylim,'r--')\n", " plt.plot([Wbar,Wbar],0.5*ylim,'b--')\n", " plt.text(Wbar,0.5*ylim[1],' Average = {0:.3f}'.format(Wbar))\n", " plt.text(Wmed,0.75*ylim[1],' Median = {0:.3f}'.format(Wmed))\n", " plt.text(WVaR,0.5*ylim[1],'5th Percentile = {0:.3f}'.format(WVaR),ha='right')\n", " plt.plot([Wmed,Wmed],ylim,'r',lw=2)\n", " plt.tight_layout()\n", "\n", "interact(Wpdf, p = (0.4,0.6,0.01), alpha = (0.01,0.99,0.01))" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "Y530koHDuqXm" }, "source": [ "### Exercise" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "mjzCLN_EuqXn" }, "source": [ "1. Imagine you're playing a game of chance in which you expect to win 60% of the time. You expect to play 40 rounds in the game. The initial capital required to enter the game is high enough that losing half of your capital is something you could tolerate only 5% of the time. What fraction of your capital would you be willing to wager on each play of the game?" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "flKhNHf_uqXo" }, "source": [ "### Utility Functions" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "w-4Nehm2uqXp" }, "source": [ "A utility function measures the 'utility' of holding some measure of wealth. The key concept is that the marginal utility of wealth decreases as wealth increases. If you don't have much money, then finding USD 20 on the sidewalk may have considerable utility since it may mean that you don't have to walk home from work. On the other hand, if you're already quite wealthy, the incremental utility of a USD 20 may not be as high.\n", "\n", "A typical utility function is shown on the following chart." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": {}, "colab_type": "code", "id": "u0DZWukyuqXp", "outputId": "15e65ddf-0875-4226-f769-88b55260fb5d" }, "outputs": [ { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": { "tags": [] }, "output_type": "display_data" } ], "source": [ "def U(x):\n", " return np.log(x)\n", "\n", "def plotUtility(U):\n", " plt.figure(figsize=(8,4))\n", " x = np.linspace(0.5,20.0,100)\n", " plt.plot(x,U(x))\n", " plt.xlabel('Wealth')\n", " plt.ylabel('Utility')\n", " plt.title('A Typical Utility Function');\n", " \n", "plotUtility(U)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "kHC-5m7LuqXt" }, "source": [ "To see how utilty functions allow us to incorporate risk into an objective function, consider the expected utility of a bet on a single flip of a coin. The bet pays USD 5 if the coin comes up 'Heads', and USD 15 if the coin comes up Tails. For a fair coin, the expected wealth is therefore\n", "\n", "$$E[W] = 0.5 \\times \\$5 + 0.5\\times\\$15 = \\$10$$\n", "\n", "which is shown on the chart with the utility function." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": {}, "colab_type": "code", "id": "qEkZ8WkWuqXt", "outputId": "98ddde04-6df5-4493-c8aa-20b9c14ad75b" }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfsAAAEZCAYAAACQB4xbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XvcVXPe//HXR3JIicoxpaimnFI6KbTDEJqchjCEcTO/\nwdzG4cEw5hZzwBgzGPftNCHHMo5lnBraJnLqIElJklQKJUpJh8/vj++6unZX+zrs67DXXnu/n4/H\neuzT2mt/Lsvuvb/f9V3fZe6OiIiIFK/N4i5AREREGpbCXkREpMgp7EVERIqcwl5ERKTIKexFRESK\nnMJeRESkyCnsRQqYmV1pZvfUcRvtzGy9mdXb9z2zrorbN7PnzOyM+vqsuJnZcjNrF3cdInWhsBep\nATNLm9lSM9uiinWmR8Gw3MzWmtmqjMe/qc3nuvv17n5u7SuvXhTUe1R4bpiZPRjdT5nZZzWty92P\ndvey955lZuPrUNv9ZrY647/jcjM7qbbbq8Hnpc3snMzn3L2Zu89tqM8UyYfN4y5ApNBFrbqDga+B\nwcDj2dZz970z3jMOeNDd781DiQ2hUGbbcuBGd/+fPH6eSNFRy16kekOBN4ARwJm5vtnM3jezQRmP\nG5vZV2bWNaML/FwzW2BmC83s0ox1N7Swo8cHmdkEM/vazOaZ2ZnR88eY2RQz+yZ6/po6/cVggJtZ\nE+B5YNeoVf2tme1Ssa4Kf2/azM4xs87AncCB0XuXmlkPM1tsZpax/glm9m5OxYUW/+8zHm/U+2Bm\nc83sUjObambLzGykmW2Z8fqxZvZu9N9rtpkdaWZ/JPyouz2q97Zo3Q09H2bW3MweMLMvos/4bdnf\nEvVivGZmN0V/6xwzG5jL3yXSUBT2ItUbCjwEPAwcaWY75vj+EcDpGY+PBha4+9SM51JAB+AI4Aoz\nOyx6fkNL08x2B54DbgVaAfsDZSG5Ajjd3ZsDxwC/NLNjc6yzInP3lcBAYGHUnb2tu39O1S1gB9zd\nZwK/AN6I3tvC3ScCXwFHZqx/BuG/UaV1VPYZ1dRwUvQ57YH9gLMAzKxX9HmXRv+9DgHmuvtvgfHA\nBVG9/51lu38HmkXb7E/4f+PsjNd7ATOBlsCfgeFV1CiSNwp7kSqY2UFAW+Axd58MfAycluNmHgaO\nNrOm0eMzgIqt4mvdfZW7vw/cB5xaVkLGOqcBY919lLuvc/elZT8Y3P1Vd58e3Z8GjCSEUX3IFrbZ\nnqvpezf8+DGzFoQfOI9U8f7Lop6Mr83si4znq6vhNndf5O5fA2MIP44AzgGGu/vLAO6+0N0/rKZm\nzKwRMAS40t2/c/dPgZsJ+7PMp+4+3MNFRx4AdqnFj0OReqewF6namcBL7r40evwoOXblu/tC4HXg\np2a2HaGl/HCF1TIHwM0Dds2yqTbAnGyfYWa9zWxc1L28jNCiblnDEtcBjSs81xhYU8P35+ph4CfR\nIYKTgf+4++JK1nXgJnffPlp2zHi+Oosy7q8Ctonu70b40VaZyrbdivDf5dOM5+YBrbN9ZtQrAtAU\nkZgp7EUqYWZbE8Kov5l9bmafA78GuprZfjlurqw1exIwIeoKz9S2wv0FWbYxD9izku0/AjwN7Obu\n2xGOldf0+z2P0C2dqT0wN7qfLfxqOpBtk/XcfQFhDMQJhP8mWY/9Z8jW0v4OaJLxeOca1gPhh1WH\nSl6r6u/6ivADqF3Gc22B+Tl8tkgsFPYilTsOWAt0AbpGSxfCcd2hNXh/Zkg9DXQH/pvQvVvR1Wa2\ntZntTTi2PCrLOo8Ah5vZSWa2uZm1NLOu0WtNga/d/YfomPRp1DyQR0Wf39rMNjOzw4FBlJ91sBho\naWbbVvK3VWUxsJuZVew5eAC4AtgHeLKK91f2Oe8SDo1sb2Y7E36EVadsW8OBs83s0OjvbW1mP8qo\nN+sPKndfBzwG/NHMmkZjKC4mjOcQKWgKe5HKDQXudff57v5FtCwGbgdOs+onqdkQtu7+PfAEoVWY\nLdxeBWYD/yZ0W/87YxsebWMeYXDfpcASYAph4BnA+cB1ZvYt8Ds2/bFQVfBfB0wAXgOWAjcAp7n7\nB9HnziQcvpgTjTLfhU0HyFW2/ZeB6cCijOPtAE8RWsVPRf9tKlPZQLwHgamE3ocXCGMUqh00GP09\n7xAG1f0NWAakKe9ZuZVwuGWpmd2SZTu/IvQqzCH86HuYMMaislp1Kp8UBAvjSGL4YLOtCP/AbUk4\n3/9xdx+WZb3bgKOAlcBZ7j4ln3WK1Bcz+x+gg7sPzXiuHSE4Nnf39TGVFgszmw2c5+6vxF2LSLGL\nbVIdd//ezAa4+0oz2xx4zcyed/e3ytYxs6MJ/zh2NLPewB1An7hqFqmtaNT5z9n4FLySZWYnAusV\n9CL5EWs3fsZo1S0Io1wrtmwGE51/G/0I2M7MdspfhSJ1Z2bnEgbBPefur2VZpaS6es0sDfwvcEHM\npYiUjFiny42OeU4mDIi5PTqWlqk1G5+SNJ9w2kxlp+mIFBx3vwfIejGbaM71RnktKGbunoq7BpFS\nE3fLfr27708I8N7RSOSKKo7GLalWkIiISF0VxIVw3P0bCxcOGUgYuVtmAWEikTK7keX8YzPTDwAR\nESkp7l7TU2DjC3szawWsdfdl0eQlPyac8pNpNHAhMNLM+gDLKptpK66zCqRuhg0bxrBhw+IuQ2pJ\n+y/ZtP/yY9UqmDsX5syBTz4pX8oeA7RvD+3abXxbdr9Zs023mXEtqRqJs2W/CzAimm96M2CUuz9n\nZr8AcPe7osdHR6fofMfGF5wQERGJ3fr18PnnIbzLArzs/pw5sHQptG0Le+xRHuJ9+pQ/3n57yDG7\ncxbnqXfTCDOKVXz+rgqPL8xbUSIiIlmsWhVC/OOPQ4CX3ZaFe/PmIbj33DOE+KGHwn/9V3hu112h\nUczDcAvimL2UrlQqFXcJUgfaf8mm/bexpUtDiH/8McyeXX7/449hyRLYfffyMN9zTzjssHDbvj1s\ns031249TbDPo1Scz82L4O0REpOG4w+LFIcjLwrzs/uzZoTu+Q4cQ4JnLHnvAbrvF3zrPZGY5DdBT\n2IuISNFwD8fPP/ooBHjZbdnSpEkI8I4dw22HDuUB37Jlwx87ry8KexERKWru8MUXMGtWCPPM5eOP\nQ5d6x47lQd6hQ3m4b7dd3NXXD4W9iIgUhWXLQqCXhXrm/caNoVOnEOIVl223rX7bSaewFxGRxFi9\nOrTGP/ywPMzL7q9cGQK9bCkL806doEWLuCuPl8JeREQKijssWgQzZ4Ygz1zmzw+j3MsC/Uc/Ckun\nTrDLLsk5hp5vCnsREYnFDz+EQXAzZ268fPhh6Hbv3Lk8zMuWPfaALbaIu/LkUdiLiEiDWrYMZswI\nQV52O3MmzJsXWullod65c/n9li3jrrq4KOxFRKTOyrreZ8yADz4It2XLihXlQd6lS/ntnnuqlZ4v\nCnsREakx93Dc/IMPwjJ9ennAN2oEe+0VgrzstkuXMMGMjqXHS2EvIiKbKAv16dPDUhbsH3wQzkvf\ne++Ng32vvWCHHeKuWiqTa9hrbnwRkSJSNiXs+++XL2Wh3qRJCPW994bevWH4vcbSJV7yp7GVArXs\nRUQSatmyEOTTpm0c7gD77lse7PvsE243CXWz8OtAEkfd+CIiReaHH8Jo92nTNl6WLg0hvu++IdD3\n2Sfc33HHGh5TV9gnlsJeRCSh3GHhQpg6NYT5e++FZfZsaNcO9tsvhHnZ0q4dbLZZHT5QYZ9YCnsR\nkQT4/vtwHH3q1LC89164bdQohHrXruF2v/3CoLmttmqAIhT2iaWwFxEpMF9+Ce++G5apU8Ptxx+H\nq7F17Vq+7Lcf7LxzHgtT2CeWwl5EJCbr18OcOSHMp0wpD/jvvoP99y9funYNp7ZtuWXMBSvsEysx\nYW9mbYAHgB0BB+5299sqrJMCngHmRE894e5/yLIthb2I5NXatWHymcmTQ7BPnhxa7c2bQ7duIdS7\ndQvB3q5dgU5Co7BPrCSdZ78GuNjd3zWzpsAkMxvr7jMqrPequw+OoT4RESBchnX6dJg0KYT65Mnh\nFLc2baB79xDqgwaFgG/VKu5qRTYVW9i7+yJgUXR/hZnNAHYFKoZ9If4eFpEitXp1GAk/aVL5MmNG\nmPe9e3c44AD42c9Ci71Zs7irFamZgphBz8zaAd2Atyq85EBfM5sKLAAuc/cP8ludiBSrNWtCC33i\nxPJlxowwcK5HjxDsP/95GDjXpEnc1YrUXuwD9KIu/DTwB3d/usJrzYB17r7SzI4CbnX3Tlm2oWP2\nIlKl9eth1ix4+214552wTJsWjqf37BmCvWfPEgt2HbNPrCQds8fMGgNPAA9VDHoAd1+ecf95M/s/\nM2vh7ksrrjts2LAN91OpFKlUqkFqFpFkWLAgBHvZMnFiOJ7es2dYTjopdMs3bRp3pSLVS6fTpNPp\nWr8/ztH4BowAlrj7xZWssxPwhbu7mfUCHnP3dlnWU8tepIQtXx7C/K23wvL222GK2d69oVev8oDX\n4LkK1LJPrCSdencQ8B/gPcKxeYCrgLYA7n6XmV0A/BJYC6wELnH3N7NsS2EvUiLWrw/zxL/5Zvny\n8cdhwFzv3uVLwZ7uVkgU9omVmLCvTwp7keK1bFlorb/xRljeeiu00Pv0CUvv3iHot9gi7koTSGGf\nWAp7EUksd/joI5gwoXz59NMweO7AA8PSp0+4qpvUA4V9YinsRSQxvv8+nMf++uthmTABttkG+vYt\nX/bbDzYviJOEi5DCPrEU9iJSsL7+OgT6+PHw2mthmtnOneGgg6Bfv7C0bh13lSVEYZ9YCnsRKRjz\n54dgL1vmzg3H2A86KCy9e2sWulgp7BNLYS8isXCHTz6BV1+F//wn3H77bQj1Qw6Bgw8Oc8c3bhx3\npbKBwj6xFPYikhfuMHs2pNNhefXVcFpc//4h3A85BLp0gc02i7tSqZTCPrEU9iLSINzD+ezjxoUl\nnYZGjUK4p1LhtkMHndueKAr7xFLYi0i9mTcvBPsrr4Rl/XoYMCAsqRTs8cAw7NphcZcptaWwTyyF\nvYjU2ldfhVB/+eVwu2wZHHpoCPdDD4WOHSu03BUWyab9l1gKexGpsZUrwyj5f/87LHPmhGPthx4K\nhx0G++xTzTF3hUWyaf8llsJeRCq1fj1Mngxjx4blnXfCCPkf/xgOPzxcLCan0fIKi2TT/kusRF3i\nVkQa3sKF8NJL8OKLofXeqhUccQRcckkYVFen89yvuabe6hSRhqOWvUiRWb06TD37wgthmT8/tNqP\nOAKOPBLatIm7QikYatknlrrxRUrQp5/C88/Dc8+FU+K6dIGBA8PSs6fmlpdKKOwTS2EvUgLWrAmt\n9+eeC8vixSHYjzoqtOBbtYq7QkkEhX1iKexFitSXX4bW+7/+FY7B77knHHNMWA44IExwI5IThX1i\nKexFioQ7fPABjBkTlvffD6fDDRoUWvC77BJ3hZJ4CvvEUtiLJNjataF7/plnwrJmDfzkJzB4cJix\nbsst466wgmHDwiLJpLBPLIW9SMKsXBm65Z9+Gp59Ftq2hWOPDUvXrgU+17zCItm0/xIrMWFvZm2A\nB4AdAQfudvfbsqx3G3AUsBI4y92nZFlHYS+J8vXXIdifeipMTduzJxx3XGjBt20bd3U5UFgkm/Zf\nYiVpUp01wMXu/q6ZNQUmmdlYd59RtoKZHQ10cPeOZtYbuAPoE1O9InXyxReh9f7EE/DGG2FK2hNO\ngH/8A1q0iLs6ESlmsYW9uy8CFkX3V5jZDGBXYEbGaoOBEdE6b5nZdma2k7svznvBIrWwaFEI98cf\nhylTwulx554LTz4J22wTd3UiUioKYqoNM2sHdAPeqvBSa+CzjMfzgd0Ahb0UrLKA/+c/YerUMHr+\n178Os9dttVXc1YlIKYo97KMu/MeBi9x9RbZVKjzOeoBpWMaI4FQqRSqVqqcKRaq3ZEkI+FGjwoVm\nBg0Kc88fcUSRB7zmxhfJi3Q6TTqdrvX7Yx2Nb2aNgWeB5939liyv3wmk3X1k9Hgm0L9iN74G6Ekc\nli8Px+AffTScLjdwIJxySjgHvqgDXoqHBuglVmIG6JmZAcOBD7IFfWQ0cCEw0sz6AMt0vF7i9MMP\n4eIyjzwSZrM75BA4/XR47DFo2jTu6kREsovz1LuDgP8A71HeNX8V0BbA3e+K1rsdGAh8B5zt7pOz\nbEste2kw7mH0/EMPhVDv0gV+9jM46SRo2TLu6kTqQC37xErMefb1SWEvDeHjj+HBB0PIN24MZ5wR\nQn733eOuTKSeKOwTKzHd+CKF6Ntvw2ly998PM2fCqaeGQXfduxf4THYiIlXYLO4CROLmHq4BP3Ro\nmL1uzJgwkn7+fLj11nBFOQV9JTQvvkgiqBtfStaCBaEFf999sPXWcM45oZt+hx3irixB1A2cbNp/\niaVufJEqrF0Lzz0H99wTTpcbMiScOtejh1rvIlK8FPZSEubNCwF/332hq/7cc2HkSE1ZKyKlQWEv\nRWvdOnjxRbjjDpgwAU47LZwbv+++cVcmIpJfCnspOl99BcOHw513QqtW8P/+n1rxIlLaFPZSNCZN\ngttvD1PYHn98uBBNjx5xV1XkNDe+SCJoNL4k2po14XKxt9wCCxfC+eeHUfWtWsVdmUgCaDR+Ymk0\nvpSEpUvDgLvbb4c994TLL4fBg6FRo7grExEpPJpURxJl9my44IIQ8DNmwOjRYUKc449X0IuIVEZh\nL4kwYQKccAIceCBsv30I+vvvh27d4q5MRKTwqRtfCtb69fDss3DDDbB4cZjC9sEHNapeRCRXatlL\nwVmzJoT6fvvBtdfCr38Ns2aF7nsFfYHR3PgiiaDR+FIwvv8e7r0X/vxn2GMPuPJKOPxwTWNb0DSa\nO9m0/xJLo/ElcVauhLvvhptuCsfgR46EPn3irkpEpHgo7CU2330H//d/cPPN0K9fOD6vAXciIvVP\n3fiSdytXhqlsb7oJPl9kvD/N2WefuKuSWlE3cLJp/yVWrt34GqAnebN6Ndx2G3ToEC4v++KL4XkF\nvYhIw4o17M3sXjNbbGbTKnk9ZWbfmNmUaLk63zVK3a1dGy4t26kTjB0L//oXPPFEGG0vCae58UUS\nIdZufDM7GFgBPODum1x41MxSwCXuPria7agbvwC5h3nrr74adtgBrr8+HJvfiLoRReKj719iJWo0\nvruPN7N21aymE68S6LXX4LLLQtf9X/8KAwfqFDoRkbgU+jF7B/qa2VQze87M9oq7IKnarFlhWtvT\nTguT4EyaBEcdpaAXEYlToZ96Nxlo4+4rzewo4GmgU7YVh2XM5JVKpUilUvmoTyJLloTJ1EaODC36\nhx+GrbeOuyoRkeKQTqdJp9O1fn/sp95F3fhjsh2zz7LuJ8AB7r60wvM6Zh+TNWvCaXS//z2cfHII\n/JyuJa9jhiLx0fcvsYrq1Dsz28ksdACbWS/Cj5Ol1bxN8uSll6BrV3jmGXjllXBt+ZyCXpJPc+OL\nJELco/EfBfoDrYDFwDVAYwB3v8vMLgB+CawFVhJG5r+ZZTtq2efRvHnh4jRTp4bBd4MH1+GYvFoW\nyab9l2zaf4mVa8s+9m78+qCwz48ffghT2/7lL3DRRXD55bDVVnXcqP6xSTbtv2TT/kusRJ16J8nx\nyitw/vlh9rt33glXpRMRkWRQ2EuVvvoqjK4vOyY/uMrpjUREpBAV9AA9iY87PPRQmLd+u+1g+nQF\nvYhIUqllL5v49FM47zxYvBjGjIGePeOuSAqW5sYXSQS17GUDd7j7bujRA/r3D8fmFfRSJZ16J5II\natkLEE6n+6//gqVLYdw4XXZWRKSYqGVf4tzD5WcPOABSKXjzTQW9iEixUcu+hC1ZEo7Nf/RRGG2/\nb7UTFouISBKpZV+iyqa6bd8e3n5bQS8iUswU9iXmhx/gkkvC8fkRI8JseHWeBU9KlwboiSRCtdPl\nmtm+7j4tT/XUiqbLrZk5c2DIENhtNxg+HFq0iLsiNF1n0mn/JZv2X2I1xFXv7jCzd8zsfDNrXofa\nJEaPPw59+sAZZ8CTTxZI0IuISF5UO0DP3Q8ys07Az4HJZvY2cJ+7v9Tg1UmdrV4duu1feAGeey6c\nQy8iIqWlxle9M7PNgeOA24BvCL0CV7n7Ew1XXs2oGz+7+fPhxBOhdetwel3zQuyXUTdismn/JZv2\nX2LVeze+mXU1s78BM4BDgUHu3gUYAPyt1pVKg3r1VejVC44/Hp54okCDXkRE8qIm59nfBgwHfuvu\nK8uedPeFZnZ1g1UmteIOt90Gf/oTPPggHHFE3BVJUdPc+CKJUJPR+L9291sqPHeRu9/aoJXlQN34\nwerV8ItfwNSpYRBe+/ZxV1QD6kYUiY++f4nVEKPxz8zy3Nk1L0ny4auv4PDDYflyeP31hAS9iIjk\nRaXd+GZ2KnAa0N7MxmS81AxY0tCFSc3NmAE/+QmcfDL84Q+wmaZKEhGRDFUds58AfA7sAPwFKOsu\nWA5MrY8PN7N7gWOAL9w964StZnYbcBSwEjjL3afUx2cXi7Fj4fTT4aabYOjQuKsREZFCVONT7xrk\nw80OBlYAD2QLezM7GrjQ3Y82s97Are7eJ8t6JXnM/oEH4PLL4Z//hIMPjruaWtIxQ5H46PuXWPV2\nzN7MXo9uV5jZ8grLt/VRrLuPB76uYpXBwIho3beA7cxsp/r47KT7y1/gd78L155PbNBL8mlufJFE\nqDTs3b1fdNvU3ZtVWLbNU32tgc8yHs8HdsvTZxek9evh0kvh/vvDQLwuXeKuSEratdfGXYGI1EBV\nA/SqnD3d3ZfWfznZS6n40dlWGpbRwkilUqRSqYarKCY//AA//znMnQvjx8P228ddkYiI5EM6nSad\nTtf6/ZUeszezuVQSrADuXi8nd5lZO2BMJcfs7wTS7j4yejwT6O/uiyusV/TH7FevhpNOCvdHjYKt\nt463nnqjY4bJpv2XbNp/iZXrMftKW/bu3q5eKqqb0cCFwEgz6wMsqxj0pWDVKjjhBGjaFB55BBo3\njrsiERFJkqq68Tu7+0wz657tdXefXNcPN7NHgf5AKzP7DLgGaBxt/y53f87Mjjaz2cB3lOBkPt99\nB8ceCzvtBCNGwOY1meBYREQkQ1XRcSlwLvBXsnfnD6jrh7v7qTVY58K6fk5SLV8OgwaF2fCGD4dG\njeKuSKQCzY0vkgg1mRt/K3f/vrrn4lSMx+y/+w4GDgyj7e+8s4hnxdMxQ5H46PuXWA0xN/6EGj4n\n9eT778OlaTt0KPKgFxGRvKjqmP0uwK5Ak+i4vRG687cFmuSnvNKzZg2cckq4/vw99yjoRUSk7qo6\nZn8EcBZhYpubM55fDlzVgDWVrPXr4eyzw/n0jz2mwXgiIlI/qjrP/tIKTznwFfCau89p6MJyUQzH\n7N3hl7+EmTPh+eeL6Dz66uiYoUh89P1LrPo8Zt8MaJqxNAMOAJ6PLn8r9ej3v4eJE2HMmBIKekk+\nzY0vkgg5X/Uumkb3ZXfv1jAl5S7pLfsHHghnML3xBuy8c9zV5JlaFsmm/Zds2n+JVW8z6FXG3Zea\n1Xj7Uo1XXoHLLoN0ugSDXkRE8iLnsd5mNoCqL0srNTR9Opx6apjrfq+94q5GRESKVVWn3k3L8vT2\nwOfA0AarqEQsWgTHHAM33wwD6jwXoYiISOWqGo3frsJTDixx9xUNXFPOknbM/ocfIJWCI4/UbKM6\nZphw2n/Jpv2XWPV51bu59VKRbOLii2HHHeF3v4u7EpE6KvlfqyLJkPNo/EKUpJb9/ffDDTfAW2+F\nWfJKnloWIvHR9y+xcm3ZK+zzaNIkOOqoMPJeA/Ii+sdGJD76/iVWQ1wIR+rBV1/BiSfCHXco6EVE\nJL/Uss+D9evD5Wq7dw9d+JJBLQuR+Oj7l1hq2Regm2+GVavgD3+IuxIRESlFCvsGNnky3HQTPPSQ\nrmInRUhz44skgrrxG9DKlaHr/pprwkx5koW6EZNN+y/ZtP8SK1Hd+GY20MxmmtlHZnZFltdTZvaN\nmU2JlqvjqLO2Lr0UevZU0IuISLxi61g2s0bA7cDhwALgHTMb7e4zKqz6qrsPznuBdTR6NLzwArz7\nbtyViIhIqYuzZd8LmO3uc919DTASODbLeom7xN6iRXDeeeE4vSbOERGRuMUZ9q2BzzIez4+ey+RA\nXzObambPmVkizlC/6CI4+2zo1y/uSkRERGLsxicEeXUmA23cfaWZHQU8DXTKtuKwjFHBqVSKVCpV\nDyXm7tlnwwj8+++P5eNF8ktz44vkRTqdJp1O1/r9sY3GN7M+wDB3Hxg9vhJY7+43VvGeT4AD3H1p\nhecLYjT+ihWw995w771w2GFxV5MQGg0sEh99/xIrSaPxJwIdzaydmW0BDAFGZ65gZjuZmUX3exF+\nnCzddFOF4Xe/C9emV9CLiEghia0b393XmtmFwItAI2C4u88ws19Er98F/BT4pZmtBVYCp8RVb3Xe\neQcefRTefz/uSkRERDamSXXqwZo14Xz6yy6D00+PrYxkUjeiSHz0/UusJHXjF41bb4Udd4Sf/Szu\nSkRERDalsK+jL74IV7L73/8NP5JFSormxhdJBHXj19EFF4QL3Nx6aywfn3zqRkw27b9k0/5LrFy7\n8XUdtjr48EN47DGYUXGCXxERkQKibvw6uOIKuPxyaNUq7kpEREQqp5Z9Lb36arjIzciRcVciIiJS\nNbXsa2H9+nCa3Z/+BFttFXc1IiIiVVPY18KoUeH2lIKd4kckTzQ3vkgiaDR+jlavhh/9CEaMgP79\n8/KRxU2jgUXio+9fYmlSnQb24IMh7BX0IiKSFGrZ52DdOujcGf7xD4V9vVHLQiQ++v4lllr2Dejx\nx8O0uIccEnclIiIiNaewryF3uP56uPJKTYsrIiLJorCvoeefD4F/zDFxVyJSQDQ3vkgi6Jh9DR18\nMJx/Ppx6aoN+TOnRMcNk0/5LNu2/xNIx+wYwfjx8/jmcdFLclYiIiOROYV8D118f5sDfXJMLi4hI\nAim+qjFlCkydCk89FXclIiIitaOWfTX+/nf41a9gyy3jrkRERKR2Yg17MxtoZjPN7CMzu6KSdW6L\nXp9qZt113pRdAAAOWklEQVTyWd8334QW/dln5/NTRRJEc+OLJEJsYW9mjYDbgYHAXsCpZtalwjpH\nAx3cvSNwHnBHPmt85BE4/HDYaad8fqpIgujUO5FEiLNl3wuY7e5z3X0NMBI4tsI6g4ERAO7+FrCd\nmeUteu+5B849N1+fJiIi0jDiDPvWwGcZj+dHz1W3zm4NXBcAkybB11+Hlr2IiEiSxTkav6YzOVSc\nNCDr+4ZldCemUilSqVStiipz991wzjmwmYYwiohIzNLpNOl0utbvj20GPTPrAwxz94HR4yuB9e5+\nY8Y6dwJpdx8ZPZ4J9Hf3xRW2Va8z6K1YAW3bwrRp0LpiX4PUL83gJRIfff8SK0kz6E0EOppZOzPb\nAhgCjK6wzmhgKGz4cbCsYtA3hFGjwvS4CnqRamiAnkgixDo3vpkdBdwCNAKGu/v1ZvYLAHe/K1qn\nbMT+d8DZ7j45y3bqtWXfpw9cfTUMGlRvm5TKqGWRbNp/yab9l1i5tux1IZwK3nsPjj4a5s7V9Lh5\noX9skk37L9m0/xIrSd34Bemee8LAPAW9iIgUC7XsM6xdCzvvDBMnQrt2da9LakAti2TT/ks27b/E\nUsu+DsaPh913V9CLiEhxUdhneOopOP74uKsQSRDNjS+SCOrGj7iHVv0LL8Bee9VTYVI9dSOKxEff\nv8RSN34tTZoEW28NXbpUv66IiEiSKOwjZV34VuPfSSIiIsmgsI/oeL2IiBQrhT3w4YfwzTfQs2fc\nlYiIiNQ/hT2hVX/ccbrCnUjONDe+SCJoND7Quzf88Y+6dn0sNBo42bT/kk37L7E0N36OFiyA/faD\nRYugceN6Lkyqp39skk37L9m0/xJLp97l6Omn4ZhjFPQiIlK8Sj7sn3xSo/BFRKS4lXQ3/pIl0L59\n6MJv0qQBCpPqqRsx2bT/kk37L7HUjZ+DV16Bgw9W0IvUmubGF0mEkg77116DQw6JuwqRBNOpdyKJ\nUNJhP358aNmLiIgUs1iO2ZtZC2AUsDswFzjZ3ZdlWW8u8C2wDljj7r0q2V7Ox+y//RZ23RWWLoUt\ntsitfqlHOmYoEh99/xIrKcfsfwOMdfdOwMvR42wcSLl7t8qCvrbeeAN69FDQi4hI8Ysr7AcDI6L7\nI4Djqli3Qa5DN348HHRQQ2xZRESksMQV9ju5++Lo/mJgp0rWc+DfZjbRzM6tzwJ0vF6kHmiAnkgi\nNNgxezMbC+yc5aXfAiPcffuMdZe6e4ss29jF3T83sx2AscCv3H18lvVyOma/ejW0bAkLF8K229b4\nbdIQdMww2bT/kk37L7FyPWa/eUMV4u4/ruw1M1tsZju7+yIz2wX4opJtfB7dfmlmTwG9gE3CHmBY\nRgsjlUqRSqUqrW3SJOjUSUEvIiLJkE6nSafTtX5/XKPx/wwscfcbzew3wHbu/psK6zQBGrn7cjPb\nBngJuNbdX8qyvZxa9jfeGFr1t95at79D6oFaFsmm/Zds2n+JlZTR+DcAPzazWcCh0WPMbFcz+1e0\nzs7AeDN7F3gLeDZb0NeGjteLiEgpKbm58devD8frZ8yAnbONKJD8Ussi2bT/kk37L7GS0rKPzfTp\n0KqVgl6kXmhufJFEKLmwVxe+SD3SqXciiaCwFxERKXIlFfbuCnsRESk9JRX2n34Ka9fCnnvGXYmI\niEj+lFTYl7XqrUFm2xcRESlMJRn2IlJPNEBPJBFK6jz7zz8Pl7Rt2TIPRUnN6DzfZNP+Szbtv8TK\n9Tz7kgp7KUD6xybZtP+STfsvsTSpjoiIiGxEYS8iIlLkFPYiIiJFTmEvIrWXZW78Ro0a0a1btw3L\nn//8ZwDatWtH165dmTRpEs888wzHH3/8hvdcf/31dOzYccPjMWPGcOyxxwIwYMAAmjVrxqRJk+ql\n5GFZziD47W9/S9u2bWnWrNlGz69evZohQ4bQsWNH+vTpw6efflovNYjkm8JeRGovS3A2adKEKVOm\nbFguv/xyIAwoGjduHAcccAB9+/blzTff3PCeN954g+bNm/Pll18CMGHCBPr16wfAuHHj6NGjB1bH\nCTJWrFjBySefzJ133knXrl254oorNrx27LHH8vbbb2/ynuHDh9OyZUs++ugjLr744o3eI5IkCnsR\nybsddtiBbbfdljlz5gCwcOFCTjzxRCZMmACE8C8L+/rywAMP0KxZM84//3ymTp3K0KFDN7zWq1cv\nds5yKczRo0dz5plnAnDiiSfy8ssv12tNIvmisBeRerVq1aqNuvH/+c9/Zl2vX79+vP7663z44Yd0\n7NiR3r17M2HCBNatW8fUqVPp2bNntZ91yimnbPRZZctDDz20ybpbbrkl3377LStXrgRg7733rnb7\nCxYsoE2bNgBsvvnmNG/enKVLl1b7PpFCs3ncBYhIcdl6662ZMmVKtev17dt3Q7j37duXXr16cd11\n1zFlyhQ6d+7MFltsUe02Ro4cWeO6hg4dyqxZsxgxYgTjx4/nkksu4cQTT6zx+0WSTGEvIrHo168f\nf//731m3bh3nnXceTZs25fvvvyedTtO3b98abWPIkCHMmjVrk+cvueQSzjjjjI2ea9y4MTfeeCNN\nmjRhyJAhHHnkkfTs2ZO2bdtWuv3WrVszb948dt11V9auXcs333xDixYtcvtDRQqAwl5Eam/YsFrP\nj9+5c2cWLFjAa6+9xh133AHA/vvvz5133slNN91Uo22MGjWqxp83e/bsDcHeoUMHmjdvvqFLvzKD\nBw9mxIgR9OnTh8cff5zDDjusxp8nUkhiOWZvZieZ2XQzW2dm3atYb6CZzTSzj8xMw2BFCs21127y\nVMVj9ldddVXWt5oZffr0oVWrVjRq1AiAAw88kE8++aTGLftczJw5kwEDBnDffffRvXt3Bg0aROfO\nnQG4/PLLadOmDatWraJNmzZcd911AJxzzjksWbKEjh07csstt3DDDTfUe10i+RDL3Phm1hlYD9wF\nXOruk7Os0wj4EDgcWAC8A5zq7jOyrKu58RMqbUZK+y6xctl/7du3Z+LEibSsxZWoBgwYwM0330z3\n7pW2DWrs2muv5Zos8wOUIn3/kisRc+O7+0x33/RA28Z6AbPdfa67rwFGAsc2fHWST+m4C5A6Seew\n7g477MDhhx/O5Mmb/Lav0oABA/jkk09o3LhxTu+rTCqVqpftFIN03AVI3hTyMfvWwGcZj+cDvWOq\nRUTqKNukNTUxbty4eq2jf//+9bo9kSRosLA3s7HAprNUwFXuPqYGm1DfkoiISD1osLB39x/XcRML\ngDYZj9sQWvdZ1XUqTYnPtdp3iab9l2zaf6WhELrxK/s/bSLQ0czaAQuBIcCp2VbMZZCCiIhIqYnr\n1LvjzewzoA/wLzN7Pnp+VzP7F4C7rwUuBF4EPgBGZRuJLyIiIlWL5dQ7ERERyZ9EXwhHk+4km5nN\nNbP3zGyKmdVuqLbkhZnda2aLzWxaxnMtzGysmc0ys5fMbLs4a5TKVbL/hpnZ/Oj7N8XMBsZZo2Rn\nZm3MbFw0Ed37Zvbf0fM5ff8SG/bRpDu3AwOBvYBTzaxLvFVJjhxIuXs3d+8VdzFSpfsI37VMvwHG\nunsn4OXosRSmbPvPgb9G379u7v5CDHVJ9dYAF7v73oRD3xdEWZfT9y+xYY8m3SkWGlyZAO4+Hvi6\nwtODgRHR/RHAcXktSmqskv0H+v4VPHdf5O7vRvdXADMI89Dk9P1Lcthnm3SndUy1SO048G8zm2hm\n58ZdjORsJ3dfHN1fDOwUZzFSK78ys6lmNlyHYQpfdHZaN+Atcvz+JTnsNbIw+fq5ezfgKELX1MFx\nFyS1E12cQt/JZLkDaA/sD3wO3BxvOVIVM2sKPAFc5O7LM1+ryfcvyWGf06Q7Unjc/fPo9kvgKcKh\nGUmOxWa2M4CZ7QJ8EXM9kgN3/8IjwD/Q969gmVljQtA/6O5PR0/n9P1LcthvmHTHzLYgTLozOuaa\npIbMrImZNYvubwMcAUyr+l1SYEYDZ0b3zwSermJdKTBRQJQ5Hn3/CpKF6WGHAx+4+y0ZL+X0/Uv0\nefZmdhRwC9AIGO7u18dcktSQmbUntOYhzOT4sPZf4TKzR4H+QCvC8cH/AZ4BHgPaAnOBk919WVw1\nSuWy7L9rgBShC9+BT4BfZBwDlgJhZgcB/wHeo7yr/krgbXL4/iU67EVERKR6Se7GFxERkRpQ2IuI\niBQ5hb2IiEiRU9iLiIgUOYW9iIhIkVPYi4iIFDmFvUiJMrO/mdlFGY9fNLN7Mh7fbGYX57jNYWZ2\naXT/rMyJW6JLGreoj9pFJDcKe5HS9RrQF8DMNgNaEi4XXeZA4PUct5k5R/dZwK4VXtNV1kRioLAX\nKV1vEAIdYG/gfWC5mW1nZlsCXQDMLB1dmfCFjLm4zzWzt83sXTN73My2ztiumdmJwAHAw2Y22cy2\nil77lZlNMrP3zOxHefkrRURhL1Kq3H0hsNbM2hBC/w3CFJwHAj0I183+G/BTd+8B3Af8MXr7E+7e\ny933j9Y7Z+NN+xOE61ec5u7d3f376LUv3f0AwhXXLmvYv1BEymwedwEiEqsJhK78vsBfgdbR/W8I\nV5Y8AhgbrsVBI2Bh9L59zewPQHOgKfBCJduv2G3/ZHQ7GTihfv4EEamOwl6ktL0O9AP2JVz17DNC\ni/sbIA20dve+Wd53PzDY3aeZ2ZmEi6pkU/HiG6uj23Xo3x+RvFE3vkhpmwAMApZElzb/GtiO0JX/\nKLCDmfWBcE1tMysbwNcUWBRdZ/t0ykPdKG/NLwe2zc+fISJVUdiLlLb3CaPw38x47j1gmbt/CfwU\nuNHM3gWmUD6g73fAW4QR/TMy3ps5Gv9+4M4KA/SyrSciDUyXuBURESlyatmLiIgUOYW9iIhIkVPY\ni4iIFDmFvYiISJFT2IuIiBQ5hb2IiEiRU9iLiIgUOYW9iIhIkfv/8Fw+ZBZMnBwAAAAASUVORK5C\nYII=\n", "text/plain": [ "" ] }, "metadata": { "tags": [] }, "output_type": "display_data" } ], "source": [ "plotUtility(U)\n", "ymin,ymax = plt.ylim()\n", "plt.hold(True)\n", "plt.plot([5,5],[ymin,U(5)],'r')\n", "plt.plot([15,15],[ymin,U(15)],'r')\n", "plt.plot([10,10],[ymin,U(10)],'r--')\n", "plt.text(10.2,ymin+0.1,'E[W] = \\$10');" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "DhAisCu5uqXw" }, "source": [ "Finding the expected utility, we can use the utilty function to solve for the 'certainty equivalent' value of the game. The certainty equivalent value is the amount of wealth that has the same utility as the expected utility of the game. \n", "\n", "$$U(CE) = E[U(W)]$$\n", "\n", "Because the utilty function is concave, the certainty equivalent value is less than the expected value of the game. The difference between the two values is the degree to which we discount the value of the game due to it's uncertain nature." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": {}, "colab_type": "code", "id": "dqWfVtr2uqXy", "outputId": "76e3aaaf-eb18-480a-e709-3023e430a2ff" }, "outputs": [ { "data": { "image/png": "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\nxRdfuLt7UVGR9+zZ0+fOnevu7oWFhb5169asxlgrt9xSZlWjRo38sMMOK1luv/12d3ffd999vWfP\nnj5jxgx/7rnn/OSTTy55za233updu3Ytefz888/7yJEj3d09kUh4y5YtfcaMGVkKuWzMN910k3fs\n2NFbtmy5w/pvv/3WzzjjDO/atasPGDDAly5dmpUYcoa+O2MrlfeqnCdVs5cGZfLkyTRr1oxLL720\nZF3Pnj054ogj6mR/jRo1Yv369WzdupX169fTrFkzdt111zLlHnjgAW688UaaNm0KQNu2bQF45ZVX\n6NmzJz169ABgjz32oFGjHPrYZjj1rkWLFsyePbtkuf7664HQ7Dh58mT69OnDoEGDeOutt0pe8+ab\nb7Lbbrvx73//G4Dp06czePBgIByzvn37YrWcIGPdunWcccYZPPjggxx66KE7tJ6cdNJJvPPOO2Ve\nM3bsWFq3bs2iRYu45pprdniNSJzk0LeGSN17//336dOnT7nPf/zxxzs047/xxhtlyowePXqHMsXL\nHXfcUabs6aefTosWLdhnn33o3LkzP/vZz9h9993LlFu0aBH//Oc/GThwIIlEghkzZpSsNzOGDx9O\nnz59uPPOO2vx7nNH27Zt2XXXXVmyZAkAn332GaeddhrTp08HQvIvTvbZMn78eFq1asXll1/OnDlz\nOP/880ue69+/P+0yXArz+eef54ILLgDgtNNO47XXXstqTCL1pUnUAYjUp8pqh/vvvz+zZ8+usMzv\nf//7Ku/v7bffpkmTJnz++ecUFhZy5JFHMmzYMLp06bJDuS1btvDVV1/x1ltv8e6773LGGWewZMkS\nioqKmDZtGjNmzKB58+YMGzaMPn36cPTRR++4o4KCnJngZuPGjfTq1avk8U033cSoUaPKlBs8eDBv\nvPEGRUVFHHDAAQwYMICXX36ZE044gTlz5tCvX79K93XWWWfx4Ycflll/7bXXcu655+6wbqedduKb\nb75hw4YNABxyyCGVbn/FihV07NgRgCZNmrDbbrtRWFjInnvuWelrRXKJkr00KIcccghPPfVUrbZx\nzTXXkEwmy6w/66yzyjTzPvHEEwwfPpzGjRvTtm1bBg8ezIwZM8ok+w4dOnDqqacC0K9fPxo1asSX\nX35Jx44dOeqoo0qSy3HHHcesWbPKJvsxY3Im2Tdv3rzSH0wAgwYNYvr06WzdupVBgwbRv39/fvWr\n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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": { "tags": [] }, "output_type": "display_data" } ], "source": [ "from scipy.optimize import brentq\n", "\n", "plotUtility(U)\n", "ymin,ymax = plt.ylim()\n", "plt.hold(True)\n", "plt.plot([5,5,0],[ymin,U(5),U(5)],'r')\n", "plt.plot([15,15,0],[ymin,U(15),U(15)],'r')\n", "plt.plot([10,10],[ymin,U(10)],'r--')\n", "plt.text(10.2,ymin+0.1,'E[W] = \\$10');\n", "\n", "Uave = 0.5*(U(5)+U(15))\n", "Ceq = brentq(lambda x: U(x)-Uave,5,15)\n", "plt.plot([0,Ceq,Ceq],[Uave,Uave,ymin],'r--')\n", "plt.text(0.1,Uave+0.1,'E[U] = {:.2f}'.format(Uave))\n", "plt.text(Ceq-0.2,ymin+0.1,'CE = {:.2f}'.format(Ceq),ha='right');" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "YH55YKTZuqX1" }, "source": [ "### Maximizing Growth" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "DhtPBC6XuqX2" }, "source": [ "To acheive a different result we need to consider optimization objective that incorporates a measure of risk. For example, the log ratio of current to starting wealth gives a relationship\n", "\n", "$$\\ln W_K/W_0 = \\sum_{k=1}^K \\ln R_{k}$$\n", "\n", "Subjectively, the log ratio focuses relative rather than absolute growth which, for many investors, is a better indicator of investment objectives. Rather than risk all for an enormous but unlikely outcome, a strategy optimizing expected relative growth will tradeoff risky strategies for more robust strategies demonstrating relative growth. \n", "\n", "Taking expectations\n", "\n", "$$E[\\ln W_K/W_0] = \\sum_{k=1}^K E[\\ln R_{k}] = K E[\\ln R_{k}]$$\n", "\n", "where\n", "\n", "$$E[\\ln R_{k}] = p\\ln(1+\\alpha) + (1-p)\\ln(1-\\alpha)$$\n", "\n", "With simple calculus we can show that maximizing $E[\\ln W_K/W_0]$ requires\n", "\n", "$$\\alpha = 2p-1$$\n", "\n", "which yields a growth rate per stage\n", "\n", "$$m = E[\\ln R_{k}] = \\ln 2 + p\\ln(p) + (1-p)\\ln(1-p)$$\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": {}, "colab_type": "code", "id": "9EgdGVtRuqX3", "outputId": "92ce5636-1d45-49d4-a8ff-147132cf40b2" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 53, "metadata": { "tags": [] }, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEPCAYAAABGP2P1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8VdW5//HPw6SiRKIgyiQiVA3eotgCTjTWVpAWaREZ\nKkWGBqpiVdQAthau7au9XrF1vEoVocpPUBGSqCBaJWCVSQkgkihowyTIIGNEQsj6/ZEcOAkZTpKz\nzz7D9/16nZdn56zs82QbzpO1nr3WMuccIiIiAfX8DkBERKKLEoOIiJShxCAiImUoMYiISBlKDCIi\nUoYSg4iIlOFpYjCz583sazP7pIo2j5vZejNbbWaXehmPiIhUz+sewzSgV2UvmllvoINzriMwCnja\n43hERKQaniYG59z7wJ4qmtwA/LO07TKgqZm18DImERGpmt81hlbA5qDjLUBrn2IRERH8TwwAVu5Y\na3SIiPiogc/vvxVoE3TcuvRrZZiZkoWISC0458r/8V0tv3sMWcBQADPrDux1zn1dUUPnnB7OMXHi\nRN9jiJaHroWuha7FiY+MDMe55zp2767939Oe9hjMbCbwI6CZmW0GJgINAZxzU5xz88yst5ltAAqA\n4V7GIyISz/LzYdQoyMiAM86o/Xk8TQzOucEhtBnjZQwiIomgsBAGDYL0dLj88rqdy++hJKmh1NRU\nv0OIGroWx+laHJeo12LCBDjrLBg7tu7nMueiv65rZi4W4hQR8UNmJtx5J6xcWXYIycxwtSg++31X\nUp2Y1fjnTWhKriLxJ1x1hWAxnRhAH3ahUhIViT/hrCsEi+mhpNJukg8RxR5dK5H4c889sH59yVBS\nRX/7JeRQkohIosrMhNmzISen4qRQF0oMIiIxxou6QjDdrhph06dP5+qrrw57WxFJDF7VFYIpMYiI\nxJBwzleojIaSRERiRGYmvPZayXwFL280VI/BI//zP/9Dhw4dSEpKolOnTmRkZFTYrl69ejzxxBOc\nf/75NG/enPT09BPuHrrvvvs444wzaN++PW+99daxr0+bNo2UlBSSkpI4//zz+cc//uHpzyQi/gnU\nFWbO9KauEEyJwSMdOnTg3//+N/v372fixIkMGTKE7du3V9g2IyODjz/+mJUrV5KZmcnzzz9/7LVl\ny5Zx4YUXsnv3btLT0xk5cuSx11q0aMGbb77J/v37mTZtGnfffTc5OTme/2wiElmRqCsEi+vEYBae\n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\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": { "tags": [] }, "output_type": "display_data" } ], "source": [ "p = np.linspace(0.001,0.999)\n", "alpha = np.array([max(0,2.0*q-1.0) for q in p])\n", "plt.plot(p,alpha)\n", "m = np.multiply(p,np.log(1.0+alpha)) + np.multiply(1.0-p,np.log(1.0-alpha))\n", "plt.plot(p,m)\n", "\n", "plt.xlabel('p')\n", "plt.ylabel('E[lnR]')\n", "plt.legend(['alpha','ElnR'],loc='upper left')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": {}, "colab_type": "code", "id": "gG6ne6MtuqX6", "outputId": "f09ea819-9eba-4b8f-f533-c808384b89de" }, "outputs": [ { "data": { "text/plain": [ "10699.131939336632" ] }, "execution_count": 21, "metadata": { "tags": [] }, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "\n", "np.exp((1/6)*(np.log(4000000) + np.log(1000000) + np.log(25000)+np.log(10000) + np.log(300) + np.log(5)))" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "Fj06lMhvuqX-" }, "source": [ "## Kelly's Criterion: Maximizing Growth for a Game with Arbitrary Odds" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "RohUpXHFuqX-" }, "source": [ "![Kelly_Criterion_Fig2](https://github.com/jckantor/CBE40455/blob/master/notebooks/figures/Kelly_Criterion_Fig2.png?raw=true)\n", "\n", "$$E[\\ln R_{k\n", "}] = p\\ln(1+ b\\alpha) + (1-p)\\ln(1-\\alpha)$$\n", "\n", "Solving for $\\alpha$\n", "\n", "$$\\alpha = \\frac{p(b+1)-1}{b}$$" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "r7Uwq7ZWuqYA" }, "source": [ "## Volatility Pumping" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "UE9d6cdQuqYB" }, "source": [ "![Kelly_Criterion_Volatility_Pumping](https://github.com/jckantor/CBE40455/blob/master/notebooks/figures/Kelly_Criterion_Volatility_Pumping.png?raw=true)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": {}, "colab_type": "code", "id": "5O4wAGdGuqYC", "outputId": "7bd61202-af2f-43c6-d8bf-40b42d9ec2b2" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Expected return = 0.004586\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 71, "metadata": { "tags": [] }, "output_type": "execute_result" }, { "data": { "image/png": "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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": { "tags": [] }, "output_type": "display_data" } ], "source": [ "# payoffs for two states\n", "u = 1.059\n", "d = 1/u\n", "p = 0.54\n", "\n", "rf = 0.004\n", "\n", "K = 100\n", "\n", "ElnR = p*np.log(u) + (1-p)*np.log(d)\n", "print \"Expected return = {:0.5}\".format(ElnR)\n", "\n", "\n", "Z = np.array([float(random.random() <= p) for _ in range(0,K)])\n", "R = d + (u-d)*Z\n", "S = np.cumprod(np.concatenate(([1],R)))\n", "\n", "\n", "ElnR = lambda alpha: p*np.log(alpha*u +(1-alpha)*np.exp(rf)) + \\\n", " (1-p)*np.log(alpha*d + (1-alpha)*np.exp(rf))\n", "\n", "a = np.linspace(0,1)\n", "\n", "plt.plot(a,map(ElnR,a))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": {}, "colab_type": "code", "id": "I13JKtK_uqYF", "outputId": "7e1fb099-8961-4932-e5f8-904899b63439" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.5\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": { "tags": [] }, "output_type": "display_data" } ], "source": [ "from scipy.optimize import fminbound\n", "alpha = fminbound(lambda(alpha): -ElnR(alpha),0,1)\n", "print alpha\n", "\n", "#plt.plot(alpha, ElnR(alpha),'r.',ms=10)\n", "\n", "R = alpha*d + (1-alpha) + alpha*(u-d)*Z\n", "S2 = np.cumprod(np.concatenate(([1],R)))\n", "\n", "plt.figure(figsize=(10,4))\n", "plt.plot(range(0,K+1),S,range(0,K+1),S2)\n", "plt.legend(['Stock','Stock + Cash']);" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": {}, "colab_type": "code", "id": "81jJw10euqYJ" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Portfolio Optimization](http://nbviewer.jupyter.org/github/jckantor/CBE40455/blob/master/notebooks/07.07-MAD-Portfolio-Optimization.ipynb) | [Contents](toc.ipynb) | [Log-Optimal Portfolios](http://nbviewer.jupyter.org/github/jckantor/CBE40455/blob/master/notebooks/07.09-Log-Optimal-Portfolios.ipynb) >

\"Open

\"Download\"" ] } ], "metadata": { "colab": { "collapsed_sections": [], "name": "07.08-Log-Optimal-Growth-and-the-Kelly-Criterion.ipynb", "provenance": [], "version": "0.3.2" }, "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.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }