【问题标题】:RQuantLib is returning Vega, Theta, Rho, DivRho NARQuantLib 正在返回 Vega、Theta、Rho、DivRho NA
【发布时间】:2016-01-06 09:13:30
【问题描述】:

我正在调用 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 ?

我是否发送了错误的值?

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

【问题讨论】:

标签: r quantlib


【解决方案1】:

你必须用数字计算剩余的希腊人。

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

相反,美式期权的价格是通过有限差分模拟计算的,因此没有公式可以区分。模拟的机制使得计算和返回 Delta 和 Gamma 变得容易——正如你所看到的——但其他希腊人必须通过更改输入和重新定价选项来以数字方式计算;再次查看 Dirk 的答案或this screencast I recorded 中链接的线程。这并不便宜,因此留给用户来评估要计算的希腊语以及准确度。

【讨论】:

    猜你喜欢
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    相关资源
    最近更新 更多