Graphing Finance Data
import urllib2
###
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
import matplotlib.dates as mdates
import numpy as np
###
def grabQuandl(ticker):
netIncomeAr = []
revAr = []
ROCAr = []
endLink = 'sort_order=asc'
endLink2 = 'sort_order=asc&auth_token=asdfasdfsagsvasd'
try:
urlAttempt = 'http://www.quandl.com/api/v1/datasets/OFDP/DMDRN_'+ticker+'_NET_INC.csv?&'+endLink2
print urlAttempt
netIncome = urllib2.urlopen('http://www.quandl.com/api/v1/datasets/OFDP/DMDRN_'+ticker+'_NET_INC.csv?&'+endLink2).read()
revenue = urllib2.urlopen('http://www.quandl.com/api/v1/datasets/OFDP/DMDRN_'+ticker+'_REV_LAST.csv?&'+endLink2).read()
ROC = urllib2.urlopen('http://www.quandl.com/api/v1/datasets/OFDP/DMDRN_'+ticker+'_ROC.csv?&'+endLink2).read()
####
splitNI = netIncome.split('\n')
print 'Net Income:'
for eachNI in splitNI[1:-1]:
print eachNI
netIncomeAr.append(eachNI)
print '___________'
splitRev = revenue.split('\n')
print 'Revenue:'
for eachRev in splitRev[1:-1]:
print eachRev
revAr.append(eachRev)
print '___________'
splitROC = ROC.split('\n')
print 'Return on Capital:'
for eachROC in splitROC[1:-1]:
print eachROC
ROCAr.append(eachROC)
####
incomeDate, income = np.loadtxt(netIncomeAr, delimiter=',', unpack=True,
converters={ 0: mdates.strpdate2num('%Y-%m-%d')})
fig = plt.figure()
ax1 = plt.subplot2grid((6,4), (0,0), rowspan=6, colspan=4)
ax1.plot(incomeDate,income)
plt.show()
except Exception, e:
print 'failed the main quandl loop for reason of',str(e)
grabQuandl('YHOO')
The next tutorial: