{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#Linear Regression\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", "Linear regression is a technique that measures the relationship between two variables. If we have an independent variable $X$, and a dependent outcome variable $Y$, linear regression allows us to determine which linear model $Y = \\alpha + \\beta X$ best explains the data. As an example, let's consider TSLA and SPY. We would like to know how TSLA varies as a function of how SPY varies, so we will take the daily returns of each and regress them against each other.\n", "\n", "Python's `statsmodels` library has a built-in linear fit function. Note that this will give a line of best fit; whether or not the relationship it shows is significant is for you to determine. The output will also have some statistics about the model, such as R-squared and the F value, which may help you quantify how good the fit actually is." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Import libraries\n", "import numpy as np\n", "from statsmodels import regression\n", "import statsmodels.api as sm\n", "import matplotlib.pyplot as plt\n", "import math" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we'll define a function that performs linear regression and plots the results." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def linreg(X,Y):\n", " # Running the linear regression\n", " X = sm.add_constant(X)\n", " model = regression.linear_model.OLS(Y, X).fit()\n", " a = model.params[0]\n", " b = model.params[1]\n", " X = X[:, 1]\n", "\n", " # Return summary of the regression and plot results\n", " X2 = np.linspace(X.min(), X.max(), 100)\n", " Y_hat = X2 * b + a\n", " plt.scatter(X, Y, alpha=0.3) # Plot the raw data\n", " plt.plot(X2, Y_hat, 'r', alpha=0.9); # Add the regression line, colored in red\n", " plt.xlabel('X Value')\n", " plt.ylabel('Y Value')\n", " return model.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we'll get pricing data on TSLA and SPY and perform a regression." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
OLS Regression Results
Dep. Variable: y R-squared: 0.202
Model: OLS Adj. R-squared: 0.199
Method: Least Squares F-statistic: 63.14
Date: Thu, 17 Sep 2015 Prob (F-statistic): 6.66e-14
Time: 20:55:12 Log-Likelihood: 548.81
No. Observations: 251 AIC: -1094.
Df Residuals: 249 BIC: -1087.
Df Model: 1
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [95.0% Conf. Int.]
const 0.0011 0.002 0.626 0.532 -0.002 0.004
x1 1.9271 0.243 7.946 0.000 1.449 2.405
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 63.947 Durbin-Watson: 2.006
Prob(Omnibus): 0.000 Jarque-Bera (JB): 371.184
Skew: 0.850 Prob(JB): 2.50e-81
Kurtosis: 8.710 Cond. No. 141.
" ], "text/plain": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: y R-squared: 0.202\n", "Model: OLS Adj. R-squared: 0.199\n", "Method: Least Squares F-statistic: 63.14\n", "Date: Thu, 17 Sep 2015 Prob (F-statistic): 6.66e-14\n", "Time: 20:55:12 Log-Likelihood: 548.81\n", "No. Observations: 251 AIC: -1094.\n", "Df Residuals: 249 BIC: -1087.\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [95.0% Conf. Int.]\n", "------------------------------------------------------------------------------\n", "const 0.0011 0.002 0.626 0.532 -0.002 0.004\n", "x1 1.9271 0.243 7.946 0.000 1.449 2.405\n", "==============================================================================\n", "Omnibus: 63.947 Durbin-Watson: 2.006\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 371.184\n", "Skew: 0.850 Prob(JB): 2.50e-81\n", "Kurtosis: 8.710 Cond. No. 141.\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\"\"\"" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\niwgGg2poaNDAwIBycnLU2tqq1NRUDQ0Nqbm5OTyr4I4dO3To0CEFg0Glp6ervr5etbW1+uEPf6hj\nx47J4XAoNzdXu3btCl/TBQAAAADxEpeABQAAAADJKC6nCAIAAABAMiJgAQAAAIAhBCwAAAAAMCSp\nAlYwGJTH41FZWZk2b9487Q2Ie3p6tGHDBpWWloYn1JCu3lOrsrJSVVVV+s53vqOBgYFYlQ6DIu2D\nJ598Ut/4xjdUWVmpH/zgB7pw4UKsSodBkfbBG2+8ofLycq1Zs0bvv/9+rMqGIdPt12s9/vjjKi0t\nVWVlpY4ePTqjZZEYIumDxsZGFRQUqKKiIlblIopm2wsDAwP69re/rfLycm3cuFEvvfRSLMuGYbPt\ng//85z+qq6tTVVWVvvnNb+pnP/vZ9VdkJ5Enn3zS9nq9tm3b9m9+8xv76aefnjTm8uXLttvtts+e\nPWuPjY3ZlZWV9smTJ23btu0LFy6Ex7300kt2U1NTbAqHUZH2wd/+9jf7ypUrtm3b9tNPPz3l8pj7\nIu2DkydP2qdPn7bvv/9++8iRIzGtHZG53n4d95e//MXeunWrbdu2/e6779p1dXU3vSwSQyR9YNu2\n/fbbb9vvv/++vXHjxpjWDfMi6QW/328fPXrUtm3b/uijj+zS0lI+ExJUpJ8JH3/8sW3btn3p0iW7\nrq7Ofvvtt6ddV1Idweru7lZNTY0kqaamRp2dnZPGvPfee1qxYoVyc3O1aNEilZeXq6urS5L0qU99\nKjzu448/1u233x6bwmFUpH3wta99TU7n1f8aa9eu1eDgYOyKhzGR9sGqVau0cuXKmNYMM663X8d1\ndXWF+2Pt2rUaHR3V8PDwTS2LxBBJH0jSunXrlJqaGvO6Yd5se2FkZEQZGRlas2aNJGnJkiVatWrV\nhPuxInFE0geSlJKSIkm6dOmSrly5omXLlk27rqQKWIFAIHw/LJfLpUAgMGnM0NCQli9fHn6clZWl\noaGh8OOf//zn+vrXv66Ojg5t27Yt+kXDOBN9MG7fvn0qKiqKXrGIGpN9gMRyM/vV7/crOzs7/Dg7\nO1tDQ0Py+/30RJKIpA+QXGbbC5/8gbW/v1/Hjh3Tl770pegWjKiItA+uXLmiqqoqFRQU6K677tId\nd9wx7boWGq496jweTzhJXquhoWHCY4fDIYfDMWncVM9d66GHHtJDDz0kr9erlpYWtbS0RFYwoiLa\n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\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "start = '2014-01-01'\n", "end = '2015-01-01'\n", "asset = get_pricing('TSLA', fields='price', start_date=start, end_date=end)\n", "benchmark = get_pricing('SPY', fields='price', start_date=start, end_date=end)\n", "\n", "# We have to take the percent changes to get to returns\n", "# Get rid of the first (0th) element because it is NAN\n", "r_a = asset.pct_change()[1:]\n", "r_b = benchmark.pct_change()[1:]\n", "\n", "linreg(r_b.values, r_a.values)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each point on the above graph represents a day, with the x-coordinate being the return of SPY, and the y-coordinate being the return of TSLA. As we can see, the line of best fit tells us that for every 1% increased return we see from the SPY, we should see an extra 1.92% from TSLA. This is expressed by the parameter $\\beta$, which is 1.9271 as estimated. Of course, for decresed return we will also see about double the loss in TSLA, so we haven't gained anything, we are just more volatile." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Linear Regression vs. Correlation\n", "\n", "* Linear regression gives us a specific linear model, but is limited to cases of linear dependence.\n", "* Correlation is general to linear and non-linear dependencies, but doesn't give us an actual model.\n", "* Both are measures of covariance.\n", "* Linear regression can give us relationship between Y and many independent variables by making X multidimensional." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Knowing Parameters vs. Estimates\n", "\n", "It is very important to keep in mind that all $\\alpha$ and $\\beta$ parameters estimated by linear regression are just that - estimates. You can never know the underlying true parameters unless you know the physical process producing the data. The parameters you estimate today may not be the same analysis done including tomorrow's data, and the underlying true parameters may be moving. As such it is very important when doing actual analysis to pay attention to the standard error of the parameter estimates. More material on the standard error will be presented in a later lecture. One way to get a sense of how stable your parameter estimates are is to estimate them using a rolling window of data and see how much variance there is in the estimates.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example case\n", "Now let's see what happens if we regress two purely random variables." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
OLS Regression Results
Dep. Variable: y R-squared: 0.009
Model: OLS Adj. R-squared: -0.001
Method: Least Squares F-statistic: 0.9024
Date: Thu, 17 Sep 2015 Prob (F-statistic): 0.344
Time: 20:55:13 Log-Likelihood: -19.046
No. Observations: 100 AIC: 42.09
Df Residuals: 98 BIC: 47.30
Df Model: 1
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [95.0% Conf. Int.]
const 0.4187 0.061 6.914 0.000 0.299 0.539
x1 0.0972 0.102 0.950 0.344 -0.106 0.300
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 48.699 Durbin-Watson: 2.054
Prob(Omnibus): 0.000 Jarque-Bera (JB): 6.924
Skew: 0.091 Prob(JB): 0.0314
Kurtosis: 1.724 Cond. No. 4.45
" ], "text/plain": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: y R-squared: 0.009\n", "Model: OLS Adj. R-squared: -0.001\n", "Method: Least Squares F-statistic: 0.9024\n", "Date: Thu, 17 Sep 2015 Prob (F-statistic): 0.344\n", "Time: 20:55:13 Log-Likelihood: -19.046\n", "No. Observations: 100 AIC: 42.09\n", "Df Residuals: 98 BIC: 47.30\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [95.0% Conf. Int.]\n", "------------------------------------------------------------------------------\n", "const 0.4187 0.061 6.914 0.000 0.299 0.539\n", "x1 0.0972 0.102 0.950 0.344 -0.106 0.300\n", "==============================================================================\n", "Omnibus: 48.699 Durbin-Watson: 2.054\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 6.924\n", "Skew: 0.091 Prob(JB): 0.0314\n", "Kurtosis: 1.724 Cond. No. 4.45\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\"\"\"" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAHxCAYAAABao+wIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1wnWWdP/5P0oDFSimYNO22NJbwXZFBHrbI7jJiXFJq\nZ9uGhxYmwy6OWAV1BgZRd7awRVzssi4M47qyw3broLIIq1AKCCrb8rP9Y0XWrGwjWC0YAyltY1tK\nKab24ZzfHyUhSZPeeTjn3Ofh9ZpxaJK77adeyTn3+76u63NVZbPZbAAAADCs6rQLAAAAKHaCEwAA\nQALBCQAAIIHgBAAAkEBwAgAASCA4AQAAJEg1OC1btizOP//8WLRo0ZBff+yxx6KlpSUWLVoUra2t\nsWnTpgJXCAAAkHJwWrx4caxatWrYr5988slx//33x+OPPx6f+cxn4pZbbilgdQAAAIelGpzOPffc\nmDx58rBfP+ecc+L444+PiIizzjortm3bVqjSAAAA+pTMHqeHHnoompqa0i4DAACoQDVpFzASzzzz\nTDz88MPxwAMPHPW6tra2AlUEAACUsjlz5ozq+qIPTps2bYrly5fHqlWr4oQTTki8frT/B1A82tra\njF8JM36ly9iVNuNXuoxdaTN+pW0sEy5FvVTv1Vdfjeuuuy7uuOOOaGhoSLscAACgQqU643TjjTfG\ns88+G7t3746mpqa47rrr4uDBgxER0draGnfffXfs2bMnbr311oiIqKmpiYceeijFigEAgEqUanC6\n6667jvr1FStWxIoVKwpUDQAAwNCKeqkeAABAMRCcAAAAEghOAAAACQQnAACABIITAABAAsEJAAAg\ngeAEAACQQHACAABIIDgBAAAkEJwAAAASCE4AAAAJBCcAAIAEghMAAEACwQkAACCB4AQAAJBAcAIA\nAEggOAEAACQQnAAAABIITgAAAAkEJwAAgASCEwAAQALBCQAAIIHgBAAAkEBwAgAASCA4AQAAJBCc\nAAAAEghOAAAACQQnAACABIITAABAAsEJAAAggeAEAACQQHACAABIIDgBAAAkEJwAAAASCE4AAAAJ\nBCcAAIAEghMAAEACwQkAACCB4AQAAJBAcAIAAEggOAEAACQQnAAAABIITgAAAAkEJwAAgASCEwAA\nQALBCQAAIIHgBAAAkEBwAgAASCA4AQAAJBCcAAAAEghOAAAACQQnAACABIITAABAAsEJAAAggeAE\n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\n8EI2m81m9+7dm503b172xRdfLGidvO3gwYPZuXPnZl955ZXs/v37sy0tLUeMx49//OPsJz7xiWw2\nm80+99xz2csvvzyNUhlkJGP3v//7v9k9e/Zks9lsdv369cauiIxk/Hqvu+qqq7LXXHNN9oc//GEK\nlTLYSMbu9ddfz/7lX/5lduvWrdlsNpvduXNnGqUyhJGM39e+9rXsnXfemc1mD4/deeedlz1w4EAa\n5TLI//zP/2Sff/757MKFC4f8unuW4pY0fqO9bynpGaenn346Lr300oiIuPTSS2Pt2rVHXFNXVxfv\ne9/7IiJi0qRJ0djYGN3d3QWtk7dt3LgxZs2aFTNnzoxjjjkmFixYEOvWrRtwzbp16/rG9ayzzoo9\ne/bEjh070iiXfkYyduecc04cf/zxEXF47LZt25ZGqQxhJOMXEXHffffFRz7ykWEPJqfwRjJ2jz/+\neMybNy+mTZsWEWH8ishIxq+uri727t0bERFvvvlmTJkyJWpqatIol0HOPffcmDx58rBfd89S3JLG\nb7T3LSUdnHbu3Bm1tbUREVFbWxs7d+486vVdXV3xy1/+Ms4888xClMcQtm/fHtOnT+/7uL6+PrZv\n3z7gmu7u7r43/4iIadOmuQEvAiMZu/4eeuihaGpqKkRpjMBIxm/79u2xbt26uPLKKyMi+s7QI10j\nGbvOzs54/fXX46qrrorLLrss1qxZU+gyGcZIxu+KK66IF198MT74wQ9GS0tL3HTTTYUukzFyz1I+\nRnLfUvSPM66++uohk/sNN9ww4OOqqqqjvsm/+eabcf3118fNN98ckyZNynmdjMxIb8Syg44XcwOX\nvtGMwTPPPBMPP/xwPPDAA3msiNEYyfitWLEiPv/5z0dVVVVks9kjfg5Jx0jG7uDBg/HCCy/EN7/5\nzejp6YnW1tY4++yz4z3veU/+C+SoRjJ+99xzT5x22mlx3333xcsvvxxXX311PProo/Gud72rABUy\nXu5ZSt9I71uKPjjde++9w37t3e9+d/zud7+Lurq66O7uHnZpwoEDB+L666+PlpaWmDt3br5KZQTq\n6+tj69atfR9v27Yt6uvrB1wzderUAU9rhrqGwhvJ2EVEbNq0KZYvXx6rVq2KE044oZAlchQjGb/n\nn38+PvvZz0ZExGuvvRYbNmyImpqaaG5uLmitDDSSsZs2bVqceOKJMXHixJg4cWKce+65sWnTJsGp\nCIxk/H7+85/Hpz71qYiIvmV9HR0d8f73v7+gtTJ67llK32juW0p6qd6FF14YjzzySERErFmzZshQ\nlM1m4+abb47Gxsb42Mc+VuAKGeyMM86Izs7O6Orqiv3798eTTz55xE1Zc3Nz3zKT5557LiZPnty3\nJJP0jGTsXn311bjuuuvijjvuiIaGhpQqZSgjGb9169bF008/HU8//XTMnz8/br31VqGpCIz0dbOt\nrS0OHToUPT09sXHjxjj11FNTqpj+RjJ+p5xySvzkJz+JiIgdO3ZER0dHnHzyyWmUyyi5Zylto71v\nKfoZp6O55ppr4oYbboiHH344ZsyYEV/96lcj4vB64uXLl8fKlSujra0tHnvssXjve98bl1xySURE\n3HjjjfGhD30ozdIrVk1NTSxfvjyWLl0amUwmlixZEo2NjfHggw9GRERra2s0NTXF+vXr46KLLorj\njjsubr/99pSrJmJkY3f33XfHnj174tZbb+37PQ899FCKVdNrJONHcRrJ2DU2NsYFF1wQLS0tUV1d\nHZdffrngVCRGMn7XXntt3HTTTdHS0hLZbDa+8IUvxJQpU1KunIjD94zPPvts7N69O5qamuK6666L\ngwcPRoR7llKQNH6jvW+pylrEDgAAcFQlvVQPAACgEAQnAACABIITAABAAsEJAAAggeAEAACQQHAC\nAABIIDgBUFR6z9tob2/v+9w999wT119//RHXfuITn+g7D6dXNpuN5ubm+NnPfjbs3/G3f/u3cf/9\n9+euaADKnuAEQFGZMmVK3HLLLbFs2bLYv39//OpXv4rvfOc7fQcU9rdkyZJ45JFHBnzupz/9adTU\n1MS555477N9RVVWV67IBKHOCEwBFp7m5Od73vvfFnXfeGcuWLYubbropTjrppCOuu/DCC6OzszNe\neumlvs+tXr06Lrvssvj1r38df/VXfxWXXXZZLFiwIL71rW8N+XcNnn3q//HevXvj5ptvjssvvzxa\nWlpixYoVkclkcvyvBaAUCE4AFKXly5fHQw89FDNnzoz58+cPec2xxx4bixYtitWrV0fE4aCzbt26\nuOSSS2LGjBlx7733xurVq+O73/1ufPe7343f/OY3R/wZg2ef+n98++23x3nnnRff+973Ys2aNbFz\n5854+OGHc/ivBKBU1KRdAAAM5b//+7/j+OOPj9/85jexf//+OPbYY4e8bvHixfGJT3wiPve5z8UP\nfvCDmDNnTtTX18eOHTvii1/8YvzqV7+K6urq6O7ujk2bNsUpp5wy4hqefvrpaG9vj3vvvTciIvbt\n2xfTp0/Pyb8PgNIiOAFQdHbt2hW33357/Pu//3t84xvfiH/5l3+Jz33uc0Nee9ppp8XUqVNjw4YN\nsXr16vjYxz4WERF33XVXTJ06Nf7pn/4pqqurY+nSpbF///4jfv+ECRMGLL/bt2/fgK//67/+a8yc\nOTN3/zgASpKlegAUnS996UtxxRVXxB//8R/HzTffHN///vfjF7/4xbDXL168OL72ta9FZ2dnNDc3\nR8ThZXvTpk2L6urq+PWvfz1sl71Zs2b1dfDr7u6OZ599tu9rF154YaxcubIvWO3atSu6urpy9c8E\noIQITgAUlSeffDJefvnl+NSnPhUREZMnT+7rsnfw4MEhf8+iRYvipZdeioULF0ZNzeHFFJ/+9Kfj\ne9/7XrS0tMTXv/71+MAHPjDk773iiiti27ZtsWDBgvjSl74UZ511Vt/Xbrrppqiuro6LL744Fi1a\nFJ/85Ceju7s7x/9iAEpBVTabzaZdBAAAQDEz4wQAAJBAcAIAAEggOAEAACQQnAAAABIITgAAAAkE\nJwAAgASCEwAAQIL/H5kLTDtm9D0hAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X = np.random.rand(100)\n", "Y = np.random.rand(100)\n", "linreg(X, Y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The above shows a fairly uniform cloud of points. It is important to note that even with 100 samples, the line has a visible slope due to random chance. This is why it is crucial that you use statistical tests and not visualizations to verify your results." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's make Y dependent on X plus some random noise." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
OLS Regression Results
Dep. Variable: y R-squared: 0.727
Model: OLS Adj. R-squared: 0.724
Method: Least Squares F-statistic: 261.2
Date: Thu, 17 Sep 2015 Prob (F-statistic): 2.14e-29
Time: 20:55:13 Log-Likelihood: 27.312
No. Observations: 100 AIC: -50.62
Df Residuals: 98 BIC: -45.41
Df Model: 1
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [95.0% Conf. Int.]
const 0.0081 0.038 0.213 0.832 -0.067 0.084
x1 1.0405 0.064 16.162 0.000 0.913 1.168
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 2.687 Durbin-Watson: 1.645
Prob(Omnibus): 0.261 Jarque-Bera (JB): 2.341
Skew: -0.138 Prob(JB): 0.310
Kurtosis: 3.697 Cond. No. 4.45
" ], "text/plain": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: y R-squared: 0.727\n", "Model: OLS Adj. R-squared: 0.724\n", "Method: Least Squares F-statistic: 261.2\n", "Date: Thu, 17 Sep 2015 Prob (F-statistic): 2.14e-29\n", "Time: 20:55:13 Log-Likelihood: 27.312\n", "No. Observations: 100 AIC: -50.62\n", "Df Residuals: 98 BIC: -45.41\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [95.0% Conf. Int.]\n", "------------------------------------------------------------------------------\n", "const 0.0081 0.038 0.213 0.832 -0.067 0.084\n", "x1 1.0405 0.064 16.162 0.000 0.913 1.168\n", "==============================================================================\n", "Omnibus: 2.687 Durbin-Watson: 1.645\n", "Prob(Omnibus): 0.261 Jarque-Bera (JB): 2.341\n", "Skew: -0.138 Prob(JB): 0.310\n", "Kurtosis: 3.697 Cond. No. 4.45\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\"\"\"" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Generate ys correlated with xs by adding normally-destributed errors\n", "Y = X + 0.2*np.random.randn(100)\n", "\n", "linreg(X,Y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In a situation like the above, the line of best fit does indeed model the dependent variable Y quite well (with a high $R^2$ value)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Evaluating and reporting results\n", "\n", "The regression model relies on several assumptions:\n", "* The independent variable is not random.\n", "* The variance of the error term is constant across observations. This is important for evaluating the goodness of the fit.\n", "* The errors are not autocorrelated. The Durbin-Watson statistic detects this; if it is close to 2, there is no autocorrelation.\n", "* The errors are normally distributed. If this does not hold, we cannot use some of the statistics, such as the F-test.\n", "\n", "If we confirm that the necessary assumptions of the regression model are satisfied, we can safely use the statistics reported to analyze the fit. For example, the $R^2$ value tells us the fraction of the total variation of $Y$ that is explained by the model.\n", "\n", "When making a prediction based on the model, it's useful to report not only a single value but a confidence interval. The linear regression reports 95% confidence intervals for the regression parameters, and we can visualize what this means using the `seaborn` library, which plots the regression line and highlights the 95% (by default) confidence interval for the regression line:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\noYY35t1urf6a2EmfO4DGNBWSpqentXfv3tLHyWRSly5dKnvMzMyMxsfHSx+Pj49renpaMzMzNY8F\ngPW4rq9U1laiN1jP0gkLpzdSwjM1n9ZSJq/x4eAGfymTL930bmUZ3uqx/9qRverrjer20rJsN9h/\nyHYK+w9FTD38K6M6ON6vwb6usnDi+0EHur3Dcb19dUE525XjemXNFG7OZyqOoa83WmimEDRUOJDs\n09hgb8WZneLGqwtLOQ32dWmov1ue65f2G4pGTMUsU3//yhW9dvmmJGl2IatnTh3WRx8c18s/+ECS\nFO+x1szebZXZ21nZjld2/tnb2Ybe90qhodI1+Mb7c2XnurW4rL/4r5ca/gXFdpbrtVNpaieiFBOd\npqmQVO8mdb5ffWO9Rly4cKFlz4Wdi+tg97pr2Ndb14L9aWKWr3x+WfnChMLly5d1PbH221px/dJg\nhX9rN/cOSIPHgs5tg4mlmtf6QspROrMSGvL54HWQVPb30vqvTzM8z1fe8eV4noZj0sfvj8r1pT5z\nQd//4a2KPycuvJfSezdz8n1f+4ZiGhuIavaOo7lFW3OLjnJ27Z8ZfT2mkgNRjfRHNdJvaXSPpd4u\ns3C+Zclb1tzNOc3dXDVe35d8QxFTMs2g1G8pZyh/xyzsj7RiIeXo7I/mSx//02vvadBa0MP7LE0f\n6tHPby7Lini6a9jX9Q/e1vUPNvIKbsz331zUW9eySmWDUsJET0QPHujR9OT7pffddYPXsdrXxT+9\ntvbzu3fAKrsG/9PX/0fZubpjpmzbUz7vKZ9fOa7W11dxzJL04IEePfbh/iZfhbWqfb2s/lqRNudr\nYjfaive2EdwjoBWa+s6QTCZ18+bKT6CpqSklk8myx4yNjWlqaqrsMePj43Icp+axlRw/fryZIaMD\nXLhwgetgFzt+PPiN5eXLl7XgDJb9xvvxk2t/m91uJWebYcF5t+LrsN7fb4Tn+Vq2XeVtR47rBxux\nOn5QGrdqM9ZKlnOOJmdTevvKLV36YF624ynveJpbzEpaf1NWK2Jo32hCjuspnbHVFYvoox9K6unf\nXCnNvnz5so4cOVJ2XLBeKVhzFDRQMLWwuKxo1FTMisgwjLpm6V66+OOyvzty5IjGh+Ol61Da+t+c\nT82ndfX8jxXv7VW8N1iP9h9+7yEdPTQiKXjfX3rlilJZW/EeSwvOoB4/XnkfqvU+v2rneubxw/pv\n//xe1eOqjVmSrs5LZ+5+oKWvXT0/G1r5NYHAVry3jeAeAVJrgnJTIenIkSO6evWqJicnNTY2ppdf\nfllf/vKXyx5z6tQp/fVf/7Weeuopvf766+rv79fIyIgGBgZqHgsAlYwPx3U9Yenx49UXTu/U8ppG\nb77XW0C+kYXlvu8rl3eVc9xCiZwn1w02Yl0dhgzTUETGmuMX0/lSu+1rM0uanF7S7EK2Qg+7cr1d\nVrBmaCyhg8mgbG58uFeRwgaxswvBLMDqtUOe55dK5azCfkMxy1RXV7Q0O1QMy7cWl2XI0GB/V83Q\nXKv8cSuvo2rXRNQyS/tGSdJjj+zXuYuTSvRGFbXMda/7jZR3Ri1T9x8c3LGd3Wi2AKBeTYUky7L0\n3HPP6dlnny218T506JCef/55SdKZM2d08uRJnTt3Tk888YR6enr0p3/6p1WPBbAWtd7ra5fXpN73\nqNbjNjrzVa2ddCVBEwVXOduVHQpDjhvMvpSt46mwEasUhJOZhYyuTQebsAbBaKmudtsR01Asaupg\nsk//9iMHdSCZ0FB/d9DNbp0wNLynW54vGfJlWZHCJqwRDfdHdWC8b91zhTevTRXGluiN1hWa672p\n3syv0WrrhmzH07EHxtact9I6qUpjrPX5rRekGg0b7dQyu12+Z3SKdnpvgVZquhD35MmTOnnyZNnf\nnTlzpuzjL3zhC3UfC6DcbigX2yxb9cO73veo1uM2Y+brxlxKtuNqsK+71ADBdT05XhA2ih3aApXD\nkCTlbVfXZ1Nlgej6bEp526v4+CLTMLR3JK4DyUShqULwZ2a5PEgN7wlmQr7z6hVdeHtahiE9en9S\nHzuyV1bE1P7ReGm/odXrnFavJVrPnVROtuuV/n8kNPuyXsipJ/xUel9bFZrWuyaeOXVYS5m8Lr49\nozfem9OLZ98tXU+VrvtqHe9qjXG9QNTo58YsTufivUUnYrUi0MZ2arlYO9nsH971vkeb/V66rqdc\n3lG+MBvkOJ7+4ZVfBHv8+L6OP5DUkyfuKTw6aFwgVQ4XqUxe10IzQ5MzKU3Np1WrB08samrvcFz3\n7NtT6jC3dySuqBVZ89h4T7QUiGQYOv7AmH796D69/u6sLMuUaRj6/uvX9fq7s023eB8fjuvofSN6\n+QcflMoFszlXR+8b0fhwXF/9+8u6+PbMmvPUE34rva9LmbzeeG+u6nHNmppP64335kozRquvp/B1\nL0n/8esra482cu216jrle1fn4r1FpyEkAeh4O+WHdz0zX04hDNmOJ6fYWtsNGihETKM0yzK7kNFP\n3pkp7Td08Z0ZHf9Qck277bk7y5oshKFr0ylNzixpYSlXc6x7ErHC3kNBGLpy/Y7euXpLvu9rIBHT\nbzy8b80xnudJvqGoZejWUk6v/3wlEF1+f173HRiUL8kyTdmOp3TWUV9vTFJzoXJqPq2PPjiui2/P\nlP39b5+4R1/9+8tl7byL5ymes6je89uOVwpczY5bWv+aKM5U1TpWUl2PBQCUIyQBbYxa7/ZX7T0K\nl1zV+14G6032Km+7GtrTo/k7WTnuSomcCvsIhUvOTNOQuc6sUJHv+7oxl9bPr91eCUSzS1rOuVWP\nMyQlh3tLYai4KWt/fGXj1NmFjP7xhx+UxnTxnRk9ev+YRgZ7FYsEzRSi0Yh6YhFFC53lZBiyIiul\nfguLOb34vXeVytjy5auvN6ZET7TpPYjCs0FD/d1aygT94k88FIS4cHBKZWx1xxr7sbj6fT32wFhp\nFqlo9na29NiNqDQbWis8rS6L4/sIADSGkIQdYTc3Lui0Wu9OfC8rvUeVSrVWP67arJBlRUpNBgLV\nS+TCMsu2FpZy6o936cqNO8oXnv//+dvqG3ZHLVP7RxOhMNSn/aMJdcXWlsuFeb4vvzAyw5AMGRoe\n6NaBscS6++mFb9xtx5MvX1HLVKI3Wmpp/fYHt5q6sV9dCreUyetznzqi0YGeUqCIWqYSPVHdTuXk\n+b4yy46+//r1dTdVrWT1+xp+7/t6Y/rq310uPUczJYONnHf1udrl+0gnfv0D6EyEJLS91T/47x3Y\n5gG1QKM3Cp1yQ9HJTShW7y0Tvjn/wU+v6/gDYxrs71YkYshxPF2bWpJv+DKNxmeFinzf18JSbqVc\nrrCOaP7Ocs1jEz3RIAglg3bbE2N9GhvqUcSsPnNT3H8oUugsF7NMPXD3sP7NsQn98I1g77sTD+3T\nXeN7ao6heOM+ezurr/7dZd1aXFY6G2z8++O3pvS5p4/UfWNf79dUMSAVH3vioX06d3FSS5m8+rpj\nGhnoLmuOUO/5K3WMK35eRbVK7zYSIMKzlrXKA7f7+0gnf/0D6DyEJLS1Sj/4izvB71TtdqOwVb/Z\n7fQmFOGW2ndSOdmOK99XodlBsHdQV6iUy4wYqmdWqMj1PE3PZ0pBaLIQitLZ2u22Rwd6NJFM6MBY\n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\nzW+qv7+/UE1HHuXaD1588UV9/etf144dO/Td735XkUikUE1HHuXaD37zm99o+/btWrNmjT788MNC\nNRt5MtN9dXvuuee0detW7dixQx999NG8zkV5yKUfPPnkk+rs7NTdd99dqOZiAWXbF/r7+/Xggw9q\n+/btuuuuu/T6668XstnIs2z7wbVr19TV1aWdO3fqG9/4hn784x9nvpBTYl588UWnp6fHcRzH+a//\n+i/npZdemnJMLBZztmzZ4pw9e9aZmJhwduzY4Xz66aeO4zhOJBJJHff66687Tz31VGEajrzKtR/8\n4Q9/cOLxuOM4jvPSSy9Nez5KX6794NNPP3X+/ve/Ow888IBz5syZgrYducl0X5N+97vfOY888ojj\nOI7zwQcfOF1dXXM+F+Uhl37gOI7z/vvvOx9++KFz1113FbTdyL9c+kIoFHI++ugjx3EcZ3R01Nm6\ndSv/JpSpXP9NGB8fdxzHcaLRqNPV1eW8//77M16r5EaSjh8/rl27dkmSdu3apaNHj0455vTp01q5\ncqU6OjpkWZa2b9+uY8eOSZIaGhpSx42Pj2vJkiWFaTjyKtd+8JWvfEUeT6J733LLLRoYGChc45E3\nufaDVatW6aabbipom5Efme5r0rFjx1L945ZbbtHly5c1NDQ0p3NRHnLpB5J02223qampqeDtRv5l\n2xeGh4fV0tKiNWvWSJLq6+u1atWqtP06UT5y6QeSVFtbK0mKRqOKx+NavHjxjNcquZAUDodT+yU1\nNzcrHA5POWZwcFDLli1LvQ4GgxocHEy9/slPfqKvfvWrOnLkiPbs2bPwjUbe5aMfJL311lvauHHj\nwjUWCyaf/QDlZS73NRQKqa2tLfW6ra1Ng4ODCoVC9IkKkUs/QGXJti/c+EvSvr4+ffzxx1q3bt3C\nNhgLItd+EI/HtXPnTnV2dur222/XF77whRmvZea57XPS3d2dSnRu+/btS3ttGIYMw5hy3HTfc3v8\n8cf1+OOPq6enR88//7yef/753BqMBbHQ/UCSfvazn8myLOajl7BC9AOUn7neV4et/ipatv2Afxcq\nTz76wtjYmPbu3aunn35a9fX1eW0fCiPXfuD1evXrX/9akUhEDz/8sP70pz/p9ttvn/Y9ihKSDh8+\nPOPfBQIBDQ0NqaWlRaFQSEuXLp1yTDAYTCvIMDAwoGAwOOW4u+66i5GkErbQ/eBXv/qV3n33Xf3i\nF7/Ib8ORV4X69wDlZS73tbW1Ne23xAMDA2pra1MsFqNPVIhs+wH3u/Lk2hei0aj27t2rHTt2aMuW\nLYVpNPIuX/8mNDY2auPGjTpz5syMIankpttt2rRJR44ckST19vZO25HXrl2rzz//XH19fZqYmNDb\nb7+tzZs3S5L+8Y9/pI47duxYag4qykuu/eDEiRP6+c9/rp/+9Kfy+/0FbTvyJ9d+4MaIQ3mZy33d\nvHmzent7JUkffPCBmpqa1NzcPOc+gdKXSz9AZcmlLziOo6efflqrVq3St771rSK0HvmSSz+4cOFC\nqkru1atXdfLkSd18880zXstwSuzJYWRkRPv27VN/f7/a29t16NAhNTU1aXBwUAcOHEiV+nv33Xd1\n8OBB2bate++9V9/5znckSXv37tVnn30mj8ejlStX6plnnlEgECjmR0IWcu0HW7duVTQa1aJFiyRJ\nt956q5555plifRxkKdd+8Nvf/lbPPfecLl68qMbGRq1Zs0avvvpqMT8S5mG6+/rLX/5SknTfffdJ\nkp599ln9/ve/V21trZ5//nl96UtfmvFclKdc+sH+/fv13nvvaWRkRIFAQHv37tXu3buL9lmQm2z7\nwp///Gc98MAD+uIXv5iadrV//35t2LChaJ8F2cu2H/ztb3/TE088Idu2Zdu2du7cqUceeWTG65Rc\nSAIAAACAYiq56XYAAAAAUEyEJAAAAABwISQBAAAAgAshCQAAAABcCEkAAAAA4EJIAgAAAAAXQhIA\nAAAAuPx/kybMm5RxHdsAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn\n", "\n", "start = '2014-01-01'\n", "end = '2015-01-01'\n", "asset = get_pricing('TSLA', fields='price', start_date=start, end_date=end)\n", "benchmark = get_pricing('SPY', fields='price', start_date=start, end_date=end)\n", "\n", "# We have to take the percent changes to get to returns\n", "# Get rid of the first (0th) element because it is NAN\n", "r_a = asset.pct_change()[1:]\n", "r_b = benchmark.pct_change()[1:]\n", "\n", "seaborn.regplot(r_b.values, r_a.values);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Mathematical Background\n", "\n", "This is a very brief overview of linear regression. For more, please see:\n", "https://en.wikipedia.org/wiki/Linear_regression" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Ordinary Least Squares\n", "\n", "Regression works by optimizing the placement of the line of best fit (or plane in higher dimensions). It does so by defining how bad the fit is using an objective function. In ordinary least squares regression (OLS), what we use here, the objective function is:\n", "\n", "$$\\sum_{i=1}^n (Y_i - a - bX_i)^2$$\n", "\n", "We use $a$ and $b$ to represent the potential candidates for $\\alpha$ and $\\beta$. What this objective function means is that for each point on the line of best fit we compare it with the real point and take the square of the difference. This function will decrease as we get better parameter estimates. Regression is a simple case of numerical optimization that has a closed form solution and does not need any optimizer. We just find the results that minimize the objective function.\n", "\n", "We will denote the eventual model that results from minimizing our objective function as:\n", "\n", "$$ \\hat{Y} = \\hat{\\alpha} + \\hat{\\beta}X $$\n", "\n", "With $\\hat{\\alpha}$ and $\\hat{\\beta}$ being the chosen estimates for the parameters that we use for prediction and $\\hat{Y}$ being the predicted values of $Y$ given the estimates." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Standard Error\n", "\n", "We can also find the standard error of estimate, which measures the standard deviation of the error term $\\epsilon$, by getting the `scale` parameter of the model returned by the regression and taking its square root. The formula for standard error of estimate is\n", "$$ s = \\left( \\frac{\\sum_{i=1}^n \\epsilon_i^2}{n-2} \\right)^{1/2} $$\n", "\n", "If $\\hat{\\alpha}$ and $\\hat{\\beta}$ were the true parameters ($\\hat{\\alpha} = \\alpha$ and $\\hat{\\beta} = \\beta$), we could represent the error for a particular predicted value of $Y$ as $s^2$ for all values of $X_i$. We could simply square the difference $(Y - \\hat{Y})$ to get the variance because $\\hat{Y}$ incorporates no error in the parameter estimates themselves. Because $\\hat{\\alpha}$ and $\\hat{\\beta}$ are merely estimates in our construction of the model of $Y$, any predicted values , $\\hat{Y}$, will have their own standard error based on the distribution of the $X$ terms that we plug into the model. This forecast error is represented by the following:\n", "\n", "$$ s_f^2 = s^2 \\left( 1 + \\frac{1}{n} + \\frac{(X - \\mu_X)^2}{(n-1)\\sigma_X^2} \\right) $$\n", "\n", "where $\\mu_X$ is the mean of our observations of $X$ and $\\sigma_X$ is the standard deviation of $X$. This adjustment to $s^2$ incorporates the uncertainty in our parameter estimates. Then the 95% confidence interval for the prediction is $\\hat{Y} \\pm t_cs_f$, where $t_c$ is the critical value of the t-statistic for $n$ samples and a desired 95% confidence." ] }, { "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 (virtualenv)", "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.12" } }, "nbformat": 4, "nbformat_minor": 1 }