"""
Download the daily stock data for the NASDAQ 100 and put the results
in CSV files
"""
import datetime, urllib, os
datadir = os.path.join('..', 'data')
tickerfile = os.path.join(datadir, 'nasdaq100.dat')
startdate = datetime.date(2005,1,1)
enddate = datetime.datetime.now().date()
tickers = [line.strip() for line in file(tickerfile)]
urlfmt = 'http://table.finance.yahoo.com/table.csv?a=%(startmonth)d&b=%(startday)d&c=%(startyear)d&d=%(endmonth)d&e=%(endday)d&f=%(endyear)d&s=%(ticker)s&y=0&g=d&ignore=.csv'
for ticker in tickers:
outfile = os.path.join(datadir, '%s.csv'%ticker)
print 'fetching ticker %s to %s' % (ticker, outfile)
if os.path.exists(outfile): continue # already have it
props = dict(
ticker = ticker.upper(),
startmonth = startdate.month-1,
startday = startdate.day,
startyear = startdate.year,
endmonth = enddate.month-1,
endday = enddate.day,
endyear = enddate.year)
url = urlfmt % props
urllib.urlretrieve(url, outfile)