ml-finance-python

python scripts for finance machine learning

git clone https://9o.is/git/ml-finance-python.git

notebook.ipynb

(105219B)


      1 {
      2  "cells": [
      3   {
      4    "cell_type": "markdown",
      5    "metadata": {
      6     "deletable": true,
      7     "editable": true
      8    },
      9    "source": [
     10     "#Exercises: Spearman Rank Correlation\n",
     11     "\n",
     12     "## Lecture Link\n",
     13     "\n",
     14     "This exercise notebook refers to this lecture. Please use the lecture for explanations and sample code.\n",
     15     "\n",
     16     "https://www.quantopian.com/lectures#Spearman-Rank-Correlation\n",
     17     "\n",
     18     "Part of the Quantopian Lecture Series:\n",
     19     "\n",
     20     "* [www.quantopian.com/lectures](https://www.quantopian.com/lectures)\n",
     21     "* [github.com/quantopian/research_public](https://github.com/quantopian/research_public)"
     22    ]
     23   },
     24   {
     25    "cell_type": "code",
     26    "execution_count": 1,
     27    "metadata": {
     28     "collapsed": false,
     29     "deletable": true,
     30     "editable": true
     31    },
     32    "outputs": [],
     33    "source": [
     34     "import numpy as np\n",
     35     "import pandas as pd\n",
     36     "import scipy.stats as stats\n",
     37     "import matplotlib.pyplot as plt\n",
     38     "import math"
     39    ]
     40   },
     41   {
     42    "cell_type": "markdown",
     43    "metadata": {
     44     "deletable": true,
     45     "editable": true
     46    },
     47    "source": [
     48     "#Exercise 1: Finding Correlations of Non-Linear Relationships\n",
     49     "\n",
     50     "##a. Traditional (Pearson) Correlation\n",
     51     "\n",
     52     "Find the correlation coefficient for the relationship between `x` and `y`."
     53    ]
     54   },
     55   {
     56    "cell_type": "code",
     57    "execution_count": 2,
     58    "metadata": {
     59     "collapsed": false,
     60     "deletable": true,
     61     "editable": true
     62    },
     63    "outputs": [
     64     {
     65      "name": "stdout",
     66      "output_type": "stream",
     67      "text": [
     68       "0.822025231123\n"
     69      ]
     70     },
     71     {
     72      "data": {
     73       "image/png": "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\n",
     74       "text/plain": [
     75        "<matplotlib.figure.Figure at 0x7fdf10ff4e10>"
     76       ]
     77      },
     78      "metadata": {},
     79      "output_type": "display_data"
     80     }
     81    ],
     82    "source": [
     83     "n = 100\n",
     84     "x = np.linspace(1, n, n)\n",
     85     "y = x**5\n",
     86     "\n",
     87     "#Your code goes here\n",
     88     "\n",
     89     "corr = np.corrcoef(x, y)[1][0]\n",
     90     "\n",
     91     "print corr\n",
     92     "\n",
     93     "plt.plot(x, y);"
     94    ]
     95   },
     96   {
     97    "cell_type": "markdown",
     98    "metadata": {
     99     "deletable": true,
    100     "editable": true
    101    },
    102    "source": [
    103     "# b. Spearman Rank Correlation\n",
    104     "\n",
    105     "Find the Spearman rank correlation coefficient for the relationship between `x` and `y` using the `stats.rankdata` function and the formula \n",
    106     "\n",
    107     "$$r_S = 1 - \\frac{6 \\sum_{i=1}^n d_i^2}{n(n^2 - 1)}$$\n",
    108     "\n",
    109     "where $d_i$ is the difference in rank of the `i`th pair of `x` and `y` values."
    110    ]
    111   },
    112   {
    113    "cell_type": "code",
    114    "execution_count": 3,
    115    "metadata": {
    116     "collapsed": false,
    117     "deletable": true,
    118     "editable": true
    119    },
    120    "outputs": [
    121     {
    122      "name": "stdout",
    123      "output_type": "stream",
    124      "text": [
    125       "Because the ranks of the two data sets are perfectly correlated,the relationship between x and y has a Spearman rank correlation coefficient of 1.0\n"
    126      ]
    127     }
    128    ],
    129    "source": [
    130     "#Your code goes here\n",
    131     "\n",
    132     "xrank = stats.rankdata(x, method='average')\n",
    133     "\n",
    134     "yrank = stats.rankdata(y, method='average')\n",
    135     "\n",
    136     "diffs = xrank - yrank\n",
    137     "\n",
    138     "spr_corr = 1 - 6*np.sum( diffs*diffs )/( n*( n**2 - 1 ) )\n",
    139     "\n",
    140     "print \"Because the ranks of the two data sets are perfectly correlated,\\\n",
    141     "the relationship between x and y has a Spearman rank correlation coefficient of\", spr_corr"
    142    ]
    143   },
    144   {
    145    "cell_type": "markdown",
    146    "metadata": {},
    147    "source": [
    148     "Check your results against scipy's Spearman rank function. `stats.spearmanr`"
    149    ]
    150   },
    151   {
    152    "cell_type": "code",
    153    "execution_count": 4,
    154    "metadata": {
    155     "collapsed": false
    156    },
    157    "outputs": [
    158     {
    159      "data": {
    160       "text/plain": [
    161        "SpearmanrResult(correlation=0.99999999999999989, pvalue=0.0)"
    162       ]
    163      },
    164      "execution_count": 4,
    165      "metadata": {},
    166      "output_type": "execute_result"
    167     }
    168    ],
    169    "source": [
    170     "# Your code goes here\n",
    171     "\n",
    172     "stats.spearmanr(x, y)"
    173    ]
    174   },
    175   {
    176    "cell_type": "markdown",
    177    "metadata": {
    178     "deletable": true,
    179     "editable": true
    180    },
    181    "source": [
    182     "#Exercise 2: Limitations of Spearman Rank Correlation\n",
    183     "\n",
    184     "##a. Lagged Relationships\n",
    185     "\n",
    186     "First, create a series `b` that is identical to `a` but lagged one step (`b[i] = a[i-1]`). Then, find the Spearman rank correlation coefficient of the relationship between `a` and `b`.\n"
    187    ]
    188   },
    189   {
    190    "cell_type": "code",
    191    "execution_count": 5,
    192    "metadata": {
    193     "collapsed": false,
    194     "deletable": true,
    195     "editable": true
    196    },
    197    "outputs": [
    198     {
    199      "name": "stdout",
    200      "output_type": "stream",
    201      "text": [
    202       "Despite the underlying relationship being a perfect correlation,the one-step lag led to a Spearman rank correlation coefficient of\n",
    203       "-0.0136813681368 , meaning the test failed to detect the strong relationship.\n"
    204      ]
    205     }
    206    ],
    207    "source": [
    208     "n = 100\n",
    209     "a = np.random.normal(0, 1, n)\n",
    210     "\n",
    211     "#Your code goes here\n",
    212     "\n",
    213     "b = [0] + list(a[:(n-1)])\n",
    214     "\n",
    215     "results = stats.spearmanr(a, b)\n",
    216     "\n",
    217     "print \"Despite the underlying relationship being a perfect correlation,\\\n",
    218     "the one-step lag led to a Spearman rank correlation coefficient of\\n\", results.correlation, \\\n",
    219     "\", meaning the test failed to detect the strong relationship.\""
    220    ]
    221   },
    222   {
    223    "cell_type": "markdown",
    224    "metadata": {
    225     "deletable": true,
    226     "editable": true
    227    },
    228    "source": [
    229     "##b. Non-Monotonic Relationships\n",
    230     "\n",
    231     "First, create a series `d` using the relationship $d=10c^2 - c + 2$. Then, find the Spearman rank rorrelation coefficient of the relationship between `c` and `d`."
    232    ]
    233   },
    234   {
    235    "cell_type": "code",
    236    "execution_count": 6,
    237    "metadata": {
    238     "collapsed": false,
    239     "deletable": true,
    240     "editable": true
    241    },
    242    "outputs": [
    243     {
    244      "name": "stdout",
    245      "output_type": "stream",
    246      "text": [
    247       "Despite an exact underlying relationship of d = 10c^2 - c + 2,the non-monotonic nature of the relationship led to a Spearman rank Correlation coefficient of -0.24397239724 , meaning the test failed to detect the relationship.\n"
    248      ]
    249     },
    250     {
    251      "data": {
    252       "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzYAAAHiCAYAAAA6f1lRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X+U1nWdN/7nxc90RoVLxTSte7I1C8NFznL0dhHkJCVb\nx2iBgX7YZtbu0NrWkvmjbnM73ZW4HY97m+Mx4d5MZRglf50VWWvV7EurcwaXI3bMJG5XpPgxMMqv\nxOz6/jEDDr9kxIFrPjOPxz/wueaa4TXwPsP1vN6v9+tTqlQqlQAAABTYgGoXAAAA8FYJNgAAQOEJ\nNgAAQOEJNgAAQOEJNgAAQOEJNgAAQOEN2t8T/vCHP+Tyyy9PW1tbtm/fnoaGhpx66qm59NJLU6lU\ncuyxx2bOnDkZPHhw7rvvvtx6660ZOHBgpk2blqlTpx6K7wEAAOjnSvu7j80DDzyQ3/3ud/nc5z6X\n1atX57Of/WzOOOOMTJgwIR/60Idy3XXX5fjjj88FF1yQKVOmZOHChRk0aFCmTp2a22+/PUceeeSh\n+l4AAIB+ar+taJMnT87nPve5JMnq1atz/PHHp6WlJRMnTkySnHvuuVmyZEmWLVuWUaNGpaamJkOH\nDs0ZZ5yRpUuXHtzqAQAA0o1WtB1mzJiRtWvXprGxMRdddFEGDx6cJDn66KOzdu3atLW1pVwu73x+\nuVzOunXrer5iAACA3XQ72DQ1NeWZZ57JV7/61XTtXttXJ9t+OtySJK2trd394wEAgH5szJgxb/jx\n/Qabp59+OkcffXTe/va359RTT82f/vSn1NTUZPv27RkyZEjWrFmT4447LiNGjNhlh2bNmjUZPXr0\nWy6Q/qG1tdVawDogiXVAB+uAxDrgdd3ZENnvGZuWlpbMmzcvSbJ+/fps3bo1Z511Vh588MEkyeLF\nizNu3LiMGjUqy5cvz+bNm7Nly5Y8+eSTFiIAAHBI7HfHZubMmbnyyivzyU9+Mq+88kquvvrqjBw5\nMl/72tfS3NycE044IVOmTMnAgQMze/bsXHTRRRkwYEAuueSS1NbWHorvAQAA6Of2G2yGDh2a73//\n+3s8vmMXp6tJkyZl0qRJPVMZAABAN+23FQ0AAKC3E2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wA\nAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDC\nE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wA\nAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDC\nE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wA\nAIDCE2wAAIDCE2wAAIDCE2yqoK2tPfX18zN27P2pr78jGza0V7skAAAotEHVLqA/mjVrUZqbZyQp\npaWlkqQpCxbMrHZZAABQWHZsqmDlytokpc6rUuc1AABwoASbKqir25Sk0nlVSV3d5mqWAwAAhacV\nrQoaGycnacrKlbWpq9ucxsbzq10SAAAUmmBTBeXyMGdqAACgB2lFAwAACk+wAQAACk+wAQAACq9b\nZ2zmzJmTpUuX5rXXXssXvvCF/Md//EeWL1+e4cOHJ0k+97nPZfz48bnvvvty6623ZuDAgZk2bVqm\nTp16UIsHAABIuhFsHn/88axYsSJNTU1pb2/PlClTcuaZZ+arX/1qxo8fv/N527Zty4033piFCxdm\n0KBBmTp1aiZNmpQjjzzyoH4DAAAA+w02Y8eOzemnn54kOfLII7N169b86U9/SqVS2eV5y5Yty6hR\no1JTU5MkOeOMM7J06dJMmDCh56sGAADoYr9nbEqlUt72trclSe68885MmDAhAwYMyG233ZbPfOYz\nmT17djZu3Jj169enXC7v/LxyuZx169YdvMoBAAA6dfs+Nj/96U/zk5/8JHPnzs3y5cszbNiwnHrq\nqfnhD3+YG264IaNHj97l+bvv6OxLa2vrm6uYPstaILEO6GAdkFgHdLAO6K5uBZvHHnssN998c+bO\nnZva2tqceeaZOz82ceLEXH311fnwhz+chx9+eOfja9as2SPs7M2YMWMOoGz6mtbWVmsB64Ak1gEd\nrAMS64DXdSfg7rcVbfPmzbn22mtz00035YgjjkiSfOlLX8oLL7yQpGO4wCmnnJJRo0Zl+fLl2bx5\nc7Zs2ZInn3zSQgQAAA6J/e7YPPDAA2lvb8+Xv/zlVCqVlEqlfPzjH89XvvKVHHbYYampqcl3vvOd\nDB06NLNnz85FF12UAQMG5JJLLkltbe2h+B4AAIB+br/BZvr06Zk+ffoej3/sYx/b47FJkyZl0qRJ\nPVMZAABAN+23FQ0AAKC3E2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDC\nE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wA\nAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2wAAIDCE2z6iLa29tTXz8/Ysfenvv6ObNjQXu2SAADgkBlU\n7QLoGbNmLUpz84wkpbS0VJI0ZcGCmdUuCwAADgk7Nn3EypW1SUqdV6XOawAA6B8Emz6irm5Tkkrn\nVSXPPfdrLWkAAPQbWtH6iMbGyUma8tBDr2TjxiHZuPHiNDcfFS1pAAD0B3Zs+ohyeVgWLJiZ97zn\n6CSfSDIsWtIAAOgvBJs+ZveWtLq6zdUsBwAADgmtaH3Mjpa0lStrU1e3OY2N51e7JAAAOOgEmz5m\nR0saAAD0J1rRAACAwhNsAACAwhNsAACAwhNsAACAwhNsAACAwhNsAACAwhNsAACAwhNsAACAwhNs\nAACAwhNsAACAwhNsAACAwhNsAACAwhNsAACAwhNsAACAwhNsAACAwhNsAACAwhNsAACAwhNsAACA\nwhNsAACAwhNsAACAwhNsAACAwhNsAACAwhNsAACAwhNsAACAwhvUnSfNmTMnS5cuzWuvvZYvfOEL\n+cAHPpBLL700lUolxx57bObMmZPBgwfnvvvuy6233pqBAwdm2rRpmTp16sGuHwAAYP/B5vHHH8+K\nFSvS1NSU9vb2TJkyJWeeeWY+9alP5UMf+lCuu+66LFy4MBdccEFuvPHGLFy4MIMGDcrUqVMzadKk\nHHnkkYfi+wAAAPqx/baijR07Ntdff32S5Mgjj8zWrVvT0tKSiRMnJknOPffcLFmyJMuWLcuoUaNS\nU1OToUOH5owzzsjSpUsPbvUcNG1t7amvn5+xY+9Pff0d2bChvdolAQDAPu13x6ZUKuVtb3tbkuSu\nu+7KhAkT8otf/CKDBw9Okhx99NFZu3Zt2traUi6Xd35euVzOunXrDlLZHGyzZi1Kc/OMJKW0tFSS\nNGXBgpnVLgsAAPaqW2dskuSnP/1pFi5cmLlz52bSpEk7H69UKnt9/r4e311ra2t3S+AQWr48SUqd\nV6UsX37w/62sBRLrgA7WAYl1QAfrgO7qVrB57LHHcvPNN2fu3Lmpra1NTU1Ntm/fniFDhmTNmjU5\n7rjjMmLEiF12aNasWZPRo0fv92uPGTPmwKvnoDnttF/nV7+qpCPcVHLaaQf336q1tdVawDogiXVA\nB+uAxDrgdd0JuPs9Y7N58+Zce+21uemmm3LEEUckSc4666wsXrw4SbJ48eKMGzcuo0aNyvLly7N5\n8+Zs2bIlTz75pIVYYI2NkzN9elP+4i/uz/TpTWlsPL/aJQEAwD7td8fmgQceSHt7e7785S+nUqmk\nVCrlmmuuyde//vUsWLAgJ5xwQqZMmZKBAwdm9uzZueiiizJgwIBccsklqa2tPRTfAwdBuTzMmRoA\nAApjv8Fm+vTpmT59+h6Pz5s3b4/HJk2atMv5GwAAgENhv61oAAAAvZ1gAwAAFJ5gAwAAFJ5gAwAA\nFJ5gAwAAFJ5gAwAAFJ5gAwAAFJ5gAwAAFJ5gAwAAFJ5gAwAAFJ5gAwAAFJ5gAwAAFJ5gAwAAFJ5g\nAwAAFJ5gAwAAFJ5gAwAAFJ5gAwAAFJ5gAwAAFJ5gAwAAFJ5gAwAAFJ5gAwAAFJ5gAwAAFJ5gAwAA\nFJ5gAwAAFJ5gAwAAFJ5gw0HX1tae+vr5GTv2/tTX35ENG9qrXRIAAH3MoGoXQN83a9aiNDfPSFJK\nS0slSVMWLJhZ7bIAAOhD7Nhw0K1cWZuk1HlV6rwGAICeI9hw0NXVbUpS6byqpK5uczXLAQCgD9KK\nxkHX2Dg5SVNWrqxNXd3mNDaeX+2SAADoYwQbDrpyeZgzNQAAHFRa0QAAgMITbAAAgMITbAAAgMIT\nbAAAgMITbAAAgMITbAAAgMITbAAAgMITbAAAgMITbAAAgMITbAAAgMITbAAAgMITbAAAgMITbAAA\n6LXa2tpTXz8/Y8fen/r6O7JhQ3u1S6KXGlTtAgAAYF9mzVqU5uYZSUppaakkacqCBTOrXRa9kB0b\nAAB6rZUra5OUOq9KndewJ8EGAIBeq65uU5JK51UldXWbq1kOvZhWNAAAeq3GxslJmrJyZW3q6jan\nsfH8apdELyXYAADQa7S1tWfWrEVZubI2Rx31fBYsONmZGrpFsAEAoNfoOiwgqaShwbAAuscZGwAA\neg3DAjhQgg0AAL2GYQEcKK1oAAD0Gl2HBQwb9t9pbPxktUuiIAQbCqPrYcK6uk1pbJyccnlYtcsC\nAHpQuTxs55ma1tZW/9fTbYINheHOwwAA7Eu3ztg8++yzOe+883L77bcnSa644op89KMfzYUXXpgL\n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\ngg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0A\nAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4\ngg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0A\nAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4\ngg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gw7kk+6+++5c\nf/31eec735kkOfvss/O3f/u3eeaZZ3L11VdnwIABee9735tvfvObPVosAADA3hxQsEmSyZMn52tf\n+9ouj33nO9/J//pf/ysjR47M7Nmz89hjj2XcuHFvuUgAAIA30mOtaK+++mpefPHFjBw5MkkyceLE\nLFmypKe+PAAAwD4d8I7NE088kc9//vP54x//mMsuuyzlcjlHHXXUzo+Xy+WsW7euR4oEAAB4I/sN\nNnfeeWfuuuuulEqlVCqVlEql/NVf/VUuueSSjB8/Pv/1X/+VSy+9NHPnzk2lUnnTBbS2th5Q4fQ9\n1gKJdUAH64DEOqCDdUB37TfYTJs2LdOmTdvnx//8z/88GzduzPDhw9Pe3r7z8TVr1mTEiBFv+LXH\njBnzJkoFAADYuwM6Y3PLLbfk3/7t35Ikzz77bMrlcgYPHpx3v/vdWbp0aZLk3//93w0OAAAADolS\n5QD6x9asWZNLL700lUolr732Wq644op84AMfyIoVK3LVVVelUqnk9NNPz2WXXXYwagYAANjFAQUb\nAACA3qTHxj0DAABUi2ADAAAUnmADAAAUXtWDzdy5c/Oxj30s06ZNy/Lly6tdDlW0fv36jB07Ni0t\nLdUuhSp47bXXcvnll+cTn/hEZsyYsXPCIv3Hd7/73cyYMSMzZ87MU089Ve1yqKI5c+ZkxowZmTZt\nWh566KFql0MVvfLKKznvvPNyzz33VLsUquS+++7LBRdckL/+67/Oo48++obP3e99bA6m5557LosW\nLcrdd9+dZ555Jj/72c9y2mmnVbMkqujaa6/NSSedVO0yqJJ77703hx9+eO64444899xzueKKK3Ln\nnXdWuywOkZaWljz//PNpamrKihUr8vWvfz1NTU3VLosqePzxx7NixYo0NTWlvb09U6ZMyXnnnVft\nsqiSG2+8McOGDat2GVRJe3t7fvCDH+See+7Jli1b8i//8i8ZP378Pp9f1WDz8MMP5/zzz0+pVMr7\n3ve+vO9976tmOVTRf/7nf6a2tjannHJKtUuhSi644IJ85CMfSZKUy+W89NJLVa6IQ+mXv/xlPvjB\nDyZJTj755Lz88svZsmVLampqqlwZh9rYsWNz+umnJ0mOPPLIbNu2LZVKJaVSqcqVcaj99re/zW9/\n+9s3fCFL37ZkyZKcffbZOeyww3LYYYflW9/61hs+v6qtaC+++GJWr16diy++OJ/97GfzzDPPVLMc\nquTVV1/ND37wg3zlK1+pdilU0cCBAzNkyJAkyY9+9KOdIYf+Yf369SmXyzuvhw8fnvXr11exIqql\nVCrlbW97W5LkzjvvzPjx44Wafuqaa67J5ZdfXu0yqKIXX3wx27ZtS0NDQz71qU/ll7/85Rs+/5Dt\n2Nx555256667dv5wqlQqaWtry7hx43LLLbektbU13/jGN3LXXXcdqpKogq7rYMc7cH/5l3+Z6dOn\np7a2NknH2qBv29s6uOSSS3L22Wfn9ttvz69+9avcdNNN1S6TKvJzgJ/+9Kf5yU9+krlz51a7FKrg\nnnvuyejRo/OOd7wjiZ8J/VWlUkl7e3tuvPHGrFq1KhdeeGEefvjhfT7/kAWbadOmZdq0abs8dsMN\nN+Td7353kmTMmDFZvXr1oSqHKtnbOpg5c2Z+8Ytf5Lbbbst///d/56mnnsr111+fk08+uUpVcrDt\nbR0kHYHnkUceyY033piBAwdWoTKqZcSIEbvs0KxduzbHHntsFSuimh577LHcfPPNmTt37s43vehf\nHn300axatSoPP/xwfv/732fo0KF5+9vfnrPOOqvapXEIHXPMMRk9enRKpVJOOumk1NTUZMOGDbvs\n8HdV1TM248aNS1NTUyZPnpwVK1bk7W9/ezXLoUrmz5+/8/dXXHFFPv7xjws1/dALL7yQBQsW5Pbb\nb8/gwYOrXQ6H2Nlnn50bbrgh06dPz9NPP53jjjsuhx9+eLXLogo2b96ca6+9Nv/6r/+aI444otrl\nUCXXXXfdzt/fcMMNOfHEE4Wafujss8/OlVdemc9//vNpb2/P1q1b9xlqkioHm9NPPz0///nPM2PG\njCTJN7/5zWqWA1TRXXfdlZdeeimf//znd7anzZs3L4MGVfXHFIfI6NGjM3LkyMyYMSMDBw7MVVdd\nVe2SqJIHHngg7e3t+fKXv7zzZ8GcOXO8+Qn90HHHHZcPfehDmT59ekql0n7/byhVNC0CAAAFV/Ub\ndAIAALxVgg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4gg0AAFB4/z8XLZqLL+g7BAAAAABJ\nRU5ErkJggg==\n",
    253       "text/plain": [
    254        "<matplotlib.figure.Figure at 0x7fdf11856310>"
    255       ]
    256      },
    257      "metadata": {},
    258      "output_type": "display_data"
    259     }
    260    ],
    261    "source": [
    262     "n = 100\n",
    263     "c = np.random.normal(0, 2, n)\n",
    264     "\n",
    265     "#Your code goes here\n",
    266     "\n",
    267     "d = 10*c**2 - c + 2\n",
    268     "\n",
    269     "results = stats.spearmanr(c, d)\n",
    270     "\n",
    271     "print \"Despite an exact underlying relationship of d = 10c^2 - c + 2,\\\n",
    272     "the non-monotonic nature of the relationship led to a Spearman rank Correlation coefficient of\", \\\n",
    273     "results.correlation, \", meaning the test failed to detect the relationship.\"\n",
    274     "plt.scatter(c, d);"
    275    ]
    276   },
    277   {
    278    "cell_type": "markdown",
    279    "metadata": {
    280     "deletable": true,
    281     "editable": true
    282    },
    283    "source": [
    284     "#Exercise 3: Real World Example\n",
    285     "\n",
    286     "##a. Factor and Forward Returns\n",
    287     "\n",
    288     "Here we'll define a simple momentum factor (model). To evaluate it we'd need to look at how its predictions correlate with future returns over many days. We'll start by just evaluating the Spearman rank correlation between our factor values and forward returns on just one day.\n",
    289     "\n",
    290     "Compute the Spearman rank correlation between factor values and 10 trading day forward returns on 2015-1-2.\n",
    291     "\n",
    292     "For help on the pipeline API, see this tutorial: https://www.quantopian.com/tutorials/pipeline"
    293    ]
    294   },
    295   {
    296    "cell_type": "code",
    297    "execution_count": 7,
    298    "metadata": {
    299     "collapsed": false,
    300     "deletable": true,
    301     "editable": true
    302    },
    303    "outputs": [
    304     {
    305      "name": "stdout",
    306      "output_type": "stream",
    307      "text": [
    308       "Time to run pipeline 4.89 secs\n"
    309      ]
    310     }
    311    ],
    312    "source": [
    313     "#Pipeline Setup\n",
    314     "from quantopian.research import run_pipeline\n",
    315     "from quantopian.pipeline import Pipeline\n",
    316     "from quantopian.pipeline.data.builtin import USEquityPricing\n",
    317     "from quantopian.pipeline.factors import CustomFactor, Returns, RollingLinearRegressionOfReturns\n",
    318     "from quantopian.pipeline.classifiers.morningstar import Sector\n",
    319     "from quantopian.pipeline.filters import QTradableStocksUS\n",
    320     "from time import time\n",
    321     "\n",
    322     "#MyFactor is our custom factor, based off of asset price momentum\n",
    323     "\n",
    324     "class MyFactor(CustomFactor):\n",
    325     "        \"\"\" Momentum factor \"\"\"\n",
    326     "\n",
    327     "        inputs = [USEquityPricing.close] \n",
    328     "        window_length = 60\n",
    329     "\n",
    330     "        def compute(self, today, assets, out, close):       \n",
    331     "            out[:] = close[-1]/close[0]\n",
    332     "            \n",
    333     "universe = QTradableStocksUS()\n",
    334     "\n",
    335     "pipe = Pipeline(\n",
    336     "    columns = {\n",
    337     "            'MyFactor' : MyFactor(mask=universe),\n",
    338     "    },\n",
    339     "    screen=universe\n",
    340     ")\n",
    341     "\n",
    342     "start_timer = time()\n",
    343     "results = run_pipeline(pipe, '2015-01-01', '2015-06-01')\n",
    344     "end_timer = time()\n",
    345     "results.fillna(value=0);\n",
    346     "\n",
    347     "print \"Time to run pipeline %.2f secs\" % (end_timer - start_timer)\n",
    348     "\n",
    349     "my_factor = results['MyFactor']"
    350    ]
    351   },
    352   {
    353    "cell_type": "code",
    354    "execution_count": 8,
    355    "metadata": {
    356     "collapsed": false,
    357     "deletable": true,
    358     "editable": true
    359    },
    360    "outputs": [
    361     {
    362      "name": "stdout",
    363      "output_type": "stream",
    364      "text": [
    365       "A Spearman rank rorrelation test yielded a coefficient of 0.248112201793\n"
    366      ]
    367     }
    368    ],
    369    "source": [
    370     "n = len(my_factor)\n",
    371     "\n",
    372     "asset_list = results.index.levels[1].unique()\n",
    373     "prices_df = get_pricing(asset_list, start_date='2015-01-01', end_date='2016-01-01', fields='price')\n",
    374     "\n",
    375     "# Compute 10-day forward returns, then shift the dataframe back by 10\n",
    376     "forward_returns_df = prices_df.pct_change(10).shift(-10)\n",
    377     "\n",
    378     "# The first trading day is actually 2015-1-2\n",
    379     "single_day_factor_values = my_factor['2015-1-2']\n",
    380     "\n",
    381     "# Because prices are indexed over the total time period, while the factor values dataframe\n",
    382     "# has a dynamic universe that excludes hard to trade stocks, each day there may be assets in \n",
    383     "# the returns dataframe that are not present in the factor values dataframe. We have to filter down\n",
    384     "# as a result.\n",
    385     "single_day_forward_returns = forward_returns_df.loc['2015-1-2'][single_day_factor_values.index]\n",
    386     "\n",
    387     "#Your code goes here\n",
    388     "r = stats.spearmanr(single_day_factor_values,\n",
    389     "                          single_day_forward_returns)\n",
    390     "\n",
    391     "print \"A Spearman rank rorrelation test yielded a coefficient of %s\" %(r.correlation)"
    392    ]
    393   },
    394   {
    395    "cell_type": "markdown",
    396    "metadata": {
    397     "deletable": true,
    398     "editable": true
    399    },
    400    "source": [
    401     "##b. Rolling Spearman Rank Correlation\n",
    402     "\n",
    403     "Repeat the above correlation for the first 60 days in the dataframe as opposed to just a single day. You should get a time series of Spearman rank correlations. From this we can start getting a better sense of how the factor correlates with forward returns.\n",
    404     "\n",
    405     "What we're driving towards is known as an information coefficient. This is a very common way of measuring how predictive a model is. All of this plus much more is automated in our open source alphalens library. In order to see alphalens in action you can check out these resources:\n",
    406     "\n",
    407     "A basic tutorial:\n",
    408     "https://www.quantopian.com/tutorials/getting-started#lesson4\n",
    409     "\n",
    410     "An in-depth lecture:\n",
    411     "https://www.quantopian.com/lectures/factor-analysis"
    412    ]
    413   },
    414   {
    415    "cell_type": "code",
    416    "execution_count": 9,
    417    "metadata": {
    418     "collapsed": false
    419    },
    420    "outputs": [],
    421    "source": [
    422     "rolling_corr = pd.Series(index=None, data=None)\n",
    423     "\n",
    424     "#Your code goes here\n",
    425     "\n",
    426     "for dt in prices_df.index[:60]:\n",
    427     "    # The first trading day is actually 2015-1-2\n",
    428     "    single_day_factor_values = my_factor[dt]\n",
    429     "\n",
    430     "    # Because prices are indexed over the total time period, while the factor values dataframe\n",
    431     "    # has a dynamic universe that excludes hard to trade stocks, each day there may be assets in \n",
    432     "    # the returns dataframe that are not present in the factor values dataframe. We have to filter down\n",
    433     "    # as a result.\n",
    434     "    single_day_forward_returns = forward_returns_df.loc[dt][single_day_factor_values.index]\n",
    435     "\n",
    436     "    rolling_corr[dt] = stats.spearmanr(single_day_factor_values,\n",
    437     "                              single_day_forward_returns).correlation"
    438    ]
    439   },
    440   {
    441    "cell_type": "markdown",
    442    "metadata": {},
    443    "source": [
    444     "##b. Rolling Spearman Rank Correlation\n",
    445     "\n",
    446     "Plot out the rolling correlation as a time series, and compute the mean and standard deviation."
    447    ]
    448   },
    449   {
    450    "cell_type": "code",
    451    "execution_count": 10,
    452    "metadata": {
    453     "collapsed": false
    454    },
    455    "outputs": [
    456     {
    457      "name": "stdout",
    458      "output_type": "stream",
    459      "text": [
    460       "Spearman rank correlation mean: -0.0295884429781\n",
    461       "Spearman rank correlation std: 0.176767175031\n"
    462      ]
    463     },
    464     {
    465      "data": {
    466       "image/png": "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\nQ0SdqRUni+ux81A5Nmwvwt+/OoEoXRhmX5flj6YSERFRkFL1dsC6deuwfv16CIJzca8oijh48GCH\nYxwOR4f/Pnv2LAoKCvDggw/iu+++63Nj8vPz+3wsdY2vYWgKhH4fnBiGgyeNWLLq3zC12NFodv7P\n7uh87E1XxOD4kYOdn6A+C4Q+J99jv4cm9nvoYZ+7p9dgM2vWLMyaNavDY0uWLIHRaERWVpZrpEal\nOn+prVu3ory8HHPmzIHJZEJdXR3WrFmDe+65p8d7TZgwwZ2/A7XLz8/naxiCAqXfmxUlWPF+PgrO\ntkAQgJhIDYalRSE+Jtz5v+hwJMSEIy0xEsPSov3dXFkLlD4n32K/hyb2e+hhn/esp9DXa7DpypQp\nU7B582ZMmTIFW7ZsQW5ubofn58+fj/nz5wMAdu/ejX/84x+9hhoikrepOWnISNYjXKOCQa+FWsVq\n8kREROQ7bv3mMXPmTNhsNuTl5eGDDz7A448/DsC5rubAgQMebSARyYMgCBiSokeSQcdQQ0RERD7n\n1oiNQqHAsmXLOj2+YMGCTo9dccUVuOKKK9y5DRERERERUZ/wa1UiIiIiIpI9BhsiIiIiIpI9Bhsi\nIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIi\nIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9\nBhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9Bhsi\nIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIi\nIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9\nBhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9Bhsi\nIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIiIpI9BhsiIiIi\nIpI9lTsn2Ww2LF68GGVlZVAqlVi2bBnS09M7HJOdnY0JEyZAFEUIgoB3330XgiB4pNFEREREREQX\ncivYbNy4EdHR0Xj55ZexY8cOrFy5Eq+88kqHY/R6Pd577z2PNJKIiIiIiKgnbk1F27lzJ2bMmAEA\nmDx5Mvbu3dvpGFEUB9YyIiIiIiKiPnIr2BiNRhgMBgCAIAhQKBSw2Wwdjmlra8OiRYuQl5eHd955\nZ8ANJSIiIiIi6k6vU9HWrVuH9evXu9bHiKKIgwcPdjjG4XB0Om/x4sW45ZZbAAB33nknJk6ciOzs\n7B7vlZ+f3+eGU9f4GoYm9nvoYZ+HJvZ7aGK/hx72uXsE0Y05Y0uWLMFNN92EKVOmwGaz4dprr8U3\n33zT7fErVqzAiBEjcNtttw2osURERERERF1xayralClTsHnzZgDAli1bkJub2+H506dP4/HHHwfg\nrKC2d+9ejBgxYoBNJSIiIiIi6ppbVdFmzpyJHTt2IC8vDxqNBi+++CIAYPXq1cjNzcXYsWORkpKC\nO+64A0qlEtdeey0uu+wyjzaciIiIiIhI4tZUNCIiIiIiokDi1lQ0IiIiIiKiQMJgQ0REREREssdg\nQ0REREREsudW8QDqn3vvvRdHjx7F0qVLMX36dLev8/nnn+Ppp5/GunXrXFXmLBYLnn32WRQWFuLj\njz/udE5TUxOefPJJmEwmiKKIF154AcOGDcO3336LV155BUqlEtOmTcP9998PADhx4gQeeOAB/Oxn\nP8Odd94JwFneu6CgALGxsQCAe+65Z0B/j1DhiX7vrv+uueYapKamQhAECIKAl19+GYmJib2ex373\njtLSUtx8880YPXo0RFGEIAgYNWoUlixZ0uXxS5YswQ033NDj67ls2TIcOHAAgiDgmWeewejRo/H9\n99/jlVdegUqlgk6nw4oVKxAVFeU6x26345lnnsG5c+fgcDjw5JNPYvz48Th27Bief/55KBQKZGVl\n4bnnngMAlJeX48EHH0Rubi6efPJJAMDrr7+ODRs2ICkpCQBw66234vbbb/fUSxVUvNHvy5cvx969\ne2G327FgwQJcd911KC8vx9NPPw2bzQa1Wo0VK1YgLi6u1/MqKirwxBNPQBRFJCQkYPny5VCr1Whs\nbMRjjz2GiIgIvPrqqwCAf/zjH3j11VeRkZEBwFn99L777vPQKxVcSktLce211+Lvf/87xowZ43r8\n9ttvR2ZmJpYtW9bva/L9Hti80ed8r3uJSD6xePFicevWrW6fv3v3bnHJkiXinDlzxMLCQtfjv/3t\nb8V33nlHvP3227s8b9WqVeLbb78tiqIobt26VXz00UdFURTFmTNnihUVFaLD4RDz8vI6rY7aAAAK\nnUlEQVTEkydPimazWZw7d67461//Wnz//fc91vZQNtDXrrv+u+aaa8SWlpZ+n8d+946SkpJu34Nd\n6e213b17t3jfffeJoiiKJ0+eFGfPni2Koij+5Cc/Ec+cOSOKoii+9dZb4urVqzuc9/HHH4u/+c1v\nRFEUxcLCQvGOO+4QRVEU586dKxYUFIiiKIqPPfaYuG3bNlEURfHuu+8WX375ZfGll15yXeO1117r\n8O+Auufpft+1a5e4YMECURRFsa6uTrz66qtFURTFp556Sty8ebMoiqL4/vvvi8uXL+/TeYsXLxa/\n+OILURRF8Q9/+IP4wQcfiKIoio8++qj45ptvig8//LDrGp988kmHfwfUvZKSEvG6664Tly5d6nrs\n7Nmz4nXXXScuXry439fj+z3webrP+V73Hk5F87GmpiYsXLgQ8+fPx+zZs3Ho0CEAwPXXX481a9bg\nrrvuwuzZs2E2mzucl52djd///vdQqToOsj322GOYMWNGt/e77777MH/+fABAbGws6uvrUVxcjJiY\nGCQlJUEQBEyfPh27du2CRqPB22+/3eGbf/IMd/u9q/4DAFEUIfZQ0JD9HjheeeUVzJ07F3l5edi0\naZPr8f/85z+4++678eMf/xhHjx7tcM7OnTtd7+vhw4ejsbERTU1NMBgMqK2tBQA0NDS4RtMkt956\nKxYvXgwAMBgMaGhogNVqRUlJCbKzswEA11xzDb799lsAzm9rhw0b5p2/eIhzp9+vuOIK17eqer0e\nLS0tEEURzz//PK6//noA5/u1t/McDgd2796NH/zgBwCAH/zgB65+X7p0KcaPH++dv3iIGDNmDL79\n9lvXz+F//etfuOqqq1zPb9iwAbNnz0ZeXh6effZZAM5vyn/1q1/hrrvuQlVVletYvt/lwZN9zve6\n9zDY+JjRaMSsWbPw7rvv4le/+hX+9Kc/AXBuZDpixAi8//77SEtLw86dOzucp9Ppurxed49LwsLC\nXGHovffew0033QSj0QiDweA6xmAwoKqqCgqFAmFhYV1e5/3338f8+fPx+OOPu365pr5zt98v7r+b\nb77Z9dxzzz2HvLw8/OEPf+h0P/a773UVNPfs2YOysjL89a9/xTvvvIM33ngDFosFAKBQKPCXv/wF\n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\nYII=\n",
    467       "text/plain": [
    468        "<matplotlib.figure.Figure at 0x7fdf10c12690>"
    469       ]
    470      },
    471      "metadata": {},
    472      "output_type": "display_data"
    473     }
    474    ],
    475    "source": [
    476     "# Your code goes here\n",
    477     "print 'Spearman rank correlation mean: %s' %(np.mean(rolling_corr))\n",
    478     "print 'Spearman rank correlation std: %s' %(np.std(rolling_corr))\n",
    479     "plt.plot(rolling_corr);"
    480    ]
    481   },
    482   {
    483    "cell_type": "markdown",
    484    "metadata": {},
    485    "source": [
    486     "---\n",
    487     "\n",
    488     "Congratulations on completing the Spearman rank correlation exercises!\n",
    489     "\n",
    490     "As you learn more about writing trading models and the Quantopian platform, enter a daily [Quantopian Contest](https://www.quantopian.com/contest). Your strategy will be evaluated for a cash prize every day.\n",
    491     "\n",
    492     "Start by going through the [Writing a Contest Algorithm](https://www.quantopian.com/tutorials/contest) tutorial."
    493    ]
    494   },
    495   {
    496    "cell_type": "markdown",
    497    "metadata": {
    498     "deletable": true,
    499     "editable": true
    500    },
    501    "source": [
    502     "*This presentation is for informational purposes only and does not constitute an offer to sell, a solic\n",
    503     "itation 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.*"
    504    ]
    505   }
    506  ],
    507  "metadata": {
    508   "kernelspec": {
    509    "display_name": "Python 2",
    510    "language": "python",
    511    "name": "python2"
    512   },
    513   "language_info": {
    514    "codemirror_mode": {
    515     "name": "ipython",
    516     "version": 2
    517    },
    518    "file_extension": ".py",
    519    "mimetype": "text/x-python",
    520    "name": "python",
    521    "nbconvert_exporter": "python",
    522    "pygments_lexer": "ipython2",
    523    "version": "2.7.12"
    524   }
    525  },
    526  "nbformat": 4,
    527  "nbformat_minor": 0
    528 }