R Markdown
library(jsonlite)
## Warning: package 'jsonlite' was built under R version 3.4.4
library(rjson)
##
## Attaching package: 'rjson'
## The following objects are masked from 'package:jsonlite':
##
## fromJSON, toJSON
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 3.4.4
## -- Attaching packages ------------------------------------------------------------------ tidyverse 1.2.1 --
## v ggplot2 2.2.1 v purrr 0.2.4
## v tibble 1.4.2 v dplyr 0.7.4
## v tidyr 0.7.2 v stringr 1.2.0
## v readr 1.1.1 v forcats 0.2.0
## Warning: package 'ggplot2' was built under R version 3.4.4
## Warning: package 'tibble' was built under R version 3.4.4
## -- Conflicts --------------------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x purrr::flatten() masks jsonlite::flatten()
## x rjson::fromJSON() masks jsonlite::fromJSON()
## x dplyr::lag() masks stats::lag()
## x rjson::toJSON() masks jsonlite::toJSON()
library(RCurl)
## Loading required package: bitops
##
## Attaching package: 'RCurl'
## The following object is masked from 'package:tidyr':
##
## complete
yahoo.url <- "https://query2.finance.yahoo.com/v7/finance/options/SPY?"
resp.json <- fromJSON(getURL(paste(yahoo.url,sep="")))
resp.json$optionChain$result[[1]]$expirationDates
## [1] 1528848000 1529020800 1529280000 1529452800 1529625600 1529884800
## [7] 1530057600 1530230400 1530489600 1530576000 1530835200 1531094400
## [13] 1531267200 1531440000 1531699200 1532044800 1532649600 1534464000
## [19] 1537488000 1538092800 1545350400 1546214400 1547769600 1552608000
## [25] 1553817600 1561075200 1568937600 1576800000 1579219200 1584662400
## [31] 1594944000 1608249600
#yahoo.url.01 <- "https://finance.yahoo.com/quote/SPY/options?p=SPY&date=1608249600"
#resp.json.01 <- fromJSON(getURL(paste(yahoo.url,sep="")))
library(quantmod)
## Warning: package 'quantmod' was built under R version 3.4.4
## Loading required package: xts
## Warning: package 'xts' was built under R version 3.4.4
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 3.4.4
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Attaching package: 'xts'
## The following objects are masked from 'package:dplyr':
##
## first, last
## Loading required package: TTR
## Version 0.4-0 included new data defaults. See ?getSymbols.
library(knitr)
optionPool <- getOptionChain("SPY", "2017/2018")
#optionPool$Jul.13.2018
kable((optionPool$Jul.06.2018$calls))
SPY180706C00240000 |
240.0 |
33.39 |
0.0000000 |
32.24 |
32.56 |
2 |
0 |
SPY180706C00245000 |
245.0 |
32.52 |
0.0000000 |
33.20 |
33.42 |
2 |
2 |
SPY180706C00250000 |
250.0 |
25.67 |
0.0000000 |
28.21 |
28.43 |
30 |
30 |
SPY180706C00252500 |
252.5 |
18.90 |
0.0000000 |
21.40 |
21.62 |
12 |
12 |
SPY180706C00253000 |
253.0 |
20.90 |
0.0000000 |
20.91 |
21.10 |
80 |
0 |
SPY180706C00254000 |
254.0 |
21.06 |
0.0000000 |
24.22 |
24.42 |
10 |
24 |
SPY180706C00255000 |
255.0 |
14.40 |
0.0000000 |
18.96 |
19.17 |
64 |
65 |
SPY180706C00256000 |
256.0 |
13.60 |
0.0000000 |
17.99 |
18.20 |
83 |
83 |
SPY180706C00257000 |
257.0 |
17.00 |
4.2500000 |
17.02 |
17.23 |
20 |
98 |
SPY180706C00257500 |
257.5 |
12.29 |
0.0000000 |
16.54 |
16.75 |
63 |
63 |
SPY180706C00258000 |
258.0 |
16.00 |
0.0000000 |
16.06 |
16.27 |
20 |
51 |
SPY180706C00259000 |
259.0 |
15.09 |
2.2399998 |
15.12 |
15.29 |
84 |
118 |
SPY180706C00260000 |
260.0 |
14.00 |
2.2500000 |
14.17 |
14.33 |
53 |
218 |
SPY180706C00261000 |
261.0 |
12.95 |
2.1200000 |
13.21 |
13.39 |
51 |
151 |
SPY180706C00262000 |
262.0 |
12.00 |
1.9300003 |
12.29 |
12.46 |
72 |
103 |
SPY180706C00262500 |
262.5 |
13.10 |
0.0000000 |
15.81 |
16.01 |
10 |
32 |
SPY180706C00263000 |
263.0 |
14.40 |
0.0000000 |
15.31 |
15.52 |
42 |
203 |
SPY180706C00264000 |
264.0 |
14.27 |
2.5700006 |
14.35 |
14.53 |
1 |
64 |
SPY180706C00265000 |
265.0 |
12.65 |
0.0000000 |
13.37 |
13.55 |
19 |
645 |
SPY180706C00266000 |
266.0 |
11.65 |
0.0000000 |
12.41 |
12.59 |
87 |
403 |
SPY180706C00267000 |
267.0 |
10.06 |
0.0000000 |
11.44 |
11.61 |
48 |
759 |
SPY180706C00267500 |
267.5 |
8.90 |
0.0000000 |
10.97 |
11.15 |
77 |
374 |
SPY180706C00268000 |
268.0 |
9.26 |
0.0000000 |
10.50 |
10.64 |
71 |
716 |
SPY180706C00269000 |
269.0 |
8.88 |
0.2799997 |
9.56 |
9.69 |
3 |
422 |
SPY180706C00270000 |
270.0 |
7.90 |
0.3000002 |
8.63 |
8.77 |
2 |
339 |
SPY180706C00271000 |
271.0 |
7.50 |
0.8400002 |
7.76 |
7.84 |
26 |
218 |
SPY180706C00272000 |
272.0 |
6.65 |
0.4200001 |
6.88 |
6.95 |
3 |
380 |
SPY180706C00272500 |
272.5 |
5.58 |
0.1700001 |
6.44 |
6.51 |
1 |
567 |
SPY180706C00273000 |
273.0 |
5.96 |
0.6799998 |
6.00 |
6.08 |
51 |
363 |
SPY180706C00274000 |
274.0 |
4.88 |
0.3600001 |
5.18 |
5.24 |
19 |
428 |
SPY180706C00275000 |
275.0 |
4.39 |
0.4999998 |
4.38 |
4.44 |
120 |
1098 |
SPY180706C00276000 |
276.0 |
3.62 |
0.2700000 |
3.64 |
3.69 |
101 |
2049 |
SPY180706C00277000 |
277.0 |
2.96 |
0.3600001 |
2.96 |
3.00 |
250 |
1753 |
SPY180706C00277500 |
277.5 |
2.67 |
0.2200000 |
2.65 |
2.69 |
173 |
1056 |
SPY180706C00278000 |
278.0 |
2.34 |
0.1899998 |
2.35 |
2.39 |
1577 |
7332 |
SPY180706C00279000 |
279.0 |
1.83 |
0.2900001 |
1.82 |
1.85 |
798 |
1733 |
SPY180706C00280000 |
280.0 |
1.35 |
0.2300000 |
1.37 |
1.40 |
1465 |
1648 |
SPY180706C00281000 |
281.0 |
0.95 |
0.1600000 |
1.01 |
1.03 |
1264 |
1119 |
SPY180706C00282000 |
282.0 |
0.73 |
0.1300000 |
0.72 |
0.75 |
169 |
719 |
SPY180706C00282500 |
282.5 |
0.57 |
0.0900000 |
0.61 |
0.63 |
241 |
739 |
SPY180706C00283000 |
283.0 |
0.50 |
0.1100000 |
0.51 |
0.53 |
476 |
4417 |
SPY180706C00284000 |
284.0 |
0.37 |
0.0900000 |
0.36 |
0.38 |
47 |
717 |
SPY180706C00285000 |
285.0 |
0.25 |
0.0500000 |
0.26 |
0.27 |
459 |
4479 |
SPY180706C00286000 |
286.0 |
0.17 |
0.0300000 |
0.18 |
0.20 |
34 |
1358 |
SPY180706C00287000 |
287.0 |
0.12 |
0.0000000 |
0.13 |
0.15 |
1332 |
1280 |
SPY180706C00287500 |
287.5 |
0.05 |
0.0000000 |
0.07 |
0.09 |
15 |
15 |
SPY180706C00288000 |
288.0 |
0.10 |
0.0100000 |
0.10 |
0.12 |
10 |
58 |
SPY180706C00289000 |
289.0 |
0.07 |
0.0000000 |
0.08 |
0.10 |
24 |
15 |
SPY180706C00290000 |
290.0 |
0.06 |
0.0000000 |
0.06 |
0.08 |
32 |
65 |
SPY180706C00292500 |
292.5 |
0.04 |
0.0000000 |
0.03 |
0.05 |
1 |
0 |
SPY180706C00295000 |
295.0 |
0.03 |
0.0000000 |
0.03 |
0.04 |
10 |
11 |
SPY180706C00297500 |
297.5 |
0.03 |
0.0000000 |
0.02 |
0.04 |
10 |
21 |
SPY180706C00300000 |
300.0 |
0.02 |
0.0000000 |
0.01 |
0.03 |
3 |
0 |
SPY180706C00302500 |
302.5 |
0.02 |
0.0000000 |
0.01 |
0.03 |
1 |
0 |
SPY180706C00305000 |
305.0 |
0.02 |
0.0000000 |
0.00 |
0.02 |
1 |
1 |
kable((optionPool$Jul.06.2018$puts))
SPY180706P00220000 |
220.0 |
0.07 |
-0.1400000 |
0.06 |
0.07 |
50 |
26 |
SPY180706P00225000 |
225.0 |
0.10 |
-0.0600000 |
0.07 |
0.08 |
30 |
30 |
SPY180706P00230000 |
230.0 |
0.13 |
0.0000000 |
0.09 |
0.10 |
43 |
383 |
SPY180706P00235000 |
235.0 |
0.17 |
0.0000000 |
0.11 |
0.12 |
64 |
784 |
SPY180706P00237500 |
237.5 |
0.17 |
0.0000000 |
0.12 |
0.14 |
60 |
141 |
SPY180706P00240000 |
240.0 |
0.14 |
-0.0100000 |
0.14 |
0.15 |
190 |
14611 |
SPY180706P00242500 |
242.5 |
0.49 |
0.0000000 |
0.31 |
0.33 |
70 |
656 |
SPY180706P00245000 |
245.0 |
0.22 |
-0.0300000 |
0.18 |
0.19 |
36 |
609 |
SPY180706P00247500 |
247.5 |
0.26 |
0.0000000 |
0.20 |
0.22 |
3 |
263 |
SPY180706P00250000 |
250.0 |
0.26 |
-0.0200000 |
0.23 |
0.25 |
1 |
28894 |
SPY180706P00251000 |
251.0 |
0.35 |
0.0000000 |
0.24 |
0.26 |
1 |
27 |
SPY180706P00252000 |
252.0 |
0.30 |
0.0000000 |
0.26 |
0.28 |
20 |
81 |
SPY180706P00252500 |
252.5 |
0.28 |
-0.0400000 |
0.27 |
0.29 |
45 |
57 |
SPY180706P00253000 |
253.0 |
0.38 |
0.0000000 |
0.28 |
0.29 |
60 |
153 |
SPY180706P00254000 |
254.0 |
0.33 |
0.0000000 |
0.29 |
0.31 |
4 |
110 |
SPY180706P00255000 |
255.0 |
0.31 |
-0.0500000 |
0.31 |
0.33 |
5 |
1347 |
SPY180706P00256000 |
256.0 |
0.38 |
0.0000000 |
0.33 |
0.35 |
109 |
233 |
SPY180706P00257000 |
257.0 |
0.39 |
0.0000000 |
0.35 |
0.37 |
10 |
1145 |
SPY180706P00257500 |
257.5 |
0.42 |
0.0000000 |
0.37 |
0.38 |
84 |
313 |
SPY180706P00258000 |
258.0 |
0.39 |
-0.1500000 |
0.38 |
0.40 |
12 |
476 |
SPY180706P00259000 |
259.0 |
0.48 |
-0.0400000 |
0.41 |
0.42 |
124 |
480 |
SPY180706P00260000 |
260.0 |
0.44 |
-0.1000000 |
0.43 |
0.45 |
399 |
16121 |
SPY180706P00261000 |
261.0 |
0.48 |
-0.1200000 |
0.47 |
0.49 |
82 |
4555 |
SPY180706P00262000 |
262.0 |
0.51 |
-0.1600000 |
0.51 |
0.52 |
84 |
4054 |
SPY180706P00262500 |
262.5 |
0.56 |
-0.0200000 |
0.53 |
0.54 |
10 |
179 |
SPY180706P00263000 |
263.0 |
0.60 |
-0.0700000 |
0.55 |
0.57 |
29 |
809 |
SPY180706P00264000 |
264.0 |
0.79 |
0.0000000 |
0.59 |
0.62 |
48 |
418 |
SPY180706P00265000 |
265.0 |
0.67 |
-0.0600000 |
0.65 |
0.67 |
203 |
692 |
SPY180706P00266000 |
266.0 |
0.77 |
-0.2600000 |
0.71 |
0.73 |
108 |
1789 |
SPY180706P00267000 |
267.0 |
0.82 |
-0.1000000 |
0.78 |
0.80 |
147 |
621 |
SPY180706P00267500 |
267.5 |
0.85 |
-0.1300000 |
0.82 |
0.84 |
246 |
470 |
SPY180706P00268000 |
268.0 |
0.89 |
-0.1400000 |
0.86 |
0.89 |
366 |
553 |
SPY180706P00269000 |
269.0 |
1.00 |
-0.2000001 |
0.95 |
0.98 |
105 |
2061 |
SPY180706P00270000 |
270.0 |
1.07 |
-0.2199999 |
1.06 |
1.08 |
402 |
1732 |
SPY180706P00271000 |
271.0 |
1.19 |
-0.1300000 |
1.19 |
1.21 |
791 |
334 |
SPY180706P00272000 |
272.0 |
1.32 |
-0.2399999 |
1.32 |
1.36 |
2769 |
1652 |
SPY180706P00272500 |
272.5 |
1.79 |
0.0599999 |
1.42 |
1.44 |
257 |
707 |
SPY180706P00273000 |
273.0 |
1.50 |
-0.2900000 |
1.51 |
1.53 |
39 |
2022 |
SPY180706P00274000 |
274.0 |
1.78 |
-0.3299999 |
1.71 |
1.75 |
41 |
1246 |
SPY180706P00275000 |
275.0 |
1.95 |
-0.3599999 |
1.95 |
2.00 |
2786 |
1760 |
SPY180706P00276000 |
276.0 |
2.24 |
-0.4000001 |
2.24 |
2.27 |
405 |
2905 |
SPY180706P00277000 |
277.0 |
2.64 |
-0.1599998 |
2.57 |
2.62 |
365 |
1629 |
SPY180706P00277500 |
277.5 |
2.84 |
-0.1600001 |
2.76 |
2.82 |
719 |
1621 |
SPY180706P00278000 |
278.0 |
3.00 |
-0.8900001 |
2.98 |
3.04 |
1168 |
3198 |
SPY180706P00279000 |
279.0 |
3.62 |
-0.1400001 |
3.46 |
3.52 |
190 |
2222 |
SPY180706P00280000 |
280.0 |
4.11 |
-0.9299998 |
4.02 |
4.11 |
733 |
802 |
SPY180706P00281000 |
281.0 |
4.80 |
-0.2700000 |
4.67 |
4.77 |
184 |
1343 |
SPY180706P00282000 |
282.0 |
6.49 |
0.6399999 |
5.38 |
5.62 |
59 |
285 |
SPY180706P00282500 |
282.5 |
7.25 |
0.0000000 |
5.58 |
6.06 |
1 |
4 |
SPY180706P00283000 |
283.0 |
6.52 |
-0.7300000 |
6.04 |
6.51 |
3 |
58 |
SPY180706P00284000 |
284.0 |
8.05 |
0.0000000 |
6.86 |
7.35 |
43 |
76 |
SPY180706P00285000 |
285.0 |
9.60 |
0.0000000 |
7.83 |
8.31 |
46 |
86 |
SPY180706P00286000 |
286.0 |
10.65 |
0.0000000 |
8.77 |
9.26 |
20 |
55 |
SPY180706P00287000 |
287.0 |
12.80 |
0.0000000 |
9.70 |
10.20 |
25 |
25 |
SPY180706P00288000 |
288.0 |
12.55 |
0.0000000 |
10.68 |
11.18 |
20 |
30 |
SPY180706P00297500 |
297.5 |
26.52 |
0.0000000 |
26.28 |
26.61 |
1 |
1 |
SPY180706P00300000 |
300.0 |
29.01 |
0.0000000 |
28.77 |
29.10 |
1 |
1 |
#df_test <- optionPool$Jul.06.2018$calls
#head(df_test$calls)