In [1]:
%pylab inline
import pandas as pd
from datetime import date, timedelta, datetime

pd.set_option('display.max_rows', 10)
pd.set_option('display.max_columns', 10)


Populating the interactive namespace from numpy and matplotlib

In [2]:
optionsDataFrame = pd.DataFrame.from_csv('data/pandas/SPY.csv')

In [3]:
optionsDataFrame


Out[3]:
optionroot quotedate expiration underlying_last type strike last bid ask volume impliedvol delta gamma theta vega
0 SXO090919C00020000 09/01/2009 09/19/2009 100.20 call 20 65.70 80.00 80.25 0 2.9366 0.9979 0.0105 -1.2618 0.1445
1 SXO090919C00024000 09/01/2009 09/19/2009 100.20 call 24 66.35 76.00 76.25 0 2.6070 0.9976 0.0132 -1.2512 0.1611
2 SXO090919C00025000 09/01/2009 09/19/2009 100.20 call 25 65.35 75.00 75.25 0 2.5337 0.9975 0.0139 -1.2485 0.1653
3 SXO090919C00026000 09/01/2009 09/19/2009 100.20 call 26 0.00 74.00 74.25 0 2.4635 0.9975 0.0147 -1.2457 0.1695
4 SXO090919C00027000 09/01/2009 09/19/2009 100.20 call 27 0.00 73.00 73.25 0 2.3964 0.9974 0.0155 -1.2438 0.1739
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
679407 SPY161216P00280000 10/24/2014 12/17/2016 196.43 put 280 90.10 87.60 88.45 0 0.2338 -0.8017 0.4139 -1.0273 80.1846
679408 SPY161216P00285000 10/24/2014 12/17/2016 196.43 put 285 105.51 92.46 93.29 0 0.2393 -0.8081 0.3964 -1.0268 78.6002
679409 SPY161216P00290000 10/24/2014 12/17/2016 196.43 put 290 101.20 97.32 98.10 0 0.2441 -0.8147 0.3803 -1.0205 76.9170
679410 SPY161216P00295000 10/24/2014 12/17/2016 196.43 put 295 116.14 102.22 102.98 0 0.2495 -0.8198 0.3656 -1.0223 75.5944
679411 SPY161216P00300000 10/24/2014 12/17/2016 196.43 put 300 108.10 107.13 107.87 106 0.2549 -0.8244 0.3520 -1.0242 74.3589

3377075 rows × 15 columns


In [4]:
optionroot = optionsDataFrame['optionroot'].values


optionsDataFrame['quotedate'] =  pd.to_datetime(optionsDataFrame['quotedate'])
optionsDataFrame['expiration'] =  pd.to_datetime(optionsDataFrame['expiration'])


quotedate = optionsDataFrame['quotedate'].values
expiration = optionsDataFrame['expiration'].values

quotedate = quotedate.astype('datetime64[D]').astype(datetime)
expiration = expiration.astype('datetime64[D]').astype(datetime)


underlying = optionsDataFrame['underlying_last'].values

call_put = optionsDataFrame['type'].values
strike = optionsDataFrame['strike'].values
last = optionsDataFrame['last'].values
bid = optionsDataFrame['bid'].values
ask = optionsDataFrame['ask'].values
volume = optionsDataFrame['volume'].values

impliedvol = optionsDataFrame['impliedvol'].values
delta = optionsDataFrame['delta'].values
gamma = optionsDataFrame['gamma'].values
theta = optionsDataFrame['theta'].values
vega = optionsDataFrame['vega'].values

In [5]:
savez('data/numpy/SPY.npz', optionroot=optionroot,
                            quotedate=quotedate, 
                            expiration=expiration,
                            underlying=underlying,
                            call_put=call_put,
                            strike=strike,
                            last=last,
                            bid=bid,
                            ask=ask,
                            volume=volume,
                            impliedvol=impliedvol,
                            delta=delta,
                            gamma=gamma,
                            theta=theta,
                            vega=vega)