RQuantLib正在返回Vega,Theta,Rho,DivRho NA

时间:2016-01-06 09:13:31

标签: r quantlib

我正在调用RQuantLib的AmericanOption方法来将希腊人作为

print( AmericanOption(type = 'call', 
                            underlying = 100,
                            strike = 100,
                            dividendYield = 0.02,
                            riskFreeRate = 0.0023,
                            maturity = 0.5,
                            volatility= 0.4, 
                            timeSteps = 150, 
                            gridPoints = 149,
                            engine="CrankNicolson"))

对于上述参数,我们得到以下希腊人 AmericanOption

的估值简明摘要
  value   delta   gamma    vega   theta     rho  divRho 
10.8149  0.5429  0.0141      NA      NA      NA      NA

为什么有些值是NA?

我发错了吗?

我需要进行哪些更改才能获得所有有效值?

1 个答案:

答案 0 :(得分:0)

你必须以数字方式计算剩余的希腊人。

Dirk's answer to a similar question添加一个位:根据设计,QuantLib函数(RQuantLib所依赖的)仅返回可以廉价计算的希腊字母。例如,欧洲期权通过分析公式定价,并且可以通过返回其衍生物(也通过分析公式给出,因此便宜计算)来返回所有希腊人。

相反,美国期权的价格是通过有限差分模拟计算出来的,所以没有公式可以区分。模拟的机制使得计算和返回返回的Delta和Gamma变得容易,如您所见 - 但其他希腊人必须通过更改输入和重新定价选项来数值计算;再看看Dirk的答案或this screencast I recorded中链接的主题。这并不便宜,因此留给能够评估希腊人计算什么以及准确度的用户。