19. 波动率曲面在期权定价中的角色:局部波动率模型、随机波动率模型(Heston)、模型校准
聊到波动率曲面,很多新手第一反应就是“把BS公式里的波动率换成曲面上的值不就完了?”嗯,如果你真这么干,那大概率会亏得连裤衩都不剩。波动率曲面不是用来查表的,它是整个期权定价体系的“输入层”。今天我就带你看看,这个曲面到底怎么跟定价模型打交道。
19.1 为什么BS模型不够用?
Black-Scholes模型假设波动率是常数。但现实呢?你随便拉一个期权链出来,隐含波动率肯定不是平的。我当年刚入行时,第一次看到SPX的波动率微笑,还以为是数据出错了。后来才明白——市场在用脚投票,告诉你“尾部风险”是有价格的。
BS模型的问题在于:它把波动率当成一个固定参数。但实际交易中,波动率会随标的价格、时间、行权价变化。说白了,BS只能给你一个“等效”波动率,而不是真实的随机过程。
19.2 局部波动率模型(Local Volatility Model)
局部波动率模型,简称LV模型。它的思路很直接:既然波动率曲面是存在的,那我就把这个曲面当成一个确定性函数,直接塞进定价模型里。
数学上,LV模型假设标的资产价格S(t)满足:
dS = μS dt + σ(S, t) S dW
这里的σ(S, t)就是局部波动率函数。它不是一个常数,而是依赖于当前价格和时间的函数。你可以从市场报价的波动率曲面中反推出这个函数。
我在项目中遇到过一个问题:用LV模型定价奇异期权时,短期期权价格拟合得很好,但长期期权总是有偏差。后来发现,LV模型本质上是一个“静态”模型——它假设未来的波动率结构跟今天一样。但市场会变,对吧?
19.3 随机波动率模型(Heston Model)
既然LV模型是“静态”的,那我们就搞个“动态”的。随机波动率模型,最经典的就是Heston模型。
Heston模型的核心思想:波动率本身也是一个随机过程。它有自己的均值回归特性、波动率(是的,波动率的波动率),以及跟标的资产的相关性。
Heston模型的SDE系统如下:
dS = μS dt + √v S dW₁
dv = κ(θ - v) dt + σ√v dW₂
dW₁ · dW₂ = ρ dt
参数解释:
- v:瞬时方差(波动率的平方)
- κ:均值回归速度
- θ:长期方差均值
- σ:波动率的波动率(vol of vol)
- ρ:标的与波动率的相关性
你想想看,这个模型比LV模型多了什么?多了“波动率的不确定性”。市场大跌时,波动率通常会飙升(负相关),Heston模型通过ρ参数就能捕捉这个现象。我记得有一次做VIX期货的定价,用LV模型怎么都拟合不好,换成Heston模型后,效果立竿见影。
19.4 模型校准:从曲面到参数
模型校准,说白了就是“让模型输出匹配市场报价”。你有一个波动率曲面,里面有不同行权价、不同期限的隐含波动率。你的任务是找到一组模型参数,使得模型计算出的理论价格尽可能接近市场价格。
校准流程大致如下:
- 获取市场数据:从交易所或数据商拿到期权链的报价,构建波动率曲面。
- 选择目标函数:通常用均方误差(MSE)或均方根误差(RMSE),比较模型价格与市场价格的差异。
- 优化参数:用数值优化算法(如Levenberg-Marquardt、模拟退火)最小化目标函数。
- 验证拟合效果:检查残差是否随机分布,有没有系统性偏差。
下面是一个简单的Heston模型校准代码示例(Python风格):
import numpy as np
from scipy.optimize import minimize
def heston_price(params, S, K, T, r):
# 简化的Heston定价函数
v0, κ, θ, σ, ρ = params
# ... 实际计算过程省略 ...
return price
def calibration_error(params, market_prices, S, strikes, expiries, r):
error = 0
for i, T in enumerate(expiries):
for j, K in enumerate(strikes):
model_price = heston_price(params, S, K, T, r)
error += (model_price - market_prices[i][j])**2
return error
# 初始参数猜测
initial_params = [0.04, 2.0, 0.04, 0.3, -0.7]
result = minimize(calibration_error, initial_params,
args=(market_prices, S, strikes, expiries, r),
method='L-BFGS-B', bounds=bounds)
19.5 两种模型的对比与选择
| 维度 | 局部波动率模型 | 随机波动率模型(Heston) |
|---|---|---|
| 波动率假设 | 确定性函数 | 随机过程 |
| 参数数量 | 少(依赖曲面插值) | 多(5个参数) |
| 校准难度 | 容易 | 较难(多局部最优) |
| 奇异期权定价 | 路径依赖弱的产品OK | 更灵活,适合复杂产品 |
| 动态一致性 | 差(未来曲面不变) | 好(波动率会演化) |
| 计算速度 | 快 | 慢(需要数值积分) |
我个人习惯是:如果只是做做标准期权的套利,LV模型就够了。但如果你要做结构性产品、做波动率对冲,那Heston模型是更好的选择。说白了,LV模型是“用今天的曲面预测明天”,Heston模型是“用今天的参数预测明天的曲面”。
19.6 知识体系总览
下面这张图总结了本章的核心逻辑:
从这张图你可以看到,波动率曲面是整个定价流程的起点。它既可以直接输入到LV模型(作为确定性函数),也可以用来校准Heston模型的参数。校准完成后,模型才能用于定价和对冲。
好了,这一章的内容就到这里。记住,模型只是工具,真正重要的是你理解市场在说什么。波动率曲面不会骗人,但模型可能会。校准的时候多留个心眼,别让优化算法把你带到沟里去。
公众号:蓝海资料掘金营,微信deep3321