关于算法:R语言中进行期权定价的Heston模型

34次阅读

共计 1354 个字符,预计需要花费 4 分钟才能阅读完成。

原文链接: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%置信区间。

正文完
 0