欢迎光临散文网 会员登陆 & 注册

R语言中进行期权定价的Heston随机波动率模型|附代码数据

2023-05-15 23:28 作者:拓端tecdat  | 我要投稿

原文链接:http://tecdat.cn/?p=12111

最近我们被客户要求撰写关于Heston随机波动率的研究报告,包括一些图形和统计输出。

在本文中,我将向您展示如何模拟股票价格的Heston随机波动率模型

Heston模型是一种期权估值方法,它考虑到同一资产在给定时间交易的不同期权的波动性变化。它试图通过使用随机过程来模拟波动率和利率来重新创建市场定价。Heston模型的特点是将波动率函数的平方根包含在整个定价函数中。

对于固定的无风险利率,描述为:

通过使用这种模型,可以得出欧洲看涨期权的价格 。

这是函数的描述。

callHestoncf(S, X, tau, r, v0, vT, rho, k, sigma){# S = 股价在到期日的价格, X = 行权价格, tau = 到期日# r = 为无风险利率, q = 股息收益# v0 = 初始方差, vT = 长期方差# rho = 相关系数, k = 是Vt回归至θ的速度;# sigma = 波动率}

点击标题查阅往期内容

R语言Black Scholes和Cox-Ross-Rubinstein期权定价模型案例

左右滑动查看更多

01

02

03

04

现在,进行蒙特卡洛定价。我们将为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%置信区间。

本文摘选 《 R语言用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化 》 ,点击“阅读原文”获取全文完整资料。

点击标题查阅往期内容

r语言二元期权barrier option实现案例
R语言Black Scholes和Cox-Ross-Rubinstein期权定价模型案例
Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型
R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模
WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较
Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型
WINBUGS对随机波动率模型进行贝叶斯估计与比较
WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系
stata马尔可夫Markov区制转移模型分析基金利率
R语言对HullWhite短期利率模型仿真
Matlab通过市场数据校准Hull-White利率模型参数


R语言中进行期权定价的Heston随机波动率模型|附代码数据的评论 (共 条)

分享到微博请遵守国家法律