5. 曲面构建实战:插值方法(SVI、SABR)、平滑处理
好了,咱们进入实战环节。前面聊了那么多理论,现在该动手了。曲面构建这事儿,说白了就是「用有限的点,猜出整张脸」。你手头只有几十个期权报价,却要推算出任意行权价、任意期限的隐含波动率——这就是插值的意义。
我个人习惯把插值分成两步走:先期限方向,再行权价方向。当然也有人一步到位做二维插值,但那样容易出幺蛾子。咱们一步步来。
5.1 为什么不能简单线性插值?
你想想看,波动率曲面是有「微笑」的。线性插值就像拿直尺画曲线,结果必然是锯齿状、不光滑。我在项目中遇到过用线性插值做回测,结果曲面出现负波动率——这在实际交易中根本不可能。
所以我们需要专门的模型。业内最常用的两个:SVI 和 SABR。
5.2 SVI 模型:参数化波动率微笑
SVI(Stochastic Volatility Inspired)模型,名字听着唬人,其实核心就是一个参数化公式。它把波动率微笑表达成对数行权价的函数:
σ(k) = a + b * ( ρ*(k - m) + sqrt((k - m)² + σ²) )
其中:
- k = ln(K/F) —— 对数行权价
- a —— 整体波动率水平
- b —— 微笑的倾斜程度
- ρ —— 微笑的偏度(左高右低还是右高左低)
- m —— 微笑的最低点位置
- σ —— 微笑的曲率(越尖还是越平)
嗯,这里要注意:SVI 的参数不是随便给的。我见过有人直接用优化器乱跑,结果参数物理意义全乱套。我的建议是:先固定 m 和 σ,再拟合 a、b、ρ。这样收敛快,也不容易过拟合。
5.3 SABR 模型:随机波动率下的微笑
SABR(Stochastic Alpha Beta Rho)模型,是金融工程界的「老黄牛」。它假设波动率本身也是随机的,能更好地捕捉远期波动率的结构。
SABR 的核心参数:
| 参数 | 含义 | 典型范围 |
|---|---|---|
| α | 波动率水平 | 0.1 ~ 0.5 |
| β | 弹性系数(0 为对数正态,1 为普通正态) | 0 ~ 1 |
| ρ | 资产与波动率的相关系数 | -1 ~ 1 |
| ν | 波动率的波动率(vol of vol) | 0.1 ~ 0.8 |
我曾经在拟合 SABR 时踩过一个坑:β 和 ν 高度相关,一起优化会导致参数不稳定。后来我学乖了——先固定 β(通常取 0.5 或 0.7),只优化 α、ρ、ν。这样参数稳定多了。
5.4 平滑处理:别让曲面「长毛」
插值完的曲面,往往会有局部凹凸。这时候需要平滑处理。我常用的方法有三种:
- 样条平滑:对期限方向用三次样条,对行权价方向用 SVI 拟合后的残差做平滑
- 核回归平滑:用高斯核做局部加权平均,适合数据点稀疏的情况
- 正则化约束:在优化目标中加入二阶导数的惩罚项,强制曲面光滑
5.5 实战代码:SVI 拟合示例
下面给一段 Python 代码,展示如何用最小二乘法拟合 SVI 参数。注意,这只是示意,生产环境需要加边界约束。
import numpy as np
from scipy.optimize import curve_fit
def svi(k, a, b, rho, m, sigma):
return a + b * (rho * (k - m) + np.sqrt((k - m)**2 + sigma**2))
# 假设我们有市场数据
k_data = np.array([-0.3, -0.2, -0.1, 0.0, 0.1, 0.2, 0.3])
vol_data = np.array([0.28, 0.25, 0.23, 0.22, 0.23, 0.26, 0.30])
# 初始参数猜测
p0 = [0.2, 0.1, -0.3, 0.0, 0.1]
# 拟合
popt, pcov = curve_fit(svi, k_data, vol_data, p0=p0,
bounds=([0, 0, -1, -1, 0], [1, 1, 1, 1, 1]))
print(f"拟合参数: a={popt[0]:.3f}, b={popt[1]:.3f}, rho={popt[2]:.3f}, "
f"m={popt[3]:.3f}, sigma={popt[4]:.3f}")
5.6 知识体系总览
下面这张图,是我自己总结的曲面构建流程。你可以把它当作「施工图纸」:
你看,整个流程其实不复杂。关键就两点:选对模型(近月 SVI,远月 SABR),做好平滑(别让曲面出现异常凸起)。
最后说一句:曲面构建不是一锤子买卖。我每周都会重新校准一次参数,遇到市场剧烈波动时甚至每天校准。毕竟,过时的曲面比没有曲面更危险。
- SVI 适合近月、微笑明显的合约
- SABR 适合远月、波动率结构复杂的合约
- 平滑处理要适度,交叉验证是好朋友
- 定期校准参数,别让曲面「过期」
公众号:蓝海资料掘金营,微信deep3321