ml-finance-python

python scripts for finance machine learning

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

notebook.ipynb

(43634B)


      1 {
      2  "cells": [
      3   {
      4    "cell_type": "markdown",
      5    "metadata": {},
      6    "source": [
      7     "# Quandl: United Stated Gross Domestic Product\n",
      8     "\n",
      9     "In this notebook, we'll take a look at data set , available on [Quantopian](https://www.quantopian.com/data). This dataset spans from 1947 through the current day. It contains the value for the United Gross Domestic Product (GDP) as provided by the US Federal Reserve via the [FRED data initiative](https://research.stlouisfed.org/fred2/). We access this data via the API provided by [Quandl](https://www.quandl.com). [More details](https://www.quandl.com/data/FRED/GDP-Gross-Domestic-Product-1-Decimal) on this dataset can be found on Quandl's website.\n",
     10     "\n",
     11     "### Blaze\n",
     12     "Before we dig into the data, we want to tell you about how  you generally access Quantopian partner data sets. These datasets are available using the [Blaze](http://blaze.pydata.org) library. Blaze provides the Quantopian user with a convenient interface to access very large datasets.\n",
     13     "\n",
     14     "Some of these sets (though not this one) are many millions of records. Bringing that data directly into Quantopian Research directly just is not viable. So Blaze allows us to provide a simple querying interface and shift the burden over to the server side.\n",
     15     "\n",
     16     "To learn more about using Blaze and generally accessing Quantopian Store data, clone [this tutorial notebook](https://www.quantopian.com/clone_notebook?id=561827d21777f45c97000054).\n",
     17     "\n",
     18     "With preamble in place, let's get started:"
     19    ]
     20   },
     21   {
     22    "cell_type": "code",
     23    "execution_count": 1,
     24    "metadata": {
     25     "collapsed": true
     26    },
     27    "outputs": [],
     28    "source": [
     29     "# import the dataset\n",
     30     "from quantopian.interactive.data.quandl import fred_gdp\n",
     31     "# Since this data is public domain and provided by Quandl for free, there is no _free version of this\n",
     32     "# data set, as found in the premium sets. This import gets you the entirety of this data set.\n",
     33     "\n",
     34     "# import data operations\n",
     35     "from odo import odo\n",
     36     "# import other libraries we will use\n",
     37     "import pandas as pd\n",
     38     "import matplotlib.pyplot as plt"
     39    ]
     40   },
     41   {
     42    "cell_type": "code",
     43    "execution_count": 2,
     44    "metadata": {
     45     "collapsed": false
     46    },
     47    "outputs": [
     48     {
     49      "data": {
     50       "text/html": [
     51        "<table border=\"1\" class=\"dataframe\">\n",
     52        "  <thead>\n",
     53        "    <tr style=\"text-align: right;\">\n",
     54        "      <th></th>\n",
     55        "      <th>asof_date</th>\n",
     56        "      <th>value</th>\n",
     57        "      <th>timestamp</th>\n",
     58        "    </tr>\n",
     59        "  </thead>\n",
     60        "  <tbody>\n",
     61        "    <tr>\n",
     62        "      <th>0</th>\n",
     63        "      <td>1947-01-01</td>\n",
     64        "      <td>243.1</td>\n",
     65        "      <td>1947-01-01</td>\n",
     66        "    </tr>\n",
     67        "    <tr>\n",
     68        "      <th>1</th>\n",
     69        "      <td>1947-04-01</td>\n",
     70        "      <td>246.3</td>\n",
     71        "      <td>1947-04-01</td>\n",
     72        "    </tr>\n",
     73        "    <tr>\n",
     74        "      <th>2</th>\n",
     75        "      <td>1947-07-01</td>\n",
     76        "      <td>250.1</td>\n",
     77        "      <td>1947-07-01</td>\n",
     78        "    </tr>\n",
     79        "    <tr>\n",
     80        "      <th>3</th>\n",
     81        "      <td>1947-10-01</td>\n",
     82        "      <td>260.3</td>\n",
     83        "      <td>1947-10-01</td>\n",
     84        "    </tr>\n",
     85        "    <tr>\n",
     86        "      <th>4</th>\n",
     87        "      <td>1948-01-01</td>\n",
     88        "      <td>266.2</td>\n",
     89        "      <td>1948-01-01</td>\n",
     90        "    </tr>\n",
     91        "    <tr>\n",
     92        "      <th>5</th>\n",
     93        "      <td>1948-04-01</td>\n",
     94        "      <td>272.9</td>\n",
     95        "      <td>1948-04-01</td>\n",
     96        "    </tr>\n",
     97        "    <tr>\n",
     98        "      <th>6</th>\n",
     99        "      <td>1948-07-01</td>\n",
    100        "      <td>279.5</td>\n",
    101        "      <td>1948-07-01</td>\n",
    102        "    </tr>\n",
    103        "    <tr>\n",
    104        "      <th>7</th>\n",
    105        "      <td>1948-10-01</td>\n",
    106        "      <td>280.7</td>\n",
    107        "      <td>1948-10-01</td>\n",
    108        "    </tr>\n",
    109        "    <tr>\n",
    110        "      <th>8</th>\n",
    111        "      <td>1949-01-01</td>\n",
    112        "      <td>275.4</td>\n",
    113        "      <td>1949-01-01</td>\n",
    114        "    </tr>\n",
    115        "    <tr>\n",
    116        "      <th>9</th>\n",
    117        "      <td>1949-04-01</td>\n",
    118        "      <td>271.7</td>\n",
    119        "      <td>1949-04-01</td>\n",
    120        "    </tr>\n",
    121        "    <tr>\n",
    122        "      <th>10</th>\n",
    123        "      <td>1949-07-01</td>\n",
    124        "      <td>273.3</td>\n",
    125        "      <td>1949-07-01</td>\n",
    126        "    </tr>\n",
    127        "  </tbody>\n",
    128        "</table>"
    129       ],
    130       "text/plain": [
    131        "    asof_date  value  timestamp\n",
    132        "0  1947-01-01  243.1 1947-01-01\n",
    133        "1  1947-04-01  246.3 1947-04-01\n",
    134        "2  1947-07-01  250.1 1947-07-01\n",
    135        "3  1947-10-01  260.3 1947-10-01\n",
    136        "4  1948-01-01  266.2 1948-01-01\n",
    137        "5  1948-04-01  272.9 1948-04-01\n",
    138        "6  1948-07-01  279.5 1948-07-01\n",
    139        "7  1948-10-01  280.7 1948-10-01\n",
    140        "8  1949-01-01  275.4 1949-01-01\n",
    141        "9  1949-04-01  271.7 1949-04-01\n",
    142        "..."
    143       ]
    144      },
    145      "execution_count": 2,
    146      "metadata": {},
    147      "output_type": "execute_result"
    148     }
    149    ],
    150    "source": [
    151     "fred_gdp.sort('asof_date')"
    152    ]
    153   },
    154   {
    155    "cell_type": "markdown",
    156    "metadata": {},
    157    "source": [
    158     "The data goes all the way back to 1947 and is updated quarterly.\n",
    159     "\n",
    160     "Blaze provides us with the first 10 rows of the data for display. Just to confirm, let's just count the number of rows in the Blaze expression:"
    161    ]
    162   },
    163   {
    164    "cell_type": "code",
    165    "execution_count": 4,
    166    "metadata": {
    167     "collapsed": false
    168    },
    169    "outputs": [
    170     {
    171      "data": {
    172       "text/html": [
    173        "275"
    174       ],
    175       "text/plain": [
    176        "275"
    177       ]
    178      },
    179      "execution_count": 4,
    180      "metadata": {},
    181      "output_type": "execute_result"
    182     }
    183    ],
    184    "source": [
    185     "fred_gdp.count()"
    186    ]
    187   },
    188   {
    189    "cell_type": "markdown",
    190    "metadata": {},
    191    "source": [
    192     "Let's go plot for fun. 275 rows are definitely small enough to just put right into a Pandas Dataframe"
    193    ]
    194   },
    195   {
    196    "cell_type": "code",
    197    "execution_count": 3,
    198    "metadata": {
    199     "collapsed": false
    200    },
    201    "outputs": [
    202     {
    203      "data": {
    204       "image/png": "iVBORw0KGgoAAAANSUhEUgAAA08AAAHcCAYAAAAOU5HeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xtgj3Xj//HXZyfbzMzOmPOcGTMz3NrKMXQgh5RD6M5X\nJYnU7VDUnfuuCNVd4lYJHRQ5xIpQpBxnzTnmMMMObGZHO32u3x++7Zcvs2GffXZ4Pv7yuT7XdX1e\n1+fdtJfrut6XyTAMQwAAAACAW7KxdgAAAAAAKA8oTwAAAABQDJQnAAAAACgGyhMAAAAAFAPlCQAA\nAACKgfIEAAAAAMVAeQIAlIoZM2boww8/LLH9de3aVTt37iyx/QEAUBTKEwCgWJo1a6bY2Njrlr3/\n/vuaPHlysbZ/7bXX9Mwzz0iSdu/erbCwsBLP+Kf4+Hg999xz6tixo9q3b68HH3xQq1evliSdO3dO\nzZo1k9lsLvb+LFnUzpw5oxdeeEGdOnVSUFCQevXqpTfeeEMJCQmSrn1XzZo1U2BgoAIDAxUWFqYJ\nEybo4MGD1+3nr+uEhobqzTffvK1jBAAUjfIEALhjJpPJ2hFuavLkyapVq5Z+/vln7dmzR2+//bY8\nPDyuW6csPCM+JiZGgwcPlq+vr9asWaOIiAh9+eWXqlOnjiIiIgrW8/HxUWRkpCIjI/X111+rYcOG\nGjp06A2Fbt26dYqMjNSSJUu0fv16ff3116V9SABQoVGeAAB37K8FZPfu3QoNDdWnn36qzp07q0uX\nLvr2228L3v/HP/6h+fPnKysrS0899ZQSExMVGBiodu3a6eLFizIMQ4sWLVKPHj0UEhKiCRMm6MqV\nKwXbr1mzRvfdd59CQkL00Ucf3TLXoUOH1L9/fzk6OsrGxkbNmzdXaGioJGnYsGGSpPbt2yswMFBR\nUVE6e/asRowYoZCQEHXs2FEvvvii0tLSJF0rYnFxcRo7dqwCAwP18ccfS5J+//13DRkyRMHBwXr4\n4Ye1Z8+egs//9ttv1b17d7Vr107dunXTd999d9Oc77//voKCgvTyyy/Lx8dHkuTu7q4nnnhCffr0\nuek2Pj4+Gj9+vAYNGqQ5c+bcdJ2GDRsqKChI0dHRt/yeAAC3h/IEACgxSUlJSk9P1y+//KJZs2bp\n9ddfLyghJpNJJpNJTk5OWrx4sby9vRUZGan9+/fLy8tLS5cu1datW7V8+XLt2LFDrq6uev311yVJ\n0dHReu211zR79mz98ssvSklJKbis7Wbatm2r1157TeHh4bpw4cJ1733++eeSpIiICEVGRqpNmzaS\npKefflo7duxQeHi44uPj9f7770uSZs+erZo1a+qjjz5SZGSknnzySSUkJOh//ud/9Mwzz2jv3r16\n+eWX9dxzz+ny5cvKzMzUrFmztHjxYu3fv18rVqxQ8+bNb5pz165d6tWr1x191927d9eRI0d09erV\ngmV/ltno6GhFREQU+rkAgDtDeQIAlBg7Ozs9++yzsrW1VVhYmJydnXX69OmC9//85f5ml8ytWLFC\nzz//vHx8fGRvb69x48Zp48aNys/P1w8//KCuXbuqffv2cnBw0PPPP3/LSwbfffddtW/fXh9++KG6\nd++ufv36FdwjdLPPrlu3rjp16iR7e3u5u7tr5MiR2rt3b6H7X7t2rcLCwgrOZnXu3FmtWrXStm3b\nZDKZZGNjo+PHj+vq1avy9PSUv7//Tfdz+fJleXp6Frxevny5goODFRgYqFdeeaXQz5ckb29vGYah\n1NTUgmX9+/dXhw4d9PTTT2vQoEF65JFHbrkPAMDtsbN2AABA+WBra6vc3NzrluXl5cnO7v//r8TN\nzU02Nv//3+UcHR2VkZFRrP2fP39e48aNu257W1tbXbp0SRcvXiy4rE2SnJyc5ObmVui+XF1dNWnS\nJE2aNEmXL1/W22+/rWeffVbbt2+/6fqXLl3SrFmzFBERoYyMDJnN5lvu/8KFC/rhhx/0008/FSzL\ny8tTx44d5eTkpHnz5umTTz7RtGnT1K5dO7388stq2LDhDftxc3NTYmJiwethw4Zp2LBhmj9//i3P\nrElSYmKiTCaTXF1dC5atWbNGderUueV2AIA7R3kCABRLzZo1de7cuetKwLlz59SgQYNi7+PPs0U3\nO2tUs2ZN/fvf/1ZgYOAN73l5eenUqVMFr7OyspSSklKsz6xRo4ZGjRql1atX68qVKzf97Llz58rG\nxkbr16+Xq6urNm/erH/+85835P5TrVq19PDDD1+3zl916dJFXbp0UU5OjubNm6dXXnml4HLBv+rY\nsaM2bdp0wxmi4kxm8eOPP6ply5ZydHQscl0AQMngsj0AQLH06dNHCxYsUEJCgsxms3777Tf99NNP\nuv/++4u1vWEYBaXAw8NDKSkpSk9PL3h/yJAhmjt3bsE9SsnJydqyZYsk6f7779dPP/2kiIgI5eTk\n6L333rtlwZg9e7ZOnDihvLw8paen68svv1S9evVUvXp1ubu7y8bGRmfPni1YPzMzU87OznJxcVFC\nQoIWL1583f48PT2vm6b9oYce0k8//aQdO3YoPz9f2dnZ2r17txISEpSUlKTNmzcrMzNTdnZ2cnJy\nuu5s2l8999xzioiI0Jtvvllwpik5Ofm6ovh/v8OEhAT95z//0cqVKzVx4sRCvwMAQMmjPAEAiuXZ\nZ59VYGCgHnvsMXXo0EFz5szRO++8c939PLe6D+nPCSMkqVGjRurbt6+6deumDh066OLFi3riiSfU\nrVs3jR49Wu3atdOjjz6qAwcOSJL8/f01Y8YMvfjii7rnnntUvXp1+fr6FvpZ2dnZGjdunIKDg9Wj\nRw/FxcVpwYIFkq5d8jd27NiC4zhw4IDGjRunw4cPKygoSGPHjlWvXr2uO5YxY8ZowYIFCg4O1qef\nfipfX199+OGHWrhwoTp37qx7771Xn376qQzDkNls1meffabQ0FCFhIRo3759mjlz5k1z1q9fX19/\n/bXi4+P18MMPq127dnr88cfl4+OjCRMmFHxvf52ZcODAgTpx4oSWL1+uzp07F+u7BwCUDJNhoQdd\nxMXF6aWXXlJycrJMJpMGDx6sESNGKCUlRS+88IIuXLig2rVra/78+QXXay9cuFCrVq2SjY2Npk+f\nri5duki6NuXslClTlJ2drdDQUE2fPl2SlJOTo5deeklHjhyRm5ub5s2bp9q1a1vicAAAAABUchY7\n82RnZ6epU6dqw4YNWrFihT7//HOdPHlSixYtUufOnbVx40Z17NhRixYtknRtWtXw8HBt2LBBixcv\n1muvvVZwScbMmTM1a9Ysbdq0STExMQU3/H7zzTdyc3PTpk2bNHLkyEKfdwEAAAAAd8ti5cnLy6vg\n+RJVq1ZVo0aNlJCQoK1bt6p///6Srk2punnzZknSli1b1LdvX9nb28vPz09169ZVVFSUEhMTlZGR\noYCAAElSv379Crb567569ux5w5PWAQAAAKCklMo9T+fOndPRo0cVEBCgpKSkgmdaeHp6KikpSdK1\nKVf/ev26r6+vEhISblju4+NTMK3rX9+zs7NTtWrVij37EgAAAADcDouXp4yMDI0fP17Tpk2Ti4vL\nde/99eZhAAAAACjLLPqcp9zcXI0fP14PPfSQunfvLuna9LQXL16Ul5eXEhMT5e7uLunaGaX4+PiC\n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\nIiIizfD/Abc6dpm5giIfAAAAAElFTkSuQmCC\n",
    205       "text/plain": [
    206        "<matplotlib.figure.Figure at 0x7fd90cb8de10>"
    207       ]
    208      },
    209      "metadata": {},
    210      "output_type": "display_data"
    211     }
    212    ],
    213    "source": [
    214     "gdp_df = odo(fred_gdp, pd.DataFrame)\n",
    215     "\n",
    216     "gdp_df.plot(x='asof_date', y='value')\n",
    217     "plt.xlabel(\"As Of Date (asof_date)\")\n",
    218     "plt.ylabel(\"GDP (billions)\")\n",
    219     "plt.title(\"United States GDP\")\n",
    220     "plt.legend().set_visible(False)"
    221    ]
    222   },
    223   {
    224    "cell_type": "code",
    225    "execution_count": null,
    226    "metadata": {
    227     "collapsed": true
    228    },
    229    "outputs": [],
    230    "source": []
    231   }
    232  ],
    233  "metadata": {
    234   "kernelspec": {
    235    "display_name": "Python 2",
    236    "language": "python",
    237    "name": "python2"
    238   },
    239   "language_info": {
    240    "codemirror_mode": {
    241     "name": "ipython",
    242     "version": 2
    243    },
    244    "file_extension": ".py",
    245    "mimetype": "text/x-python",
    246    "name": "python",
    247    "nbconvert_exporter": "python",
    248    "pygments_lexer": "ipython2",
    249    "version": "2.7.12"
    250   }
    251  },
    252  "nbformat": 4,
    253  "nbformat_minor": 0
    254 }