gpt4 book ai didi

r - 如何计算 R 中的隐含波动率

转载 作者:行者123 更新时间:2023-12-04 19:26:17 30 4
gpt4 key购买 nike

我正在尝试基于 black scholes 变量在 R 中创建我自己的函数,并为 sigma 解决“向后”问题。

我创建了一个函数来查找通话价格;但是,现在我必须在 R 中找到 sigma(隐含波动率)估计值,然后测试我的函数以查看它是否有效......我尝试了不同的函数,但我似乎无法弄清楚我做错了什么,一部分我认为我需要知道 sigma 才能找到 sigma,但我不确定这是否有意义。

这是我在 Black Scholes 模型中为欧式看涨期权的价格创建的函数:

call <- function(s0, K, r, T, sigma) {
d1 <- (log(s0/K) + (r + sigma^2/2)*T) / (sigma*sqrt(T))
d2 <- d1 - sigma*sqrt(T
c <- s0*pnorm(d1) - K*exp(-r*T)*pnorm(d2)
c
}

我测试了我的函数,看看它是否可以与不同的代码一起正常工作:
call(100, 70, 0.05, 1, 0.16)
[1] 33.43686

call(300, 280, 0.03, 3, 0.18)
[1] 60.81694

call(400, 350, 0.04, 5, 0.20)
[1] 133.1626

现在我需要使用以下函数来查找 sigma:
    sigma <- function(call, s0, K, r, T) {

???
}

创建函数后,我需要使用以下内容对其进行测试:
sigma(33.43686, 100, 70, 0.05, 1)

sigma(60.81694, 300, 280, 0.03, 3)

sigma(133.1626, 400, 350, 0.04, 5)

相同的格式,但我无法弄清楚。我需要包含一个范围或序列才能找到 sigma?

我试过这个,但我不相信我们应该在函数中包含“v”
sigma <- function(call, s0, K, r, T, v) {
d1 <- (log(s0/K) + (r + v^2/2)*T) / (v*sqrt(T))
d2 <- d1 - v*sqrt(T)
c <- s0*pnorm(d1) - K*exp(-r*T)*pnorm(d2)
sigma_value <- d1 - d2 / sqrt(T)
sigma_value
}

sigma(33.43686, 100, 70, 0.05, 1, 0.16)
[1] 0.16
sigma(60.81694, 300, 280, 0.03, 3, 0.18)
[1] 0.4614232
sigma(133.1626, 400, 350, 0.04, 5, 0.20)
[1] 0.7358743

0.16 是“sigma” 我试图通过创建自己的函数来找到接近于此的估计值。

我也觉得我的西格玛离他们应该是

我也试过:
sigma <- function(call, s0, K, r, T) {
v = seq(from = 0.1, to = .2, by = .01)
k.range = floor(seq(from = 100, to = 400, length.out = length(v)))
for (i in 1:length(v)) {
d1 <- (log(s0/K[i]) + (r + (v^2)/2) * T) / (v * sqrt(T))
d2 <- d1 - v * sqrt(T)
C <- s0 * pnorm(d1) - K[i] * exp(-r*T) * pnorm(d2) - call[i]
}
v
}

在功能方面的任何帮助都会很棒。谢谢

最佳答案

RQuant 库中有一个内置的隐含波动率函数
例如。

AmericanOptionImpliedVolatility(type="call", value=11.10, underlying=100,
strike=100, dividendYield=0.01, riskFreeRate=0.03,
maturity=0.5, volatility=0.4)

它也是 fOptions 包中的一个函数,
GBS波动率
返回给定价格的 GBS 期权隐含波动率。 GBS = 广义 Black Scholes 模型
GBSVolatility(price, TypeFlag, S, X, Time, r, b, tol, maxiter)
BlackScholesOption(...)

参见 Espen Haug book 1997,2007 完整的期权定价;用于 MS excel VBA 中的算法。

关于r - 如何计算 R 中的隐含波动率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55779207/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com