Skip to content

Instantly share code, notes, and snippets.

@lockefox
Created September 29, 2017 20:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lockefox/d4e89cb8eef566c72d7c41220d696ea8 to your computer and use it in GitHub Desktop.
Save lockefox/d4e89cb8eef566c72d7c41220d696ea8 to your computer and use it in GitHub Desktop.
Pandas-Datareader + fbprophet forecasting
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/lockefox/.virtualenvs/venv_redo_demo/local/lib/python3.6/site-packages/statsmodels/compat/pandas.py:56: FutureWarning:\n",
"\n",
"The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.\n",
"\n"
]
},
{
"data": {
"text/html": [
"<script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window.Plotly) {{require(['plotly'],function(plotly) {window.Plotly=plotly;});}}</script>"
],
"text/vnd.plotly.v1+html": [
"<script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window.Plotly) {{require(['plotly'],function(plotly) {window.Plotly=plotly;});}}</script>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# !pip3 install pandas\n",
"# !pip3 install pandas-datareader\n",
"# !pip3 plotly\n",
"# !pip3 install cython\n",
"# !pip3 install pystan\n",
"# !pip3 install fbprophet\n",
"\n",
"from datetime import datetime, timedelta\n",
"import pandas as pd\n",
"import numpy as np\n",
"from IPython.display import display, Markdown\n",
"import plotly\n",
"import plotly.plotly as py\n",
"import plotly.graph_objs as go\n",
"from plotnine import *\n",
"\n",
"import pandas_datareader as pdr\n",
"from fbprophet import Prophet\n",
"\n",
"plotly.offline.init_notebook_mode(connected=True)\n",
"iplot = plotly.offline.iplot\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Open</th>\n",
" <th>High</th>\n",
" <th>Low</th>\n",
" <th>Close</th>\n",
" <th>Adj Close</th>\n",
" <th>Volume</th>\n",
" <th>Date</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2017-09-25</th>\n",
" <td>36.040001</td>\n",
" <td>36.150002</td>\n",
" <td>34.540001</td>\n",
" <td>34.869999</td>\n",
" <td>34.869999</td>\n",
" <td>35607200</td>\n",
" <td>2017-09-25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-09-26</th>\n",
" <td>35.230000</td>\n",
" <td>35.369999</td>\n",
" <td>34.090000</td>\n",
" <td>34.180000</td>\n",
" <td>34.180000</td>\n",
" <td>55112600</td>\n",
" <td>2017-09-26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-09-27</th>\n",
" <td>36.259998</td>\n",
" <td>37.150002</td>\n",
" <td>35.919998</td>\n",
" <td>37.090000</td>\n",
" <td>37.090000</td>\n",
" <td>84593900</td>\n",
" <td>2017-09-27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-09-28</th>\n",
" <td>37.150002</td>\n",
" <td>38.459999</td>\n",
" <td>36.820000</td>\n",
" <td>37.959999</td>\n",
" <td>37.959999</td>\n",
" <td>52143300</td>\n",
" <td>2017-09-28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-09-29</th>\n",
" <td>37.980000</td>\n",
" <td>39.360001</td>\n",
" <td>37.810001</td>\n",
" <td>39.330002</td>\n",
" <td>39.330002</td>\n",
" <td>44596955</td>\n",
" <td>2017-09-29</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Open High Low Close Adj Close Volume \\\n",
"Date \n",
"2017-09-25 36.040001 36.150002 34.540001 34.869999 34.869999 35607200 \n",
"2017-09-26 35.230000 35.369999 34.090000 34.180000 34.180000 55112600 \n",
"2017-09-27 36.259998 37.150002 35.919998 37.090000 37.090000 84593900 \n",
"2017-09-28 37.150002 38.459999 36.820000 37.959999 37.959999 52143300 \n",
"2017-09-29 37.980000 39.360001 37.810001 39.330002 39.330002 44596955 \n",
"\n",
" Date \n",
"Date \n",
"2017-09-25 2017-09-25 \n",
"2017-09-26 2017-09-26 \n",
"2017-09-27 2017-09-27 \n",
"2017-09-28 2017-09-28 \n",
"2017-09-29 2017-09-29 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"## Fetch Data ##\n",
"ticker = 'MU'\n",
"limit = 2000\n",
"forecast = 60\n",
"plot_range = 400\n",
"\n",
"fetch_date_max = datetime.now()\n",
"fetch_date_min = fetch_date_max - timedelta(days=limit)\n",
"plot_min_date = fetch_date_max - timedelta(days=plot_range)\n",
"\n",
"\n",
"ticker_df = pdr.DataReader(ticker, 'yahoo', fetch_date_min, fetch_date_max)\n",
"ticker_df['Date'] = ticker_df.index\n",
"\n",
"display(ticker_df.tail(5))"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"## Forecast - Linear ##\n",
"pred = Prophet(\n",
" daily_seasonality=True\n",
")\n",
"pred.fit(pd.DataFrame({\n",
" 'y':ticker_df['Close'],\n",
" 'ds':ticker_df['Date']\n",
"}))\n",
"forecast_lin_df = pred.predict(pred.make_future_dataframe(periods=forecast))"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/lockefox/.virtualenvs/venv_redo_demo/local/lib/python3.6/site-packages/plotnine/geoms/geom_path.py:76: UserWarning:\n",
"\n",
"geom_path: Removed 60 rows containing missing values.\n",
"\n"
]
},
{
"data": {
"image/png": "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\nLFmyhM8++wyXy4VSivT0dF544QVgYPfmWLc51e/N0bY3Effmgd77Yk4NYl6vVz333HMNoLV2AAAP\njElEQVRq9+7dyrIstWHDBnXJJZeojRs3qmAwqK655hr14osvqkAgoP7xj3+oSy65RDU3NyullGpq\nalKvvfaa2rx5szr33HPVzp07u5XtcrnUZZddpt5++23l9/uVz+dT27dv77UuNTU16uKLL1arV69W\nPp9PPfnkk+qWW26JPP/oo4+qRYsWKY/Ho5qamtSPfvQjtWzZsqjKu/nmmyPt3bRpk/rjH/+oLrro\nInXppZcmvL2HK2/z5s3q3XffVW+++aa6/PLLey0nWe090OLFi9V//dd/RVW/rp/vQNrb0tKibrnl\nFvXDH/4w8nN88cUXq+eee069/vrr6vzzz0+Zdu7evVu5XC6llFIej0c9+OCD6vHHH4+qvMH0ub79\n9tvdvj6c1tZWNX/+fPXOO++oQCCg/vSnP6mrrrpKPfvss2r37t2qpqZGPf3002ru3Lnq3HPPVR6P\nJ6XaG6vyOu/N//znP9U777yjnn76aXXuuefG5N4c6zan+r052vYm4t48kHtfPAzqoaW0tDQWLFhA\nSUkJmqYxZcoUJk+ezMaNG/niiy/w+/3MnTsXu93OnDlzqKio4KOPPgIgLy+Ps846iwkTJvRY9vLl\nyznmmGP4xje+gcPhwOl0Mnr06F7r8v777zNz5kxmzJiB0+nkO9/5DlVVVdTU1ADwySefMHfuXDIy\nMsjLy+Occ87hrbfeiqq86upq5syZQ0lJCRMnTuSyyy6jsrKSUCiU8PYerrwJEyZw2mmnUVpa2msZ\nyWxvV21tbaxcuZIzzjgjqvp1/XwH0t7c3FwWLVpEbW0tO3fuZMqUKUydOpWMjAx8Ph9KqZRpZ0lJ\nCdnZ2ZHXa5rG7t27oypvMH2u0fr4448pLS3l9NNPx263c/755wMwefJkSkpKGDlyJFdeeSXjx48H\nYMOGDSnb3oGUt3fvXhYsWMCJJ57I6aefzqxZs7DZbDG5N8e6zal+b462vYm4Nw/k3hcPgzrIHMjn\n87F161ZGjRpFTU0NlZWV6Pr+Jo4ZM4bq6uo+lbVp0yZycnK47bbbWLBgAXfeeSc7d+7s9fXV1dXd\nfvFnZGRQUlISuZ5SCnXASveGhgY8Hk+/yutsb21tLYZhJLy9sZbo9nb1wQcfUFRUxOTJkwdUv2gc\nqryuP8d79uzBMIyUaudnn33G/PnzmT9/Pp988knkl3V/y0v1z3XHjh1cdtllXHvttTzzzDP4/f5e\ny6upqelWnqZpVFZWdgsKPp8vUn4qtjce5QUCAUzTjMm9OdZ1TPV7c1d9aW+sxfreFw9HTJCxLItH\nHnmE8ePHM2PGDLxeL5mZmd1ek5mZidfr7VN5jY2NvP3221x11VU888wzTJ48mfvvvx/TNHt8vc/n\nO+T1jj32WF566SXcbjf79u3jL3/5C0CvN8XDldfZ3rKyMmw2W8LbG2uJbm9Xb7/99iH/wulL/aLV\nW3nt7e3dfo79fn9kTsVArxurdh533HG88MIL/OEPf+C8886jpKSk3+Wl+uc6depUfvvb37J06VJ+\n/vOfs379ep555pleyztc/TvbW1lZ2afrRyPWP8exKs+yLF5++WUMw4jJvTnWdUz1e3NXfWlvrMX6\n3hcPR0SQUUrx+OOP09TUxE9+8hM0TSM9Pf2gRO3xeEhPT+9TmU6nkxNOOIFJkyZht9u55JJLaGho\noLa2lvfff5958+Yxb948brzxRiA8zNXe3t6tjPb29sj1vv/975OTk8ONN97IHXfcwZw5c7DZbAwb\nNizq8rq2d/78+Ulp70CkQns7VVVVsWPHDk477bR+1y9W7fV4PHz44Yfdfo6dTudBfy2mSjsLCwuZ\nOXMmDz74YL/KGwyfa0lJCSUlJei6Tnl5Od/97ncjQwIbNmyIlDdv3jwgvLNqT5/rge299tprI9dP\npfbGurzONrtcLjIzM1PyM071e3O07R2IWN/7EmVQr1qC8P9RlixZQlVVFffee2/km1tRUcHLL7+M\nZVmRLr2qqipOPvnkPpXb+RdTT0499dSDVi2MGjWK7du3R772er3U19czatQoALKysrj55psjz//t\nb39j3Lhx6LoeVXkVFRXd2rtt27aktHcgUqG9nd5++21mzpxJfn5+v+rX+fkOtL3t7e3U1tai6zqL\nFy+O/BwXFxdjmmbKttM0Terr66Mub7B+rrquR4Ll1KlT+X//7/91e76iooI333wz8rVSih07dnDm\nmWd2a29bW1vk9cuXL0+59saivK735iuuuIJHH3000uZU+oxT/d4cbXsHItb3vkQZ9D0yTzzxBJs3\nb+aee+7ptgR02rRpOBwOXnnlFYLBICtWrKC6upqTTjop8ppAIEAgEADCS7kDgUDkJvXNb36TlStX\n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\nAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f96d3f95470>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<ggplot: (8767858148030)>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"## Build Plot Frame ##\n",
"plot_df = forecast_lin_df.merge(\n",
" ticker_df,\n",
" left_on='ds',\n",
" right_on='Date',\n",
" how='left'\n",
")\n",
"plot_df = plot_df[plot_df['ds'] > plot_min_date]\n",
"\n",
"plot = (\n",
" ggplot(plot_df) +\n",
" aes(x='ds', y='Close', ymin='yhat_lower', ymax='yhat_upper') +\n",
" geom_line(color='red') +\n",
" geom_ribbon(alpha=0.25, fill='blue') +\n",
" labs(\n",
" title='{} - lin-Forecast {}d - {}'.format(ticker, forecast, max(ticker_df['Date']).strftime('%Y-%m-%d')),\n",
" y='Price (USD)',\n",
" x='Datetime'\n",
" )\n",
" #theme_538()\n",
")\n",
"display(plot)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"## Forecast - Log ##\n",
"pred_log = Prophet(\n",
" daily_seasonality=True\n",
")\n",
"pred_log.fit(pd.DataFrame({\n",
" 'y':np.log(ticker_df['Close']),\n",
" 'ds':ticker_df['Date']\n",
"}))\n",
"forecast_log_df = pred_log.predict(pred_log.make_future_dataframe(periods=forecast))"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/lockefox/.virtualenvs/venv_redo_demo/local/lib/python3.6/site-packages/plotnine/geoms/geom_path.py:76: UserWarning:\n",
"\n",
"geom_path: Removed 60 rows containing missing values.\n",
"\n"
]
},
{
"data": {
"image/png": "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\nVlYW6uvr8cEHH6CqqgqPPvqop9yIESMAAA8++CCmT5+OmJgYz9opzcnNzcWCBQvw2GOP4eKLL8aN\nN96Iuro6LFmyBFarFa+//rpXl9sDDzyATz75BA888AAKCgowZMgQfPvtt3j77bcxY8YMjB071lN2\n/PjxmDp1Kj755BNMmDABU6ZMQUVFBV599VUMGDAAP/30U0DvQbB+/PFHXHHFFXA4HPjNb37jt/vt\n6quvhtlsBgAkJSXhz3/+M+644w6MGjUKt99+O2w2G1566SVIkoTnn3/e5/kLFy70elxQUOA51qtX\nL8yYMcPnOe5Bvrfddlur2tW/f3888MADWLRoES655BLMmDEDZWVlWLx4Mbp27epTp/fffx//+Mc/\ncMkllyAjIwOHDh3CG2+8AYvFgn/9619ISUkJ6L4PPPAAXn/9dfTv3x+jRo3Cu+++63U+IyPDK5MV\nqvtSOxDpSIraD38Zmeb4y8i4ffbZZ2LixIkiOTlZKIoikpOTxcSJE8Xnn38e6ip7aW5l3127donr\nr79epKamCr1eL3r16iXuu+8+UVVV5VP26NGjYvr06SIxMVHExsaKiy++WHz33XfimmuuESaTKeC6\nIIiproHWL5BVZo8cOSLuuusukZOTIwwGg0hMTBSDBg0S99xzj8jLy/MqW11dLf7whz+Ifv36ecpe\ncMEFYsmSJZ4yqqqKZ555RvTt21cYjUbRrVs3ceedd4qKigqfjMzSpUvFZZddJjIzM4XBYBBpaWli\nzJgx4sMPP/Sp5zPPPCN69+4tdDqdACAWLFgQ0Gv19ttvi/PPP1+YTCZPFmLlypV+y544cULcdttt\nomvXrsJgMIi+ffuKRYsWeWUJ3Gw2m3j00UdFz549hcFgEP379xevvPJKWFf2dV+7pT/+pqh//PHH\n4oILLhAmk0kkJCSIX//612L79u1+79HStceOHetT3mazidTUVJGamipsNlur26ZpmnjttdfEoEGD\nhNFoFCkpKWLatGl+2/Pjjz+KCRMmiPT0dKHX60W3bt3ErFmz/K563JKxY8cG1d5Q3ZciTxJCiDaJ\nmIii2DnnnANN05odG0JERJHBWUtEjfibcfXZZ59h165duOyyyyJQIyIiagkzMkSNjB8/HhkZGTj/\n/PNhNBrx008/YdmyZUhNTcW2bduane5JRESRwUCGqJHnn38ey5Ytw6FDh1BbW4v09HT86le/wpNP\nPhmRfXeIiKhlDGSIiIgoanGMDBEREUUtBjJEREQUtRjIEBERUdRiIENERERRi4EMERERRS0GMkRE\nRBS1OuSmkWVlZW16P0mSYDKZYLVa0daz2Q0Gg98N/MKJ7W0bbd1Wvq9th+0NP7Y3OqWmpgb9HGZk\nQkCWZcTGxkKW2/7lNBqNbX5PtrdttHVb+b62HbY3/NjezqPztZiIiIg6DAYyREREFLUYyBAREVHU\nYiBDREREUYuBDBEREUUtBjJEREQUtRjIEBERUdRiIENERERRi4EMERERRS0GMkRERBS1GMgQERFR\n1GIgQ0RERFGLgQwRERFFLQYyREREFLUYyBAREVHUYiBDREREp1VVJUHTIl0LXwxkiIiIqEVCAPn5\nCqzWSNfEFwMZIiIiapHTCaiqBKtVinRVfDCQISIiohY5na6/GcgQERFR1HE6XQGM1SrB4YhwZZpg\nIENEREQtOpWRAYqK2lfo0L5qQ0RERO2OO5Cpr5dQUtK+Qof2VRsiIiJqd1TV1bWkaRJUNcKVaYKB\nDBEREbWovY2LaYyBDBEREbXI3bXUHjGQISIioha5u5baIwYyRERE1CJmZIiIiChqcYwMERERRS12\nLREREVHUYtcSERERRS0GMkRERBSV6urad9eSLtIVICIiovaptFRqd3srNcVAhoiIiHw0NAB797b/\nMKF9h1lEREQUEfX17bc7qTEGMkREROShaa6/GcgQERFRVLHZgJoaVwBjtTKQISIioihisUiorXUF\nMPX1Ea5MgNr/KB4iIiJqExaLBFWVoKpAXV10ZGQYyBAREREAwGKRIQRw4oQMIRjIEBERURSxWgEh\n0O7XjmmMgQwRERHB4YAnC2O1RrgyQYiekIuIiIjCxmaLjq6kphjIEBEREWy2SNegdRjIEBEREex2\nZmSIiIgoSjEjQ0RERFErWjMyHXLWksFggNFobLP7SZLrzTebzRBCtNl9AUCn0yE+Pr5N78n2to22\nbivf17bD9oYf2xs8nU6CyRRIOSA+vm1f05Z0yEDGbrfDbre32f0URYHBYEBdXR1UVW2z+wJAfHw8\nampq2vSebG/baOu28n1tO2xv+LG9waus1KGh4fRZGUURqKlxtuoep9OaJAS7loiIiDo5TQMaGiJd\ni9ZhIENERNTJ1ddLAKJzjAwDGSIiok4uWna69oeBDBERUSfnyshEJwYyREREnYim+R5jIENERERR\n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\nRK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f96d1309630>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<ggplot: (8767861273043)>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"## Build Plot Frame ##\n",
"plot_df = forecast_log_df.merge(\n",
" ticker_df,\n",
" left_on='ds',\n",
" right_on='Date',\n",
" how='left'\n",
")\n",
"plot_df['yhat_lower_fixed'] = np.exp(plot_df['yhat_lower']) # undo log()\n",
"plot_df['yhat_upper_fixed'] = np.exp(plot_df['yhat_upper']) # undo log()\n",
"plot_df = plot_df[plot_df['ds'] > plot_min_date]\n",
"\n",
"plot = (\n",
" ggplot(plot_df) +\n",
" aes(x='ds', y='Close', ymin='yhat_lower_fixed', ymax='yhat_upper_fixed') +\n",
" geom_line(color='red') +\n",
" geom_ribbon(alpha=0.25, fill='blue') +\n",
" labs(\n",
" title='{} - log-Forecast {}d - {}'.format(ticker, forecast, max(ticker_df['Date']).strftime('%Y-%m-%d')),\n",
" y='Price (USD)',\n",
" x='Datetime'\n",
" )\n",
" #theme_538()\n",
")\n",
"display(plot)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Environment (venv_redo_demo)",
"language": "",
"name": "venv_redo_demo"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment