{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# The Correlation Coefficient\n", "By Evgenia \"Jenny\" Nitishinskaya and Delaney Granizo-Mackenzie with example algorithms by David Edwards\n", "\n", "Part of the Quantopian Lecture Series:\n", "\n", "* [www.quantopian.com/lectures](https://www.quantopian.com/lectures)\n", "* [github.com/quantopian/research_public](https://github.com/quantopian/research_public)\n", "\n", "\n", "---\n", "\n", "The correlation coefficient measures the extent to which the relationship between two variables is linear. Its value is always between -1 and 1. A positive coefficient indicates that the variables are directly related, i.e. when one increases the other one also increases. A negative coefficient indicates that the variables are inversely related, so that when one increases the other decreases. The closer to 0 the correlation coefficient is, the weaker the relationship between the variables.\n", "\n", "The correlation coefficient of two series $X$ and $Y$ is defined as\n", "$$r = \\frac{Cov(X,Y)}{std(X)std(Y)}$$\n", "where $Cov$ is the covariance and $std$ is the standard deviation.\n", "\n", "Two random sets of data will have a correlation coefficient close to 0:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Correlation vs. Covariance\n", "\n", "Correlation is simply a normalized form of covariance. They are otherwise the same and are often used semi-interchangeably in everyday conversation. It is obviously important to be precise with language when discussing the two, but conceptually they are almost identical.\n", "\n", "###Covariance isn't that meaningful by itself\n", "\n", "Let's say we have two variables $X$ and $Y$ and we take the covariance of the two." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.14975887489776102" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X = np.random.rand(50)\n", "Y = 2 * X + np.random.normal(0, 0.1, 50)\n", "\n", "np.cov(X, Y)[0, 1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So now what? What does this mean? Correlation uses information about the variance of X and Y to normalize this metric. Once we've normalized the metric to the -1 to 1 scale, we can make meaningful statements and compare correlations.\n", "\n", "To see how this is done consider the formula.\n", "\n", "$$\\frac{Cov(X, Y)}{std(X)std(Y)}$$\n", "\n", "$$= \\frac{Cov(X, Y)}{\\sqrt{var(X)}\\sqrt{var(Y)}}$$\n", "\n", "$$= \\frac{Cov(X, Y)}{\\sqrt{Cov(X, X)}\\sqrt{Cov(Y, Y)}}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To demonstrate this let's compare the correlation and covariance of two series." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Covariance of X and Y: \n", "[[ 0.07228077 0.14456154]\n", " [ 0.14456154 0.28912309]]\n", "Correlation of X and Y: \n", "[[ 1. 1.]\n", " [ 1. 1.]]\n" ] } ], "source": [ "X = np.random.rand(50)\n", "Y = 2 * X + 4\n", "\n", "print 'Covariance of X and Y: \\n' + str(np.cov(X, Y))\n", "print 'Correlation of X and Y: \\n' + str(np.corrcoef(X, Y))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Why do both `np.cov` and `np.corrcoef` return matrices?\n", "\n", "The covariance matrix is an important concept in statistics. Often people will refer to the covariance of two variables $X$ and $Y$, but in reality that is just one entry in the covariance matrix of $X$ and $Y$. For each input variable we have one row and one column. The diagonal is just the variance of that variable, or $Cov(X, X)$, entries off the diagonal are covariances between different variables. The matrix is symmetric across the diagonal. Let's check that this is true." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "error: 1.38777878078e-17\n" ] } ], "source": [ "cov_matrix = np.cov(X, Y)\n", "\n", "# We need to manually set the degrees of freedom on X to 1, as numpy defaults to 0 for variance\n", "# This is usually fine, but will result in a slight mismatch as np.cov defaults to 1\n", "error = cov_matrix[0, 0] - X.var(ddof=1)\n", "\n", "print 'error: ' + str(error)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Correlation: 0.0612685087304\n", "Built-in Correlation: 0.0600431385558\n" ] }, { "data": { "image/png": "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\nbYaHr0qSfTMwS0uuamq5mBiax1I9AF6VmbY8ita1fwbmi1/clC9+cZMADxxVZpwAgGnDDAwwVcw4\nAfCq2KAOwExgxgmAV8UGdQBmAsEJoImm6+lzlkcBMN0JTgBpTqBx+hwAtC97nIAZb3+gWblyQVau\nXJDu7nWp1+tH/es4fQ4A2pfgBMx4Ag0AUERwAmgSp88BQPsSnIAZr1mBxuWcANC+HA4BzHjNPE7b\n6XMA0J4EJ4AINADAoVmqBwAAUEBwAgAAKGCpHjAtNOMC2+nqueeeS1/fxiS+dwAwEcEJaHv7L7Dd\nexdTMjCw1ol1k1Sv13Pddd/J97734SS+dwAwEUv1gLbnAtsj198/tC80+d4BwKEITgAAAAUEJ6Dt\nNesC2+moVuvKeed9Ib53AHBo9jgBba+ZF9hON5VKJZ/73LuzZYvvHQAciuAETAsusD1yxx13nO8d\nABSwVA8AAKCA4AQAAFBAcAIAACggOAEAABQQnAAAAAoITgAAAAUEJwAAgAKCEwAAQIFSg9PmzZvT\n3d2dBQsWZPXq1Qe8//TTT2f58uW5+OKLs2jRomzYsKGEKgEAgJluVllf+MUXX8ztt9+eu+66K52d\nnVmyZEm6uroyb968sTH33HNP3v72t+ejH/1onn766fzBH/xBenp6MmtWaWUDALScer2e/v6hJEmt\n1pVKpVJyRTD9lDbjtGXLlpxxxhk5/fTTM3v27CxcuDBDQ0Pjxpxyyil59tlnkyS/+MUvcuKJJwpN\nAAAvU6/X0929LitXLsjKlQvS3b0u9Xq97LJg2iktOO3atSunnXba2OvOzs7s2rVr3Jgrr7wyP/nJ\nT/K7v/u76enpyc0339zsMgEAWlp//1CGh5clmZ1kdoaHrxqbfQKOntKmbzo6OgrH9PX15ayzzsra\ntWvzs5/9LFdffXW++tWv5td+7dcm/JyRkZGjWSZNpn/tTf/al961N/1rX0ejd9u2bTvox/z/Yur5\nHs8spQWnzs7O7NixY+z1zp0709nZOW7M97///axYsSJJxpb1/fSnP81v/uZvTvjnzp8/f2oKZsqN\njIzo3xSa6vXv+te+9K696V/7Olq9e8c73pGHH16b4eGrkiTV6t35+Mc/YJ/TFPOz196OJPSWtlTv\n7LPPzrZt27J9+/aMjo7mwQcfTFdX17gxb37zm/Pwww8nSZ588sn89Kc/zRvf+MYyyoW2Zv07wPRV\n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\nvPPOssoFAABmsNKCU5JUq9VUq9VxH+vt7R33+tZbb21mSQAAAAco9QJcAACAdiA4AQAAFBCcAAAA\nCghOAAAABQQnAACAAoITAABAAcEJAACggOAEAABQQHACAAAoIDgBAAAUEJwAAAAKCE4AAAAFBCcA\nAIACghMAAEABwQkAAKCA4AQAAFBAcAIAACggOAEAABQQnAAAAAoITgAAAAUEJwAAgAKCEwAAQAHB\nCQAAoIDgBAAAUEBwAgAAKCA4AQAAFBCcAAAACghOAAAABQQnAACAAoITAABAAcEJAACggOAEAABQ\nQHACAAAoIDgBAAAUEJwAAAAKCE4AAAAFBCcAAIACghMAAEABwQkAAKCA4AQAAFBAcAIAACggOAEA\nABQQnAAAAAoITgAAAAUEJwAAgAKCEwAAQAHBCQAAoIDgBAAAUEBwAgAAKCA4AQAAFBCcAAAACghO\nAAAABQQnAACAAoITAABAAcEJAACgwKwyvugzzzyTj3zkI3niiSfyhje8IX/xF3+ROXPmjBuzY8eO\n/Kf/9J/y9NNPp6OjI1deeWX+8A//sIxyAQCAGa6UGafVq1fnggsuyD/8wz/kt3/7t7N69eoDxsya\nNSs333xzNm7cmP/+3/977rnnnjz++OMlVAsAAMx0pQSnhx56KJdeemmS5NJLL80//uM/HjDmlFNO\nydve9rYkyfHHH5958+Zl9+7dTa0TAAAgKSk4PfXUUzn55JOTJCeffHKeeuqpQ47fvn17fvjDH+ad\n73xnM8oDAAAYZ8r2OF199dV58sknD/j4DTfcMO51R0dHOjo6JvxzfvGLX+T666/PLbfckuOPP77w\n646MjBx+sbQM/Wtv+te+9K696V/70rv2pn8zy5QFp7vuumvC93791389//Iv/5JTTjklu3fvzkkn\nnXTQcc8//3yuv/769PT05H3ve1/h15w/f/4R1wsAADCRUpbqvfe9781XvvKVJMn9999/0FDUaDRy\nyy23ZN68eanVak2uEAAA4Fc6Go1Go9lf9JlnnskNN9yQHTt2jDuOfNeuXVm1alVWr16d7373u7nq\nqqvy1re+dWwp34033pjf+73fa3a5AADADFdKcAIAAGgnpSzVAwAAaCeCEwAAQAHBCQAAoEBbB6dn\nnnkmV199dd7//vfnAx/4QPbs2XPAmB07dmTZsmVZuHBhFi1alL/5m78poVJebvPmzenu7s6CBQuy\nevXqg4755Cc/mQULFqSnpyePPfZYkytkIkW9+9rXvpaenp4sXrw4vb292bp1awlVMpHJ/OwlyZYt\nW/L2t789X//615tYHYcymd5961vfyiWXXJJFixZl2bJlTa6QQynq39NPP53ly5fn4osvzqJFi7Jh\nw4YSquRgbrrpplxwwQVZvHjxhGM8s7Suov4d9nNLo439+Z//eWP16tWNRqPR+K//9b82Pv3pTx8w\nZvfu3Y3HHnus0Wg0Gs8++2xjwYIFjZ/85CdNrZNfeeGFFxrve9/7Gv/v//2/xujoaKOnp+eAfnzj\nG99ofPCDH2w0Go3GI4880rjiiivKKJVXmEzvvve97zX27NnTaDQajeHhYb1rIZPp3/5xy5Yta1xz\nzTWNwcHBEirllSbTu5///OeN//Af/kNjx44djUaj0XjqqafKKJWDmEz//vIv/7Lxmc98ptFo7O3d\ne97znsbzzz9fRrm8wne+853Go48+2li0aNFB3/fM0tqK+ne4zy1tPeP00EMP5dJLL02SXHrppfnH\nf/zHA8accsopedvb3pYkOf744zNv3rzs3r27qXXyK1u2bMkZZ5yR008/PbNnz87ChQszNDQ0bszQ\n0NBYX88555zs2bMnTz75ZBnl8jKT6d273vWunHDCCUn29m7nzp1llMpBTKZ/SbJ27dq8//3vn/Bi\ncppvMr174IEHsmDBgsydOzdJ9K+FTKZ/p5xySp599tkkyS9+8YuceOKJmTVrVhnl8grnn39+5syZ\nM+H7nllaW1H/Dve5pa2D01NPPZWTTz45SXLyySfnqaeeOuT47du354c//GHe+c53NqM8DmLXrl05\n7bTTxl53dnZm165d48bs3r177D/+STJ37lwP4C1gMr17ufXr16darTajNCZhMv3btWtXhoaGsnTp\n0iQZu0OPck2md9u2bcvPf/7zLFu2LJdddlnuv//+ZpfJBCbTvyuvvDI/+clP8ru/+7vp6enJzTff\n3OwyOUKeWaaPyTy3tPw/Z1x99dUHTe433HDDuNcdHR2H/I/8L37xi1x//fW55ZZbcvzxxx/1Opmc\nyT6INV5xvZgHuPIdTg+++c1v5r777su99947hRVxOCbTvzvuuCMf+9jH0tHRkUajccDPIeWYTO9e\neOGFPPbYY+nv788vf/nL9Pb25txzz82b3vSmqS+QQ5pM//r6+nLWWWdl7dq1+dnPfparr746X/3q\nV/Nrv/ZrTaiQV8szS/ub7HNLywenu+66a8L3fv3Xfz3/8i//klNOOSW7d++ecGnC888/n+uvvz49\nPT153/veN1WlMgmdnZ3ZsWPH2OudO3ems7Nz3JhTTz113L/WHGwMzTeZ3iXJ1q1bs2rVqqxZsyav\ne93rmlkihzCZ/j366KP5yEc+kiT513/912zevDmzZs1KV1dXU2tlvMn0bu7cuXn961+fSqWSSqWS\n888/P1u3bhWcWsBk+vf9738/K1asSJKxZX0//elP85u/+ZtNrZXD55ml/R3Oc0tbL9V773vfm698\n5StJkvvvv/+goajRaOSWW27JvHnzUqvVmlwhr3T22Wdn27Zt2b59e0ZHR/Pggw8e8FDW1dU1tszk\nkUceyZw5c8aWZFKeyfTuiSeeyHXXXZdPf/rTOfPMM0uqlIOZTP+Ghoby0EMP5aGHHkp3d3duu+02\noakFTPb35sjISF588cX88pe/zJYtW/KWt7ylpIp5ucn0781vfnMefvjhJMmTTz6Zn/70p3njG99Y\nRrkcJs8s7e1wn1tafsbpUK655prccMMNue+++/KGN7whf/EXf5Fk73riVatWZfXq1RkZGcnXvva1\nvPWtb80ll1ySJLnxxhvze7/3e2WWPmPNmjUrq1atyvLly/PSSy9lyZIlmTdvXgYGBpIkvb29qVar\nGR4ezkUXXZTXvva1ufPOO0uummRyvfv85z+fPXv25Lbbbhv7nPXr15dYNftNpn+0psn0bt68ebnw\nwgvT09OTY445JldccYXg1CIm079rr702N998c3p6etJoNPJHf/RHOfHEE0uunGTvM+O3v/3tPPPM\nM6lWq7nuuuvywgsvJPHM0g6K+ne4zy0dDYvYAQAADqmtl+oBAAA0g+AEAABQQHACAAAoIDgBAAAU\nEJwAAAAKCE4AAAAFBCcAWsr++zZ+8IMfjH2sr68v119//QFjP/jBD47dh7Nfo9FIV1dXvvvd7074\nNf74j/8499xzz9ErGoBpT3ACoKWceOKJufXWW3PTTTdldHQ0P/rRj7Ju3bqxCwpfbsmSJfnKV74y\n7mPf+ta3MmvWrJx//vkTfo2Ojo6jXTYA05zgBEDL6erqytve9rZ85jOfyU033ZSbb745J5100gHj\n3vve92bbtm15/PHHxz62YcOGXHbZZfnxj3+c//gf/2Muu+yyLFy4MF/60pcO+rVeOfv08tfPPvts\nbrnlllxxxRXp6enJHXfckZdeeuko/20BaAeCEwAtadWqVVm/fn1OP/30dHd3H3TMa17zmixevDgb\nNmxIsjfoDA0N5ZJLLskb3vCG3HXXXdmwYUO+/OUv58tf/nL++Z//+YA/45WzTy9/feedd+Y973lP\n/vZv/zb3339/nnrqqdx3331H8W8JQLuYVXYBAHAw//N//s+ccMIJ+ed//ueMjo7mNa95zUHHXX75\n5fngBz+Yj370o/n7v//7zJ8/P52dnXnyySfz8Y9/PD/60Y9yzDHHZPfu3dm6dWve/OY3T7qGhx56\nKD/4wQ9y1113JUnq9XpOO+20o/L3A6C9CE4AtJynn346d955Z/7bf/tv+eu//ut87nOfy0c/+tGD\njj3rrLNy6qmnZvPmzdmwYUNqtVqS5LOf/WxOPfXU/Of//J9zzDHHZPny5RkdHT3g84899thxy+/q\n9fq497/whS/k9NNPP3p/OQDakqV6ALScT3ziE7nyyivzG7/xG7nlllvyd3/3d/nf//t/Tzj+8ssv\nz1/+5V9m27Zt6erqSrJ32d7cuXNzzDHH5Mc//vGEp+ydccYZYyf47d69O9/+9rfH3nvve9+b1atX\njwWrp59+Otu3bz9af00A2ojgBEBLefDBB/Ozn/0sK1asSJLMmTNn7JS9F1544aCfs3jx4jz++ONZ\ntGhRZs3au5hi5cqV+du//dv09PTkr/7qr/Lud7/7oJ975ZVXZufOnVm4cGE+8YlP5Jxzzhl77+ab\nb84xxxyTiy++OIsXL86HPvSh7N69+yj/jQFoBx2NRqNRdhEAAACtzIwTAABAAcEJAACggOAEAABQ\nQHACAAAoIDgBAAAUEJwAAAAKCE4AAAAF/j8TsG5k2izBCAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X = np.random.rand(50)\n", "Y = np.random.rand(50)\n", "\n", "plt.scatter(X,Y)\n", "plt.xlabel('X Value')\n", "plt.ylabel('Y Value')\n", "\n", "# taking the relevant value from the matrix returned by np.cov\n", "print 'Correlation: ' + str(np.cov(X,Y)[0,1]/(np.std(X)*np.std(Y)))\n", "# Let's also use the builtin correlation function\n", "print 'Built-in Correlation: ' + str(np.corrcoef(X, Y)[0, 1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's see what two correlated sets of data look like." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Correlation: 0.958613485688\n" ] }, { "data": { "image/png": "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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X = np.random.rand(50)\n", "Y = X + np.random.normal(0, 0.1, 50)\n", "\n", "plt.scatter(X,Y)\n", "plt.xlabel('X Value')\n", "plt.ylabel('Y Value')\n", "\n", "print 'Correlation: ' + str(np.corrcoef(X, Y)[0, 1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's dial down the relationship by introducing more noise." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Correlation: 0.879590392019\n" ] }, { "data": { "image/png": "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\n9brQmkSv7TF7dalk0t/fl4EBv3MmlptBA3C4KC08JUm1Wk21Wh3zXE9Pz5jHN95441SWRAtwoTV1\nxu4xy549Zhv8/gEA9qHUm+QCAAC0C+EJprFarSvVal+S4STDqVbXpFbrKrssAICWVOqyPaBc9pgB\nABQnPME0Z48ZAEAxlu0BAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwB\nAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAU\nIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUMKPsAuBw0Ww2\nU68PJklqta5UKpWSKwIAYCIJTzABms1murvXptFYlCTp7+/LwECvAAUAcBixbA8mQL0+uCc4zUwy\nM43GFaOzUAAAHB6EJwAAgAKEJ5gAtVpXqtW+JMNJhlOtrkmt1lV2WQAATCB7nmACVCqVDAz0pl7f\nkCSp1ex3AgA43AhPMEEqlUqWLp1fdhkAAEwSy/YAAAAKEJ4AAAAKEJ4AAAAKEJ4AAAAKEJ4AAAAK\nKO20veeffz6f+tSn8vTTT+ed73xnvvSlL2XWrFljxjzzzDP59Kc/neeeey4dHR25/PLL87u/+7sl\nVQwAAExnpc08rVq1KmeffXa+/e1v5zd+4zeyatWqvcbMmDEj119/fdavX5+/+Iu/yF133ZWnnnqq\nhGoBAIDprrTw9PDDD+eiiy5Kklx00UX5zne+s9eY448/Pu9///uTJEcddVTmzJmTHTt2TGmdAAAA\nSYnh6dlnn81xxx2XJDnuuOPy7LPPHnD81q1b84//+I85/fTTp6I8AACAMSZ1z9OVV16ZnTt37vX8\nNddcM+ZxR0dHOjo69vt1XnzxxVx99dW54YYbctRRR437fYeGhg6+WFqC3rU3/Wtv+te+9K696V/7\n0rvpZ1LD05133rnf197xjnfkpz/9aY4//vjs2LEjxx577D7HvfTSS7n66quzcOHCfPSjHy30fefO\nnXtI9VKuoaEhvWtj+tfe9K996V1707/2pXft7VCDb2nL9j7ykY/km9/8ZpLkvvvu22cwGhkZyQ03\n3JA5c+akVqtNcYUAAAD/prTwtGTJknz3u9/Neeedl0ceeSRLlixJkmzfvn3030NDQ7n//vvz6KOP\n5sILL8yFF16YjRs3llUyAAAwjZV2n6djjjkm9Xp9r+c7OztHjy0/66yzsnnz5imuDAAAYG+lzTwB\nAAC0E+EJAACgAOEJAACgAOEJAACgAOEJAACgAOEJAACgAOEJAACgAOEJAACgAOEJAACgAOEJAACg\nAOEJAACgAOEJAACgAOEJAACgAOEJAACgAOEJAACgAOEJAACgAOEJAACggBllFwBFNJvN1OuDSZJa\nrSuVSqXkigAAmG6EJ1pes9lMd/faNBqLkiT9/X0ZGOgVoAAAmFKW7dHy6vXBPcFpZpKZaTSuGJ2F\nAgCAqSI8AQAAFCA80fJqta5Uq31JhpMMp1pdk1qtq+yyAACYZux5ouVVKpUMDPSmXt+QJKnV7HcC\nAGDqCU+0hUqlkqVL55ddBgAA05hlewAAAAUITwAAAAUITwAAAAUITwAAAAUITwAAAAUITwAAAAUI\nTwAAAAUITwAAAAUITwAAAAUITwAAAAUITwAAAAUITwAAAAUITwAAAAUITwAAAAUITwAAAAUITwAA\nAAUITwAAAAWUEp6ef/75XHnllTnvvPPysY99LLt27drv2JdffjkXXnhhli5dOoUVAgAAjFVKeFq1\nalXOPvvsfPvb385v/MZvZNWqVfsd+/Wvfz1z5syZwuoAAAD2Vkp4evjhh3PRRRclSS666KJ85zvf\n2ee4bdu2pdFo5LLLLpvK8gAAAPZSSnh69tlnc9xxxyVJjjvuuDz77LP7HPe5z30un/70p3PEEbZm\nAQAA5ZoxWV/4yiuvzM6dO/d6/pprrhnzuKOjIx0dHXuN+5u/+Zu84x3vyKmnnppHH330oL730NDQ\nwRVLy9C79qZ/7U3/2pfetTf9a196N/1MWni688479/vaO97xjvz0pz/N8ccfnx07duTYY4/da8z3\nv//9PPzww2k0GhkeHs4LL7yQT3/60/nCF75wwO87d+7cX7l2AACAN+oYGRkZmepv+oUvfCHHHHNM\nlixZklWrVmXXrl257rrr9jv+sccey//6X/8rK1eunMIqAQAA/k0pm4mWLFmS7373uznvvPPyyCOP\nZMmSJUmS7du3j/4bAACglZQy8wQAANBuHGMHAABQgPAEAABQgPAEAABQQNuHp+effz5XXnllzjvv\nvHzsYx/Lrl279hrzzDPPZNGiRZk/f37OP//8fP3rXy+hUl6zcePGdHd3Z968eVm1atU+x3z2s5/N\nvHnzsnDhwjz55JNTXCEHMl7/7r///ixcuDALFixIT09PNm/eXEKV7EuRv70k2bRpU0499dQ89NBD\nU1gd4ynSv0cffTQXXnhhzj///CxatGiKK+RAxuvfc889l8WLF+eCCy7I+eefn3Xr1pVQJW+0fPny\nnH322VmwYMF+x7hmaV3j9e+QrllG2tznP//5kVWrVo2MjIyM/M//+T9HvvjFL+41ZseOHSNPPvnk\nyMjIyMgLL7wwMm/evJF//ud/ntI6edXu3btHPvrRj4783//7f0eGh4dHFi5cuFcv/vZv/3bk4x//\n+MjIyMjID37wg5HLLrusjFLZhyL9e/zxx0d27do1MjIyMtJoNPSvRRTp3WvjFi1aNLJkyZKRgYGB\nEiplX4r07+c///nI7/zO74w888wzIyMjIyPPPvtsGaWyD0X69yd/8icjt91228jIyKu9+/CHPzzy\n0ksvlVEur/P3f//3I0888cTI+eefv8/XXbO0tvH6dyjXLG0/8/Twww/noosuSpJcdNFF+c53vrPX\nmOOPPz7vf//7kyRHHXVU5syZkx07dkxpnbxq06ZNOfnkk3PSSSdl5syZmT9/fgYHB8eMGRwcHO3p\nGWeckV27dmXnzp1llMsbFOnfBz7wgRx99NFJXu3ftm3byiiVNyjSuyTp6+vLeeedt8+bl1OeIv17\n4IEHMm/evMyePTtJ9LCFFOnf8ccfnxdeeCFJ8uKLL+aYY47JjBkzyiiX1znrrLMya9as/b7umqW1\njde/Q7lmafvw9Oyzz+a4445Lkhx33HF59tlnDzh+69at+cd//MecfvrpU1Eeb7B9+/aceOKJo487\nOzuzffv2MWN27Ngx+n/+STJ79mwX4C2iSP9e75577km1Wp2K0hhHkd5t3749g4OD6e3tTZJ0dHRM\naY3sX5H+bdmyJT//+c+zaNGiXHzxxbnvvvumukz2o0j/Lr/88vzzP/9zfvM3fzMLFy7M9ddfP9Vl\ncghcsxw+il6ztMVHGldeeeU+U/w111wz5nFHR8cB/8/+xRdfzNVXX50bbrghRx111ITXyfiKXoyN\nvOH2Yy7iWsPB9OGRRx7Jvffem7vvvnsSK6KoIr275ZZbct1116WjoyMjIyN7/R1SniL92717d558\n8snU6/X84he/SE9PT84888y85z3vmfwCOaAi/Vu5cmVOOeWU9PX15Sc/+UmuvPLKfOtb38pb3/rW\nKaiQX4VrlvZ3MNcsbRGe7rzzzv2+9o53vCM//elPc/zxx2fHjh37Xabw0ksv5eqrr87ChQvz0Y9+\ndLJKZRydnZ155plnRh9v27YtnZ2dY8accMIJYz612dcYylGkf0myefPmrFixIqtXr87b3va2qSyR\n/SjSuyeeeCKf+tSnkiQ/+9nPsnHjxsyYMSNdXV1TWit7K9K/2bNn5+1vf3sqlUoqlUrOOuusbN68\nWXhqAUX69/3vfz9Lly5NktElfj/+8Y/z67/+61NaKwfHNUv7O9hrlrZftveRj3wk3/zmN5Mk9913\n3z6D0cjISG644YbMmTMntVptiivk9U477bRs2bIlW7duzfDwcB588MG9Lsy6urpGl5v84Ac/yKxZ\ns0aXZlKuIv17+umnc9VVV+WLX/xi3v3ud5dUKW9UpHeDg4N5+OGH8/DDD6e7uzs33XST4NQiiv5v\n59DQUF5++eX84he/yKZNm/K+972vpIp5vSL9e+9735vvfe97SZKdO3fmxz/+cd71rneVUS4HwTVL\nezuUa5a2mHk6kCVLluSaa67Jvffem3e+85350pe+lOTV9cUrVqzIqlWrMjQ0lPvvvz///t//+1x4\n4YVJkmuvvTb/6T/9pzJLn5ZmzJiRFStWZPHixXnllVdy6aWXZs6cOenv70+S9PT0pFqtptFo5Nxz\nz81b3vKW3HrrrSVXzWuK9O8rX/lKdu3alZtuumn0Pffcc0+JVZMU6x2tq0j/5syZk3POOScLFy7M\nEUcckcsuu0x4ahFF+veJT3wi119/fRYuXJiRkZH8wR/8QY455piSK+faa6/NY489lueffz7VajVX\nXXVVdu/encQ1SzsYr3+Hcs3SMWJROwAAwLjaftkeAADAVBCeAAAAChCeAAAAChCeAAAAChCeAAAA\nChCeAAAAChCeAGgpr92P44c//OHocytXrszVV1+919iPf/zjo/fKec3IyEi6urryv//3/97v9/hv\n/+2/5a677pq4ogGYFoQnAFrKMccckxtvvDHLly/P8PBwfvSjH2Xt2rWjNzF8vUsvvTTf/OY3xzz3\n6KOPZsaMGTnrrLP2+z06OjomumwApgHhCYCW09XVlfe///257bbbsnz58lx//fU59thj9xr3kY98\nJFu2bMlTTz01+ty6dety8cUX55/+6Z/yX/7Lf8nFF1+c+fPn58///M/3+b3eOAv1+scvvPBCbrjh\nhlx22WVZuHBhbrnllrzyyisT/NMC0C6EJwBa0ooVK3LPPffkpJNOSnd39z7HvOlNb8qCBQuybt26\nJK+GncHBwVx44YV55zvfmTvvvDPr1q3LN77xjXzjG9/Iv/zLv+z1Nd44C/X6x7feems+/OEP5y//\n8i9z33335dlnn8299947gT8lAO1kRtkFAMC+fPe7383RRx+df/mXf8nw8HDe9KY37XPcJZdcko9/\n/OP5/d///fz1X/915s6dm87OzuzcuTOf+cxn8qMf/ShHHHFEduzYkc2bN+e9731v4Roefvjh/PCH\nP8ydd96ZJGk2mznxxBMn5OcDoP0ITwC0nOeeey633nprvva1r+XP/uzP8uUvfzm///u/v8+xp5xy\nSk444YRs3Lgx69atS61WS5LcfvvtOeGEE/KFL3whRxxxRBYvXpzh4eG93n/kkUeOWYrXbDbHvP7V\nr341J5100sT9cAC0Lcv2AGg5f/iHf5jLL788/+7f/bvccMMN+au/+qv8wz/8w37HX3LJJfmTP/mT\nbNmyJV1dXUleXcI3e/bsHHHEEfmnf/qn/Z6+d/LJJ4+e7Ldjx4489thjo6995CMfyapVq0bD1XPP\nPZetW7dO1I8JQJsRngBoKQ8++GB+8pOfZOnSpUmSWbNmjZ6+t3v37n2+Z8GCBXnqqady/vnnZ8aM\nVxdVLFu2LH/5l3+ZhQsX5k//9E/zoQ99aJ/vvfzyy7Nt27bMnz8/f/iHf5gzzjhj9LXrr78+Rxxx\nRC644IIsWLAgv/d7v5cdO3ZM8E8MQLvoGBkZGSm7CAAAgFZn5gkAAKAA4QkAAKAA4QkAAKAA4QkA\nAKAA4QkAAKAA4QkAAKAA4QkAAKCA/x9bbVhN/Q8LIgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X = np.random.rand(50)\n", "Y = X + np.random.normal(0, .2, 50)\n", "\n", "plt.scatter(X,Y)\n", "plt.xlabel('X Value')\n", "plt.ylabel('Y Value')\n", "\n", "print 'Correlation: ' + str(np.corrcoef(X, Y)[0, 1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, let's see what an inverse relationship looks like." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Correlation: -0.944604531847\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA08AAAHxCAYAAAC1YYc2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtwnfV9J/63wCYnw6UO2AgGCtuIYSFLSVITQvk1UdbC\nthqBsYNhvF7oHmMwdmfjAk2ZgNdpMpSQTTIM29LiKuxaicE4lFugBhEjt/LMBkiqhDiFON3SjLMe\nfMGmxCWbg7jo9wdGYGTZj42lR0d6vf7yefQ953ykjwzn7e/laejr6+sLAAAAe3VI2QUAAADUA+EJ\nAACgAOEJAACgAOEJAACgAOEJAACgAOEJAACggFLD07p169La2ppp06alvb190HHr16/Phz70oXz3\nu98dxuoAAADeVlp4ev3113PjjTfmjjvuyOrVq7N69eo899xzexz39a9/PZ/4xCfillQAAEBZSgtP\n69evz0knnZQTTzwx48ePT1tbW7q6ugaMW7FiRaZPn56jjz66hCoBAADeVFp42rp1a44//vj+x42N\njdm6deuAMV1dXZk7d26SpKGhYVhrBAAAeMu4st64SBC66aab8rnPfS4NDQ3p6+srtGyvp6fnYJQH\nAACMYpMnT97v55QWnhobG7N58+b+x1u2bEljY+NuY5555plcc801SZJ//dd/zbp16zJu3Li0tLTs\n9bUP5AdB+Xp6evSujulffdO/+qV39U3/6pfe1bcDnXApLTydccYZ2bhxYzZt2pRjjz02jzzySG65\n5ZbdxrxzD9T111+f//gf/+M+gxMAAMBQKC08jRs3LkuXLs38+fPzxhtvZPbs2WlqasqqVauSJHPm\nzCmrNAAAgAFKC09J0tzcnObm5t2uDRaabr755uEoCQAAYI9KvUkuAABAvRCeAAAAChCeAAAAChCe\nAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAA\nChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCe\nAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAA\nChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAAChCeAAAACig1\nPK1bty6tra2ZNm1a2tvbB3z9oYceyowZM3LBBRdkzpw52bBhQwlVAgAAJOPKeuPXX389N954Y5Yv\nX57GxsbMnj07LS0taWpq6h/zm7/5m7nrrrty5JFHZt26dfnCF76Qe+65p6ySAQCAMay0maf169fn\npJNOyoknnpjx48enra0tXV1du4356Ec/miOPPDJJ8uEPfzhbtmwpo1QAAIDywtPWrVtz/PHH9z9u\nbGzM1q1bBx1/7733prm5eThKAwAAGKC0ZXsNDQ2Fxz755JO57777cvfddxca39PTc6BlUbL30rtX\nXnklDz/8dJLkggs+kve9730HqywK8nevvulf/dK7+qZ/9Uvvxp7SwlNjY2M2b97c/3jLli1pbGwc\nMG7Dhg1ZunRp7rjjjvzGb/xGodeePHnyQauT4dPT03PAvavVamltXZnu7iuTJE88sSKdnXNTqVQO\nZonsxXvpH+XTv/qld/VN/+qX3tW3Aw2+pS3bO+OMM7Jx48Zs2rQpvb29eeSRR9LS0rLbmOeffz6f\n/exn87WvfS0nn3xySZVSDzo6utLdfVmS8UnGp7v70nR0dO3raQAAUFhpM0/jxo3L0qVLM3/+/Lzx\nxhuZPXt2mpqasmrVqiTJnDlz8pd/+ZfZuXNnvvjFL/Y/59577y2rZAAAYAwrLTwlSXNz84BDIObM\nmdP/55tuuik33XTTcJdFHapWW7Jq1Yp0d1+aJGluvjPV6tySqwIAYDQpNTzBwVKpVNLZOTcdHWuS\nJNWq/U4AABxcwhOjRqVSycKFbWWXAQDAKFXagREAAAD1RHgCAAAoQHgCAAAoQHgCAAAoQHgCAAAo\nQHgCAAAoQHgCAAAoQHgCAAAoQHgCAAAoQHgCAAAoQHgCAAAoQHgCAAAoQHgCAAAoQHgCAAAoQHgC\nAAAoQHhiRKjVarn33qeybNnq1Gq1sssBAIABxpVdANRqtbS2rkx395VJklWrVqSzc24qlUrJlQEA\nwNvMPFG6jo6udHdflmR8kvHp7r40HR1dZZcFAAC7EZ4AAAAKEJ4oXbXakubmFUl6k/SmufnOVKst\nZZcFAAC7seeJ0lUqlXR2zs2XvnRHTj755FSr9jsBADDyCE+MCJVKJbNnfzyTJ08uuxQAANgjy/YA\nAAAKEJ4AAAAKEJ4AAAAKEJ4AAAAKEJ4AAAAKEJ4AAAAKEJ4AAAAKEJ4AAAAKEJ4AAAAKEJ4AAAAK\nEJ4AAAAKEJ4AAAAKEJ4AAAAKEJ4AAAAKEJ4AAAAKGFd2AUA5arVaOjq6kiTVaksqlUrJFQEAjGyl\nzjytW7cura2tmTZtWtrb2/c45s/+7M8ybdq0zJgxI88+++wwVwijU61WS2vryixaNC2LFk1La+vK\n1Gq1sssCABjRSgtPr7/+em688cbccccdWb16dVavXp3nnntutzHd3d3ZuHFjvvvd7+bGG2/MF7/4\nxXKKhVGmo6Mr3d2XJRmfZHy6uy/tn4UCAGDPSgtP69evz0knnZQTTzwx48ePT1tbW7q6dv/w1tXV\nlVmzZiVJPvzhD2fnzp3Zvn17GeUCAABjXGnhaevWrTn++OP7Hzc2Nmbr1q27jdm2bVuOO+64/sfH\nHXdctmzZMmw1wmhVrbakuXlFkt4kvWluvjPVakvZZQEAjGilHRjR0NBQaFxfX98BPY+xySEIxVQq\nlXR2zk1Hx5okSbU6188KAGAfSgtPjY2N2bx5c//jLVu2pLGxcbcxxx577G4zTXsasyc9PT0Hr1CG\n1Xvp3SuvvJLPfvYH+eEP/zBJ8o1v/FX+4i8+lve9730Hq7xR52Mfe3Nm95lnnjkor+fvXn3Tv/ql\nd/VN/+qX3o09pYWnM844Ixs3bsymTZty7LHH5pFHHsktt9yy25iWlpbceeedaWtry9NPP52jjjoq\nEydO3OdrT548eajKZgj19PS8p94tW7Z6V3AanyT54Q8XZf36NVm4sO0gVcjevNf+US79q196V9/0\nr37pXX070OBbWngaN25cli5dmvnz5+eNN97I7Nmz09TUlFWrViVJ5syZk+bm5nR3d2fq1Kl5//vf\nn5tvvrmscgEAgDGu1JvkNjc3p7m5ebdrc+bM2e3xF77wheEsiTpWrbZk1aoV6e6+NEl2HYIwt+Sq\nAAAYLUoNT3AwOQQBAIChJDwxqlQqFXucAAAYEqXd5wkAAKCeCE8AAAAFCE8AAAAFCE8AAAAFCE8A\nAAAFCE8AAAAFCE8AAAAFCE8AAAAFCE8AAAAFCE8AAAAFCE8AAAAFjCu7AGDParVaOjq6kiTVaksq\nlUrJFQEAjG3CE4xAtVotra0r0919WZJk1aoV6eycK0ABAJTIsj0YgTo6unYFp/FJxqe7+9L+WSgA\nAMohPAEAABQgPMEIVK22pLl5RZLeJL1pbr4z1WpL2WUBAIxp9jzBCFSpVNLZOTcdHWuSJNWq/U4A\n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\nMyfLly/Pl7/85Xz84x/POeeck3POOSe/+7u/O1z1ATDEarVa7r33qSxbttoSrSF0MAPPO2fePv/5\nOw7azJtQBrB3ez0wYv369bn++utz/vnnZ/78+WloaBiuugAYBm8fPHBlkpF95He9H2RwsI8bf2vm\nraen56Avh3QkOsCeDRqevv71r+fRRx/NjTfemHPPPXc4awJgmOy+xyW79risycKFbeUW9i6j5b5O\nbwWekaweagQoy6DL9l588cV85zvfGZLg9NJLL2XevHmZPn16Lr/88uzcuXOP43bu3JnFixfn93//\n9/PpT386Tz/99EGvBYCRz0EGAIwEg4anL3/5yzniiCOG5E3b29tz7rnn5rHHHss555yT9vb2PY67\n6aab8slPfjKPPvpoHnrooTQ1NQ1JPQBjlT0uAFDcXg+MGCpr167NrFmzkiSzZs3K448/PmDMv/3b\nv+Uf/uEfMnv27CTJuHHjcuSRRw5rnQCj3Vt7XD7/+TtG3JHftVoty5atzrJlqzNnzv8n5A2Rd/6c\nHRgCsHd7PTBiqOzYsSMTJ05MkkycODE7duwYMGbTpk05+uijc/3112fDhg35D//hP2TJkiV5//vf\nP9zlAoxqlUols2d/PJMnTy67lH572uP04IOfyapVDjI4mEbLXjKA4dLQ19fXNxQvPG/evGzfvn3A\n9auvvjqf//zn84Mf/KD/2tlnn53vf//7u437yU9+kjlz5uTuu+/OmWeemZtuuilHHHFE/uiP/miv\n79vT03NwvgEASnPvvU/lK1+5Mm8dZJH05vOfvyOzZ3+8zLJGHT9nYCw7kH80HLKZp+XLlw/6tWOO\nOSYvvPBCJk2alG3btuXoo48eMOa4445LY2NjzjzzzCTJ9OnT841vfKPQe4+kfz2luJ6eHr2rY/pX\n30Za/37wgy0Drp188skjqsaR4r30zs+5fCPt7x7F6V19O9AJl1L2PE2ZMiUPPPBAkuTBBx/Meeed\nN2DMpEmTcvzxx+fnP/95kuSJJ57IKaecMqx1AlAOB1kMDz9ngP1Typ6nBQsW5Oqrr859992XE044\nIbfeemuSZOvWrVm6dGn/6XtLly7N5z73ubz66qs56aSTcvPNN5dRLgDDzM1ah4efM8D+KSU8TZgw\nIR0dHQOuNzY27nZs+WmnnZb77rtvGCsDYKRws9bh4ecMUFwp4QkAqB+1Wq3/psTVaovZKWDMEp4A\n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\njBs3LjfccENWr16db3/727nrrrvy3HPPDWOVAAAAbypt2V5TU9M+x0yaNCmTJk1Kkhx++OFpamrK\ntm3bCj0XAADgYKqb0/Y2bdqUn/70pznzzDPLLgUAABiDhnTmad68edm+ffuA69dcc02mTJlS+HV+\n9atfZfHixVmyZEkOP/zwfY7v6enZrzoZOfSuvulffdO/+qV39U3/6pfejT1DGp6WL1/+nl/j1Vdf\nzeLFizNjxoycd955hZ4zefLk9/y+DL+enh69q2P6V9/0r37pXX3Tv/qld/XtQIPviFi219fXN+j1\nJUuWpKmpKdVqdXiLAgAAeIfSwtOaNWvS3NycH//4x7nqqqtyxRVXJEm2bt2aBQsWJHkzET700EN5\n6qmnMnPmzMycOTPr1q0rq2QAAGAMK+20valTp2bq1KkDrjc2Nqa9vT1JctZZZ2XDhg3DXRoAAMAA\nI2LZHgAAwEgnPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQg\nPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEA\nABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQg\nPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEAABQgPAEA\nABQgPAEAABQgPAEAABQgPAEAABRQSnh69NFH09bWltNPPz3PPPPMXse+/vrrmTlzZhYuXDhM1QEA\nAAxUSng69dRTc9ttt+Wss87a59hvfetbaWpqGoaqAAAABldKeGpqaspv/dZv7XPcli1b0t3dnYsv\nvngYqgIAABjciN7z9OUvfznXXXddDjlkRJcJAACMAeOG6oXnzZuX7du3D7h+zTXXZMqUKft8/t/9\n3d/lmGOOyYc+9KE89dRT+/XePT09+zWekUPv6pv+1Tf9q196V9/0r37p3dgzZOFp+fLl7+n5P/rR\nj7J27dp0d3ent7c3L7/8cq677rp89atf3evzJk+e/J7eFwAAYE+GLDwV1dfXt8fr1157ba699tok\nyfe///38r//1v/YZnAAAAIZKKZuJ1qxZk+bm5vz4xz/OVVddlSuuuCJJsnXr1ixYsKCMkgAAAPaq\noW+wqR8AAAD6OcYOAACgAOEJAACgAOEJAACggLoPTy+99FLmzZuX6dOn5/LLL8/OnTsHjNm8eXMu\nu+yytLW15fzzz8+3vvWtEirlLevWrUtra2umTZuW9vb2PY75sz/7s0ybNi0zZszIs88+O8wVsjf7\n6t9DDz2UGTNm5IILLsicOXOyYcOGEqpkT4r83UuS9evX50Mf+lC++93vDmN17EuR/j311FOZOXNm\nzj///Fx22WXDXCF7s6/+vfjii5k/f34uvPDCnH/++bn//vtLqJJ3u/7663PuuefmggsuGHSMzywj\n1776d0CfWfrq3H//7/+9r729va+vr6/vr//6r/u+9rWvDRizbdu2vmeffbavr6+v7+WXX+6bNm1a\n3z//8z8Pa5286bXXXus777zz+v7v//2/fb29vX0zZswY0Iu///u/77viiiv6+vr6+p5++um+iy++\nuIxS2YMi/fvhD3/Yt3Pnzr6+vr6+7u5u/RshivTurXGXXXZZ34IFC/o6OztLqJQ9KdK/X/7yl32f\n/vSn+zZv3tzX19fXt2PHjjJKZQ+K9O/P//zP+77+9a/39fW92buzzz6779VXXy2jXN7hBz/4Qd8z\nzzzTd/755+/x6z6zjGz76t+BfGap+5mntWvXZtasWUmSWbNm5fHHHx8wZtKkSTn99NOTJIcffnia\nmpqybdu2Ya2TN61fvz4nnXRSTjzxxIwfPz5tbW3p6urabUxXV1d/Tz/84Q9n586d2b59exnl8i5F\n+vfRj340Rx55ZJI3+7dly5YySuVdivQuSVasWJHp06fn6KOPLqFKBlOkfw8//HCmTZuW4447Lkn0\ncAQp0r9Jkybl5ZdfTpL86le/yoQJEzJuXOm34xzzzjrrrBx11FGDft1nlpFtX/07kM8sdR+eduzY\nkYkTJyZJJk6cmB07dux1/KZNm/LTn/40Z5555nCUx7ts3bo1xx9/fP/jxsbGbN26dbcx27Zt6/+f\nf5Icd9xxPoCPEEX690733ntvmpubh6M09qFI77Zu3Zqurq7MnTs3SdLQ0DCsNTK4Iv3buHFjfvnL\nX+ayyy7LZz7zmTz44IPDXSaDKNK/Sy65JP/8z/+c3/u938uMGTNyww03DHeZHACfWUaPop9Z6uKf\nNObNm7fHFH/11Vfv9rihoWGv/7P/1a9+lcWLF2fJkiU5/PDDD3qd7FvRD2N977r9mA9xI8P+9OHJ\nJ5/Mfffdl7vvvnsIK6KoIr276aab8rnPfS4NDQ3p6+sb8PeQ8hTp32uvvZZnn302HR0d+fWvf505\nc+bkIx/5SP7dv/t3Q18ge1Wkf8uWLctpp52WFStW5Be/+EXmzZuX73znOzniiCOGoULeC59Z6t/+\nfGapi/C0fPnyQb92zDHH5IUXXsikSZOybdu2QZcpvPrqq1m8eHFmzJiR8847b6hKZR8aGxuzefPm\n/sdbtmxJY2PjbmOOPfbY3f7VZk9jKEeR/iXJhg0bsnTp0txxxx35jd/4jeEskUEU6d0zzzyTa665\nJknyr//6r1m3bl3GjRuXlpaWYa2VgYr077jjjssHPvCBVCqVVCqVnHXWWdmwYYPwNAIU6d+PfvSj\nLFy4MEn6l/j9/Oc/z2//9m8Pa63sH59Z6t/+fmap+2V7U6ZMyQMPPJAkefDBB/cYjPr6+rJkyZI0\nNTWlWq0Oc4W80xlnnJGNGzdm06ZN6e3tzSOPPDLgg1lLS0v/cpOnn346Rx11VP/STMpVpH/PP/98\nPvvZz+ZrX/taTj755JIq5d2K9K6rqytr167N2rVr09rami9+8YuC0whR9L+dPT09ef311/PrX/86\n69evzymnnFJSxbxTkf598IMfzBNPPJEk2b59e37+85/nN3/zN8sol/3gM0t9O5DPLHUx87Q3CxYs\nyNVXX5377rsvJ5xwQm699dYkb64vXrp0adrb29PT05OHHnoo//7f//vMnDkzSXLttdfmk5/8ZJml\nj0njxo3L0qVLM3/+/LzxxhuZPXt2mpqasmrVqiTJnDlz0tzcnO7u7kydOjXvf//7c/PNN5dcNW8p\n0r+//Mu/zM6dO/PFL36x/zn33ntviVWTFOsdI1eR/jU1NeUTn/hEZsyYkUMOOSQXX3yx8DRCFOnf\nVVddlRtuuCEzZsxIX19f/uRP/iQTJkwouXKuvfbafP/7389LL72U5ubmfPazn81rr72WxGeWerCv\n/h3IZ5aGPovaAQAA9qnul+0BAAAMB+EJAACgAOEJAACgAOEJAACgAOEJAACgAOEJAACgAOEJgBHl\nrftx/OQnP+m/tmzZsixevHjA2CuuuKL/Xjlv6evrS0tLS/7hH/5h0Pf4/Oc/n7vuuuvgFQ3AmCA8\nATCiTJgwIV/4whdy/fXXp7e3Nz/72c+ycuXK/psYvtPs2bPzwAMP7Hbtqaeeyrhx43LWWWcN+h4N\nDQ0Hu2wAxgDhCYARp6WlJaeffnq+/vWv5/rrr88NN9yQo48+esC4KVOmZOPGjXnuuef6r91///35\nzGc+k3/6p3/Kf/7P/zmf+cxn0tbWlm9+85t7fK93z0K98/HLL7+cJUuW5OKLL86MGTNy00035Y03\n3jjI3y0A9UJ4AmBEWrp0ae69996ceOKJaW1t3eOYww47LBdccEHuv//+JG+Gna6ursycOTMnnHBC\nli9fnvvvvz/33HNP7rnnnvzLv/zLgNd49yzUOx/ffPPNOfvss/M3f/M3efDBB7Njx47cd999B/G7\nBKCejCu7AADYk+9973s58sgj8y//8i/p7e3NYYcdtsdxF110Ua644or88R//cR599NFMnjw5jY2N\n2b59e/70T/80P/vZz3LIIYdk27Zt2bBhQz74wQ8WrmHt2rX5yU9+kuXLlydJarVajj/++IPy/QFQ\nf4QnAEacF198MTfffHO+8Y1v5H/+z/+Zv/iLv8gf//Ef73HsaaedlmOPPTbr1q3L/fffn2q1miS5\n5ZZbcuyxx+arX/1qDjnkkMyfPz+9vb0Dnn/ooYfuthSvVqvt9vW/+qu/yoknnnjwvjkA6pZlewCM\nOF/60pdyySWX5NRTT82SJUvyt3/7t/nHf/zHQcdfdNFF+fM///Ns3LgxLS0tSd5cwnfcccflkEMO\nyT/90z8NevreSSed1H+y37Zt2/L973+//2tTpkxJe3t7f7h68cUXs2nTpoP1bQJQZ4QnAEaURx55\nJL/4xS+ycOHCJMlRRx3Vf/rea6+9tsfnXHDBBXnuuedy/vnnZ9y4NxdVLFq0KH/zN3+TGTNm5Lbb\nbsvHPvaxPT73kksuyZYtW9LW1pYvfelL+fCHP9z/tRtuuCGHHHJILrzwwlxwwQW58sors23btoP8\nHQNQLxr6+vr6yi4CAABgpDPzBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAAUIDwBAAA\nUMD/DwNUgwjQx0sgAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X = np.random.rand(50)\n", "Y = -X + np.random.normal(0, .1, 50)\n", "\n", "plt.scatter(X,Y)\n", "plt.xlabel('X Value')\n", "plt.ylabel('Y Value')\n", "\n", "print 'Correlation: ' + str(np.corrcoef(X, Y)[0, 1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see a little bit of rounding error, but they are clearly the same value." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## How is this useful in finance?\n", "\n", "### Determining related assets\n", "\n", "Once we've established that two series are probably related, we can use that in an effort to predict future values of the series. For example, let's look at the price of Apple and a semiconductor equipment manufacturer, Lam Research Corporation." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Correlation coefficients\n", "LRCX and AAPL: 0.954684674528\n", "LRCX and SPY: 0.935191172334\n", "AAPL and SPY: 0.89214568707\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAAH7CAYAAAD2Jr8pAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtclGX+//E36OikprZZWJlbiattG6loFsaPb2IEkuWx\nJVMZLQxKWMtqbWvX3I6bm5lWoLg5hF+/k+c0lDCycUo3DCt329WVDq7lqSwsswFEf3/MQQZmYDgM\nx9fz8fCxes89933NeO8ubz/X9bmCzpw5c0YAAAAAAAU39QAAAAAAoLkgIAEAAACAEwEJAAAAAJwI\nSAAAAADgREACAAAAACcCEgAAAAA4EZAAwA/Dhw/Xjh07AnLtDRs26K677grItb35/PPPddttt2nQ\noEFavnx5o90XAICWgIAEoEX78MMPlZCQoMGDB2vo0KG644479I9//EOStHbtWk2cOLGJR1izW2+9\nVX/7298a7X5Lly7V9ddfr127dmnSpEmNdl9J+u677/TAAw8oMjJSgwcP1h133KHdu3d7nLNx40bd\neOONGjhwoO677z4dP37c/dqmTZuUkJCgAQMGaPLkyR7v+/7775WQkKChQ4cqPDxco0eP1ttvv13t\neP79739r7NixGjBggMaOHas9e/a4X/vPf/6ju+66S9ddd5369+/v1+czm8264YYbFB4erj/84Q8q\nLS11v7Z8+XKNHTtWV199tR555JFqr1PfZ3fdunUaO3aswsPDFRUVpXnz5qm8vNz9enFxse677z4N\nHDhQw4cP15tvvul+raysTGlpaRo+fLj69++vgoICj2svWrRIV111lQYOHKiBAwdq0KBB+uqrr6od\nz7x58zR06FANHTpUf/3rXz1eW7BggUaNGqWrrrpKL730Uo2f7auvvtLkyZM1YMAAxcXFefzDxTff\nfKPk5GRFRkaqf//+OnjwYI3XA4DKCEgAWqwTJ04oOTlZU6ZM0c6dO7Vt2zbNmDFDHTp0aOqh+a3i\nD62N5eDBg+rTp4/P10+fPh2we//0008KCwvTunXrtHPnTo0ZM0bTp0/XyZMnJUn79u3TnDlzNG/e\nPL3//vsyGo2aO3eu+/3nnXeeTCaTkpKSqly7c+fOevrpp7Vjxw4VFhZqxowZmjlzpn766SevYykt\nLdW9996r2267zT2We++9V2VlZZIkg8GgkSNH6qmnnvLrs9lsNmVmZiorK0tbt27VgQMHtGjRIvfr\nISEhuvfeezVu3Di/v6+6stvtevTRR/XBBx9o5cqV2rFjh0cI//Of/6yOHTtq+/btmjdvnh5//HEV\nFRW5Xx88eLDmzZunHj16KCgoyOPaQUFBio+P10cffaSPPvpIu3btUq9evXyOxWKxKD8/Xxs2bNCG\nDRu0detWWSwW9+uXXXaZHnroIUVFRfn12WbNmqXf/OY3Kigo0P3336+0tDR99913kqTg4GBFRUV5\nfO8AUFsEJAAt1hdffKGgoCCNHDlSQUFB6tixo4YNG6Z+/frps88+0+OPP66PP/5YAwcO1LXXXitJ\n+vHHH/Xwww/r+uuv1/Dhw5Wenq4zZ864r7ly5UqNHDlSgwYNUnx8vP79739Xue9nn32m6Ohobdq0\nyeu4+vfvr+zsbI0YMULXXXednnvuOfc91q5dq4SEBD3zzDMaOnSoFi1aVKVasG/fPk2dOlVDhw7V\nsGHDtHjxYkmO4LJkyRLddNNNGjp0qGbOnOmurpSUlOjBBx/U0KFDNWTIEI0fP17Hjh2rMrYpU6ao\noKBATzzxhAYNGqQvv/xSs2fP1pw5c5SUlKSBAwfqgw8+0GeffabJkydryJAhuuWWW/TOO++4rzF7\n9mw9/vjj7vMnTpyob775Rk8++aSGDBmiuLg4r9+bJF166aUymUzuH7xvv/12lZWV6csvv5TkqB4N\nHz5cgwcPVqdOnTRz5kzl5eW5A9T111+v2NhYXXjhhVWu3aFDB11xxRUKDg7W6dOnFRwcrO7du8tg\nMHgdS0FBgcrLy5WYmCiDwaDJkyfrzJkz+vvf/y5JuvzyyzVu3DiFhoZ6fX9l69ev1/jx49WnTx91\n7dpV9913n9atW+d+/aabbtKIESPUvXv3aq9T12e3ojvuuEPh4eFq3769QkJCdOutt2rXrl2SpJMn\nTyovL0+/+93vdM455yg8PFzR0dF64403JDmC4ZQpUxQeHq527dpVufaZM2d83tfX93LXXXcpJCRE\nISEhmjZtmsf3Mnr0aP2///f/1Llz5xqv9cUXX+hf//qXUlNT1aFDB8XExKhfv37Ky8uTJJ1//vm6\n44479Jvf/Mbv8QFAZQQkAC3W5ZdfruDgYM2ePVvbtm3zmIrVp08fzZ07VwMGDNBHH33knib0xBNP\n6KefflJ+fr6ys7O1fv16rVmzRpK0efNmvfTSS3ruuee0a9cupaenq1u3bh73/PTTT3X33XfrT3/6\nk0aOHOlzbG+//bbWrl2rdevWKT8/X6tXr3a/9o9//EO9e/fWjh07lJKS4vG+EydOaOrUqYqKipLN\nZlNeXp6uv/56SVJ2drbeeecdLV++XO+99566du2qP//5z5IcU6pOnDihbdu2qaCgwF0hqOy1115T\neHi4/vSnP2nXrl267LLLJEk5OTm699579dFHH+nqq692T1PasWOHHnvsMT344IP64osv3NfJzc3V\n/fffrw8++EAGg0G//e1vdfXVV6ugoEA333yznnnmmRr//iTHFLeysjL17t1bklRUVOQxne3SSy9V\nhw4d3AHKH6NGjVJYWJgeeeQRvfzyyz4rikVFRerXr5/HsX79+nlUUmqj8tj79eunb7/91uO5lFRj\nuKjLs1uTgoIC/epXv5Ikffnll2rfvr1++ctful/v37+/9u3b59e1goKCtHXrVg0dOlS33HKL/u//\n/q/a8yt/z/369fP7Xt6udemll6pTp04eY6/r3xkAeENAAtBidenSRStWrFBQUJD++Mc/KiIiQikp\nKe7KSeUfRMvLy7Vp0yY98MAD6tSpky655BJNmzbN/S/nq1evVlJSkvtfn3v37q2LL77Y/f6dO3fq\n3nvv1XPPPVfjdKCkpCR17dpVF110kRITE5WTk+N+7cILL9Sdd96p4ODgKiHm3Xff1YUXXiiTyaQO\nHTqoc+fOCgsLkyS9/vrr+t3vfqeQkBAZDAbNmDFDb731lsrLy2UwGFRcXKwvv/xSQUFB+vWvf60u\nXbr4HF/F7yYoKEgjRozQwIEDJUl79uzRzz//rOnTp6t9+/a67rrrdOONN3p8hpiYGP36179Whw4d\ndNNNN+mcc87RbbfdpqCgoGorSBWdOHFCDz/8sGbMmOEe68mTJ3Xuued6nNelSxef0+S82bhxo3bt\n2qUZM2YoNTXV53t/+umnet+rospjd32myterPGXNm9o+u9VZvXq1/vWvf2natGnucVZ+Njp37uz3\n546Li9PmzZv197//XU888YRefvllj2ejMm/fi6siWFve/s5qM3YA8AcBCUCL1qdPHz3zzDOyWq3a\nuHGjjh49qqefftrrud9//71OnTqlSy65xH3soosu0tGjRyVJhw8fdlcyvHn99dc1aNAgDRkypMZx\nXXTRRe7fX3zxxe57SFLPnj19vu/QoUM+13N8/fXXmjFjhoYMGaIhQ4YoPj5e7dq107Fjx3Tbbbfp\nhhtucDdAmDdvnk6dOuXzPpV/SA8JCXH//ujRo1XGWPEzBAUF6Re/+IX7tY4dO3r82Wg01vgDsN1u\nV3JysgYOHKjp06e7j3fq1Ek//vijx7k//vijX9OvKurQoYMmT56szp07u6fMVWwqcOjQIXXu3Fkn\nTpzweN+JEyeqDZYuGzZscF/PNf5OnTp5XM/1OSqPvTbT01xqenZ9efvtt/XCCy8oMzPTPbWv8jhd\nY/X3O+7Tp48uuOACBQUFaeDAgZoyZYreeustSVJGRob7e3n88ce93u/HH3/0qABVJz4+3v13VlhY\nqC5dutRr7ADgDwISgFbjiiuu0JgxY/Sf//xHUtUQcN5556l9+/b6+uuv3ccOHTrkDgc9e/bU/v37\nfV5/7ty5OnjwoF/Txyp2zzp48KBHAKmugnDxxRf77Ah20UUXaenSpdq5c6f71yeffKILL7xQ7du3\n14wZM5STkyOLxaJ3331X69evr3Gc3sZ04YUX6vDhwx4/yB88eNDrup+6KC0t1X333aeLLrrIPUXQ\npW/fvh6d5P773/+qrKzMPRWwtsrLy3XOOedIkkdTgYsuukh9+/bV3r17Pc7fu3evX2uObr31Vvf1\nlixZIkkKDQ31qJzt3btXPXr0qDJN058KUm2fXW+2bdumP/7xj8rIyFDfvn3dxy+77DKdOnXK41nf\ns2ePewpefSQnJ7u/F1dACg0N9fg7rc29cnJy3H9n4eHh6tOnjw4cOOBRMdqzZ4/H5wOA+iIgAWix\nPv/8cy1btkxHjhyR5PiB8c0333RPFTv//PN1+PBhd1eydu3aKS4uTi+88IJ++uknff311zKbzbr1\n1lslSRMmTNCrr76qTz/9VGfOnNH+/fs9gk7nzp3dAeX555+vdmyvvvqqfvjhBx06dEjZ2dnVrleq\nKCoqSkePHlVWVpZKS0t14sQJdxvshIQEzZ8/3z2m7777Tvn5+ZKkDz74QHv37lV5ebk6d+6s9u3b\ne11g71Ix/FSuaFxzzTUyGo3KzMxUWVmZPvjgA23dulXx8fFez68NVwtpo9GoZ599tsrro0aN0tat\nW/Xhhx/q5MmTevHFF3XzzTe7Kw6nT59WSUmJTp06pTNnzqi0tNT99/vJJ5/oww8/VGlpqex2u5Ys\nWaKSkhJdc801Xsdy7bXXql27dnrttddUWlqq1157TUFBQbruuuvc55SUlLivX1pa6tG2u7LRo0dr\nzZo1+uyzz3T8+HG98sorGjt2rPv18vJylZSUqLy8XOXl5SotLfXZxbBHjx61enYr27Fjhx566CEt\nWrRIV199tcdrnTp1UkxMjBYuXKiff/5ZH374obZu3arbbrvNfU5paalKSkqq/F5yVKWOHz+uM2fO\naPfu3crOztbw4cOr/V5c/z09cuSIzGazxowZ43791KlTKikp0enTpz1+783ll1+uK6+8Ui+99JJK\nSkqUl5enffv2KSYmxn1OSUmJe7wVfw8A/mrf1AMAgLrq3LmzPvnkEy1btkw//vijzj33XN144416\n+OGHJTk6nvXt21c33HCDgoODtWPHDv3xj3/UE088oREjRqhjx466/fbb3W2XY2NjVVxcrFmzZunI\nkSPq1auX5s2b57EO6dxzz9WyZcs0ZcoUGQwGpaWleR1bdHS0xo4dqx9//FFjx47V+PHjJTkqA97a\nJruOdenSRcuWLdNTTz3lbjCQmJiosLAwJSYmSpKmTZumo0eP6vzzz9fIkSMVHR2tb7/9VnPmzNGR\nI0fUqVMnjRw50uMH3soqjqHymAwGgzIyMjR37lwtWbJEPXv21HPPPafLL7+82s9Q3Z9dPvroI737\n7rs655xzNHjwYPfxpUuXKjw8XKGhoZo7d64eeughFRcXKyIiwqNit379ev3hD39w/zksLExjxozR\nM888o9LSUj355JM6cOCAOnTooLCwMC1dutTn9CuDwaCXX35Zjz76qJ5//nn16dNHr7zyitq3d/xf\n41dffaURI0a4P09YWJguueQSdyitLDIyUnfffbemTJkiu92um2++Wampqe7XX3nlFb388svuP2/Y\nsEEzZszQjBkzqlzruuuuq9WzW1l6erp++uknj3boQ4YMcVe75syZoz/84Q+KiIjQeeedp7lz53q0\nfo+NjdXBgwcVFBSku+66S0FBQcrPz9fFF1+szZs369FHH1Vpaal69uype+65R6NHj/Y6DskR7A8c\nOODxDxG//e1v3a8/9thjHtXOjIwMPfvssz6vOX/+fM2ePVvXXnutLr74Yi1cuFDnnXee+3VXIHat\nhwsKCvJrTRwAuASdqc8/BVbjkUcekdVq1fnnn6+NGzdKcmwG98477ygoKEjdu3fXs88+656nv3jx\nYq1Zs0bBwcF67LHHdMMNNwRiWAAQcP3799eWLVt06aWXNvVQAABALQVsit24ceO0dOlSj2N33323\nNmzYoDfeeEMjRoxw75hdVFSkTZs2KScnR0uXLtXcuXMDulEhAAAAAHgTsIA0ePBgde3a1eNYxc5A\nJ0+edJfE8/PzFR8fL4PBoF69eql3797uOfcA0NL4swgfAAA0T42+BumFF17QG2+8oY4dO7o3Tjx6\n9KjHItqePXu6F10DQEvDegcAAFquRg9I999/v+6//34tWbJETz/9tM92uTX9C2xhYWEghgcAAACg\nlQkPD/f73CbrYnfLLbe4N9cLCQnR4cOH3a8dPny42r0dXGrzQdF6FRYW8iyA5wCSeA7gwHMAiecA\nZ9W2sNKo+yB9+eWX7t/n5+fryiuvlCQNHz5cOTk5Ki0t1YEDB7R//36FhYU15tAAAAAAIHAVpAce\neEAFBQUqLi5WVFSUUlNTtW3bNn3xxRcKDg5W7969PXbZjouLU3x8vNq1a6c5c+awyBkAAABAowtY\nQJo/f36VY66NEr1JTk5WcnJyoIYDAAAAADVq1Cl2AAAAANCcEZAAAAAAwImABAAAAABOBCQAAAAA\ncCIgAQAAAIATAQkAAAAAnAhIAAAAAOBEQAIAAAAAJwISAAAAADgRkAAAAADAiYAEAAAAAE4EJAAA\nAABwIiABAAAAgBMBCQAAAACcCEgAAAAA4ERAAgAAAAAnAhIAAAAAOBGQAAAAAMCJgAQAAAAATgQk\nAAAAAHAiIAEAAACAEwEJAAAAAJwISAAAAADgREACAAAAACcCEgAAAAA4EZAAAAAAwImABAAAAABO\nBCQAAAAAcCIgAQAAAIATAQkAAAAAnAhIAAAAAOBEQAIAAAAAJwISAAAAADgRkAAAAADAiYAEAAAA\nAE4EJAAAAABwIiABAAAAgBMBCQAAAACcCEgAAAAA4ERAAgAAAAAnAhIAAAAAOBGQAAAAAMCJgAQA\nAAAATgQkAAAAAHAiIAEAAACAEwEJAAAAAJwISAAAAADgFLCA9MgjjygiIkKjRo1yH/vLX/6iuLg4\n3XrrrZoxY4Z+/PFH92uLFy9WTEyMYmNj9d577wVqWAAAAADgU8AC0rhx47R06VKPYzfccINycnK0\nYcMGXXbZZVq8eLEkqaioSJs2bVJOTo6WLl2quXPn6vTp04EaGgAAAAB4FbCANHjwYHXt2tXj2LBh\nwxQc7LjlNddco8OHD0uS8vPzFR8fL4PBoF69eql3797avXt3oIYGAAAAAF412RqkNWvWKCoqSpJ0\n9OhR9ezZ0/1az549deTIkaYaGgAAAIA2qn1T3DQ9PV0Gg8FjfVJlQUFBNV6nsLCwIYeFFoxnARLP\nARx4DiDxHMCB5wB10egBae3atbJarcrKynIfCwkJcU+3k6TDhw8rJCSkxmuFh4cHZIxoWQoLC3kW\nwHMASTwHcOA5gMRzgLNqG5QbdYrdtm3b9Le//U2vvPKKOnbs6D4+fPhw5eTkqLS0VAcOHND+/fsV\nFhbWmEMDAAAAgMBVkB544AEVFBSouLhYUVFRSk1N1ZIlS1RWVqZp06ZJkgYMGKDHH39coaGhiouL\nU3x8vNq1a6c5c+b4NcUOAAAAaGp2u11mc74kyWSKltForPY4mreABaT58+dXOTZ+/Hif5ycnJys5\nOTlQwwEAAAAanN1uV2zsClmtkyVJFku2cnMnSpLX44Sk5q9JmjQAAAAAgeCq2uzfv19XXXVVwAOJ\n2ZzvDEEGSZLVOklm8xbn76seT06OD+h4UH8EJAAAALQKlas5O3ZQtUHtNdk+SAAAAEBD8qzmGJxV\nm/yA3tNkilZUVLakUkmliopaLpMp2udxNH9UkAAAAIA6MhqNys2d6J5WZzKdrVj5Oo7mjYAEAACA\nVsFkipbFki2rdZIkOas2EwN+X6PR6HVtka/jaN4ISAAAAGgVKlZz9u/frzlzplG1Qa0RkAAAANBq\nuKo2hYWFfocj9itCRQQkAAAAtFm+9jEiJLVddLEDAABAm9UUne/QvBGQAAAAAMCJgAQAAIA2i/2K\nUBlrkAAAANBmVbePEdomAhIAAACahabqJsd+RaiIgAQAAIAmZ7fbFROTLZvNJElascKsvLzJVHPQ\n6FiDBAAAgCaXmZnrDEeObnI2W6IyM3ObdlBokwhIAAAAaHLbt+/x61hbZ7fblZGRo4yMHNnt9qYe\nTqtEQAIAAECTi4joJylLrm5y0mvOY3BxbWqbkhKjlJQYxcauICQFAAEJAAAATS4pKU6RkeWSNkna\npMjIciUlxXmc09arJ5mZm2W1ni8pT1I5m9oGCE0aAAAA0OSMRqPy8hIrdLFL9GjQ4KqeWK2TJUkW\nS7Zyc9tOS2673a5Fi4okzXQeyZY0vglH1HpRQQIAAECz4Gq3nZwcXyX4mM35znDkaOLQ1qonZnO+\n9u2bKdfnlyYpNPRZNrUNACpIAAAAgB+aap+mSqOQlC+pTCkpA9pMBa0xUUECAABAs2cyRSsqKluu\nJg5RUcsbtXrS1A0STKZoRUa+Kmm5pBhJ8Vq//nibXIsVaAQkAAAANCl/mi8YjUbl5k5UevoWpadv\nafT1R/5M8QtkEwmj0agJE0IkJariXlFtaZphY2GKHQAAAJpMbZovuNYoNUeN0UTCYDA02LXgGxUk\nAAAANJmW0nyhpil+jfE5mnqaYVtBBQkAAAAtXuUGCg3NNcXPbN7ivIdndaisrFSOPZzaS4pWIOoQ\nNY0BDYOABAAAgICpqfObyRQtiyVbVuskSXJWRSbW+h6Vp7c9/XR/v8ckya/udL6m+Nntdq1a9a0k\nk/NIliIjy2UyJdbqc/ijOU8zbC0ISAAAAAgIf9blNERVxHN6m2S1TtLGjUsVERFR45hWrDBLOi2b\nbZrPMfpzf5vN5L6/NEUTJmyiutNCsQYJAAAAAeHvupzqNogN9JhstkTZbD1rHGNt0VCh5SIgAQAA\noEXz1rxg1KgBTXp/mie0XAQkAAAABERjBQdveyR17NjRrzFFRmYpMvJwvcbY1Hs0oWGxBgkAAAAB\n0Zhd1/xtXlB1TI61SPUdI80TWg8CEgAAAAKmLsGhps53gRhTdWMM9HjQvBCQAAAA0Gz40/muIe9V\nU/BpzPGgeWANEgAAAJoNfzvf+WK325WRkaPVqz+Q3W6v9rzY2BVKSYlRSkqMYmNXeD3fMZ4JkvIk\n5clqHd8gXe7QfBGQAAAA0CpUDD3PPpvkM/RI/gexsrJSSa9LinH+Wuk85v3+GRk5ysjIqTacoXkj\nIAEAAKDZqE/nu/pWn7wLkpTovqY0xXnMk78VKTR/rEECAABAs1HbzncV1xGVlZX5fR+TKVoWS7as\n1kmSpKio5UpIGKuMjBz360aj0euGr96OeYYzOcPZFjrbtUAEJAAAADQr/na+q9xAITLyVUVGmmWz\nJUqSs/o00eP8ik0ZKgaxhISxGj16bZVmDN6CVMVrovUhIAEAAKBF8qza2GWzhWjChH9o4cJNOnjw\noObMmeauPvnqRucKYhkZOT4rQP5UtAhSrQcBCQAAAC2cXdIKSZO1alW8jh7N1tNPD/AIMvWZAudP\nRasxN8VFYNGkAQAAAM1STV3hzjZ0yJXk2Zxh48aPa3Wv+jSHcHEFqeTkeMJRC0ZAAgAAQLPjT1c4\nV9UmIWFPjderKQC5rpWevkXp6VvYDLYNY4odAAAAmh1/p8QZjUYtWzZThw55rv8ZNWpAlfNqmgLn\nb3MItG4EJAAAALRo3sLPp59+6vU8AhBqQkACAABAs1PbrnCEHzQUAhIAAACaHV9T4irvZcQ6ITS0\ngDVpeOSRRxQREaFRo0a5j23evFnx8fG68sorq5Q9Fy9erJiYGMXGxuq9994L1LAAAADQQlTuCudP\n4wagvgIWkMaNG6elS5d6HPvVr36ll156SYMHD/Y4XlRUpE2bNiknJ0dLly7V3Llzdfr06UANDQAA\nAC2QZ+MGg7NxQ35TDwutTMAC0uDBg9W1a1ePY3369NHll19e5dz8/HzFx8fLYDCoV69e6t27t3bv\n3h2ooQEAAACAV81iH6SjR4+qZ8+e7j/37NlTR44cacIRAQAAINBq2gi2Mn82c3Vdc/XqD5h+hzpp\ntk0agoKCajynsLCwEUaCloBnARLPARx4DiDxHLQEJSUluu++7fr4476SpMWLX9LLL0eoY8eOXs/d\nuPFjSdKcOVcqL8+xjGPUqAEe69pLSkqUmrpTu3bdK0nKy3tFixYN8XpNwJdmEZBCQkJ0+PBh958P\nHz6skJCQGt8XHh4eyGGhhSgsLORZAM8BJPEcwIHnoGVYtGidPv64u6SRkqSPP85SYeERpaaO8TjP\n1ZjBak2SJO3Yka3c3Gleu9dlZOQ4w5Fjc9ldu1K0e3fVzWXRttT2H0yabIrdmTNn3L8fPny4cnJy\nVFpaqgMHDmj//v0KCwtrqqEBAAAgwLZv3yspUa6GC9IU5zFPNGZAYwtYQHrggQeUkJCgL774QlFR\nUVq9erXefvttRUVF6ZNPPtE999yju+++W5IUGhqquLg4xcfHKykpSXPmzPFrih0AAABapoiI/jUe\ns9vtslr/IWmTJN/riVzrjsrKShUZaVZ1a5SAmgRsit38+fO9Hh8xYoTX48nJyUpOTg7UcAAAANCM\nJCXFatUqs2y2RElSZGSWkpImu18/O7VulvNIlqTbFRW1WibTRPc5mZm5WriwQEVFj0iSrrjiCd1+\n+zz17n2unnhiOhvJotaaxRokAAAAtC1Go1F5eZNlNm+RJJlMkz3CjOfUOkmaooSE+UpPT5bZnK+y\nslKtWvWtbDaTpHhJr0oK1uefP6XPP5cGDXpFTzzRqB8JrQQBCQAAAE3CaDTWqoFCRER/jR691hmc\nNkky6WyACpEjKJ1t0GA206ABtdcs9kECAABA21LTHkje9jySzlSoKvHv/AgMniwAAAAElN1ud3ee\nczVNcKwvcqw5sliylZs70WOKndFoVG7uxApT8CZW6l4XLce6pCmSpD59/qWgoL0qKrpfkjRoULpM\npnsC+8G9li/EAAAgAElEQVTQKhGQAAAAEDBnmy2cDUPjxv3CY32Ro3V31elwlafgmUzRsliyZbVO\nkhSsyMhyTZiwSQaDQSbTA5LkDlRhYUNo0IA6ISABAAAgYCo3W7BaJ+mii+bLsV6odqpWlRKrhCBX\noKrt5qCACwEJAAAAjSoiop8OHXJVguTcr2iiX++tbWMHoLYISAAAAG1Q5XVBgZqO5jktzhGGkpIm\nKilJHuuLmA6H5oKABAAA0MZ4WxdUuUlCQ/HWbMF1HypBaI4ISAAAAG1M1XVB4zV16gJFRV0dkGoS\n0+LQkrAPEgAAQBtTVlZW4U92SStlscxSSkqMYmNXeN2XSKp57yKgNSAgAQAAtCF2u12rVh2RYw+h\nUkm5khLlqCYZnC23872+LzZ2hVJSYmoMUkBLRkACAABoQ8zmfNls0yRNkrRF0qd+v+/stDzfQQpo\n6QhIAAAAbZJRjr2IUtW37wI5qkmlzpbb0U07NKAJEZAAAADaEJMpWlFR2TobiFaroCBJ6elblJ6+\nxWc3u6rvI0ihdaKLHQAAQBviq+12TV3mqmvXDbQmBCQAAIA2pq5tt2nXjbaAKXYAAAAA4ERAAgAA\nAAAnptgBAAC0Ina73d1+22SK9lgnVN1rABwISAAAAK2EazNXx35FksWS7e5KV91rAM5iih0AAEAr\nUd1mrt5ey8zMbcLRAs0TAQkAAKCNWriwQHa7vamHATQrBCQAAIBWorrNXE2maPXtu8D9mrRcRUWz\n3RUmAA6sQQIAAGglqtvM1Wg0KjU1VGlpm+X4EXCi+LdyoCoCEgAAQCtS3WauSUlxWrNmhazWSZLk\nrDBNbMzhAc0eAQkAAKCNqK7CBMCBgAQAANCGVFdhAsDEUwAAAABwo4IEAADgg91ud3d5M5mimY4G\ntAEEJAAAAC/sdrtiY1c4N1eVLJZs5eayZgdo7ZhiBwAA4IXZnO8MRwZJBlmt4zV16gJlZOSwuSrQ\nihGQAAAAamSXtFIWyyylpMQoNnYFIQlopQhIAAAAXphM0YqKypZUKilXUqLOVpMmudcmNTa73a6M\njBwqWUCAEJAAAAC8cO0ZlJ6+RQkJe6q8XlZWVqfr1ifguNZFpaTEUMkCAoSABAAA4INrz6Bly2Yq\nMtIsRzWpVNJrev31g40ecKqui2q6ShbQWhGQAAAAnHxVd4xGo0aP7iZps6Qtkibp/ffvVmZmbq2u\nT8ABmj8CEgAAgGqu7uzc+bmkkZLiJTlafW/fXnXqXSB5rosqVVTUcplM0Y06BqC1IyABAADId3XH\nVVU6fbpc0lJVnGYXEdGvVveob8CpuC4qPX1LrfZlqm9zB5pDoK1go1gAAAAfyspKK2wWGyOj8UnZ\n7eslddCwYXZJQcrIyJHJFO1XUHEFHLN5iyTJZKr9xrOudVG1UVxcrGuvzdS+fTMl1X7TWzbNRVtC\nBQkAAEBVqzuRkVl6771/eVSV7PZHdcEFW/T886UKDu6otLT4KtPxaqq0uAJOcnJ8owQMu92uIUOe\nc4ajuq19Yu0U2hICEgAAgDynry1cuEnSaa1c+Zsq533zTbx27vxcNptJ3qbjNbc23GZzvoqKhjbp\nGICWhIAEAADg5KruGAwG2WzTJN0saYHOrjtaLilC+/Z97fX9jkrLBEl5kvJktY5v1EqL7+rVcEln\nq2N9+77oXvvkz9oimkOgLWENEgAAaLPsdrs7wHhfR2SUlCRpjqShkm5Rt26ZKix8WlKWpCmS5AwM\nE5WZuVnS65ISne/PUlnZ+Q06Rklex+xrnZDJFC2LZYWs1vGSNik0tEAFBQ/LaDT6vbaoIdZOAS0F\nAQkAgDao5mDQ+lUXDhyhIltW6yRJnRQZeZkmTJC2b39VFsvDckytmyRpkxIS9mjZspnO7zBIjnBk\ncN5liqRNDTbGFStelRTsnN4nrVhh1oQJPWQwdFBZWWmFdUKS1TpeU6cuUFTU1Vq/fqwsFpskg0ym\nP7n/vj3XFsk5VXCL1yYQdWkOAbREBCQAANoYOpI5eAsHmZmblJo62l0xyczcpO3b9ygiop+SkmJl\nMBhksbiuYJQ0UlFRBvd3ZzAYqtzH27G6jtFmC5FjHybXnxNls22WFKO+fRdIsjtfs0taKYtlliyW\ntvt3DNQFa5AAAGhj6Ejm28KFBR7rcNas+U4Wyyylpd2i2NgVGj06XN26PSfXWpxu3eYpIWGY+/ym\nWavTXpJB+/b9TqGhzzjvnauzlSzff8esLQKqClhAeuSRRxQREaFRo0a5jxUXF2vq1Km6+eabNW3a\nNP3www/u1xYvXqyYmBjFxsbqvffeC9SwAAAAJDnCgaPqcrYBQ1HRbHeQ8BYk77/frOPH0yRtkbRF\nx4+nymJ5333N+mzk6muMnq3Hjygy0qyKm9VKZwNNWtq1Sk/fooSEPXJUkXKcv7w3X2jo8QKtQcCm\n2I0bN06TJ0/W73//e/exJUuWKCIiQklJSVqyZImWLFmiBx98UEVFRdq0aZNycnJ05MgRTZ06VW+9\n9ZaCgylwAQDQ0DzX15xtMNDWGI1GpaaGKi1tsxw/Ek2Uf/92bJRjmpsklaqsrFQZGTmSzq7naqi1\nOlWbIziaP5jNW1RWVqZVq8plswXLVf1JSnIEnISEYdq8eaGOH39YktSt23NKSLjP5z1YWwScFbAE\nMnjwYHXt2tXj2DvvvKMxY8ZIksaMGaO3335bkpSfn6/4eEdLzV69eql3797avXt3oIYGAECb5rnf\nT47GjfuFew+ftiYpKU5RUcck3SQpWJGRy1RWVqaMjBwlJAyrMv0sPT25UkVnmVat+jag+x5V3ljW\n9efU1NHKy0v0Wv2xWN53hiNH9ev48Yc8Kl0AfGvUJg3Hjh1Tjx49JEk9evTQsWPHJElHjx7VNddc\n4z6vZ8+eOnLkSGMODQCANsXVqa2tN2uoWKEpKyvVqlXBSktzVFMslmxn9zfP1tYVKzplZSHO86t2\ngWuMToGusOStFTiAummyLnZBQUEKCgqq9vWaFBYWNuSQ0ILxLEDiOYADz4H/Vq/+QFZrkir+cD93\n7lKNHz+0aQfWAGr7HAwZ0lOrV38gm83z+/jLX85+H59++qnH+ZLjO6xs//792r59u1JTd2rXrnsl\nSZmZr2jRoiHq2LFjXT5OtUpKSqrc669/DdOgQa9o164USdKgQekKCxvS5v770dY+LxpGowak888/\nX998840uuOACHT16VL/4xS8kSSEhITp8+LD7vMOHDyskJKTG64WHhwdsrGg5CgsLeRbAcwBJPAe1\ntXPn4SrHfvnLX7b477Cuz0Fdvo+rrrpKO3Z4rueaM2eaMjNznYHFEbZ27UrR7t3e9xeqr4yMnCr3\n2rt3i95//54Ka5fuaVOVQYn/PcBZtQ3KjdoFYfjw4Vq3bp0kaf369RoxYoT7eE5OjkpLS3XgwAHt\n379fYWFhjTk0AADanJbQ4tlutysjI0cZGTkNsranuuvV5fvw1gVOcrQLb2qV1y4B8E/AKkgPPPCA\nCgoKVFxcrKioKKWlpWn69OmaOXOm1qxZo0suuUQLFiyQJIWGhiouLk7x8fFq166d5syZ49cUOwAA\nUHdVO6Q1r/VHDb2hbU3X8+f7sNvtyszcrO3b9yoior+SkmKrdIHLyMhRUdEjkrIlOSpLffu+KJMp\ntU7jrgldCYGGFbCANH/+fK/HzWaz1+PJyclKTk4O1HAAAIAXgWrx3BANCjz3IfJsgFAX/lyvuu/D\nbrcrJiZLNls7SbNksUirVpmVlzfZy+czytE2fIukMqWmhspoNAakcUNzD7pAS8NGQwAAoEG5KjWB\nbH3dFMzmfNlsPSUlytU+22ZLdAcel7NT9YIl3aSoqO+UlBQX0O+F6XRAwyEgAQCABuVZqTE4KzX5\nNb1NkucaIW/7ENVnjVTDrbmyS8px/qoacLytSzIajfX6XgA0niZr8w0AANoOq/UfNU4p87ZGyNs+\nRHVVm6lo3qbCmUzRWr58qd5//0VJv5ckde36FyUkzPB6r0BMXQQQeFSQAABAg6pcqZFek8VyX41T\nyrxVWCyW931OHatLhzt/pqJVNxXukkuOS7paUrkkg3744WFZLO/7de+W0DUQABUkAADQwFyVmqlT\n58tiuVKOTm7GejdZqKihO9xV5K2ZQ2Zmjtas+V5W68POs7LlaMLg/781B6KZQiCaPgBtHRUkAADQ\n4IxGo6KirpY0Uo6ObjXzVmFJSBhWpUpkt9s1deqCStWm8Zo6dYEyMnJUUlLS4J9n+/a9HvdzhL7c\nWleBGrKZQmtthgE0NQISAAAICH+nlLmmypnN+Vq/fqy7ucH69WM1evRajwBQXFys2NgVzsqU+wqS\nVspimaWUlBilpu6sV1DwNu6IiP5VzktI2NNgVau6oOkDEBhMsQMAAAHh78arFafKrVhh1oQJPWQw\ndFB29rtVprqlpMyX1TpLjjVAro1Yc3W29ba0a1eKz6l8/kxJ8zZuSVqzxnMz1mXLZjKlDWiFCEgA\nACBgaurmVnm9j82WKJtts6QYhYbOkeTrva6NWDcpPDxfhYU1r2uqzbolb+NubpuxmkzRslg8Q5sr\nzAGoO6bYAQCAZqa9JIOKimarb98FqjjVLT09ucL0t2BFRX2nN998VN26Pec+r0uXZ5WQMKzKVes7\nJa25bcbqa78lAPVDBQkAADSZylUQ6TU5ps1JklGpqaEyGDyrNpUrOWZzvo4fT5PkOHbixExZLLY2\nsQ8R+y0BDY+ABAAAmkzFwFNWVqZVq8plswXLVTFKSqpaFfEeCow6Ox2v1Ou9mJIGwB8EJAAA0KQq\nBp6kJHut1/lUDj6DBqXLZLrH631qu46IfYaAtoeABAAAmo3aTBmrGF7Wrx+r7Owcbd++V716dWqw\n6wdqM1oAzRcBCQAANBm73a7MzFxt375HERH9lJQU57UVeOUqjrf24NJp2WyzJEk7d9Y/zFTusOdo\n6uC9fTiA1oMudgAAoEnY7XbFxGQrLS1eFssspaUdU0xMlscmr64gVHGzWFdgqtiRztEevKfYNBVA\nfRGQAABAkzCb82WzmeQKNdIU2WwhHsGmdq25/ynJ7uO12jOZoiu0FC91NnWIbrDrA2ieCEgAAKDF\nqRxeHO3B0yQtl/SDunWb53UvpNpgnyGgbSIgAQCAJmEyRSsy0qyKIScy8ohHlcZXFcdoNGr9+rEK\nD58labMceyedK2mKpFd0/HiqLJb3/R6L3W5XRkaOMjJy3FP86GAHtE00aQAAAE3CaDQqL2+yMjM3\n+WzS4KriVDxHcoSX0aPXqrBwhKSRcjVScLhajn2R/OOtW9369WN1662vO9c1SStWZCkvL5GQBLQB\nBCQAANBkjEajUlNHKzW1+vPWrPlOVussWSzSmjXZGjfuPGeg+UnSHEnXShouaaWk22u1CWxmZm6V\nbnX33DNPNluIHOFLstmylJm5WampY+r0OQG0HEyxAwAAjc7blDZfvDVq2L59rxwNGdZKmispXj16\nPK/nnz9Xs2cv93u9kN1u18KFBc5r5Th/2fXZZ4clJUoql5QnqYdstn/W/QMDaDEISAAAoFH5at1d\nGxER/RUa+oyks8Hp228fVadOXTR+/FC/p8KZzfkqKrpf0kJJMZJiZDTO14QJQ+UITSucx+P10Ucd\naj1OAC0PAQkAADSomqpDtWvd7b1RQ1JSrNLSrm2gEW+X9LB7PHb7H9SpUxeFhj6tigGsqOh+ZWbm\nNtA9ATRXBCQAAFqZ2kxfC8S961sdqsxXu+2kpNh671NkMkUrNPSDKscNBoPS0oZWOb5wYQFVJKCV\nIyABANCKBCKg1IY/1SF/NmCtHPKMRqOSk+OVnBzvnj7XEPsUGY1G7dz5sPr2XVBlPElJsR7HpeUq\nKppdbbULQMtHFzsAAFoRz4AiWa3jNXXqAkVFXd1s9vJxBRuzeYskyWTyDDbe2m77Cj+u4FQf3bt3\n1+7dqV7Hk5oaqrS0zXL8yDRRUrDKykqVkZHjPLd5fKcAGg4VJAAAWgm73S6r9R8Vj0haKYtlVqNV\nk/ypDknyWhFyqe0apYbgazxJSXGKijom6SZJwYqMXKZVq75tsgodgMCjggQAQCtwtupyn6QsSVMk\n5crRqvrs/j5m85Z6V1yqU1N1yNfYMzM3a/v2vYqI6B+wsdVF5c9TVhaitLR4NeZ3CqBxEZAAAGgF\nPKsukyRtUnh4vgoLG/8H99pMe7Pb7YqJyZLN1k6SYyPYYcMyFRlpls2WKEm12vQ1ECp+HtfUOgCt\nF1PsAABodYySRioxcXi9u7wFmtmcL5utp85Wugx6//27NWFCj3o1X6hOfbr8+TuFEEDLRQUJAIBW\nwGSKlsWSLat1kiQ59wqaqKQk1Wq6W33Z7Xb3eqH6NDAwGDoEZNpabRpAeFOXKYQAWhYCEgAArUB1\nP7g31vqYuoQPkylaK1ZkyWZzrZuSIiOzZDJNDsgYq3b5q/0aoobonAeg+SIgAQDQSjT1D+51CR9G\no1F5eYnOJg3zFRHRX0lJk6nKAGgyBCQAAFqBhpra1hSMRqNSU8coNTXw9/I2FbEpG0AAaH5o0gAA\nQAvn6gSXknJKKSmnFBOT5dF8oC5NCYqLi3XHHc/qjjueVXFxsV/vaQkNDFxTEQPVAAJAy0cFCQCA\nFsRbpSgzc7OzTfZISZLNlqXMzM1KTR1Tp3VBxcXFuuyyl3X8+MOSpPXr5+qpp8J07723Vvu+ltLA\noKmnIgJo3qggAQDQQrjCTkpKjFJSYhQbu0J2u13bt+9VxTbZ0hTnscrrggzOdUH5HtesXF1KSclw\nhiPHe+z2P2nWrI6KicnSokXrq61EucJHcnJ8swxHAFATKkgAALQQvpogRET0l8XieW5ERP8ar+er\nuuTdadls7WSzxXucSwgC0NrUqYIUFxfX0OMAAAB1lJQUq8hIs1xrfyIjs5SUFCup+nVBvqpL6enJ\n6tbtOfd7pOWSglSxSlW5EgUArUWdKkgnT55s6HEAAIAa+OrA5miVPbnC2p+zbbLrsi6oe/fu+vLL\n+3TPPfO0detRffPNE5LeCdwHA4BmhCl2AAC0ENWFneoaD7heq9zgobqW1927d9frrz/qfk9Z2Rmt\nWmWWzZZY5VwAaE18BqSff/7Z6/EzZ87ozJkzARsQAADwzVfYqakq5Gu9ka/A5e36SUn2Zt+hDgDq\ny2dAGjhwYGOOAwCAZqk5bsBal9bdvho8uDrOua6bkZGjsrJSrVr1rWw2U5Xr19Qeuzl+XwBQGz4D\n0p49expzHAAANDt1CSKNobqwU1een3WTJFOtr99cvy8AqI1qu9ht3bpVr776qnbs2NFY4wEAoNmo\n2uVtvKZOXVDtPkDNVXXd7KTKn7VuS5Rr2nMJAFoCnwHp+eef15NPPqndu3fr97//vbKzsxvspllZ\nWRo1apRuueUWZWVlSXLs2j116lTdfPPNmjZtmn744YcGux8AAPVnl7RSFsssj01am0JNYccbV4OH\n9PQtSk/fUkNlZ5ik+e7r9+37ohIShjXoZwCA5spnQNqyZYveeOMNLViwQKtWrdL69esb5Ib/+c9/\ntHr1aq1evVpvvPGG3n33Xf33v//VkiVLFBERobfeekvXXXedlixZ0iD3AwCgrjyDSK6ayz5AtQs7\nnu9zrTmqfP7Zz/qDpNWSpkmaI2mz9u1L1ujRa2sMhHUJbgDQ3PgMSEajUV26dJEkhYSEqLy8vEFu\n+PnnnyssLEwdO3ZUu3btNGTIEL311lt65513NGbMGEnSmDFj9PbbbzfI/QAAqKuKQSQhoXmtza0u\n7NT1erm5E5WQ8IocQbBA0p8l3SbpXL8CYV2DGwA0Jz4nGX///ff63//9X59/vvPOO+t0w759++qF\nF15QcXGxOnbsqG3btuk3v/mNjh07ph49ekiSevTooWPHjtXp+gAANCRXEDGZonXokOeeQQkJY5WR\nkSOpdXRsMxqNioq6WhZL/a5Rn2YRANDUfAak66+/Xv/85z+r/PnMmTMKCgqq8w379OmjpKQkTZs2\nTZ06dVL//v0VHOxZyAoKCqrXPQAAaGiVN2lNSBir0aPXtrqObWc3jx0vKUvSFElsDAug7Qg6U4dd\nX3/++Wedc845DTKAF154QSEhIXrttdeUnZ2tCy64QEePHtWUKVOUm5vr832FhYUNcn8AAGpSUlKi\njRs/liSNGjVAHTt21OrVH+jZZ5PkaoUtlWr27KUaP35ok42zobg+76lTZZKC1L59e/fnBoCWKDw8\n3O9za9XHc9euXVqzZo3y8vK0c+fOWg/M5dixYzr//PN18OBB5eXlaeXKlfrqq6+0bt06TZ8+XevX\nr9eIESNqvE5tPihar8LCQp4F8BxAUmCeg+LiYg0Z8pyKioZKGq4dO1YpN3eidu48XOXcX/7yl63m\nOYyIiGjqIdQZ/3sAiecAZ9W2sFJjQPr222+1bt06rV27Vl999ZVSU1Pr3dEuLS1NxcXFat++vebM\nmaNzzz1X06dP18yZM7VmzRpdcsklWrBgQb3uAQBAfdntdl17baaKiuY6jzimnpnN+RWmop1dk8QU\nNABo+XwGpLffflurV6/W7t27FRMTo6efflqzZs3S9OnT633Tis0eXLp37y6z2VzvawMA0FDM5nzt\n2zdTZ6fRTZK0SZKhypokk6nlrz8CAFQTkGbMmKGYmBi99dZbOvfccxtzTAAANFuhoQUymf4kiY5t\nANAa+dwHafHixZKkmJgYPfrooyooKGi0QQEA0BxU3vi0b98XtXPnw1SKAKAV81lBioqKUlRUlL7/\n/ntt2LBBTz31lI4ePaoXX3xRo0aN0hVXXNGY4wQAoNFVnUaXSjgCgFauxiYN5513nhITE5WYmKh/\n/vOfWrt2reLj4/Xvf/+7McYHAECTYhodALQtPqfYVXb06FG99957eu+999SrV69AjgkAAAAAmkS1\nFaSysjLl5+drzZo12r17t06dOqW//e1vGjBgQGONDwCAerPb7TKb8yU51hUxTQ4A4IvPCtJTTz2l\nG2+8UevWrdOYMWO0bds2devWjXAEAGhR7Ha7YmNXKCUlRikpMYqNXSG73d7UwwIANFM+A9Lrr7+u\nsLAwTZ8+XSNHjlTHjh0bc1wAADQIszlfVutkOfYyMshqneSuJgEAUJnPKXY2m01vvvmmnnrqKZ04\ncUK33nqrysvLG3NsAAAAANCofFaQunXrpjvvvFNr167VwoULVVxcrJKSEt15552yWCyNOUYAAOqs\n8l5GUVHLZTJFN/WwAADNlF9d7Pr376/HHntM27Zt06RJk5Sfz9QEAEDL4NrLKD19i9LTtyg3dyJN\nGgAAPtW4D1JFHTp0UFxcnOLi4gI1HgAA3Cp2n0tIGCaL5X1Jte9Ex15GAAB/1SogAQDQWFzd5xwN\nFqTZs5/T8eNpkoyyWLKpBAEAAoKABABoFlzVorKyMklntH37Xlmts+ToPicdP/6QpC2S4p2d6LZQ\nFQIANDgCEgCgyVWuFklZkvo25ZAAAG2UX00aAAAIpMp7FUlT5Pi/qCy5us916zZPUqToRAcACCQq\nSACAWqvYPKG2DRP810HS7UpImK+oqKuVkHCfLBab856sPwIABAYBCQBQK5WnwzVEwwSTKVoWS7as\n1knOI69Jul1RUau1bNlM97VZcwQACDQCEgCgVjynw6lBGia49ioym7c4mzScL4PBRqUIANDoCEgA\ngCbhbZoeFSIAQFOjSQMAoFZMpmhFRWXL1TyhLg0TXNP0UlJilJISo9jYFbLb7QEZLwAAtUEFCQDg\nUc1JSBgmi+V9lZWVSgqSwWDwaMRQcTqcVLeGCYGYpgcAQEMgIAFAG1e56cLs2c/p+PHpkt6QlCip\n5kYM/nS1q3iOY50RAADNDwEJANq4ytWc48cfkjRf0iznMbus1l9o6tQFWrZspux2u669NlP79s2U\nJK1YYZZ0WjbbNEnew1TlEBYZ+aoiI82y2RwBzDFNb2KjfF4AAKpDQAKANs57Nafc+Z92SSskTZbF\nEq+vvzbr0KEiFRU9KVegcoSczao4XS4zc5NSU0e7r1Y5hNlsU7VwYY4mTqz7ND0AAAKBgAQAbYj3\nqXBnJGVJmuI86zVJv3Qe6yGpYrBJlDSvxvssXFigpKTYakOPwdCBNUcAgGaHLnYA0Eb46hxnMHSQ\n9FtJW5y/bldCwldauPB83X77p653S8qRtEnSZZLOdrELDX1Bffp86v6ztFxFRbPdQUxqmM53AAA0\nBipIANBG+OocZzJFy2JZIat1kiTHeqBly2bKaDQqKSlOhw69KputnVwNG7p2/Yt++GG6pE0KDS3Q\nzp0PKzt7q9LSNsvxfysTVfnf3xqi8x0AAI2BgAQAbVx14cVoNGrChBDZbPFyBasffkhTePij6tv3\nEqWnP6zu3bsrKSlOa9Z4hqzKTRfYCBYA0BIQkACgjXBUirK9hpjqwovBYKjwJ7uklSosnK/CQunQ\nobMd66gQAQBaAwISALQRdQ0xnsEqV46pdlU3eKVCBABoDQhIANCG1CXEVAxWVuseWSyEIABA60UX\nOwBAjVzBatmymXSjAwC0alSQAAB+Y60RAKC1IyABAGqFtUYAgNaMKXYAAAAA4ERAAgAAAAAnAhIA\nAAAAOBGQAAAAAMCJJg0AAEmS3W6X2ZwvybE5LN3pAABtEQEJAJq5xggudrtdsbErZLVOliRZLNnK\nzaWFNwCg7WGKHQA0Y67gkpISo5SUGMXGrpDdbm/w+5jN+c5wZJBkkNU6yR3KAABoSwhIANoMu92u\njIwcZWTkBCRkBIIjuEyQlCcpT1br+BYbXFri9w8AaHsISADahNpUYurzg3xDh4CyslJJr0uKcf5a\n6TzWsEymaEVFZUsqlVSqqKjlMpmiG+z6jVUJAwCgvghIANoEf6eQ2e12xcRkKSXllFJSTikmJsvv\nH+QDEwKCJCW6xy1NcR5rWEajUbm5E5WevkXp6VsafP0RU/gAAC0FAQlAm1a54pOZuVk2WztJIyWN\nlJSsuZUAACAASURBVM3WTpmZm/26VmBCwBlJmyTlSHKELYPBUM9remc0GpWcHK/k5HiaMwAA2iwC\nEoA2wdsUsoSEYVUqPu+99y9Vrths3763ScZst9u1atW3coS1GEnLFRm5rEGnvjWWQE/hAwCgoTRJ\nm+/Fixdrw4YNCg4O1q9+9Ss988wzOnnypO6//34dPHhQl1xyiRYsWKCuXbs2xfAAtEKuKWRm8xZJ\nksk0sVIDBMlqHa/bb19U5b0REf39uofJFC2LJVtW6yRJcoaAiXUes9mcL5vNJEdQs0vqoYsu+rTO\n12tK3r5/qlQAgOao0StIX331lVauXKl169Zp48aNKi8vV05OjpYsWaKIiAi99dZbuu6667RkyZLG\nHhqANubkyROSXlHFBghDh4YqMtIsV6UjMjJLSUmxfl2vIdfx2O12Wa3/kGN6XbGkFZLitXLlwy22\nwQFT+AAALUGjV5C6dOmi9u3b6+eff1ZwcLDsdrsuvPBCLV68WMuXL5ckjRkzRpMnT9aDDz7Y2MMD\n0EpV3gh1xQqzvv76P5KelqNCI0lTZDBsUl7e5AqVjsm1+mHeFQIaZqyznEf+JOnP7nE61jZtqfd9\nAABAVY0ekLp3765p06bpf/7nf2Q0GnXDDTdo2LBhOnbsmHr06CFJ6tGjh44dO9bYQwPQink2UJBs\ntkRJ8+SYupbnPCtSBoOhQUJOfVQeqzS0Qa9vt9vdzSNMpmiqOQAAVNDoAem///2vsrKy9M477+jc\nc8/V7373O73xxhse5wQFBSkoqOY2toWFhYEaJloYngVI1T8H+/fv93L0CkkLJT0sSerQ4Qn163dj\nkz5PJSUlWrfOKumUpJslGSUN16WXPqsDB34vSRo0KF1hYUPqNM6SkhKlpu7Url33StL/b+/+45us\n7/3/PwpEolNaoah8/R7dMCiTI5sw1E9ZzJHfiiIIaMYRaf2sSnUUpMrBH0yZP+DohqxspKMqRRjm\n8DMiBQaCix1lKnCcTodrZP4aTCpSmKOhsebzx5W0SZq0aUmbtnneb7fetFeuXNc7V98J1yuv9/v1\nprh4KUuWDKF79+4Jew3Jps8DAfUDMagfSEu0eYD05z//mSuvvJJzzz0XgJEjR/L222+TmZlJZWUl\nvXv35siRI/Ts2bPJYw0ePLi1mysdwL59+9QXpMl+MGDAAPbsqS+gYLWu4PBhDx7PEwQzNTU1j/DB\nBzuYPv26qMcIlgEvL/+ArKz+5OaOSWj2pX5o3ZOBLSuAW7HZ1uFyzcDpDA77u7vF5y0qKg0ER8Zr\n3r8/j3fe6TzD9fR5IKB+IAb1AwlqbqDc5kUa+vbty5/+9Ce8Xi9+v589e/ZgsVi47rrr2LhxIwAu\nl4sRI0a0ddNEpBOLLKCwadNkBg2Kv1JmcAHZ/PyjOJ0F5OePZdSolQktlhC5jhLcgd2+tNFiD5Hr\nOImIiMjpafMMUv/+/bn55puZOHEiXbp04fLLL+fWW2/lX//6F7NmzWL9+vV1Zb5FRBIpOLeoPlOT\nj5GluQNovCy3UXL7Aow1iernMSWyWILP52uwzWa7AiCswITTuZJt26bE3N5YdinRpchFREQ6m6Ss\ng5Sbm0tubm7YtoyMDEpKSpLRHBFJMeGZmtuBLdjtB3A4pieteIGxKOznhAZsVusKsrOnNijaEKxi\nZ/x/w+3BIDDaa9F6RCIiIo1LSoAkIpIs9esLhRZBuIGsLBg/fkPMbEx29nBWr15BWVnDAKap88UT\ndBkZqjuBWmAH4GPy5MwWBS+RJc0jX0uyq/SJiIi0Z20+B0kENG9CkiMYODidBRhD5VYBJ7DZVgH+\nsPk/RjZmZ91zzWYz27dPo7CwF3b7IgoLjfWSGgtggufLyxtFXt6oRhd4rR9eZwbGAjdgMp0BGIGV\n1foC4AJcWK3Lyc4eTnb2cGy2lQQXtTWGyw1vMJcp8rWIiIhIbAqQpM0156ZRJJEaK4IQDEYaYzab\nmTFjAi+9NJcZM8Y3md2JN1AJH15nBDtGdmp4yF5dMAKnsQQ/uiMLTzQ1/0hERESapgBJ2py+3Zb2\nJCurPyUlO/H5fIEsTXg2pi3UD6+7HWN43Zaw4XXG49kE3zNGcQjjPRMcLjd9+tiw4YDRMktByuCK\niIjEpjlIIpIyIiu4Wa0rWLv2m0BwAlZrCYWFpZhMZ9RVdisqKq17bjAAiXdeUfMrxgWH19VgMu1o\n8etsrBBDU/OTguJ9jSIiIp2NAiRpcyozLMkSGTj4fJnk599IaNnuKVN2RJQCNwKJRYsWM2OGhalT\nrwsr5rB69QtMnnw+JpMpaiAxcWJP+vRZxJAh38Fk6klJyc4G+zX1nmjJeyZWIYZYFfFC9403iBIR\nEemMFCBJQsXzrbPKDEsyhQYOwexQNJGBREXFTPLzt7JkSTEVFdMD272UlXWlrMw4XmggER5kDGfr\n1kKOH5/TYL9gmyLfE6Hty84e3qbvmWhBVHFxaVjRCL1nRUSk0/J3UHv37k12EyRCdXW132Z73g81\nfqjx22zP+6urq1v9vOoL4ve3rB/U99lTfjgV1mcdjs2BvuwP/Jzyw+bAf12BbQ33cTg2R3l+7P0a\nb1di3kvV1dV+h2Oz3+HY7D927FjM1xzU8LUf9/fr93Sbv7dbQp8H4verH4hB/UCCmtsXVKRBEkbF\nF6SjaawKXGShA6MkuFHowGJ5I7DNF/3ALVRVVcWPfrSQH/7wgcB7qRbYjtvdk+LirS06ZmTVyPHj\nN+By3dJo5bvI126xLKSiYhZ6b4uISCrQEDsRSWmx5uoEg6fi4i0UFr6JxzMX6ILNtgqXaw5O5w58\nPj9r15ZQVjYNCJ8bFD5vyEp6+tMcP/5Ag/2Cqqqq+Pa3fx0YhrcF8AJrAWMe0JIli8nN9Ta57lLk\nENdow+Wczh1RX3Po812uW3A6g3O1riI/P46LGaMNIiIiHYkCJEkYFV+QzsZY92g8ubljKC7eSnn5\nB2Rl9Q8LqnJzvVHnBkXOK7Lb760LOKLNIcrLKwoERyZgNDAf+Bn1c6DuJidnMTbbFVEDj1iFFeLV\nWGEGr9fL+vVNv7dV3EFERDoDBUiSMCq+IJ3Z+vXHcLsLcDph/fr6G/9YGahomZTI/UL3qa0NHa5n\nBgaH7gn8FqfzuzidX7N69Qq2b58WVro7J2cxbvd3MYblmeuq08X7xUVj1e3ifW/HUyFPRESkvVOA\nJAkV62ZRpCOLtzR2MMs0ZEhfXK7jgcVdo2dSIrMtQ4d+Ro8eT3LixEMAnHPO26SlHeDEiTnApsC5\nbwCgrGwFS5duYvbsW0OOUxA48kpgCsF1wBP1xYXe2yIikipUpEFE5DRVVVXx7/++iPz8ozidBRQU\ndA8ER7GLGkQWNdm9O4dHHx2A3b4Iu30Rjz32PU6cmAnsAMqAaXX7wh0sXLijLgMVehy4HdgWyBQZ\nRSWCwU0wGxRNZGGG0OfHKxHHEBERSTZlkEREmpCdPZzVq1+grOx8AKzWz8nONgozeL1ehgx5mg8/\nvBojw2OipR+tZ511Fi+9NBcIroFkBsYSrVpeZeVoiou3UV5+ABgV9pjdfoDly2c1K1OUiEyThtmK\niEhnoAySiKQUr9dLUVEpRUWleL3eZjyzC0awMhboUnecnJzFeDxXhp4BI6D5KXAEcNG79wOMHz84\n7GhNZVvCHx9G9+6PUl9yfDlwLY8/XorTeUng9/rjxBMctfw6NC6ebJWIiEh7pgySiKSMllZZKynZ\nGTJkDsrKpjFkyGN4PPMxsjfBAOW5wD7TMNZMWgg8RmXlWL7znfm8/fZUHntsIwAOx/RGsy2h2Rif\nr4aXXvr/2LMnuBbS13TvXkhl5dLA7y8Am7DbPXEHR6NGraCs7AIAVq9ewaZNtzF+/AZVoBMRkZSn\nAElEUka8VdYiK9BF4/FcXXccyMYopPAe8FBg+3bgsbp9vN6f0r//DODngJmtW5/mo4/ujasCXknJ\nTvbsuTvkfDWcOrU15PccYAs22xVxBTTFxVspK+tKaNGHu+5agts9N+zaFBdvYcaM8U0eT0REpDPR\nEDsRSWlu97thw8yCWaa8vFHk5Y1i1KgVnDz5L/r1W0xwGFu/fr8EhoUdZ/LkvzB48BdNnO164HXA\nxPHjD5CXV9Rgj8jzjxmzGp+v4RykSBbLm3EXRCgv/4DIog8HDx5psF9h4ZsJHX4nIiLSEShAkoRr\nrbkNIqcrct5PevozOJ331gUi4VXhaoFSyso+oqDgeioqpmOxPEZh4RZef30q6emFdcfp0eMpDh06\nj337ngJWBLZbgaepnzf0bOC/72LMU6oX+p4pLt4aVpXOWL/IH9Zuq3UFQ4f+ve53i+VZ3nprTtzD\n4bKy+jfYNmXKtWFBIKzC45nboPqeiIhIZ6chdhJTtIUu43lOS+Z4iLSF0Hk9bve7OJ35wDlA/XA7\ngxdYC0zFKMpgrC3k8TyGybSD1atf5/jx/sAi4DJOnPh3du++GSOo6gUsJDPzCF988VNgC1AOXAxM\nCBx/BT16fIbDMavBe8YIUryBY+0Eqikr+wsTJ/47EyduwWQyYbdPZty4/wGMOUl9+mQ06z2WmzuG\ntWtLKCszKvFZrSu4556pmExbyc/fivFPQ/1aSiIiIqlE//pJVNGG+URmg6JliiLXZIm2/otIMgWr\nrNlsV2CU0Q6XnT0ci2UBRnAUuraQ0Y+PHz/OQw/txwgivotRqc4HVAFLgBuBB0lP//8pLNxNYSHc\nems6cBehQ9oefXQAGRkZDd4zFRUz6dv3cWAVRgGIm1m7tg/5+SNYv/5LsrOH43TupqzsTmA00I2y\nsvMpLg4WcIjvGmzfPhWHYwcOxw62b5+K2WwmN/d6bLajwEigi9YxEhGRlKQASaJqKtCJFkBVVVXh\ndr+L8Y25htZJ+xarzLbZbCY//6ooz/ABL/LMM25OnbJgFDi4AejKmWduAB4FZhF8z3z44WxMpjPI\nzR1Dly5diXxfnHXWWTHb9oMfpBM5Rwh24nZPIidnceB9VgWsxgiixrJkiadZQ1qjleMOZtiCgZOy\nvyIikooUIEmLNAygJnHVVcU4nQUYN42rgBP6BlraldCsJxAzGMjNHRMWPBnzh/zA7Rw9ehGRwUv3\n7l9jlPUO5/P5GDNmdaPvi8hArV+/X3L11ZdGaX054MTpLMDpLMBs/iUwmdDMUyKytVrHSEREUp0C\nJImqqUUsG9pFRUX9t+dwB3b70rqbThVukGSLlvUEogYDoZmUW299BugLnBF49LIGxz51yowx1C5Y\noKGGzMwnKCt7N+yLhGjvi5KSnYwbdzYWyzxgKxUV01m37jO+9a0ZgAs4gRFYXYVRzts4ltf7U2BX\n4i+UiIhIilORBokqdDI7NFzE0pgHsTJQYcsoMezxhK/nElyTRYUbpK00Vlgk3jWQqqqq6spvP/ts\nNqtXHwKCawE9R9++Hr755q989NH9gW3PUl09DpiEUVhhB+Djiy8srF2b3qCNsd4XRiA0GvCyZ8+/\nMOYzASwGcoHfNziWxfIGHs/1geOuIjt7SnwXSkRERGJSgCQxBYfaxHosNICy2+cwfnx9wBR6sxbv\njanI6Th16tRpB+JVVVV8+9u/5vjxOQC4XLPwehdj9F0vYOLgwYWB/38UGISRMfIEtp2DUfWuBpgH\nPIiRVboDaPx9YeyzA6MM+H+FbJ8JbMFq/Ryorzxns63C5ZqD0xn9SwwRERFpGQVIErdo386HBjmN\nZZxEWtsrr7yN251LrEA8MusZLeOSl1cUCI6MY3i9I0Me3Un43KP5wGOB/wL8N5CPURnvReB7wG7g\nVuz2RdhsV8TxvvBhZKHCDR68k+3bnwFo8B7Lzh5OSclOSkp2xl2OX0RERGJTgCRxiWeYXKyMUzw3\npiLN0ZI1upoaNhrdMHr3foLKyocxgpdIV1Of6ZmDsS7SFcCtGEPkBmCzrWP58lkNzhX5vrBaVzB5\nciY+n4X58/+bEyeMLFZ6+jO8+urjdc8PfY9p+KqIiEgr8HdQe/fuTXYTUorDsdkPNX7wB35O+R2O\nzXE/v7q62u9wbPY7HJv91dXVCWtXdXW1f+7cXyf8uNJ+VVdX+2225wP9scZvsz3vr66u9u/evTuw\n/ZQfTtVtb45jx47509OfqDtGevoT/sOHD/sdjs3+wsINfqt1Wd1jFstCP5wIe0/AxsB/i/2Zmff4\nCws3NNqGWO+LY8eO+e32BX67fYH/2LFjMZ9/uu/Lzkj/Nojfr34gBvUDCWpuX1AGSdpEY/OZWqr+\n2/NcQN+ep4rwuTte3O6e5OQsZsaMa5uVIYqWhcrIyOCjj+4lL28RAA7HvWRkZNT13alTq+oee/bZ\nbOz2tXUZoB49nubEiUuBLVxyyRH27n2SjIyMRl9LrPdFRkYGL700tzmXRURERBJEAZLEpT0Ok1Px\nh1TnxVgodSpO51j++tel7N49KK6/f2ND02IFJ16vl/HjN+B2FwBw+PBKXK5b6ook2O0/wencDUB2\n9uw2CdTb4/tSRESko1OAJHFp2fwNkcSrDwp6AvUB8v79eXEHyC0JrqM9x+kMf05bB+d6X4qIiCSe\nAiSJW2sMkzsd+vY8dUQOh9u2bQo5OYtxOttPfzxdLSk8Ae3vfSkiItLRdUl2A0RaKvjt+dy5z+Fw\n7ND8o3bC6/VSVFRKUVEpXq83IccbM2Y1eXmjyMsbxZgxqwFYvnwWNttKjDWHahg0yEF29vC4jpmd\nPTzsuUZw3fhzW/KceEV7jYm4diIiItJ8yiBJq2vpN+PxMJvNTJp0NYMHD07YMaXlEl122uv1kpOz\nODDvp+FwuNDhZQMHDmlW1mXbtikUF2+hvPwAWVmXxf2c1hjOpvl0IiIi7YcCJGlVrb1Oi9frZd26\nN3jrrX9okcx2IJE3+vV957sx9wkdXrZv375mn2P9+i9xuwtwOmH9+qb7poaziYiIdH4aYietKvyG\n2RS4Yd6ZkGMHb6AXLszVsKROqL7vjAYSP7StNftmUyKHIbbm8D0RERFpHgVI0mEl8wZXGvJ6vfh8\nPvr2fQhYB7j4P//Hgc/nO835SGZgCrAFu31Rh59rFmtO1bZtU3A4dmg+nYiISJIpQJJWY9ww19Cv\n32Ja45txn88X1zZpfcGb/vz84Rw8eBlwMzCWN988Sn7+cPLyruWii/6L2257kqqqqrgKOYRnVbpg\ns33J8uWzEhY4JCtrEy2wLy7eVjd8b/r0sQqOREREkkhzkKRVhM898mKxPEZ+/lXk5ibym3E/sBzI\nDvxeAvRO0LGlOepv+rcD0wjOQaqtfQTYAnxJZeXPWbMGtm17kiuu6MPu3XcCseelJaooQqwiIfWF\nGkopL/+ArKz+LXnpCVFY+Ca5uWMUGImIiLQDyiBJqwj/lvwcPJ7HMJlMrXADWAtsDfzUJvjYkhgH\nqF/Q1cSJE98PBEdND40MZlWys4dTUrKz2UP14imfvXbtEZzO75Kfn8aoUStaPBQw3vLm2dnDw7Kq\nsAqPZ66Gh4qIiLQTCpCkA0sDfowxnOtm4P8GtklrihYI1A9XswIrCN78d+36JND3tM5RVVXV4jWC\nmpqnVly8lbKyrsANwA2UlXWluHhri9obbxvNZjMzZlgwgvodGPOrlDkSERFpLxQgSatoi/kdJpMp\nrm2SOLECgeBwNYejjF/8oge33voMdvsiPvssj4kT3wfmU58x+V8uueTnxOobkee46qpi3O7JtEYx\njvLyD6gfEmgC7ghsa554C4YEAz8Aq/UIMBJjfpWq1omIiLQXmoMkraI1F9UMys4ejtO5Erf7doDA\nTeaUhJ5DwjW2zlGsNYJGjBjC+vVXAYsCW+5l5szdmEzR+0bkOSoqZmJkW0YDOwEfPp8/rvY21Uey\nsvrjdIY/p7XmIkWuCWa1vkBh4RZMJlOrvD9ERESkZRQgSatp7UU1g0HY/PnPcfHFF+sms50ygpTV\nuN2zASNIaW6xDoulHI+nEiPbA2vXlpCb621wjGgFGRoL1HNzx7B2bQllZcZxrdYV5OZObeFrbDxY\njwz8yspymDKlZYvoioiISOtRgCQdmtlsZtKkqxk8eHCym5ISWpK1a242Mdo5xo0bTEHBBOqDi2l1\nmaugU6dOhWVoQqvjxQpCzGYz27dPDWnb1BYF2ZGv0W6/JWrlPBEREWn/2jxAOnjwILNnz677/dNP\nP2XmzJmMGzeO++67j0OHDnHhhReyePFievTo0dbNE5FGmM1mXK5byMszhss5HNPjuvlvTjYxWkAV\nz5yjV155G7c7l2jD/xLVtniOEzmULhioaUioiIhIx9DmAVLfvn1xuVwAfPPNN1x77bWMHDmSZcuW\nkZWVRW5uLsuWLWPZsmXcf//9bd08kZQUa62gaPuNH78Bt7sAgMOHo69hdLrnCg1ajAWHfVgsj+Lx\nzAXM7Tq4KC7eFnOeVmvPyxMREZHTl9QqduXl5Vx00UX06dOHXbt2MWHCBAAmTJjAq6++msymiaSM\nxkpUR5b0jrdaW0vO1dj++flj8Xjm06/fbygsLI0alN100/fjrpwYrVR5vOsYNfX6CgvfjPl4MPAL\nFrUQERGR9iepc5BKS0sZO9b4lvjo0aNkZmYCkJmZydGjR5PZNJGUEa0yXXGxUYp6yRIPFRWzAGOo\n2MSJ5yb8XI0Ng4tW0c5k2hE1uOjevXtcGZpoQ+BcrlsCmTFj2+rVJUyenBl4Rlqg0lzTc4lKSnbi\n8TwIrASMoXT9+v2S7OwZjT5PRERE2o+kBUg1NTW89tprPPDAAw0eS0tLIy2t6QU/9+3b1xpNkw5I\nfaHlPvzww4gtXp5++l0+++x7wCxCg5khQ4oYNGgp+/fnATBokIOBA4fEff0//vjjqNtiPb+5+7/3\n3nsMGXJB3f+fOnWKV155GzAyTN27d2fdujcazFW67bZHcLufJLQIRFnZy8BxgpXziouXsmTJELp3\n797E6zNjLP66A/Bx881n8N5778V8jiSePg8E1A/EoH4gLZG0AOn1119nwIAB9OzZE4BevXpRWVlJ\n7969OXLkSN32xqhyWfsV75yWRNi3b5/6wmkoL/8EWAHcEdiygM8++xmwvcG+l1xyCY8/PjwkS3N3\ns/62AwYMYM+e8EIFjz56Z8xjNGf/yH5QnynKBWDPHmO+1Ftv/aPBc6N/3nwIFBAMmvbvz+Oddxov\n+hDe3pHYbKt4/PHmXSM5Pfo8EFA/EIP6gQQ1N1BOWoBUWlrKjTfeWPf7sGHD2LhxI3fddRcul4sR\nI0Ykq2lymmJV8dJNYvtkMp0B3IaR8QAI/mMynNChYsHCCKdT9a25Jb9PZ8HhWMP5wqvJebFYFjJk\nyJX8/e8vUFaWE3j2i0DzF4xtiwWSRUREpHUlpUjDyZMnKS8vZ+TIkXXb7rrrLsrLyxk9ejR//OMf\nueuuu5LRNEmA053IL20rO3s4NttaYCQwEqv1KFZrCcbHwyQslscoLNySsCC3uYUKEl3YIBjEFBaW\nYrE48HjmU1Awnm++gcLCUm699RnABwzDyKwZRR+s1hX4fDVNFnFQIQYREZGOLSkZpLPOOos33ngj\nbFtGRgYlJSXJaI5ISmuY9TDm3NT//tMOeaMfue5Qv36/xOez4PV6A68nDY9nNsEM0+7dOdx22xZW\nrCjg8OEVlJXtAnpgscwjL+8HbNjgIz/fyHqvXl3C9u0tW1RWRERE2reklvmWzsnISMRXbrmzSESJ\n6GSKzHp0hixIfaZoCxbLY1RUTCc//8a60uLl5QcaPKe8/ABms5nt26fhcJhwOL7Fu+/Ox2QysXt3\nsLCDibKyaRQXb2vrlyQiIiJtIKllvqVzSrV5GJpz1X6ZzWZMJhMez3wi5yJlZV2G0xlanOJFsrIu\nq3te6DwrI5gKn3dVXn6AGareLSIi0ukogyStojNkIOKlOVcdU27u9VittcAWYAtWay25uddH3dcI\nnOrnI4UGUyIiItK5KEASkU4t1pBPs9nMpk23YbcfwG4/wKZNt8UM5psTTImIiEjHpiF2IqfJbh/K\nokWLqaiYCdSXw5b2IdaQT6/Xy/jxG3C7CwA4fDj20MjgvKT6tb2mdfrMqIiISKpSgCRyGoI32RUV\n04GtWCxv4HLN0c1zOxNt7aZY6yTFWuPpdNZ/EhERkY5DQ+xETkP9TfY5wM14PI/hdO5OdrNSQmOV\nAzt6VUERERFJHgVIItLhBCsH5uWNIi9vFGPGrObUqVMxH4sWJKViOXoRERFpmgIkkdOgm+zkiFY5\n8JVX3o75WLSqgsG5SQ7HDhyOHSrNLiIiIoDmIImcllRb8ymZvF5vXaDj8/kSckzNKxIREZFICpBE\nWiD0Zj07e3jdTXZw7ktweyoHS5HX6HSuReRivFbrC1itJZSVTQOMyoE33fR9vF4vPl8N/fqpqqCI\niIi0jAIkkWaKvFl3Oo3y0ACjRq2grCwTOMAzz7jZt+8hMjIyktja5Ih1jZobJAWDLLf7XdzuewlW\nnCsry6GwsJQpU+ozd/v37w85pxeL5THy868iN1dZPREREYmfAiSRZopVHtrnq6GsLA0YB4zj4MEV\n/OAHS/nzn2en3A16YyW0o2WWYm2rD3hGASuA24Ho1/KVV94O7LsdAI9nLiZTWcpdexERETk9CpAk\nZSRyyFc05eUfAAUEgwK4gw8/3EJJyc4OOc+lNa5XtMySy3VLYMHW8GxTZJAFdwBbgBuwWpezdm0X\nysqy655z5ZUngf8BpgX2X4HP1+u02ywiIiKpRVXsJCXEW/o5HrEq12Vl9U9om5PpdK9XrGsUrcJc\nXl5RXFXnAOz2AzgcO5g8+fxAcFT/nHfe+TtGcGQK/NwBpLX4GoiIiEhqUoAknVLkQqENb8wnkZOz\nuEULicYqD52bO4ahQ18gGBTAi1itn7frst+xFlSNt1R2LI2X0PYCpYGf2Nc+WpC1fPkspk8fi8lk\narD//v3HGmyLtp+IiIhIYxQgSacTLfsRXhbaC6zB6SxocTbJbDbXBT4lJTupqqqipGQnt912co0a\nrQAAIABJREFUPr/4hQu7fRGFhb3Yvn1au50Dk8isWjTBEtrTp4+tuwZ2+1DS0wsx5hSNIj19Cc8+\nmx0129RYkBUZPPXr90uqqp4Bwre15+BURERE2ifNQZJOJ1qBgIkTS7HZVuJ23w5so34oVngBAYhv\n7k34XBovc+cWcvz4HABstpVs2zar3QZGYLQ/J2cxbvd3gVrAHHYdsrOH43QGr1fiSmU7nbsD18m4\n9sePP4DLtSPmWlKx1imKXH/K57OQn58BTAF2AD5mzLC067+BiIiItE8KkCQlmExn1N1Qu90HcDqj\nF02Itzx1eBC2PeymPzLgam/qX2NBYMtKjMCiPqHc1gvgtmTB1tDnGEHtUvbvzwNGYrOtIjdXax+J\niIhI82mInXQ6sQoEBG+oly+fFfVxgOLirbjdvTBKRdc2e+5NRxA5v8gonb0t7DpA9CFyEHveUjxi\n/W1Ol9lsZsmSITHmPNU7nbaLiIhIalAGSTqdprIfXq+X8877O4MHFzBlyrXcc8+UunV3lizxALMC\ne64EJkU9R3b2cH760yeorHwYsAJPAw8AiRuO1pbs9gMsXx59WGDokEO7fWjUktzxZpcSnZkKbdvA\ngec2moVK1OK1IiIi0sn5O6i9e/cmuwnSTsTbF6qrq/2/+MUav9l8jx9O+KHGn57+hP/YsWN+v9/v\ndzg2+6HGD9V+2OyHjf6+fR/wV1dXRz3e5Mk/84MrsO8xP2z0Dx78k5j7txfV1dV+m+15P5zywym/\nzfZ8zDbX71vjhxp/v35PB66dP/Bzyu9wbK7b1+HY7Hc4NrfqNQiep7Bwg99qXVbXtkGDFjd63vq/\nb8O2S+ehfxvE71c/EIP6gQQ1ty8ogySdVmh2Yfz4wVithXg8VwMLgdXA+Rw/PoC77lrCmjXzgs8C\n1gJGlqFLlw9iHn/Zshls3/5rjh83Mkfp6e/x6quPt/uMRHOyOJEFLyoqZgJbgZvD9muN7Ey0Yhnh\n59kCZNe1bf/+vHY990tEREQ6Bs1Bkk4pvIT1tXznO0V4PPOBGwAn8A0wFhjL73//NV6vl+zs4Vgs\nCzCCI2N+jsdzX8w5SBkZGXz00b3Y7Yuw2xfx0Uf3kpGR0Uav8PTEml8UKbw8usFiKSeeBWBDr1tz\n5/7EKkEefp7mfb/TWvOfREREpHNRBknatXhKbkcTWWXO632YYKbBKPG9te73ysqH6zIP+flXkZ8f\nfiyfr4aiotKobcjIyOCll+a2+PUlQ7zX1Ov18oc/vAe8ATwImIEXycsbzFlnhWefogVSwW0tyS5F\nK9UezHjVGw6sAO4AYNAgB3b7tJh/q7auzCciIiIdkwIkabeSMal+8uRrmDNnFl7vSGAY55zzNL/8\n5dl8+GFBm7WhNcV7Tev3mxPYshiwALdy1lllUYax+QkNVuBFfL5zKCoqxe1+F7f7XhJRBj18faYu\nWK21TJ68BZPJxGWXDWyygERLyomLiIhIatEQO2m3mhq21Zjw4VRW0tOfJji0ymJ5lqFD/07kUCuv\n18u1167E612MMfzOwT//6Q0ER81vQ3sU7zVtWAp8JpCGzbYu6rA0k+kM4DaMRVp3AOMoKvqEvLxR\nOJ0FwP9gzO9qKNrwu8ZKtW/bNqWunPf27dOYMWM806ePZfv2v7S4v4iIiIgEKYMknVLkcKrx4/8v\n9923CACHYzpms7nBUKuiolIqKmZRPxTvPuCZtm98O9VYKXAjs7M6kNkBi+UxKirmU38t78AoqnBD\nWBn0xjJasYbDKQskIiIirUkBkrRb4cOpmr++UPBGuv4m3Bgmd/iwcRMe3012f4z1kIw29Ov3S7Kz\nZwAtnx/VliLbGM819Xq9+Hw1WCyL8HjuA8BqXREWHEV77aEBjc/XcC6X3X4Am80UFuzEmmsULB7R\nnEDoppu+z549Le8vIiIiIqAASdqxRE2qb+wmPFR29nBWr36BsrLzAejb98/06dOT3btvB7ZgsbzJ\nm2/OiVJuun3OTYrVxqYW0TWeMxn4B0YxCzCq/kU/7qJFi5kxw0Ju7vV119Tr9bJ+fXiwEiv7lCjd\nu3dXEQYRERE5bQqQpF1L3HAqL7A98P/Who96vRQXb+Pw4Y+AKYCZCy+sZM2am7jvvqUAOBxz6sp4\nxxt0JVNjbQxm1iKzQPXP2Q78uO65ZWU1dc+NtjZSfv5W1q9fHRYkTpx4Ln36LCIrqz+5uVPqAsvm\nZrSaQ8PvRERE5HQpQJJOz24fyty5hRw/blRkS09/Grv93rrHwzMiYzGG1E2hrGwaVutjgfWT6ofm\nAbjd7wJfA6Mxyl93LLGyS4157bW3G1k36C+43f0pLt5Kbu71Ice+kcOHV5Kb27KMVmh72/twRhER\nEekk/B3U3r17k90EaSea6gsOx2Y/1PjBH/g55Xc4Njf6OGwO/NcVtr2wcIPfZns+sH+NH4r9cNxv\nsz3vr66ubu2X2izV1dWBtp7yw6mwNsa6JvXPOR54bacCP8V+WOO32Z73Hzt2LOy48IQfTvihxt+v\n39P+wsINgd83B36O+x2OzU3+HYJtDu4bbGt9m4xrHuta6zNB/H71AzGoH4jfr34g9ZrbF1TmWyQq\nH2bzz4BhYVvLyz+IKH99B3b70nY3/yho4sRzsdsXUVi4Ja42Bud92e1LgXSMynM7gFuBs3C7b8fp\n3M22bVP4xS9cnH32HRiFLIzrUVExkz/84X2Mst6jAj9r8PlqIs7kBbbgdr9bV9o7mGHKyxtFXt61\nXHHFz1iyxEVx8TaV7xYREZE2owBJOr1Ya+rEerxfv18yefK7eL0zgbVh27Oy+gee5QVKgS1kZV3W\n7oKjYLCRn38jTmcB69d/GfZ4Y9fEbDazfPksbLZ/YgSIPmAhMDTsGJs2fcVXX60ExgGrCV/naBqh\nQSSkhZzzBLAKGIvTWcCYMavrhtAZgVAtsBaPZz75+WMpLHwzsRdHREREpBEKkKTTi1xcNDKTEvn4\nO+/MYNiwQUAGRsGGHYCLK680siBDh/4G4wZ/FDCWtWu/qMuCtBdNLQgbzzVxuW7BYnFgzMuaD6zD\nal1OdvbwiGBmO9AT2ITNtoof/vDyBu0xmUwR2an6AKphRmgnUN92j2cu/fotJlaAKyIiIpJIKtIg\nKaGp6maRj4dXV7OSnr6ENWvmsGYNWCyLqL/Bh7Kyae2ugl08mromTuduPJ7ZhC72OnnylpBAyouR\nYTOKLpx99k9xOmeSkZHRoMR3sDKd2WzGZrsCp7Ph+eqvec/IljJjhgWTSeW7RUREpPUpgyQSRWiG\nxW5fGqiAF8xo3AfsavAcr9dLUVEpRUWlSc8oNTWssKVMJlPd8S2WBYRmer76aj5WayEA27ZNobBw\nC3b7IiZOPDeutgWveWGhv0HGKLjGUnABWREREZHWogySSAyhGZbIjIfFUo7H4wfAav0cu/22drVw\nbHMX2Y1WRjvWGkXBfQcN+hYej5f6DBN4PFdRUrKT7OzhrF//JW53AU4nrF9ffz0aa5vZbGbGjAnk\n5nq14KuIiIgkhQIk6XQSvWZOZKBgta7gm28uxuMJDk8rYeXK3zdYlHXp0pc566yzEtaO5op30dRY\n6xNFC2SAkH1HYTY/idc7G2MtqOVAL9zuA/h8NY0upNvcIY+NtT34tx448Nwm9hYRERFpmgIk6VQi\nb/ZXry5h8uRMTKYzmhWkRAZZoYGCz5dJfv6NhM5B6tPnGYxiBvUefvj3eL0LAXNSMkrxBorhBR3C\ng5nQQMXr9ZKTsxi3u6BuX6/3IXr3vpfKypFAGnAzTifs27cYY46SKcoZE/N6AEaNWklZWTYA3//+\nr9izZ5CyTSIiInJaNAdJOpXI6m1lZdPIz+9CXt4oBg5cQlVVVZPHCF+PZxRjxqwG6m/KjXV+wu3d\n+yVGpbeawM8qvN4FwOskY+2eaK/hdOZFBY/ndH63wWPz5o3Fbj8I5BC6HpIxR6m+RLrPV9PiNkR7\nPUuXvhIIjoxzvv32vRQXb2vhKxQRERExKECSFNCN4E37kCFP4/V68Xq9LFni4kc/WsiSJRvDbtyj\nlcguLt5Wd4O+Zk0+8N8Eb/4tlmc5ePAa4HvAVoyy4FMwhp0lR1NlvkPFU9Ch/nijgfB9c3PHYLNd\n0eC4+flXUVi4BYvlMSoqppOff2OLA7Vor+e3v/19g/3Kyw80+9giIiIioRQgSacSebMPLwL1N/se\nz1UUF29l1KiV5OcbC5Xm5/+VYcMcLFnioqioFJ+vpsFxy8sPhNygnwPkA4uALYH1kc4AxgBHgZFA\nF8zm+cC/AFfd+kHtUVNrIkXsjRH8GRXqgvtGC7Jyc8dgMpnweOZjXLPEZtI++eRfwHOAK/DzPEOG\n9AXaV0VBERER6VgUIEmnEnqzX1i4hUsuOYLRzY1hbzCM8vIPwoZmQR579hwlP38seXmjWLv2C6zW\nFwi92c/KuizyTMAVwA1YrVdgtf4D+B9gErCFvn3nceWV5wETMOYmte1brbllvoNzjWKV0Q4/Xhds\nti9ZvnxWWPW5+IOslr2e0NLfsIovvvgZcBjj+o4FvgD8DYbjjRq1oi74VbAkIiIiTUnz+/3+ZDei\nJfbt28fgwYOT3QxpBxrrC1VVVQwe/BQHD6YDl2G1HmXy5PPJzx9LfQEBF8YNdvD3GgoLt4St+QPB\n6m23B/Z5EbgVm20d27YZ1d2Ki7dSXv4BWVn9AX9YIQeoweFo28VkE13NryXHqy+aUV8qvKXB05Il\nG8nP74IxZHI4sI3Iv5vdvgib7Qry8kYFtnsxAuNpgfMnt/y6tD792yCgfiAG9QMJam5fUBU76dTM\nZjMXXtiPgwezA1tKmDr1PygsXBRY8BXgTSIr0JlMpgbBTLCSnc/nA3phMpWFrdEzY8YEZsww9i0q\nKm2tlxS3eEtln46mgqbmrsfUmNzc61m/vj7YsljeCCm1bjCC01A7MYKj6OXGRURERCIlJUA6ceIE\njzzyCBUVFaSlpbFgwQIuvvhi7rvvPg4dOsSFF17I4sWL6dGjRzKaJ51IScnOkOF0Rklup3MHb711\nN0OGPIrHczUwix49/psTJ+YA9QuiRmpOwBFrkdXWlOiMUeSxI9dKcrluYfz4DU0ujpvIQG3ixHPp\n02cRWVn9mTr1vxg3roSyMiM79P3v/5rc3Ly6thjX3peQ84qIiEjqSEqA9OSTT3LttddSWFjI119/\nTXV1NQ6Hg6ysLHJzc1m2bBnLli3j/vvvT0bzpAOLtlZONBkZGbz77qOBfd/Cbv8JTmfzsxyxgpJE\nZk7ibUesxV4TIdpaSXl5i8LWRGrN7Ez467uRw4dXkptrZvv2qXXXeODAq+teb322z8/atfVBVFsE\nqiIiItLB+dvYiRMn/MOGDWuwffTo0f7Kykq/3+/3HzlyxD969OhGj7N3795WaZ90PMG+UF1d7bfZ\nnvdDjR9q/Dbb8/5jx44Ftp3ywym/zfa8v7q6OiHnjXa+RB27sXM6HJv9DsfmsHM5HJsD7fAHfk75\nHY7NCTtvtOPb7Qta9ZxNnT/0XNXV1f65c3/d4LoEH4t2zaRz0r8N4verH4hB/UCCmtsX2jyD9Nln\nn9GzZ08efPBBDhw4wIABA3jooYc4evQomZmZAGRmZnL06NG2bpp0cNGyHE7njlbL5EQ7X2vOb2lJ\nlihahqslQ/GiDRl0OKZz+HDbDiOMpv665AINr0tbzMUSERGRzqPNA6Svv/6a999/n3nz5jFw4ECe\nfPJJli1bFrZPWloaaWlpTR5r3759rdVM6WD27dvHxx9/3GD7xx9/zHvvvceQIRcA8N577yXsnLHO\n11r9ct26NwJBQH1ANm9eEXb7UAYOPJdBg5ayf78xB2fQIAeXXTaQoUN/w/799wBQXLyUn/98IPff\n/07YtiVLhtC9e/cmz//UU/155ZXnALjppu/z4YcfNtiWyOsbKtrrGzhwCPv27Yt6XebPf45Jk65u\nlbZI+6d/GwTUD8SgfiAt0eYB0gUXXMD555/PwIEDARg9ejTLli0jMzOTyspKevfuzZEjR+jZs2eT\nx1LpRoH60o0DBgxgz57wjMajj97ZanN/2vp8b731jwbbXK5/8PjjAzCbzezePSgkU3Y3JSU72b//\nTmA7APv357Bs2VL276+fN7R/fx7vvBN/1isrKyuuba0h8vUFr3O063LxxRfr8yFFqayvgPqBGNQP\nJKi5gXKbB0i9e/emT58+/O1vf+M73/kOe/bswWKxYLFY2LhxI3fddRcul4sRI0a0ddOkg2vrwght\nfb7s7OEsWrSYioqZgS2r8HhmkZOzGJvtCrKzh4cFOj5fDcbitdMCW1ZQW9txq7rFGiqXjIqBIiIi\n0nklpYrdvHnzuP/++/H5fFx00UUsWLCA2tpaZs2axfr16+vKfIs0V1vPN2nL85nNZmbMsJCfvxXj\nrXsLsA6nswCnM9qcpDRC1wCCO7jmmpc5cqRzBRPBQHX+/Oe4+OKLWz1QFRERkc4tKQFS//79Wb9+\nfYPtJSUlbd8YkQ4kfLHULTS2CKrJZGrw/LPOOott225qs6xXWzGbzUyadLWGUoiIiMhp65LsBohI\n/ILZEodjB3b7gUb3zc4ejs22EqgBagLZouF1Wa/p08d2iuBIREREJJGSkkESkdiaKsMdDHCys4c3\nWmbbbDbjct1CXt4iAByO6QqIRERERJqgAEmkHWnOWkdNFYnwer2MH78Bt7sAgMOHm143SURERCTV\naYidSAt5vV6KikopKirF6/XG/VhjwhefNQXmFe2MuX9jw+WaeywRERERUQZJpEUay/Q0JwskIiIi\nIu2LMkgiLdBYduZ0MjexCiu0RCKPJSIiIpIqlEESoenCCG11npYuPhvtuG29kK2IiIhIZ6AASVJe\nS4bEZWcPx+mMXkEu1mPxnqe5i882dty2XjhXREREpKPTEDtJeS0ZEhe6HpHDsSMs0In1WGsVTVAx\nBhEREZHEUQZJJIZ41yOKRpkbERERkY5JGSRJedGKGdjtQxkzZjV5eaPIyxvFmDGrm1WuO97zNKdo\nQqzS4SrGICIiIpI4yiBJyotWzCB82BqBYWs7Tisr1NyiCaEZLLt9aGDR1+jzjFSMQURERCQxFCCJ\n0HZD4uI9T2ThhUWLFlNRMZ1YAZuG9ImIiIgkhobYiUSR7GFrkYUXKipmArtC9vDidr/bYLidiIiI\niJweBUiSsmLN6YHGq9Qli8XyBkbAdoL09CU4nQUJmx8lIiIiIgYFSJKSgkPYIoswhAZNANOnj2X6\n9LFtHhxFy2C99dYcHI4d2O1LOX58DirrLSIiIpJ4moMkKSlaEYbi4lLWrz/WrAVjW0uswgvBeUZO\nZ5s3SURERCQlKIMkElBe/kG7WnA1GBBFZrCSPT9KREREpDNTgCQpKVqQkZXVP9nNikt7nB8lIiIi\n0lloiJ2kpGhD2ADWr1+J2307QCAzMyVpbWyMynqLiIiItA4FSJKyogUZWnBVREREJLUpQBIJocyM\niIiISGrTHCQREREREZEABUgiIiIiIiIBCpBEREREREQCFCCJiIiIiIgEKEASEREREREJUIAkIiIi\nIiISoABJREREREQkQAGSiIiIiIhIgAIkERERERGRAAVIIiIiIiIiAQqQREREREREAhQgiYiIiIiI\nBChAEhERERERCVCAJCIiIiIiEqAASUREREREJEABkoiIiIiISIACJBERERERkQAFSCIiIiIiIgEK\nkERERERERAIUIImIiIiIiAQoQBIREREREQlQgCQiIiIiIhKgAElERERERCRAAZKIiIiIiEiAAiQR\nEREREZGAbsk46bBhw/jWt75F165d6datG+vWraOqqor77ruPQ4cOceGFF7J48WJ69OiRjOaJiIiI\niEiKSloGaeXKlbhcLtatWwfAsmXLyMrK4ne/+x3XXHMNy5YtS1bTREREREQkRSUtQPL7/WG/79q1\niwkTJgAwYcIEXn311WQ0S0REREREUlhSAqS0tDRycnK45ZZbWLNmDQBHjx4lMzMTgMzMTI4ePZqM\npomIiIiISApLyhykl156ifPOO48vv/ySnJwc+vbtG/Z4WloaaWlpTR5n3759rdVE6WDUFwTUD8Sg\nfiCgfiAG9QNpiaQESOeddx4APXv2ZOTIkbzzzjv06tWLyspKevfuzZEjR+jZs2ejxxg8eHBbNFVE\nRERERFJImw+xq66u5quvvgLg5MmT/OEPf+DSSy9l2LBhbNy4EQCXy8WIESPaumkiIiIiIpLi0vyR\n1RJa2aeffspPfvITAGpra7npppu4++67qaqqYtasWRw+fFhlvkVEREREJCnaPEASERERERFpr5JW\n5ltERERERKS9UYAkIiIiIiISoABJREREREQkICllvpvr1KlT3H777dTU1ODz+Rg+fDgFBQVUVVVx\n3333cejQIRV2SCG1tbVMnDiRCy64gKKiIvWDFDRs2DC+9a1v0bVrV7p168a6devUD1LQiRMneOSR\nR6ioqCAtLY0FCxZw8cUXqx+kmIMHDzJ79uy63z/99FNmzpzJuHHj1BdSzG9+8xs2bdpEly5duPTS\nS1mwYAEnT55UP0gxK1asYN26dfj9fiZPnsy0adOafY/QITJI3bt358UXX+Tll19m06ZNvPHGG+zd\nu5dly5aRlZXF7373O6655hqWLVuW7KZKG3jxxRe55JJL6n5XP0hNK1euxOVysW7dOkD9IBU9+eST\nXHvttWzdupVNmzbRt29f9YMU1LdvX1wuFy6Xiw0bNnDmmWcycuRI9YUU89lnn7FmzRo2btzIK6+8\nQm1tLaWlpeoHKeavf/0r69atY926dbz88sv8/ve/55NPPml2P+gQARLAmWeeCYDP56O2tpb09HR2\n7drFhAkTAJgwYQKvvvpqMpsobeAf//gHbrebyZMn121TP0hNkQU41Q9Syz//+U/27t3LpEmTAOjW\nrRvnnHOO+kGKKy8v56KLLqJPnz7qCynm7LPPplu3blRXV/P111/j9Xo577zz1A9SzMGDBxk4cCDd\nu3ena9euDBkyhN/97nfN7gcdJkD65ptvuPnmm8nKyuLqq6+mX79+HD16lMzMTAAyMzM5evRoklsp\nre2pp55izpw5dOlS33XVD1JPWloaOTk53HLLLaxZswZQP0g1n332GT179uTBBx9kwoQJPPLII5w8\neVL9IMWVlpYyduxYQJ8JqSYjI4M777yT//iP/8BqtXLOOecwdOhQ9YMU069fP/bu3UtVVRXV1dW8\n/vrrfP75583uBx0mQOrSpQsvv/wyr7/+Onv37uWPf/xj2ONpaWmkpaUlqXXSFl577TV69erF5Zdf\n3iB7EKR+kBpeeuklXC4Xzz33HL/97W/Zu3dv2OPqB53f119/zfvvv8+PfvQjNm7cyJlnntlgyIT6\nQWqpqanhtdde4/rrr2/wmPpC5/fJJ5+wYsUKdu3aRVlZGSdPnuTll18O20f9oPO75JJLyM3N5c47\n7yQ3N5f+/fuHfakO8fWDDhMgBZ1zzjnYbDbee+89evXqRWVlJQBHjhyhZ8+eSW6dtKb//d//Zdeu\nXQwbNoyCggL++Mc/8sADD6gfpKDzzjsPgJ49ezJy5Ejeeecd9YMUc8EFF3D++eczcOBAAEaPHs37\n779PZmam+kGKev311xkwYEDd31yfCanlz3/+M1deeSXnnnsu3bp1Y+TIkbz99tv6TEhBkyZNYsOG\nDaxatYr09HS+/e1vN/vzoEMESF9++SUnTpwAwOv1Ul5ezuWXX86wYcPYuHEjAC6XixEjRiSzmdLK\nZs+ejdvtZteuXSxatIhrrrmGZ555Rv0gxVRXV/PVV18BcPLkSf7whz9w6aWXqh+kmN69e9OnTx/+\n9re/AbBnzx4sFgvXXXed+kGKKi0t5cYbb6z7XZ8JqaVv37786U9/wuv14vf79ZmQwoLD5w4dOsT2\n7du56aabmv15kOaPNVapHfnggw+YO3cu33zzTd1cpB//+MdUVVUxa9YsDh8+rNKNKebNN9/khRde\nqCvzrX6QOj799FN+8pOfAEbJ95tuuom7775b/SAFHThwgIcffhifz8dFF13EggULqK2tVT9IQSdP\nnuS6665j586dnH322QD6TEhBxcXFuFwuunTpwuWXX84TTzzBv/71L/WDFPOf//mfVFVV0a1bNx58\n8EGuueaaZn8edIgASUREREREpC10iCF2IiIiIiIibUEBkoiIiIiISIACJBERERERkQAFSCIiIiIi\nIgEKkERERERERAIUIImIiIiIiAQoQBIRkXZp2LBheDyesG1Tp05lxIgRjB8/nhtuuIGSkpKwxzdt\n2sSECRO4/vrrueWWW5g9ezaHDx/m448/5oc//CGHDh2q23fevHksXLiwLV6KiIh0IN2S3QAREZHm\nmDdvHjabjcrKSsaOHcs111xD//79Wbt2LSUlJTgcDi666CLAWFS6srKSgQMHctddd/Hwww+zfPly\nysrK2Lt3Ly+//HKSX42IiLQ3yiCJiEiH1Lt3b7797W/zt7/9DYBf/epXPPTQQ3XBEcBVV13FwIED\nAbjjjjvw+XwUFRXx6KOPsnDhQs4444yktF1ERNovZZBERKRD8fv9ABw8eJCDBw9y2WWXcfToUT7/\n/HO+973vNfrcJ554gjFjxpCTk9PkviIikpqUQRIRkQ7liSee4MYbb+TGG2/knnvuoW/fvnE/d+fO\nnVxwwQX85S9/acUWiohIR6YASUREOpR58+axefNmVq1axQsvvEBlZSW9evXi/PPP509/+lPM5x08\neJCSkhLWrFlDbW0tTqezDVstIiIdhQIkERFpt4LD6aJtGzRoEOPGjePZZ58F4J577mHhwoV8+umn\ndfu+9dZbvPPOO9TW1vLggw9SUFDAeeedx1NPPcWvfvUrDh8+3DYvREREOgzNQRIRkXYrJyeHrl27\n1v1+7rnnkpaWVvd7Xl4eo0ePxuPxcNttt9G9e3fy8/Pxer106dKF/v3788ADD/DCCy8ioFKiAAAA\ndElEQVRw7rnnMn78eAD+7d/+jenTp/PII4/w/PPPt/nrEhGR9ivNH+3rORERERERkRSkIXYiIiIi\nIiIBCpBEREREREQCFCCJiIiIiIgEKEASEREREREJUIAkIiIiIiISoABJREREREQkQAGSiIiIiIhI\nwP8DmBp468TOY0kAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Pull the pricing data for our two stocks and S&P 500\n", "start = '2013-01-01'\n", "end = '2015-01-01'\n", "bench = get_pricing('SPY', fields='price', start_date=start, end_date=end)\n", "a1 = get_pricing('LRCX', fields='price', start_date=start, end_date=end)\n", "a2 = get_pricing('AAPL', fields='price', start_date=start, end_date=end)\n", "\n", "plt.scatter(a1,a2)\n", "plt.xlabel('LRCX')\n", "plt.ylabel('AAPL')\n", "plt.title('Stock prices from ' + start + ' to ' + end)\n", "print \"Correlation coefficients\"\n", "print \"LRCX and AAPL: \", np.corrcoef(a1,a2)[0,1]\n", "print \"LRCX and SPY: \", np.corrcoef(a1,bench)[0,1]\n", "print \"AAPL and SPY: \", np.corrcoef(bench,a2)[0,1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Constructing a portfolio of uncorrelated assets\n", "\n", "Another reason that correlation is useful in finance is that uncorrelated assets produce the best portfolios. The intuition for this is that if the assets are uncorrelated, a drawdown in one will not correspond with a drawdown in another. This leads to a very stable return stream when many uncorrelated assets are combined." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Limitations\n", "\n", "## Significance\n", "\n", "It's hard to rigorously determine whether or not a correlation is significant, especially when, as here, the variables are not normally distributed. Their correlation coefficient is close to 1, so it's pretty safe to say that the two stock prices are correlated over the time period we use, but is this indicative of future correlation? If we examine the correlation of each of them with the S&P 500, we see that it is also quite high. So, AAPL and LRCX are slightly more correlated with each other than with the average stock.\n", "\n", "One fundamental problem is that it is easy to datamine correlations by picking the right time period. To avoid this, one should compute the correlation of two quantities over many historical time periods and examine the distibution of the correlation coefficient. More details on why single point estimates are bad will be covered in future notebooks.\n", "\n", "As an example, remember that the correlation of AAPL and LRCX from 2013-1-1 to 2015-1-1 was 0.95. Let's take the rolling 60 day correlation between the two to see how that varies." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1AAAAHxCAYAAABjxF1TAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdA2/eZP/D3VxJCCCGBGGLvYfDeO3Zsx3V2mtWkadN0\n3HWk69Jee23aXNv0Lu21zV1XmvTXdKRNs0fTJE6cOPGI98AGG2yD2RuBQIAQWt/fH0LYjjFIIOmr\n8X79FaP12BHwffR8nucRRFEUQURERERERNOSSR0AERERERFRuGACRURERERE5CUmUERERERERF5i\nAkVEREREROQlJlBEREREREReYgJFRERERETkJUkTqO985ztYs2YNbrzxxive58c//jG2bt2Km266\nCTU1NUGMjoiIiIiI6FKSJlC33XYb/vCHP1zx9t27d6O5uRk7duzAww8/jB/84AfBC46IiIiIiOhD\nJE2gli1bBq1We8Xbd+7ciY9+9KMAgIULF8JsNsNoNAYrPCIiIiIiokuEdA9UT08P0tPTJ/6cnp6O\nrq4uCSMiIiIiIqJoppA6gOmIonjJnwVBmPL+x44dC2Q4REREREQUAZYuXTqjx4V0ApWWlnZJxamr\nqwsGg2Hax830H4Mix7Fjx/g+IL4PCADfB3QB3wsE8H1AbrMpuoT0Eb7Nmzfj1VdfBQCcOHECWq0W\nKSkpEkdFRERERETRStIK1AMPPIDDhw9jYGAAGzZswFe+8hU4HA4AwF133YUNGzZg9+7duOaaaxAX\nF4dHHnlEynCJiIiIiCjKSZpAPfroo9Pe56GHHgpCJERERERERNML6SN8REREREREoYQJFBERERER\nkZeYQBEREREREXmJCRQREREREZGXmEARERFRWBBFES1dZuypbENbzxBEUZQ6JCKKQiG9SJeIiIgI\nAOwOJ/7nr0dx8FTXxNeKcxLxiW1zsHSOQcLIiCjasAJFREREIW141I4f//EwDp7qQnm+Hp++YS5W\nzk3H+bYB/OD/HcRf3qiBy8VqFBEFBytQREREFHQOpwt1LQPoH7IiWauCIVkNXXwszCM2HDvTjSO1\n3ejqG4HD4cKQxYZ+8xiWlRvwnU8thzJGjluvLkZD+yB+8tQRvPheHdKT1fjIqnyp/1pEFAWYQBER\nEVFQjdmd+P7j+1Hb1D/l/VRKOeRyGewOF+7YXIJ7tpVDLhMmbi/M0uGRL63F53+yE3976wyuWpyN\n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\nh0OS1N/frxdffFHTpk3jOsgyY8aMUV1dnfbs2SNJ2rp1q6ZMmaJzzz13VK4Da/z/FuLParXqhhtu\n0Nq1axUIBHT55Zdr8uTJyS4LcfKtb31Lr732mux2uxYuXKj169dr3bp1+uY3v6lHHnlE48aN0513\n3ilJmjJlij772c9q2bJlslgsuummm2jNZ4jt27friSee0PTp03XJJZdICl4bXAvZpa2tTd/97ncV\nCATCe6HOPPNMzZgxg+sAksSfCVmmvb1d3/jGNyQFR9ovX75cZ599tmbNmsV1kGVuuOEGffvb35bX\n61VDQ4N+/OMfy+/3j8p1YDIiLRQGAAAAAAySEUv4AAAAACARCFAAAAAAECMCFAAAAADEiAAFAAAA\nADEiQAEAAABAjAhQAAAAABCjjDgHCgCQfRYtWiSbzabc3Fw5nU5NmTJFX/3qV3XqqacmuzQAQAYj\nQAEA0tYvf/lLTZkyRZL07LPPat26dbrnnnuGPUEeAIATwRI+AEBGWLJkiVavXq177rlHW7du1erV\nq7Vy5UotX75cTz31lCRp586dWr58+aDXrVixQm+++WYySgYApCE6UACAjDFnzhxt3rxZs2bN0gMP\nPCCz2az29nZddtllOuecczRnzhwVFBTo9ddf1xlnnKFt27bJarXqE5/4RLJLBwCkCQIUACBjGIYh\nSero6NB3v/td7du3TxaLRd3d3dqzZ4/mzJmjL37xi3rggQd0xhln6Pe//72uvPLKJFcNAEgnLOED\nAGSMt956S1OnTtUPfvADLViwQH/5y1/02GOPqaamRm63W5J0/vnna8eOHdq1a5dee+21Y5b0AQAw\nHAIUACBthTpOkvTcc8/poYce0pe//GX19PRo7NixkqSXXnpJ+/btCz8vJydHl156qf7lX/5FK1as\nkM1mS3jdAID0ZTKO/K8PAABpYqgx5uvWrdMnPvEJvfzyy/rhD3+o/Px8zZ49W2+//bauu+46nXHG\nGZKklpYWfeYzn9EzzzyjhoaGJP+dAADSCQEKAJB1Hn/8cT399NP69a9/nexSAABphiESAICssnbt\nWh04cED//d//nexSAABpiA4UAAAAAMSIIRIAAAAAECMCFAAAAADEiAAFAAAAADEiQAEAAABAjAhQ\nAAAAABCj/x/3///LVUMSZwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rolling_correlation = pd.rolling_corr(a1, a2, 60)\n", "plt.plot(rolling_correlation)\n", "plt.xlabel('Day')\n", "plt.ylabel('60-day Rolling Correlation')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Non-Linear Relationships\n", "\n", "The correlation coefficient can be useful for examining the strength of the relationship between two variables. However, it's important to remember that two variables may be associated in different, predictable ways which this analysis would not pick up. For instance, one variable might precisely follow the behavior of a second, but with a delay. There are techniques for dealing with this lagged correlation. Alternatively, a variable may be related to the rate of change of another. Neither of these relationships are linear, but can be very useful if detected.\n", "\n", "Additionally, the correlation coefficient can be very sensitive to outliers. This means that including or excluding even a couple of data points can alter your result, and it is not always clear whether these points contain information or are simply noise.\n", "\n", "As an example, let's make the noise distribution poisson rather than normal and see what happens." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.18485889539744632" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\niifYAAAAxRNsAACA4gk2AABA8QQbAACgeIINAABQPMEGAAAoXt3B5rbbbsuqVaty0kkn5f7772/m\nmgAAAKak7mDzlre8JX/zN3+TpUuXNnM9AAAAUza/3g8uWrSomesAAAComx4bAACgeIes2Jx33nl5\n4oknDnr9U5/6VN7//vfX9QuHhobq+hztwf6Vy96Vzf6Vy96Vzf6Vzf7NLYcMNt/+9reb+suWLFnS\n1OcBAAAkTTqKVqvVmvEYAACAusyr1ZlKtm7dmi996Uv59a9/naOOOionnXRSrr766mavDwAA4LDq\nDjYAAADtwlQ0AACgeIINAABQPMEGAAAo3rQGm507d+a8887Lhz70oXzsYx/L008/fdB7Hnnkkaxf\nvz6rVq3KqaeemmuvvXY6l8Rh3HnnnVm5cmVWrFiRb33rW+O+50tf+lJWrFiR1atX56c//ekMr5BD\nOdz+/eAHP8jq1atz2mmnZe3atXnggQdasErGM5n/7SXJjh078ra3vS233377DK6Ow5nM/t1zzz1Z\ns2ZNTj311Kxfv36GV8ihHG7/nnrqqZx//vn58Ic/nFNPPTXf/e53W7BKxvrc5z6XZcuW5bTTTpvw\nPb6ztK/D7V9d31lq0+gv/uIvat/61rdqtVqt9rd/+7e1K6644qD3PP7447Wf/vSntVqtVnvmmWdq\nK1asqP3iF7+YzmUxgRdeeKH2gQ98oPaf//mftd27d9dWr1590F780z/9U+0P//APa7VarXbffffV\nzjrrrFYslXFMZv/uvffe2tNPP12r1Wq1wcFB+9cmJrN3I+9bv3597eMf/3hty5YtLVgp45nM/u3a\ntat2yimn1B555JFarVarPfnkk61YKuOYzP59/etfr/3lX/5lrVbbu3fvete7anv27GnFcjnAj3/8\n49r9999fO/XUU8f9ue8s7e1w+1fPd5ZprdjccccdOf3005Mkp59+ev7hH/7hoPcce+yxOemkk5Ik\nRx55ZBYtWpTHH398OpfFBHbs2JE3velNecMb3pCOjo6sWrUq27ZtG/Webdu27dvT3/3d383TTz+d\nJ554ohXLZYzJ7N/v/d7v5aijjkqyd/8effTRViyVMSazd0myadOmfOhDH8prXvOaFqySiUxm/26+\n+easWLEixx13XJLYwzYymf079thj88wzzyRJnn322SxYsCDz5x/yjnNmwNKlS/OqV71qwp/7ztLe\nDrd/9XxnmdZg8+STT+a1r31tkuS1r31tnnzyyUO+/+GHH87PfvazLF68eDqXxQQee+yxvP71r9/3\n54ULF+axxx4b9Z7HH39837+Yk+S4447z5bhNTGb/DnTDDTekq6trJpbGYUxm7x577LFs27Yt69at\nS5LMmzdvRtfIxCazf7/85S+za9eurF+/PmeccUZuuummmV4mE5jM/n30ox/NL37xi7z3ve/N6tWr\n8/nPf36ml0kdfGeZPSb7naXhv24477zzxk2/n/zkJ0f9ed68eYf8F/Gzzz6bjRs35gtf+EKOPPLI\nRpdFHSb7Rak25uojX7Daw1T24V/+5V9y44035rrrrpvGFTFZk9m7L3/5y/nMZz6TefPmpVarHfS/\nQ1pnMvv3wgsv5Kc//Wn6+/vz3HPPZe3atXnHO96RN7/5zdO/QA5pMvvX19eXE088MZs2bcp//Md/\n5Lzzzsv3v//9vPKVr5yBFdII31nKN5XvLA0Hm29/+9sT/uyYY47Jr371qxx77LF5/PHHJyy979mz\nJxs3bszq1avzgQ98oNElUaeFCxfmkUce2ffnRx99NAsXLhz1nte97nWj/rZjvPfQGpPZvyR54IEH\nctlll+Xqq6/O0UcfPZNLZAKT2bv7778/n/rUp5Ikv/71r3PnnXdm/vz56e7untG1crDJ7N9xxx2X\nV7/61ens7ExnZ2eWLl2aBx54QLBpA5PZv5/85CfZsGFDkuw7tvbggw/md37nd2Z0rUyN7yzlm+p3\nlmk9ivb+978/3/ve95IkN91007ihpVar5Qtf+EIWLVqUSqUyncvhMN7+9rfnl7/8ZR5++OHs3r07\nt95660Ffmrq7u/cdobjvvvvyqle9at9xQ1prMvv3X//1X7noootyxRVX5Pjjj2/RShlrMnu3bdu2\n3HHHHbnjjjuycuXKfPGLXxRq2sRk/79zaGgoL774Yp577rns2LEjJ5xwQotWzIEms3+//du/nbvv\nvjtJ8sQTT+TBBx/MG9/4xlYslynwnaVs9XxnmdbOt49//OP55Cc/mRtvvDG/9Vu/lb/+679Osvc8\n62WXXZZvfetbGRoayg9+8IO89a1vzZo1a5IkF198cd73vvdN59IYx/z583PZZZfl/PPPz0svvZQz\nzzwzixYtysDAQJJk7dq16erqyuDgYD74wQ/mFa94Rb761a+2eNWMmMz+feMb38jTTz+dL37xi/s+\nc8MNN7Rw1SST2zva12T2b9GiRVm+fHlWr16dl73sZTnrrLMEmzYxmf37oz/6o3z+85/P6tWrU6vV\n8tnPfjYLFixo8cq5+OKL86Mf/Sg7d+5MV1dXLrroorzwwgtJfGcpweH2r57vLPNqDmoDAACFm9aj\naAAAADNBsAEAAIon2AAAAMUTbAAAgOIJNgAAQPEEGwAAoHiCDQAAULz/BzBlmZ/9gzNFAAAAAElF\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X = np.random.rand(100)\n", "Y = X + np.random.poisson(size=100)\n", "\n", "plt.scatter(X, Y)\n", "\n", "np.corrcoef(X, Y)[0, 1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In conclusion, correlation is a powerful technique, but as always in statistics, one should be careful not to interpret results where there are none." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*This presentation is for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation for any security; nor does it constitute an offer to provide investment advisory or other services by Quantopian, Inc. (\"Quantopian\"). Nothing contained herein constitutes investment advice or offers any opinion with respect to the suitability of any security, and any views expressed herein should not be taken as advice to buy, sell, or hold any security or as an endorsement of any security or company. In preparing the information contained herein, Quantopian, Inc. has not taken into account the investment needs, objectives, and financial circumstances of any particular investor. Any views expressed and data illustrated herein were prepared based upon information, believed to be reliable, available to Quantopian, Inc. at the time of publication. Quantopian makes no guarantees as to their accuracy or completeness. All information is subject to change and may quickly become unreliable for various reasons, including changes in market conditions or economic circumstances.*" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.11" } }, "nbformat": 4, "nbformat_minor": 0 }