Skip to content

Instantly share code, notes, and snippets.

@elyase
Created October 1, 2014 11:06
Show Gist options
  • Select an option

  • Save elyase/918e604caceeec2ed0fa to your computer and use it in GitHub Desktop.

Select an option

Save elyase/918e604caceeec2ed0fa to your computer and use it in GitHub Desktop.
download stocks symbols specified in a text file from Yahoo
{
"metadata": {
"name": "",
"signature": "sha256:42134ad8f5b08de55437d93a2e23cb1ca3217608d1d8cc35d7768fe256c96c11"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Create test stock symbol file"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%file amex.txt\n",
"AAPL\n",
"GLD\n",
"SPX\n",
"MCD"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Writing amex.txt\n"
]
}
],
"prompt_number": 2
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Download data from Yahoo"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from pandas.io.data import DataReader\n",
"from pandas import Panel, DataFrame\n",
"import datetime\n",
"\n",
"start = datetime.datetime(2010, 1, 1)\n",
"end = datetime.datetime(2013, 1, 27)\n",
"\n",
"with open('amex.txt') as f:\n",
" symbols = f.read().splitlines() # ['AAPL', 'GLD', 'SPX', 'MCD']\n",
" \n",
"data = dict((symbol, DataReader(symbol, \"yahoo\", start, end, pause=1)) for symbol in symbols)\n",
"panel = Panel(data).swapaxes('items', 'minor')\n",
"closing = panel['Close'].dropna()\n",
"closing.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>AAPL</th>\n",
" <th>GLD</th>\n",
" <th>MCD</th>\n",
" <th>SPX</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2010-01-04</th>\n",
" <td> 214.01</td>\n",
" <td> 109.80</td>\n",
" <td> 62.78</td>\n",
" <td> 0.03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2010-01-05</th>\n",
" <td> 214.38</td>\n",
" <td> 109.70</td>\n",
" <td> 62.30</td>\n",
" <td> 0.03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2010-01-06</th>\n",
" <td> 210.97</td>\n",
" <td> 111.51</td>\n",
" <td> 61.45</td>\n",
" <td> 0.03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2010-01-07</th>\n",
" <td> 210.58</td>\n",
" <td> 110.82</td>\n",
" <td> 61.90</td>\n",
" <td> 0.03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2010-01-08</th>\n",
" <td> 211.98</td>\n",
" <td> 111.37</td>\n",
" <td> 61.84</td>\n",
" <td> 0.04</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
" AAPL GLD MCD SPX\n",
"Date \n",
"2010-01-04 214.01 109.80 62.78 0.03\n",
"2010-01-05 214.38 109.70 62.30 0.03\n",
"2010-01-06 210.97 111.51 61.45 0.03\n",
"2010-01-07 210.58 110.82 61.90 0.03\n",
"2010-01-08 211.98 111.37 61.84 0.04"
]
}
],
"prompt_number": 5
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment