我在数据框中有一个数据集,其中包含以下信息:
> head(rs1)
dater adjStkPrice optSym expire strike bid ask unadjStkPrice daysLeft pnl
1 2011-01-03 127.05 SPY 131221P00115000 2013-12-21 115 14.89 15.40 127.05 1083 319.5
2 2011-01-04 126.98 SPY 131221P00115000 2013-12-21 115 15.00 15.39 126.98 1082 328.4
3 2011-01-05 127.64 SPY 131221P00115000 2013-12-21 115 14.39 14.86 127.64 1081 287.2
4 2011-01-06 127.39 SPY 131221P00115000 2013-12-21 115 14.38 14.80 127.39 1080 278.7
5 2011-01-07 127.14 SPY 131221P00115000 2013-12-21 115 14.67 15.10 127.14 1079 300.2
6 2011-01-10 126.98 SPY 131221P00115000 2013-12-21 115 14.75 15.19 126.98 1076 303.4
我正在尝试使用包AmericanOptionImpliedVolatility
中的函数来获得隐含波动率RQuantLib
。问题是它似乎只采用单组值:
> rs1$impVol <- AmericanOptionImpliedVolatility("put", rs1$ask,
+ rs1$adjStkPrice, rs1$strike, .02, .05, rs1$daysLeft/ 365, .4)$impliedVol
Error in AmericanOptionImpliedVolatility.default("put", rs1$ask, rs1$adjStkPrice, :
expecting a single value
我认为这是该apply
功能的一个地方,但我不确定我是否正确使用它:
> rs1$impVol <- apply(rs1, 1, AmericanOptionImpliedVolatility("put", rs1$ask,
+ rs1$adjStkPrice, rs1$strike, .02, .05, rs1$daysLeft/ 365, .4)$impliedVol)
Error in AmericanOptionImpliedVolatility.default("put", rs1$ask, rs1$adjStkPrice, :
expecting a single value
有什么建议么?