我有一个相当简单的问题,但不幸的是只是不能得出结果: 我想将GBSVolatility函数应用于我的data.frame的每一行。对每一行应用GBSVolatility
我做了以下内容:
> vol <- function(x) GBSVolatility(x$Price, "c", S = 1000, x$Strike, Time = 1/4,
r = 0.01, b = 0.02, maxiter = 500)
> foo$iv <- apply(foo, 1, vol)
但是,这是行不通的。有人能告诉我为什么吗?
非常感谢
达尼
更新: 谢谢您的建议。我的数据帧被称为foo,看起来像这样
Date Price Strike Name
1.1 100 1200 X
1.1 120 1500 P
etc.
我想创建一个隐含波动率的新列。我试图申请,
vol <- function(x) GBSVolatility(x["Price"], "c", S = 1000, x["Strike"],
Time = 1/4, r = 0.01, b = 0.02, maxiter = 500)
foo$iv <- apply(foo, 1, vol)
但它没有工作。
您有任何其他建议吗?谢谢
这确实奏效,非常感谢! – Dani 2010-12-10 14:45:22