ml-finance-python
python scripts for finance machine learning
git clone https://9o.is/git/ml-finance-python.git
notebook.ipynb
(122518B)
1 {
2 "cells": [
3 {
4 "cell_type": "markdown",
5 "metadata": {
6 "collapsed": true
7 },
8 "source": [
9 "# VIX S&P500 Volatility\n",
10 "\n",
11 "In this notebook, we'll take a look at the VIX S&P500 Volatility dataset, available on the [Quantopian Store](https://www.quantopian.com/store). This dataset spans 02 Jan 2004 through the current day. This data has a daily frequency. Calculated by the CBOE, Quantopian sources this data from Quandl. Quandl has multiple data sets for VIX. Quantopian hosts two of them: this one, sourced by Quandl directly from the CBOE. A second is delivered to Quandl through Yahoo.\n",
12 "## Notebook Contents\n",
13 "\n",
14 "There are two ways to access the data and you'll find both of them listed below. Just click on the section you'd like to read through.\n",
15 "\n",
16 "- <a href='#interactive'><strong>Interactive overview</strong></a>: This is only available on Research and uses blaze to give you access to large amounts of data. Recommended for exploration and plotting.\n",
17 "- <a href='#pipeline'><strong>Pipeline overview</strong></a>: Data is made available through pipeline which is available on both the Research & Backtesting environment. Recommended for custom factor development and moving back & forth between research/backtesting.\n",
18 "\n",
19 "### Free samples and limits\n",
20 "One key caveat: we limit the number of results returned from any given expression to 10,000 to protect against runaway memory usage. To be clear, you have access to all the data server side. We are limiting the size of the responses back from Blaze.\n",
21 "\n",
22 "There is a *free* version of this dataset as well as a paid one. The free sample includes data until 2 months prior to the current date.\n",
23 "\n",
24 "To access the most up-to-date values for this data set for trading a live algorithm (as with other partner sets), you need to purchase acess to the full set.\n",
25 "\n",
26 "With preamble in place, let's get started:\n",
27 "\n",
28 "<a id='interactive'></a>\n",
29 "#Interactive Overview\n",
30 "### Accessing the data with Blaze and Interactive on Research\n",
31 "Partner datasets are available on Quantopian Research through an API service known as [Blaze](http://blaze.pydata.org). Blaze provides the Quantopian user with a convenient interface to access very large datasets, in an interactive, generic manner.\n",
32 "\n",
33 "Blaze provides an important function for accessing these datasets. Some of these sets 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",
34 "\n",
35 "It is common to use Blaze to reduce your dataset in size, convert it over to Pandas and then to use Pandas for further computation, manipulation and visualization.\n",
36 "\n",
37 "Helpful links:\n",
38 "* [Query building for Blaze](http://blaze.readthedocs.io/en/latest/queries.html)\n",
39 "* [Pandas-to-Blaze dictionary](http://blaze.readthedocs.io/en/latest/rosetta-pandas.html)\n",
40 "* [SQL-to-Blaze dictionary](http://blaze.readthedocs.io/en/latest/rosetta-sql.html).\n",
41 "\n",
42 "\n",
43 "Once you've limited the size of your Blaze object, you can convert it to a Pandas DataFrames using:\n",
44 "> `from odo import odo` \n",
45 "> `odo(expr, pandas.DataFrame)`\n",
46 "\n",
47 "\n",
48 "###To see how this data can be used in your algorithm, search for the `Pipeline Overview` section of this notebook or head straight to <a href='#pipeline'>Pipeline Overview</a>"
49 ]
50 },
51 {
52 "cell_type": "code",
53 "execution_count": 1,
54 "metadata": {
55 "collapsed": false
56 },
57 "outputs": [],
58 "source": [
59 "# For use in Quantopian Research, exploring interactively\n",
60 "from quantopian.interactive.data.quandl import cboe_vix as dataset\n",
61 "\n",
62 "# import data operations\n",
63 "from odo import odo\n",
64 "# import other libraries we will use\n",
65 "import pandas as pd"
66 ]
67 },
68 {
69 "cell_type": "code",
70 "execution_count": 2,
71 "metadata": {
72 "collapsed": false
73 },
74 "outputs": [
75 {
76 "data": {
77 "text/plain": [
78 "dshape(\"\"\"var * {\n",
79 " vix_open: float64,\n",
80 " vix_high: float64,\n",
81 " vix_low: float64,\n",
82 " vix_close: float64,\n",
83 " asof_date: datetime,\n",
84 " timestamp: datetime\n",
85 " }\"\"\")"
86 ]
87 },
88 "execution_count": 2,
89 "metadata": {},
90 "output_type": "execute_result"
91 }
92 ],
93 "source": [
94 "# Let's use blaze to understand the data a bit using Blaze dshape()\n",
95 "dataset.dshape"
96 ]
97 },
98 {
99 "cell_type": "code",
100 "execution_count": 3,
101 "metadata": {
102 "collapsed": false
103 },
104 "outputs": [
105 {
106 "data": {
107 "text/html": [
108 "3119"
109 ],
110 "text/plain": [
111 "3119"
112 ]
113 },
114 "execution_count": 3,
115 "metadata": {},
116 "output_type": "execute_result"
117 }
118 ],
119 "source": [
120 "# And how many rows are there?\n",
121 "# N.B. we're using a Blaze function to do this, not len()\n",
122 "dataset.count()"
123 ]
124 },
125 {
126 "cell_type": "code",
127 "execution_count": 4,
128 "metadata": {
129 "collapsed": false
130 },
131 "outputs": [
132 {
133 "data": {
134 "text/html": [
135 "<table border=\"1\" class=\"dataframe\">\n",
136 " <thead>\n",
137 " <tr style=\"text-align: right;\">\n",
138 " <th></th>\n",
139 " <th>vix_open</th>\n",
140 " <th>vix_high</th>\n",
141 " <th>vix_low</th>\n",
142 " <th>vix_close</th>\n",
143 " <th>asof_date</th>\n",
144 " <th>timestamp</th>\n",
145 " </tr>\n",
146 " </thead>\n",
147 " <tbody>\n",
148 " <tr>\n",
149 " <th>0</th>\n",
150 " <td>19.75</td>\n",
151 " <td>21.16</td>\n",
152 " <td>19.54</td>\n",
153 " <td>20.98</td>\n",
154 " <td>2016-02-23</td>\n",
155 " <td>2016-02-24 12:00:31.122419</td>\n",
156 " </tr>\n",
157 " <tr>\n",
158 " <th>1</th>\n",
159 " <td>22.28</td>\n",
160 " <td>22.87</td>\n",
161 " <td>20.26</td>\n",
162 " <td>20.72</td>\n",
163 " <td>2016-02-24</td>\n",
164 " <td>2016-02-25 12:00:42.496514</td>\n",
165 " </tr>\n",
166 " <tr>\n",
167 " <th>2</th>\n",
168 " <td>20.54</td>\n",
169 " <td>21.26</td>\n",
170 " <td>19.10</td>\n",
171 " <td>19.11</td>\n",
172 " <td>2016-02-25</td>\n",
173 " <td>2016-02-26 12:00:38.135758</td>\n",
174 " </tr>\n",
175 " </tbody>\n",
176 "</table>"
177 ],
178 "text/plain": [
179 " vix_open vix_high vix_low vix_close asof_date \\\n",
180 "0 19.75 21.16 19.54 20.98 2016-02-23 \n",
181 "1 22.28 22.87 20.26 20.72 2016-02-24 \n",
182 "2 20.54 21.26 19.10 19.11 2016-02-25 \n",
183 "\n",
184 " timestamp \n",
185 "0 2016-02-24 12:00:31.122419 \n",
186 "1 2016-02-25 12:00:42.496514 \n",
187 "2 2016-02-26 12:00:38.135758 "
188 ]
189 },
190 "execution_count": 4,
191 "metadata": {},
192 "output_type": "execute_result"
193 }
194 ],
195 "source": [
196 "# Let's see what the data looks like. We'll grab the first three rows.\n",
197 "dataset[:3]"
198 ]
199 },
200 {
201 "cell_type": "markdown",
202 "metadata": {},
203 "source": [
204 "Let's go over the columns:\n",
205 "- **vix_open**: opening price for the day indicated on asof_date\n",
206 "- **vix_high**: high price for the day indicated on asof_date\n",
207 "- **vix_low**: lowest price for the day indicated by asof_date\n",
208 "- **vix_close**: closing price for asof_date\n",
209 "- **asof_date**: the timeframe to which this data applies\n",
210 "- **timestamp**: this is our timestamp on when we registered the data.\n",
211 "\n",
212 "We've done much of the data processing for you. Fields like `timestamp` are standardized across all our Store Datasets, so the datasets are easy to combine.\n",
213 "\n",
214 "We can select columns and rows with ease. Below, we'll do a simple plot."
215 ]
216 },
217 {
218 "cell_type": "code",
219 "execution_count": 5,
220 "metadata": {
221 "collapsed": false
222 },
223 "outputs": [
224 {
225 "data": {
226 "text/html": [
227 "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
228 "<table border=\"1\" class=\"dataframe\">\n",
229 " <thead>\n",
230 " <tr style=\"text-align: right;\">\n",
231 " <th></th>\n",
232 " <th>vix_open</th>\n",
233 " <th>vix_high</th>\n",
234 " <th>vix_low</th>\n",
235 " <th>vix_close</th>\n",
236 " <th>asof_date</th>\n",
237 " <th>timestamp</th>\n",
238 " </tr>\n",
239 " </thead>\n",
240 " <tbody>\n",
241 " <tr>\n",
242 " <th>0</th>\n",
243 " <td>19.75</td>\n",
244 " <td>21.16</td>\n",
245 " <td>19.54</td>\n",
246 " <td>20.98</td>\n",
247 " <td>2016-02-23</td>\n",
248 " <td>2016-02-24 12:00:31.122419</td>\n",
249 " </tr>\n",
250 " <tr>\n",
251 " <th>1</th>\n",
252 " <td>22.28</td>\n",
253 " <td>22.87</td>\n",
254 " <td>20.26</td>\n",
255 " <td>20.72</td>\n",
256 " <td>2016-02-24</td>\n",
257 " <td>2016-02-25 12:00:42.496514</td>\n",
258 " </tr>\n",
259 " <tr>\n",
260 " <th>2</th>\n",
261 " <td>20.54</td>\n",
262 " <td>21.26</td>\n",
263 " <td>19.10</td>\n",
264 " <td>19.11</td>\n",
265 " <td>2016-02-25</td>\n",
266 " <td>2016-02-26 12:00:38.135758</td>\n",
267 " </tr>\n",
268 " <tr>\n",
269 " <th>3</th>\n",
270 " <td>18.89</td>\n",
271 " <td>20.13</td>\n",
272 " <td>18.46</td>\n",
273 " <td>19.81</td>\n",
274 " <td>2016-02-26</td>\n",
275 " <td>2016-02-29 12:02:29.380139</td>\n",
276 " </tr>\n",
277 " <tr>\n",
278 " <th>4</th>\n",
279 " <td>20.49</td>\n",
280 " <td>20.81</td>\n",
281 " <td>18.38</td>\n",
282 " <td>20.55</td>\n",
283 " <td>2016-02-29</td>\n",
284 " <td>2016-03-01 12:01:48.633563</td>\n",
285 " </tr>\n",
286 " </tbody>\n",
287 "</table>\n",
288 "</div>"
289 ],
290 "text/plain": [
291 " vix_open vix_high vix_low vix_close asof_date \\\n",
292 "0 19.75 21.16 19.54 20.98 2016-02-23 \n",
293 "1 22.28 22.87 20.26 20.72 2016-02-24 \n",
294 "2 20.54 21.26 19.10 19.11 2016-02-25 \n",
295 "3 18.89 20.13 18.46 19.81 2016-02-26 \n",
296 "4 20.49 20.81 18.38 20.55 2016-02-29 \n",
297 "\n",
298 " timestamp \n",
299 "0 2016-02-24 12:00:31.122419 \n",
300 "1 2016-02-25 12:00:42.496514 \n",
301 "2 2016-02-26 12:00:38.135758 \n",
302 "3 2016-02-29 12:02:29.380139 \n",
303 "4 2016-03-01 12:01:48.633563 "
304 ]
305 },
306 "execution_count": 5,
307 "metadata": {},
308 "output_type": "execute_result"
309 }
310 ],
311 "source": [
312 "# Plotting this DataFrame since 2007\n",
313 "df = odo(dataset, pd.DataFrame)\n",
314 "df.head(5)"
315 ]
316 },
317 {
318 "cell_type": "code",
319 "execution_count": 6,
320 "metadata": {
321 "collapsed": false
322 },
323 "outputs": [
324 {
325 "data": {
326 "text/html": [
327 "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
328 "<table border=\"1\" class=\"dataframe\">\n",
329 " <thead>\n",
330 " <tr style=\"text-align: right;\">\n",
331 " <th></th>\n",
332 " <th>vix_open</th>\n",
333 " <th>vix_high</th>\n",
334 " <th>vix_low</th>\n",
335 " <th>vix_close</th>\n",
336 " <th>timestamp</th>\n",
337 " </tr>\n",
338 " <tr>\n",
339 " <th>asof_date</th>\n",
340 " <th></th>\n",
341 " <th></th>\n",
342 " <th></th>\n",
343 " <th></th>\n",
344 " <th></th>\n",
345 " </tr>\n",
346 " </thead>\n",
347 " <tbody>\n",
348 " <tr>\n",
349 " <th>2016-02-23</th>\n",
350 " <td>19.75</td>\n",
351 " <td>21.16</td>\n",
352 " <td>19.54</td>\n",
353 " <td>20.98</td>\n",
354 " <td>2016-02-24 12:00:31.122419</td>\n",
355 " </tr>\n",
356 " <tr>\n",
357 " <th>2016-02-24</th>\n",
358 " <td>22.28</td>\n",
359 " <td>22.87</td>\n",
360 " <td>20.26</td>\n",
361 " <td>20.72</td>\n",
362 " <td>2016-02-25 12:00:42.496514</td>\n",
363 " </tr>\n",
364 " <tr>\n",
365 " <th>2016-02-25</th>\n",
366 " <td>20.54</td>\n",
367 " <td>21.26</td>\n",
368 " <td>19.10</td>\n",
369 " <td>19.11</td>\n",
370 " <td>2016-02-26 12:00:38.135758</td>\n",
371 " </tr>\n",
372 " <tr>\n",
373 " <th>2016-02-26</th>\n",
374 " <td>18.89</td>\n",
375 " <td>20.13</td>\n",
376 " <td>18.46</td>\n",
377 " <td>19.81</td>\n",
378 " <td>2016-02-29 12:02:29.380139</td>\n",
379 " </tr>\n",
380 " <tr>\n",
381 " <th>2016-02-29</th>\n",
382 " <td>20.49</td>\n",
383 " <td>20.81</td>\n",
384 " <td>18.38</td>\n",
385 " <td>20.55</td>\n",
386 " <td>2016-03-01 12:01:48.633563</td>\n",
387 " </tr>\n",
388 " </tbody>\n",
389 "</table>\n",
390 "</div>"
391 ],
392 "text/plain": [
393 " vix_open vix_high vix_low vix_close timestamp\n",
394 "asof_date \n",
395 "2016-02-23 19.75 21.16 19.54 20.98 2016-02-24 12:00:31.122419\n",
396 "2016-02-24 22.28 22.87 20.26 20.72 2016-02-25 12:00:42.496514\n",
397 "2016-02-25 20.54 21.26 19.10 19.11 2016-02-26 12:00:38.135758\n",
398 "2016-02-26 18.89 20.13 18.46 19.81 2016-02-29 12:02:29.380139\n",
399 "2016-02-29 20.49 20.81 18.38 20.55 2016-03-01 12:01:48.633563"
400 ]
401 },
402 "execution_count": 6,
403 "metadata": {},
404 "output_type": "execute_result"
405 }
406 ],
407 "source": [
408 "# So we can plot it, we'll set the index as the `asof_date`\n",
409 "df['asof_date'] = pd.to_datetime(df['asof_date'])\n",
410 "df = df.set_index(['asof_date'])\n",
411 "df.head(5)"
412 ]
413 },
414 {
415 "cell_type": "code",
416 "execution_count": 9,
417 "metadata": {
418 "collapsed": false
419 },
420 "outputs": [
421 {
422 "data": {
423 "text/plain": [
424 "<matplotlib.text.Text at 0x7fc0c8b6b950>"
425 ]
426 },
427 "execution_count": 9,
428 "metadata": {},
429 "output_type": "execute_result"
430 },
431 {
432 "data": {
433 "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzwAAAHZCAYAAABD4D72AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4U2X+/vE7bdPSUhAKZRERARWXEURgEEQREEpRUBAB\nZRHUmXEUYdSvIAouuMIoIOrPbWBYVRxZdFQWBVFBBKmigsuwCwgtUKAUuuf8/ig5TdJshaRJmvfr\nurxskpNznuSk5dz5PIvFMAxDAAAAAFAFxYS6AQAAAAAQLAQeAAAAAFUWgQcAAABAlUXgAQAAAFBl\nEXgAAAAAVFkEHgAAAABVFoEHQNDNmTNHN954o3r16qUePXror3/9q7Zs2RLQY6xfv149evRw+9iU\nKVP07rvvBvR4nuzatUt9+/bViBEjKuV4FdW9e3dt2LDB6/vlTkW3D4axY8dq9erVYbMfX9577z3d\ncMMNSk9P11133aXMzExJUmFhoR599FGlpaWpV69emjt3rvmcX3/9VYMGDVJaWpoGDRqk3377rdx+\nJ02apK5du3o87h9//KERI0YoLS1N/fr10/r1683HcnNz9eCDD+rSSy/12vacnByNHDlSaWlp6t27\nt5YuXWo+tnLlSt10003q1auXbrvtNm3dutXtPtatW6d+/fopLS1Nd9xxh/n6JemFF15Qz549lZ6e\nrilTpnhsh6ftvL1Gf9+Ljz/+WL1791bPnj01atQo5ebmen1PAEQwAwCC6MUXXzQGDhxoHDx40DAM\nwygpKTHeffddo127dkZ2dna57W0222kd55tvvjG6d+9+Rm09U9u2bTNuuOEG48knnzSGDx8e0rZ4\n0r17d2PDhg0Vfr/C4f2NJD/88IPRqVMn83M/adIk48EHHzQMwzDeeOMN47777jMMwzCOHz9udOvW\nzfjpp58MwzCMnj17Gp999plhGIaxcuVK44YbbnDa7y+//GJ0797d6Nq1q8dj33HHHcbs2bPN7a+6\n6iqjoKDAMAzD6NOnjzF9+nTjkksu8dr+CRMmGM8++6xhGIZx4MABo0OHDkZmZqZx4MABo127dsa2\nbdsMwzCM+fPnG4MGDSr3/BMnThgdOnQwfv75Z8MwDGPOnDnG3/72N8MwDOOjjz4yBgwYYBQWFhqF\nhYXGwIEDjWXLlpXbh7ft3L3G/Px8v9+Lffv2GVdeeaWxf/9+wzAM4/nnnzcmTpzo9T0BELmo8AAI\nmqNHj2rOnDmaPHmy6tatK0mKiYnRwIEDtXr1atWuXVuSNHToUE2bNk29evXSpk2bdOjQId15551K\nT09Xt27dNGvWLHOfF110kWbPnq2bbrpJHTt2LFe5mTp1qtLT09WjRw9t3LhRkvTwww/rtddekyR1\n7dpVCxYs0C233KJOnTpp0qRJ5nNff/11dezYUf3799f8+fO9fovuTnJysubOnavLLrvM63bZ2dka\nPny4unbtqr/97W966KGH9PLLL5uvz/GbcMfbr776qtLS0nTdddfp7rvv1vHjxyVJL7/8siZOnKiR\nI0fquuuu0y233KKDBw9KkjZv3qzrr79eaWlpTq/VmyVLligtLU1paWkaM2aMCgsLzceef/55paWl\nKT09Xd9//70kqaCgQI899ph69uypXr16adKkSbLZbJKkbdu2aciQIWalYPPmzV6P/cUXX6h3795O\n991444366quvNHToUH344YdasWKF+vbtK+PUutkTJkzQ5MmTy+1rw4YN6tevn66//nr16tVLy5Yt\nkyRzP/b394MPPlDfvn3VqVMnp8/am2++qeuuu05paWl6/vnnzfsXLFig9PR0de3aVQ8++KAKCgrK\nHbtOnTqaOnWq+blv06aNtm3bJklatmyZBgwYIKn0M5OWlqZly5bpt99+0/Hjx9WtWzdJpZ/V7Oxs\nbd++XZJks9n0xBNP6B//+If52l0dP35c69evN/d/0UUXqWHDhvrmm28klVaH+vXr5/H9t1u+fLkG\nDRokSapfv77+/Oc/a+XKlbJarZoyZYqaN28uSbriiivM1+Xom2++UePGjXXxxRdLkvr166c1a9bo\nxIkTWrZsmfr16yer1Sqr1ao+ffqY52bKlClasGCB+T652y43N9fta9ywYYMkKT09XdnZ2V7fi5Ur\nV6pjx45q0KCBJKl///5mGwBUPQQeAEHzww8/qGHDhjr33HPLPZaUlOR0++eff9Ynn3yi1q1b67XX\nXtPZZ5+tpUuXatasWXrxxRedQsCePXu0ZMkSzZ8/X88++6yOHTsmqbT7SqtWrbR06VINGjRIr776\nqiTJYrHIYrGYz9+4caPee+89LVq0SHPnzlVmZqa2bt2qGTNm6MMPP9Tbb7+tZcuWOT3HH/Xr11et\nWrU8XozavfXWW6pTp45WrVql8ePHa9WqVT6P9dNPP2nevHlatGiRPv30UxUWFmrevHnm48uXL9ej\njz6qzz77THXq1NHChQslSU888YSGDx+u5cuXq1WrVtq7d6/X4+zdu1eTJ0/WvHnztHz5cuXl5Wne\nvHmyWCzat2+fWrZsqeXLl+uOO+7QxIkTJUmzZ89WVlaWPvnkEy1evFgbN27URx99JJvNpnvvvVd9\n+/bV8uXL9eSTT+qee+5RSUmJx+N36NBBmZmZZjv37NmjzMxMdezYUVLpuezRo4caNmyo//znP/r5\n55+1fv16jR49uty+Jk2apEceeUQff/yx3nrrLX322WfmY47v9/bt27V48WK99tprmjp1qgzD0MaN\nG7Vw4UJ9+OGH+uijj5SRkaHly5dr48aNmj59uubOnatVq1YpOTlZ06ZNK3fsRo0aqW3btubtL7/8\nUq1atZJU2u3R8Xfi3HPP1Y4dO7R79241btzYaT+NGzfWzp07JUnvvvuuLrnkEnM/7uzevVspKSmq\nVq1auf1LpRf9vj6fR44c0bFjx9y2MSUlRZ06dXL7uhzt2rXL6bVUr15dtWrV0u+//17u9Tdu3Nhs\n3wMPPKCBAwea+3C3nafXaA+GS5cuVUpKitf3Yvfu3TrnnHOc9n348GHzSwQAVQuBB0DQHDt2TCkp\nKebtnJwcpaenKz09XZ07d9a//vUv87FrrrnG/Hn8+PGaMGGCpNILkdTUVO3Zs8d8vH///pKkpk2b\nqmnTpvrhhx8kSTVr1jSrMhdffLH2798vSeUu8G644QZZLBbVq1dPdevW1f79+/Xtt9+qffv2qlu3\nruLj43XzzTf7vDA8Xd9995169eplvr42bdr4fM5ll12mzz//XNWrV5fFYtHll1/u9J60a9dODRs2\nlFT22gsLC7V582alp6dLktLS0pSYmOj1OGvXrtUVV1yh1NRUSdKLL76o22+/XYZhKD4+3mx3z549\n9csvv6iwsFCrV6/WgAEDFBMTo4SEBPXu3Vtr167Vzp07lZ2drZtvvllSaTUgJSXFrAy5Ex8fry5d\numjVqlWSpM8++0zdu3dXbGys03aPP/643nzzTT355JN6/PHHlZCQUG5fdevW1eLFi7Vjxw41atRI\nL7zwgttj3njjjZKkSy65RAUFBTp06JC+/PJLXXvttUpKSpLVatW8efPUvXt3rVq1Sunp6WblZtCg\nQfr000+9vqdLlizRmjVrNGrUKElSfn6+U3sTEhKUl5envLy8cq/D/tjBgwc1b948PfDAA14/l677\ndtyHv/Lz8xUTE+P0nrvbx7p16zRnzhyNGzfOr3ZUq1ZNJ0+eVH5+vuLj453ud9c+T9t5e598tcHT\nex0fHy+LxaKTJ0+WaweAyBcX6gYAqLpSUlKUlZVl3q5Zs6Y5+Hn8+PHKz883HzvrrLPMn3/66Se9\n+OKLOnDggGJiYpSVleV0kee4bc2aNXX8+HElJCQoOTnZvD8mJsbsVuWqRo0aTtuVlJTo+PHjqlmz\npnl//fr1T+cl++Xo0aNOx6pTp47P5+Tl5em5554zu+0cO3ZM1157rfm4u9d+9OhRp8csFovTcd05\ncuSI0/vjeMFp74LouM9jx47pyJEjTvutWbOmDh8+rJycHOXl5ZmBS5JOnDhhtsuTtLQ0zZkzR8OG\nDdNnn32mkSNHltumfv36atWqlTZt2mRWf1w9++yzeu211zRixAhVq1ZNDzzwgNLS0sptZ38t9gt8\n+3tXr149cxv7xfHx48f12Wefae3atea2xcXFHl/L/PnzNXv2bM2ePds8z4mJiU7d4PLy8pSUlKSk\npKRy3ePy8/OVmJio5557TiNHjlRycrLT+5eZmanhw4dLklq1aqVhw4a53Uf16tU9tlGSeY4aNGig\nadOmma8rLi7O3IdjVfazzz7T008/rTfeeMPs3ubI02upXr26EhMTnbpJ2l+/K0/bedu36/PdbZeU\nlFTusYKCAhmG4fN9AhCZCDwAgubyyy/X4cOH9csvv5h9+e28fUv90EMPacSIEeYYAsfqj1Q6BsZe\nzTh27JhTAHLHn65pycnJTt/uOga1ivJ1vJo1ayonJ8e8ffjwYTVq1EiSc1Czd9WTSruN7d69W4sX\nL1ZiYqKmTp3qsY3249vfl9zcXCUnJzuFIE9SUlK0adMm83Zubq55YejYHnv7zzrrLNWtW9dpv0eP\nHlVqaqrq1aun5ORkpxm+/NGpUyeNGzdOu3fv1u7du3XllVeW2+bXX381P1dvv/22Bg8eXG6bOnXq\naPz48Ro/frzWrl2rkSNH6uqrr/arDbVr19aRI0ecXpNhGKpfv75uuukmjR071uc+Fi1apHfeeUfz\n5883K2aS1KxZM6fuWrt379b555+vZs2aOVXtDMMwH1u9erU2bNigZ599ViUlJTp27Jg6deqkzz//\n3On9zc3N1ZEjR3Ty5EkzROzatcusinrieo7sXcLsYWbXrl3m7+HXX3+tZ599VjNnzlSzZs3c7q9p\n06b65JNPzNvHjx/XsWPH1KRJE/P1d+jQwen1u/K03bnnnuvXa2zSpInH7axWq7799ltz2127dik1\nNdXpiwMAVQdd2gAETXJysu655x6NGTNGv//+u6TSb8Q//vhjLVu2TE2aNDG3dQxA2dnZuuSSSyRJ\nixcvVl5enk6cOGE+/vHHH0sqHRC/e/dur2MaXPftjsVi0WWXXab169fryJEjKiws1JIlSyo8hsff\n411++eVmN6jdu3c7XXilpqbql19+kSQtXLhQMTGlf6azs7PVrFkzJSYmat++ffryyy+d3hPX4xuG\noYSEBF100UXmsT7++GMVFRV5bVvnzp313Xffad++fTIMQ48//rg5Hig/P98cB7N8+XK1bNlS8fHx\nuvbaa/X+++/LZrPp5MmT+vDDD9W5c2c1atRIDRo00PLly83X8OCDD/rsXhUfH69OnTpp8uTJ6tat\nW7nzYLPZNGHCBI0bN06PPvqoXnvtNacxXpJUVFSkoUOHmpM3XHLJJYqPjzffT1+6du2qVatWKScn\nR8XFxbrnnnv09ddfq2vXrvr000+VnZ0tqbTS8dZbb5V7fmZmpqZMmaJ//etfTmFHKq2mzJs3Tzab\nzRz71KtXLzVv3ly1a9fWRx99JKn0s9+oUSOdd955+u6777RmzRqtWbNG77//vho0aKA1a9bIarU6\n7Ts5OVlXXXWVOdX1N998o8OHD6tdu3bmNv501UxPT9fs2bMllf6effvtt+rWrZvy8vI0btw4vfLK\nKx7DjiS1b99ef/zxhzIyMiRJs2bNUpcuXZSYmKj09HS999575u+1ffpud21wt50/r9HXe9GtWzet\nW7fOHB81a9Yst20AUDVQ4QEQVHfddZfOOussjRo1SgUFBSooKFCzZs308ssvO3VFcryoHT16tEaO\nHKlatWpp0KBBGjhwoCZMmKC3335bUuk39zfddJMyMzM1fvx4swuW64Wx/bY/waVly5a66aab1Ldv\nXzVs2FC9evVymrHLH2+++aZeeeUV2Ww22Ww2tWzZUu3atdOMGTM0ZcoUnX322Ro0aJD++te/6oEH\nHlC3bt3UvHlzp65p999/v5544gm9/PLLGjhwoPnaBg0apFGjRqlnz55q0aKFHn74Yd13332aM2dO\nuUkZHG8/8cQTeuSRR/T666/r2muvNb+xd9zmxx9/1EsvvaQZM2aofv36mjhxom6//XbFxsaqZcuW\nGj58uDZt2qRmzZrp+++/14svvqjY2Fhz5rKhQ4dqz549uv7662WxWJSenq6ePXtKKp116/HHH9e0\nadMUExOjESNG+BxHJMlcG+Xf//53ucfeeecd1a9f36zWDB48WE899ZReeeUVcxur1apbbrnF7O4V\nExOj8ePHOw1gt78P7m63atVKd955p2666SZZrVZ17txZ119/vSTpb3/7m4YNGyabzaY6deqYkzc4\nWrJkiU6ePOm0HlNcXJz++9//atiwYdqxY4d69uyp2NhYjRw5Ui1atJBUOmZqwoQJevnll1W3bl23\n444Mw/D6mX7yySc1duxYLVy4UMnJyXrppZdktVr13Xffafjw4TIMw/x8WiwWcwyco/vvv1/jxo1T\njx49lJCQoGeffVYpKSn66KOPdOTIET344INO28+fP99pvF61atU0ZcoUTZw4UXl5eWrSpIn5eUlL\nS9OWLVt00003SZJ69+5t/g44/p54287Ta5RKg5K9PZ62q1+/vh5//HHde++9Kikp0aWXXmqOsQJQ\n9ViMII3Ktdlsevzxx7V161ZZrVY9+eSTSkxM1JgxY2Sz2ZSamqrJkyc79Q8HAF8uuugiffHFF0Ed\nYyNJq1ev1ksvvaTFixcH9ThS6XimBg0auB2rAgAAzkzQurStXLlSubm5evfdd/XMM8/o+eef1/Tp\n0zVkyBDNnz9fTZo0MbtJAECoZWdnm91wDMPQ0qVL1bp161A3CwAAnKGgdWnbvXu3WrZsKal03vs9\ne/Zo+/btZum/S5cumjlzpm699dZgNQFAFXS642p8SUlJ0f3336/hw4fLYrGoWbNm5Qamb9++3WMV\n5vzzzzcXD4V369atc9sNTJKuuuoqjR8/vpJbBACoyoLWpe2LL77QnDlz9NZbb2nXrl3q16+fCgoK\nzMG4v//+u8aMGVNulXQAAAAACJSgVXg6d+6sjRs36rbbbtMVV1yhevXqmYsASv7NEgMAAAAAZyKo\ns7TZZ3EpLi7WokWL1KBBAxUUFCghIUGZmZlOi7p5Yp/SEgAAAAA8adOmjdv7gxZ4fv31V82bN09P\nP/20li1bpvbt2+uss87S8uXL1adPH61YsaLcYoKeeGp8VZeRkRG1rz2acd6jE+c9OnHeoxPnPTpx\n3oPLW5EkaIGnRYsWKikp0YABA2S1WjVlyhTFxMRo7NixWrBggRo1aqS+ffsG6/AAAAAAELzAY7FY\n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\ngg==\n",
434 "text/plain": [
435 "<matplotlib.figure.Figure at 0x7fc0c8cbe590>"
436 ]
437 },
438 "metadata": {},
439 "output_type": "display_data"
440 }
441 ],
442 "source": [
443 "import matplotlib.pyplot as plt\n",
444 "df.vix_open.plot(label=str(dataset))\n",
445 "plt.ylabel(str(dataset))\n",
446 "plt.legend()\n",
447 "plt.title(\"Graphing %s since %s\" % (str(dataset), min(df.index)))"
448 ]
449 },
450 {
451 "cell_type": "markdown",
452 "metadata": {},
453 "source": [
454 "<a id='pipeline'></a>\n",
455 "\n",
456 "#Pipeline Overview\n",
457 "\n",
458 "### Accessing the data in your algorithms & research\n",
459 "The only method for accessing partner data within algorithms running on Quantopian is via the pipeline API. Different data sets work differently but in the case of this data, you can add this data to your pipeline as follows:\n",
460 "\n",
461 "Import the data set here\n",
462 "> `from quantopian.pipeline.data.quandl import cboe_vix`\n",
463 "\n",
464 "Then in intialize() you could do something simple like adding the raw value of one of the fields to your pipeline:\n",
465 "> `pipe.add(cboe_vix.vix_open.latest, 'open_vix')`\n",
466 "\n",
467 "Pipeline usage is very similar between the backtester and Research so let's go over how to import this data through pipeline and view its outputs."
468 ]
469 },
470 {
471 "cell_type": "code",
472 "execution_count": 10,
473 "metadata": {
474 "collapsed": true
475 },
476 "outputs": [],
477 "source": [
478 "# Import necessary Pipeline modules\n",
479 "from quantopian.pipeline import Pipeline\n",
480 "from quantopian.research import run_pipeline\n",
481 "from quantopian.pipeline.factors import AverageDollarVolume"
482 ]
483 },
484 {
485 "cell_type": "code",
486 "execution_count": 11,
487 "metadata": {
488 "collapsed": false
489 },
490 "outputs": [],
491 "source": [
492 "# Import the datasets available\n",
493 "from quantopian.pipeline.data.quandl import cboe_vix"
494 ]
495 },
496 {
497 "cell_type": "markdown",
498 "metadata": {},
499 "source": [
500 "Now that we've imported the data, let's take a look at which fields are available for each dataset.\n",
501 "\n",
502 "You'll find the dataset, the available fields, and the datatypes for each of those fields."
503 ]
504 },
505 {
506 "cell_type": "code",
507 "execution_count": 12,
508 "metadata": {
509 "collapsed": false
510 },
511 "outputs": [
512 {
513 "name": "stdout",
514 "output_type": "stream",
515 "text": [
516 "Here are the list of available fields per dataset:\n",
517 "---------------------------------------------------\n",
518 "\n",
519 "Dataset: cboe_vix\n",
520 "\n",
521 "Fields:\n",
522 "vix_open - float64\n",
523 "vix_low - float64\n",
524 "vix_high - float64\n",
525 "vix_close - float64\n",
526 "\n",
527 "\n",
528 "---------------------------------------------------\n",
529 "\n"
530 ]
531 }
532 ],
533 "source": [
534 "print \"Here are the list of available fields per dataset:\"\n",
535 "print \"---------------------------------------------------\\n\"\n",
536 "\n",
537 "def _print_fields(dataset):\n",
538 " print \"Dataset: %s\\n\" % dataset.__name__\n",
539 " print \"Fields:\"\n",
540 " for field in list(dataset.columns):\n",
541 " print \"%s - %s\" % (field.name, field.dtype)\n",
542 " print \"\\n\"\n",
543 "\n",
544 "_print_fields(cboe_vix)\n",
545 "\n",
546 "\n",
547 "print \"---------------------------------------------------\\n\""
548 ]
549 },
550 {
551 "cell_type": "markdown",
552 "metadata": {},
553 "source": [
554 "Now that we know what fields we have access to, let's see what this data looks like when we run it through Pipeline.\n",
555 "\n",
556 "\n",
557 "This is constructed the same way as you would in the backtester. For more information on using Pipeline in Research view this thread:\n",
558 "https://www.quantopian.com/posts/pipeline-in-research-build-test-and-visualize-your-factors-and-filters"
559 ]
560 },
561 {
562 "cell_type": "code",
563 "execution_count": 13,
564 "metadata": {
565 "collapsed": false
566 },
567 "outputs": [],
568 "source": [
569 "pipe = Pipeline()\n",
570 " \n",
571 "pipe.add(cboe_vix.vix_open.latest, 'open_vix')"
572 ]
573 },
574 {
575 "cell_type": "code",
576 "execution_count": 16,
577 "metadata": {
578 "collapsed": false
579 },
580 "outputs": [],
581 "source": [
582 "# Setting some basic liquidity strings (just for good habit)\n",
583 "dollar_volume = AverageDollarVolume(window_length=20)\n",
584 "top_1000_most_liquid = dollar_volume.rank(ascending=False) < 1000\n",
585 "\n",
586 "pipe.set_screen(top_1000_most_liquid & cboe_vix.vix_open.latest.notnan())"
587 ]
588 },
589 {
590 "cell_type": "code",
591 "execution_count": 17,
592 "metadata": {
593 "collapsed": false
594 },
595 "outputs": [
596 {
597 "data": {
598 "image/png": "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\najh8jC7fvJnkeMnd/sTaxy9YpLf6BOrMl/PUo2ljLdr0q/q+96FGzlugKQP66J8vPlPnBvW0cONm\njf18odV6Lt+8qQbDR2vljl367OWhurJ0kb4eM1wb9h9Q45HjLCEgI2OOmSiJOSZWWswx9taeGHvm\nnqc/nK7pK1drWKcndHnJlzq/6HPNf3mo/rl0WQ2Gj7H0yyhzQkr3//OfzNRLnTvqzJef6fsJY7X/\n9N9qMmq8zl6+Yuljz3FJ6/1t7+uXrZ/VyNXfa/aLz0uSMnt4aM+ff0mSOtWvq7w5smvT1HfS/HU0\nveqwxZ7jE3f9gz+ZpVd7+uvcovmJHnt7jqe9cw/gqh7JAOqdObMWjnxF+z/9UCO6dVaZQgV1MyxM\n32z9TZ3fmqwmo8br6q3biT4/9g1X3P9seWvxN7oZFqbJA/qoedXKyurlpQYVymmc/1PptWnJ0qJq\nFVUpXkxB129o6dZtVss+WfWThnXqmOhzY98MZ+8WoJ5Tpqli0SLaOm1yonenHOvfTfXLl1MWT0+1\nq1XjoRP/W19/o31/ndabfQL0dNtWeixHDmX18lLTypW0aOQrdm/rwHatVa5wIWX38daobp0lSRv+\nOGA9Zhodp1FPdZEkzfl5jW7fuWNpvxsRoZmrf9HIB+NL0sSvluh8cLBlTN8sWdSiahVN6t9HZ69c\n1ZtfL7V7W+3xdNtWlv0y1r+bJOnnPfv0YqcOCdrX7N1n9dw3v16qs1eu6p1+vdS6ejVl9fJSo4oV\n9N6gp3Xm8mW9/92KdK3dFTDHMMdYjZlGxyktardn7vn10BFJUgE/P/l4ecnT3V1lChXUx88Pslpn\nRpkTUrr/n23fVo0rVbDa1zdCQ/XW4m8sfew5Lumxv+15/UrMwLatNbh9O92LjFT3Se/q+Lnz6vTm\nZE0Z0FeNK1VwqTriS+lr9vgeT6lBhXLK6uWV6LFP6fFMztwDuCqnDqBuJpMk6X50dKJ97kdHW/rF\nV6lYUU0d0FdHZ3+iE5/N0Ks9uyurl5d2njipsZ+n/q9IG/YflCQ1r1rZqr1e+bKpXndqvdQ55g3g\nxytWWdo2Hzys6OhotaxWJdHnxX1DfPWbRVr5xquqUapkov3jnqKVHN9v/12S9GTdOgmWVStZ3O6/\nXMb97sD8frkkSUE3blj1SavjVKt0KTWvWlm3wu5ozs9rLe1frt+kOmVLq3yRwpa2n/fstTlmy2pV\nY5bv3mvX2PaKu1/y5cxps73Ag/3173Xr/fXTrpja2tasYdUe+8K+Op1rNxJzTMoxx/wnrY5TWtRu\nz9zTpUE9SVLPKdNUov+zenb6TC3ftl25s2WzGiujzAkp3f+NKlqHnth9vX7/f2HBnuOSHvvbntev\npHz47EA1qlhBF69dV81hw/VUowbq27K5y9URX0pfs+P/jts69ik9nsmZewBX5dQB1Nc7i6SY61QS\ncyM0VNm8vR+6rpL582ti7wAtHTdKkrR23367arH1whN8O+YTjtzZslm1x7+ezhF6Nm2s/Lly6uDf\n/2jzwcOSpE9+XK1hnTqk6TjemTPb1T928nwsTihKDd8sWSz/9nSPuaQ5/umPaXmcYv96O33lKt2L\njNT96Gh98MNKje5ufQpl7Kdf8cfMnS3m2o0rt27ZPbY94u6XuOHJVnv8/RVbW5G+A61OEc0X0E9S\nzOmGjwrmmJRjjvlPWh2ntKjdnrnns5de0LLxo9W1YX2FhodrwboNCnz3fZUfNEQH//7H0i+jzAkp\n3f/xr8mL3ddxz4Kw57ik1/5O7utXUjzcM2npuJHK4ump+/ej1btFU5etI66UvmbH/x23dexTejyT\nM/cArsqpA2iZggUlSUfPnku0z9Gz51S6YAGrNs+O3RK9xi72lv9xT/1IqdiJKvbNR6z4j+MyPXjT\nHxl139KW1JvflPJ0d9eQDu0lSR+t+FH/XLqsnSdOKrB56ibp1Iq9kP+ygX/FS8lxSkzr6tVUrWRx\nXbpxU4s2bta3v/2ugn5+qlfO+q+gebNnT2TMEKvlD2PUz0tcsXd4vbJ0oc1TRW99tyRdxzcSc0zK\nMcf8J63mmLSo3Z65x2QyqUuDevpm3ChdWvKlNr/7jtrUqKZzV4M18KNP49SVMeaElO7/+L9fsfs6\nT/b/wow9xyW99ndyX78eZvrK1crk5qZos1k9pkxTWHi4S9YRV0pfs6+FhNjsH/fYZ5TfH8AeTh1A\nO9SpJUn6YsOmRPssWLdR7WvXtGozm81atXO3zf77Tp2WJFUvVcLm8oeJe7OQ1jViTrXYdOCwVZ/f\nj51I9PmxdzuLexrFgb//truO2E8FIqPu6869e3osoG+CPs8+3lbemTPrl71/6OU58/R0m9bK4ulp\n91hpqUuDmBsQrLRxfHaeOKn6r4xO8zFTcpySMuqpmJ+B975bqWnf/mDzr7ZP1K1lc8yNB2JO1Xui\n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\nio68rLz586hes7rq/YGf8hfKn1DGjWs3FDRpnrau/UWRFyKV7TFvlShVXJV9KqnZy030bLUKDuVL\n3L7kZ3GiLkVpduBcbd+4U9GRl5WvQF7V831evYf0THLJZOIyVh9YocAPpmpvaLiyeWdTrUY+Gji+\nn3Lny53qXNiybd12SVKFKuUs1pu4/dbmzl6n/jwlSSr8eOEUaUWeKBKf5/hph8qUpH9u/6Nt67Zr\n3fL12rl5t+7G3lX558qq/9gAvdjuhSTznBpL45EWjvbV1fmd1U6zClXKS4ofL992L9idZk2NetW0\n/OsVCt2wQzPHzVLACOfcO+2s+bS3bFcdO0Zy9MvE1PqS3sbE2WvXXTgDCgBwq7t34yRJR/64qGFj\n16r4c+NVttYkBX62RecuXHN6ffY8+XZvxA4N/2SIJMnLK4t+33dEktSoZQPlK5BXQSGfp3iwkdm4\n/hPlN7C71v0WoqkLA3Xs0J/q+VJvnTtz3mL+jwdN1pt9O2vdbyH67LupCdujI6LVzddPW1b/opHT\nh2nz8XWa8NUY7dq6Rz1a+CcEq5I06t1xWjL7e3X2f1U/H1+n9b+FaNRnw/X3/86p24u9HM5n7cNU\n1KUodfX1U+iGHRr9+Qht/nOtPpr5obatDVW3F3spOiLaYhkzx32pgBHvaM2hn9SkdSOtXb5Bn46a\nmaL8t1r2Vs+X7P/w/sfhPyVJRYsVSVKvI3Nnr+vX4sc7+2PeKdLM265fsW+9xv0bp1+37NbIvmPV\nrNxLGtZrpP46dlLdAt7QD79+q4Wb5qmLfyeHgk/J8nikhaN9dXV+Z7XTzDw+5vGyN82Sr6Z8rZHv\njNFb/brKM4unvvlskZbM+j4h/dyZ8yn+3ozt97FdZTtrPi2dlTXy2DGSrYfMpeXBc+ltTJy5dt2J\nABQAkG7E3v1XknT8RISGj1+nJyuNUy3fGZo+O1QRUTedUoe9H0LavdlGHXq00507sRrUfZhO/HFK\n/V8frPdG9VW1OlWslu83oLueq1lZ2R/zVs0GNRQw4h1du3JdQZPmWsz/Vr9uquxTSVmzZVXdprUT\n2jMrcK7On7mgdz/0V+3GNZX9MW9Vrf2c3h/7ns6dPq+FMxff79P2fZKkQkULyjt7NmXxyqKnShXX\n4InvJ+27nfmsmTVxji7+fUkBI/vIp351Zc+RPaGP589c0KxAy31s92YblSxTQjly5VDXgNclSbu2\n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\n",
599 "text/plain": [
600 "<IPython.core.display.Image object>"
601 ]
602 },
603 "execution_count": 17,
604 "metadata": {},
605 "output_type": "execute_result"
606 }
607 ],
608 "source": [
609 "# The show_graph() method of pipeline objects produces a graph to show how it is being calculated.\n",
610 "pipe.show_graph(format='png')"
611 ]
612 },
613 {
614 "cell_type": "code",
615 "execution_count": null,
616 "metadata": {
617 "collapsed": false
618 },
619 "outputs": [],
620 "source": [
621 "# run_pipeline will show the output of your pipeline\n",
622 "pipe_output = run_pipeline(pipe, start_date='2013-11-01', end_date='2013-11-25')\n",
623 "pipe_output"
624 ]
625 },
626 {
627 "cell_type": "markdown",
628 "metadata": {},
629 "source": [
630 "Here, you'll notice that each security is mapped to the corresponding value, so you could grab any security to get what you need.\n",
631 "\n",
632 "Taking what we've seen from above, let's see how we'd move that into the backtester."
633 ]
634 },
635 {
636 "cell_type": "code",
637 "execution_count": 75,
638 "metadata": {
639 "collapsed": false
640 },
641 "outputs": [],
642 "source": [
643 "# This section is only importable in the backtester\n",
644 "from quantopian.algorithm import attach_pipeline, pipeline_output\n",
645 "\n",
646 "# General pipeline imports\n",
647 "from quantopian.pipeline import Pipeline\n",
648 "from quantopian.pipeline.factors import AverageDollarVolume\n",
649 "\n",
650 "# For use in your algorithms via the pipeline API\n",
651 "from quantopian.pipeline.data.quandl import cboe_vix\n",
652 "\n",
653 "def make_pipeline():\n",
654 " # Create our pipeline\n",
655 " pipe = Pipeline()\n",
656 " \n",
657 " # Screen out penny stocks and low liquidity securities.\n",
658 " dollar_volume = AverageDollarVolume(window_length=20)\n",
659 " is_liquid = dollar_volume.rank(ascending=False) < 1000\n",
660 " \n",
661 " # Create the mask that we will use for our percentile methods.\n",
662 " base_universe = (is_liquid)\n",
663 "\n",
664 " # Add the datasets available\n",
665 " pipe.add(cboe_vix.vix_open.latest, 'vix_open')\n",
666 "\n",
667 " # Set our pipeline screens\n",
668 " pipe.set_screen(is_liquid)\n",
669 " return pipe\n",
670 "\n",
671 "def initialize(context):\n",
672 " attach_pipeline(make_pipeline(), \"pipeline\")\n",
673 " \n",
674 "def before_trading_start(context, data):\n",
675 " results = pipeline_output('pipeline')"
676 ]
677 },
678 {
679 "cell_type": "markdown",
680 "metadata": {},
681 "source": [
682 "Now you can take that and begin to use it as a building block for your algorithms, for more examples on how to do that you can visit our <a href='https://www.quantopian.com/posts/pipeline-factor-library-for-data'>data pipeline factor library</a>"
683 ]
684 },
685 {
686 "cell_type": "code",
687 "execution_count": null,
688 "metadata": {
689 "collapsed": true
690 },
691 "outputs": [],
692 "source": []
693 }
694 ],
695 "metadata": {
696 "kernelspec": {
697 "display_name": "Python 2",
698 "language": "python",
699 "name": "python2"
700 },
701 "language_info": {
702 "codemirror_mode": {
703 "name": "ipython",
704 "version": 2
705 },
706 "file_extension": ".py",
707 "mimetype": "text/x-python",
708 "name": "python",
709 "nbconvert_exporter": "python",
710 "pygments_lexer": "ipython2",
711 "version": "2.7.12"
712 }
713 },
714 "nbformat": 4,
715 "nbformat_minor": 0
716 }