我已尝试以下方式获取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安装。
答案 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