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 两步法(我推荐)
为什么要两步?因为五个参数一起优化,很容易掉进局部最优。我建议:
- 第一步:固定ρ和m,只优化a、b、σ。这三个参数相对稳定。
- 第二步:用第一步的结果做初值,放开所有参数一起优化。
这样做的好处是——收敛快,而且不容易跑偏。
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≈0),拟合得特别好。两端稍微有点偏差,但整体趋势是对的。这就是SVI的魅力——用5个参数,抓住了波动率微笑的核心特征。
小技巧:如果你发现SVI在两端拟合不好,可以试试加权最小二乘法。给平值附近的点更高的权重,因为那里流动性最好,报价也最可靠。
好了,关于SVI模型,我就讲这么多。记住一句话:SVI不是万能的,但没有SVI是万万不能的。它是波动率曲面构建的基石,也是你进入量化期权世界的必修课。
公众号:蓝海资料掘金营,微信deep3321