かなり単純な質問がありますが、残念ながら結果を得ることができません: 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)
しかし、うまくいきませんでした。
他に提案はありますか?ありがとう