def get_options(sym, expiry, above_below=0): opt = Options(sym, 'yahoo') now = datetime.datetime.now() opt_data = opt.get_options_data(expiry=expiry) if (above_below > 0): opt_data = opt.get_near_stock_price(expiry=expiry, put=True, above_below=above_below) now2 = datetime.datetime.now() print 'get_options():', now2-now return (now2, opt_data)
import pandas as pd, datetime from pandas_datareader import data # Stocks start=datetime.datetime(2013, 1, 1) end=datetime.datetime(2015, 9, 30) s = data.DataReader("SSW", 'yahoo', start, end) print s.head() # Options from pandas.io.data import Options aapl = Options('AAPL',"yahoo") df = aapl.get_options_data() print df.head()
""" Name : 4375OS_10_34_get_option_data_given_year_month.py Book : Python for Finance Publisher: Packt Publishing Ltd. Author : Yuxing Yan Date : 12/26/2013 email : [email protected] [email protected] """ from pandas.io.data import Options ticker='IBM' month=2 year=2014 x = Options(ticker,'yahoo') puts,calls = x.get_options_data(month,year) print puts.head()
for i in range(10000): sigma=0.0001*(i+1) d1=(log(S/X)+(r+sigma*sigma/2.)*T)/(sigma*sqrt(T)) d2 = d1-sigma*sqrt(T) c2=S*stats.norm.cdf(d1)-X*exp(-r*T)*stats.norm.cdf(d2) abs_diff=abs(c2-c) #print 'i=',i,'c=', c,'c2=',c2,'abs_diff=',abs_diff,'min_value=',min_value if abs_diff<min_value: min_value=abs_diff implied_vol=sigma k=i return implied_vol ticker='IBM' m=2 y=2014 s=185.08 r=0.0003 T=2./12.0 x = Options(ticker,'yahoo') puts,calls = x.get_options_data(month=m,year=y) print 'done' n=len(calls.Strike) for i in range(n): x=calls.Strike[i] c=(calls.Bid[i]+calls.Ask[i])/2.0 if c >0: vol=implied_vol_call_min(s,x,T,r,c) print x,c,vol
def get_option_data(tickrr, exp_date): x = Options(ticker, 'yahoo') puts, calls = x.get_options_data(expiry=exp_date) return puts, calls
""" Name : 4375OS_10_33_option_data_Yahoo.py Book : Python for Finance Publisher: Packt Publishing Ltd. Author : Yuxing Yan Date : 12/26/2013 email : [email protected] [email protected] """ from pandas.io.data import Options x = Options('IBM', 'yahoo') puts, calls = x.get_options_data() print calls.head()
def get_option_data(tickrr,exp_date): x = Options(ticker,'yahoo') puts,calls = x.get_options_data(expiry=exp_date) return puts, calls
""" Name : 4375OS_10_33_option_data_Yahoo.py Book : Python for Finance Publisher: Packt Publishing Ltd. Author : Yuxing Yan Date : 12/26/2013 email : [email protected] [email protected] """ from pandas.io.data import Options x = Options('IBM','yahoo') puts,calls = x.get_options_data() print calls.head()
if startTickerIndex >= len(tickersList): startTickerIndex = 0 for i in range(startTickerIndex, len(tickersList)): ticker = tickersList[i] if ticker in downloaded: print "Already downloaded",ticker," ... Skipping." continue print "Downloading", ticker, "...", # download the data toDownload = Options(ticker, "yahoo") try: data = toDownload.get_options_data(); pd.DataFrame(data).to_csv(baseDir+"/data/" + ticker) print "done." except (ValueError, RemoteDataError, StopIteration) as e: print "skipped." print e downloaded.add(ticker) last = open(baseDir+"last-downloaded", "w") if i != len(tickersList) - 1: last.write(ticker) last.close() time.sleep(0.1)
from pandas.io.data import Options aapl = Options('AAPL') vals = aapl.get_options_data() print(vals)
# -*- coding: utf-8 -*- """ Created on Thu Jul 16 18:02:31 2015 @author: justin.malinchak """ #import pullprices_optionsonly as pp # #pp.options('VIX', # '2015-07-17', # 'c:\\Batches\\$Work') from pandas.io.data import Options temp = Options('SPY', 'yahoo') z = temp.get_options_data(7, 2014) print z
# -*- coding: utf-8 -*- """ Created on Thu Jul 16 18:02:31 2015 @author: justin.malinchak """ #import pullprices_optionsonly as pp # #pp.options('VIX', # '2015-07-17', # 'c:\\Batches\\$Work') from pandas.io.data import Options temp = Options('SPY','yahoo') z = temp.get_options_data(7,2014) print z