原文链接:http://tecdat.cn/?p=12111
在本文中,我将向您展现如何模仿股票价格的 Heston 随机稳定率模型。
Heston 模型是是一种期权估值办法,它思考到同一资产在给定工夫交易的不同期权的波动性变动。它试图通过应用随机过程来模仿稳定率和利率来从新创立市场定价。Heston 模型的特点是将稳定率函数的平方根蕴含在整个定价函数中。
对于固定的无风险利率,形容为:
通过应用这种模型,能够得出欧洲看涨期权的价格。
这是函数的形容。
callHestoncf(S, X, tau, r, v0, vT, rho, k, sigma){
# S = 股价在到期日的价格, X = 行权价格, tau = 到期日
# r = 为无风险利率, q = 股息收益
# v0 = 初始方差, vT = 长期方差
# rho = 相关系数, k = 是 Vt 回归至 θ 的速度;# sigma = 稳定率
}
当初,进行蒙特卡洛定价。咱们将为 3 个欧洲看涨期权定价,具备 3 种不同的行权价格。咱们在 15 年中应用 100000 个模仿,每个月进行一次。以下是仿真的参数:
# 初始价格
S0 <- 100
# 模仿次数(能够随便缩小)n <- 100000
# 抽样频率
freq <- "monthly"
# 稳定率均值回复速度
kappa <- 0.003
#稳定率
volvol <- 0.009
# 相关性。成交量和现货价格
rho <- -0.5
# 初始方差
V0 <- 0.04
# 长期的方差
theta <- 0.04
#初始短期利率
r0 <- 0.015
# 期权到期日
horizon <- 15
#期权行权价格
strikes <- c(140, 100, 60)
为了应用模仿 Heston 模型,咱们首先须要定义如何进行模仿。
此函数提供一个蕴含 2 个成分的列表,每个成分蕴含模仿的随机高斯增量。
# 随机稳定模仿
sim.vol <- simdiff(n = n, horizon = horizon,
frequency = freq, model = "CIR", x0 = V0,
theta1 = kappa*theta, theta2 = kappa,
theta3 = volvol, eps = shocks[[1]])
# 股票价格模仿
sim.price <- simdiff(n = n, horizon = horizon,
frequency = freq, model = "GBM", x0 = S0,
theta1 = r0, theta2 = sqrt(sim.vol),
eps = shocks[[2]])
当初,咱们能够计算 3 种不同的期权价格。
# 到期股票价格(15 年)print(results)
strikes mcprices lower95 upper95 pricesAnalytic
1 140 25.59181 25.18569 25.99793 25.96174
2 100 37.78455 37.32418 38.24493 38.17851
3 60 56.53187 56.02380 57.03995 56.91809
从这些后果中,咱们看到这三个期权的蒙特卡洛价格与应用函数(间接应用公式来计算价格)计算出的价格相当靠近。95%的置信区间蕴含实践价格。
上面是期权价格,作为模仿次数的函数。计算出的实践价格用蓝色绘制,蒙特卡洛平均价格用红色绘制,暗影区域示意均值(蒙特卡洛价格)四周的 95%置信区间。