带有到期日期的getOptionChain()似乎不限于指定的日期

时间:2014-03-13 02:08:26

标签: r finance quantmod

我已尝试以下方式获取AAPL选项链,其截止日期为2014年4月19日:

try1 <- getOptionChain("AAPL",Exp="2014-04-19")
try2 <- getOptionChain("AAPL",Exp=as.Date("2014-04-19"))

两者的结果相同,似乎是所有选项在四月到期:

> try1$puts
                     Strike   Last    Chg    Bid    Ask  Vol    OI
AAPL140419P00200000   200.0   0.05   0.00     NA   0.05    1    37
# <snip>
AAPL140411P00470000   470.0   0.30   0.05   0.25   0.42   10    43
# <snip>

上述链条的剪辑显示了2014年4月19日的选项,但也包括2014年4月11日。

我做错了什么?我正在运行&#34; R 3.0.2 GUI 1.62 Snow Leopard build(6558)&#34;使用CRAN的新quantmod安装。

1 个答案:

答案 0 :(得分:1)

getOptionChain从雅虎的网页上抓取数据。雅虎只在到期月份之前提供数据,而不是在特定日期提供数据。

您可以使用the greeks package中的expiry功能来确定哪些合约在特定日期到期:

> head(try1$puts[as.Date(expiry(rownames(try1$puts))) == "2014-04-19",])
                    Strike Last Chg Bid Ask Vol OI
AAPL140419P00200000    200 0.05   0  NA  NA   1 37
AAPL140419P00205000    205 0.15   0  NA  NA   0 25
AAPL140419P00210000    210 0.35   0  NA  NA   0 11
AAPL140419P00215000    215 0.01   0  NA  NA   2  9
AAPL140419P00220000    220 0.13   0  NA  NA   0 23
AAPL140419P00225000    225 0.80   0  NA  NA   0 12

请注意,您必须自己从源代码构建和安装greeks包。

或者你可以自己寻找约会对象:

> head(try1$puts[grepl("140419", rownames(try1$puts)),])
                    Strike Last Chg Bid Ask Vol OI
AAPL140419P00200000    200 0.05   0  NA  NA   1 37
AAPL140419P00205000    205 0.15   0  NA  NA   0 25
AAPL140419P00210000    210 0.35   0  NA  NA   0 11
AAPL140419P00215000    215 0.01   0  NA  NA   2  9
AAPL140419P00220000    220 0.13   0  NA  NA   0 23
AAPL140419P00225000    225 0.80   0  NA  NA   0 12