12. SVI模型详解:SVI参数含义、SVI拟合方法、SVI的优缺点

说到期权波动率曲面,我敢说每个做量化的人都会遇到一个头疼的问题——怎么把市场上那些散落的隐含波动率点,变成一条光滑、可用的曲线?

嗯,SVI模型就是干这个的。全称是Stochastic Volatility Inspired模型,由Gatheral在2004年提出。说白了,它就是用5个参数,把波动率微笑的形状给描述出来。

核心思想:SVI模型不关心期权价格怎么来的,它只关心波动率微笑长什么样。你给它几个市场报价,它给你一条漂亮的曲线。

12.1 SVI模型的数学形式

先看公式,别怕,我拆开讲:

σ(k) = a + b * [ ρ * (k - m) + sqrt( (k - m)² + σ² ) ]

其中:

  • k = ln(K/S) —— 对数执行价,也叫"钱值"
  • σ(k) —— 对应k处的隐含波动率
  • a, b, ρ, m, σ —— 五个待估参数

这五个参数,每个都有它的脾气。我一个个说:

参数 含义 取值范围 影响
a 整体波动率水平 a ∈ ℝ 决定曲线的上下平移
b 微笑的倾斜程度 b ≥ 0 越大,曲线越陡
ρ 微笑的偏度(skew) |ρ| < 1 ρ > 0 右偏,ρ < 0 左偏
m 微笑的最低点位置 m ∈ ℝ 决定波谷在哪个执行价
σ 微笑的曲率(curvature) σ > 0 越大,底部越平缓

我的经验:在实际项目中,ρ和σ是最容易出问题的两个参数。ρ如果接近±1,说明你的数据有问题。σ如果太小,曲线底部会变得特别尖,这通常不符合市场行为。

12.2 SVI拟合方法

拟合SVI,说白了就是找一组参数,让模型算出来的波动率,跟市场报价最接近。我常用的方法有三种:

12.2.1 最小二乘法(最常用)

目标函数很简单:

min Σ [ σ_market(k_i) - σ_SVI(k_i; a,b,ρ,m,σ) ]²

用scipy.optimize.least_squares就能搞定。但我提醒你一句——初始值选不好,结果会很难看。

我个人习惯这样设初始值:

  • a = 平均波动率
  • b = (波动率最大值 - 最小值) / 2
  • ρ = 0(先假设对称)
  • m = 0(先假设波谷在平值附近)
  • σ = 0.1(经验值)

12.2.2 两步法(我推荐)

为什么要两步?因为五个参数一起优化,很容易掉进局部最优。我建议:

  1. 第一步:固定ρ和m,只优化a、b、σ。这三个参数相对稳定。
  2. 第二步:用第一步的结果做初值,放开所有参数一起优化。

这样做的好处是——收敛快,而且不容易跑偏。

12.2.3 带约束的优化

嗯,这里要注意。不加约束的SVI拟合,可能会给你一个"数学上完美、市场上荒谬"的结果。我一般加这些约束:

约束条件:
1. b ≥ 0.01  (防止微笑消失)
2. |ρ| ≤ 0.99  (防止过度偏斜)
3. σ ≥ 0.001  (防止曲率过尖)
4. a + b*σ*sqrt(1-ρ²) ≥ 0  (保证波动率非负)

我曾经踩过的坑:有一次拟合外汇期权,没加σ的下限约束,结果σ优化到了1e-8,曲线底部尖得像针一样。回测时策略表现特别好,实盘直接崩了。从那以后,我再也不敢不加约束了。

12.3 SVI的优缺点

任何模型都有两面性。SVI用了这么多年,我总结一下它的好与不好:

优点

  • 参数少,解释性强:5个参数,每个都有明确的几何意义。你跟交易员解释的时候,不用讲数学,直接说"这个参数控制微笑的歪斜程度"就行。
  • 拟合速度快:我实测过,100个期权报价,用两步法优化,0.1秒内就能收敛。这在盘中做实时曲面更新时特别重要。
  • 无套利条件容易检查:只要b ≥ 0 且 a + b*σ*sqrt(1-ρ²) ≥ 0,就能保证波动率非负。蝴蝶价差套利也能通过参数范围来控制。
  • 外推行为合理:在深度虚值区域,SVI不会像多项式那样乱飘。它保持线性增长,这符合市场直觉。

缺点

  • 对数据质量敏感:如果市场报价里有异常点,SVI会硬去拟合,结果整个曲线都被带偏。我建议在拟合前先做一次异常值剔除。
  • 不能保证日历套利无套利:SVI只处理单一期限的波动率微笑。如果你要做跨期限的曲面,需要额外加约束。
  • 参数相关性高:a和m、ρ和σ之间都有很强的相关性。这会导致优化时参数震荡,收敛慢。
  • 极端行情下表现差:2008年金融危机时,SVI在深度虚值区域的拟合效果很差。因为市场波动率微笑的形状发生了根本性变化,SVI的线性外推假设失效了。

我的建议:SVI适合做日常的波动率曲面构建,尤其是流动性好的主流期权。但在极端行情或深度虚值区域,我建议用SABR模型或者直接插值法做补充。

12.4 SVI拟合效果可视化

下面这张图展示了SVI拟合的效果。红色点是市场报价,蓝色曲线是SVI拟合结果。你看,在平值附近拟合得特别好,两端稍微有点偏差,但整体趋势是对的。

SVI拟合效果示意图 对数执行价 k = ln(K/S) 隐含波动率 -0.3 -0.15 0 0.15 0.3 0.10 0.15 0.20 0.25 SVI拟合 市场报价 波谷位置 (m)

你看,红色点代表市场上实际报出来的波动率,蓝色曲线是SVI拟合的结果。在平值附近(k≈0),拟合得特别好。两端稍微有点偏差,但整体趋势是对的。这就是SVI的魅力——用5个参数,抓住了波动率微笑的核心特征。

小技巧:如果你发现SVI在两端拟合不好,可以试试加权最小二乘法。给平值附近的点更高的权重,因为那里流动性最好,报价也最可靠。

好了,关于SVI模型,我就讲这么多。记住一句话:SVI不是万能的,但没有SVI是万万不能的。它是波动率曲面构建的基石,也是你进入量化期权世界的必修课。


公众号:蓝海资料掘金营,微信deep3321