创作不易,您的关注、点赞、收藏和转发是我坚持下去的动力!
大家有技术交流指导、论文及技术文档写作指导、项目开发合作的需求可以私信联系我。
Heston模型是一种用于金融市场的随机波动率模型,广泛应用于期权定价和资产定价中。该模型通过同时模拟资产价格和波动率的随机过程,提供了对实际市场中波动率微笑现象的较好解释。
1. Heston模型的基本公式
Heston模型假设资产价格 ( S_t ) 和其波动率 ( v_t ) 的动态遵循以下随机微分方程(SDE):
-
资产价格的SDE:
[
dS_t = \mu S_t dt + \sqrt{v_t} S_t dW_t^S
]
其中,( \mu ) 是资产的预期收益率,( v_t ) 是时变的随机波动率,( W_t^S ) 是一个布朗运动。 -
波动率的SDE:
[
dv_t = \kappa (\theta - v_t) dt + \sigma \sqrt{v_t} dW_t^v
]
其中:- ( \kappa ) 是均值回复速度,表示波动率回归到长期均值 ( \theta ) 的速度。
- ( \theta ) 是长期均值。
- ( \sigma ) 是波动率的波动率,表示波动率本身的随机性。
- ( W_t^v ) 是另一个布朗运动,与 ( W_t^S ) 的相关系数为 ( \rho )。
2. 风险中性测度(Q测度)转换
为了在市场中进行资产定价,我们通常使用风险中性测度 ( Q ) ,而不是实际测度 ( P )。在Heston模型中,风险中性测度下的波动率方程需要引入市场价格风险 ( \lambda ):
[
dv_t = \kappa (\theta - v_t) dt + \sigma \sqrt{v_t} d\widetilde{W}_t^v
]
其中,( \widetilde{W}_t^v ) 是在风险中性测度下的布朗运动。
3. Heston模型的参数估计
拟合Heston模型通常涉及以下几个步骤:
3.1 参数估计方法
- 最大似然估计(MLE):通过最大化历史数据的似然函数来估计模型参数。
- 最小平方误差(MSE):通过最小化模型价格和市场价格之间的平方误差来估计模型参数。
- 卡尔曼滤波:用于对含有隐状态变量的模型进行参数估计。
3.2 Python实现
这里以最大似然估计为例,展示Heston模型的参数拟合过程。
import numpy as np
from scipy.optimize import minimize
from scipy.stats import norm
# 定义Heston模型下的资产价格和波动率的动态
def heston_simulate(params, S0, v0, T, N, dt):