中文

去年春天偶然对 stochastic volatility 起了兴趣。option pricing 教科书一上来就是 Black-Scholes 的 constant-vol 假设,但实际市场给你的是一个 K 和 T 两个维度的曲面,而且这个曲面还在动。底层是一组耦合的 SDE,理论自洽性很高,但实际拟合一直是 messy business。趁着兴起挑了 SVI 和 SABR——工业上最常用的两个 model——在 AAPL 真实数据上跑了一次对比,记一下。

两个模型在做什么不一样

SABRHagan 2002)是真正意义上的 stochastic-vol model:vol 服从一个独立的扩散过程,跟价格扩散通过 correlation ρ 耦合。它的 4 个参数 α, β, ρ, ν 都有金融意义——α 是 ATM vol,β 决定 stickiness(lognormal vs normal),ν 是 vol-of-vol,ρ 是 spot-vol 相关性。SABR 的卖点是参数可解释、可外推;缺点是它给出的 implied vol 公式(Hagan asymptotic expansion)是大 T 的近似,在短期、深 OTM 时假设 break down。

SVIGatheral 2004)走另一条路:直接 parameterize implied total variance

w(k) = a + b · (ρ · (k − m) + √((k − m)² + σ²))

5 个参数纯 descriptive。它不来自任何 SDE,所以拿到 SVI 参数后说不出”市场在想什么”;但作为 fitter 它极其灵活,可以贴合任何形状的 smile。

核心 trade-off:SABR 给你”为什么”,SVI 给你”贴得多紧”。

实验

AAPL 2024-09-13 snapshot,10 个 expiry 从 13 天到 6 个月。每个 expiry 拉 call mid quote → solve BS implied vol → 同时用 SVI 和 SABR 拟合 → 算 per-strike RMSE。SVI 额外做一个 butterfly-arbitrage diagnostic:implied density g(k) = ∂²C/∂K² 处处 ≥ 0 = 该 slice 无 butterfly 套利。

完整数据和图在 option_analysis_system repo 的 docs/analysis/06_svi_vs_sabr/

结果有一个明显的 regime split

Expiry T (y) SVI RMSE (bps) SABR RMSE (bps)
2024-09-27 0.04 121 577
2024-10-18 0.10 40 287
2024-11-15 0.17 18 97
2024-12-20 0.27 14 40
2025-01-17 0.35 10 13
2025-03-21 0.52 7 5

T ≤ 0.13y(约 6 周以内):SVI 比 SABR 好 2–5×。 13 天合约上 SVI 121 bps 对 SABR 577 bps——差不多 5 倍。直观解释:短期 smile 是 deeply U 形,两翼都很陡;SVI 的 5 个参数可以弯过去,SABR 的 Hagan 近似公式在这种 regime 下根本拉不出那么大的曲率。

T ≥ 0.35y:两者基本打平,SABR 反而略好。 smile flatten,曲线接近线性,谁拟合都行——SABR 在长端略胜,可能是因为它的 lognormal-plus-vol-of-vol 设定本来就匹配长期 smile 的轻微 skew。

Butterfly arbitrage 检查

SVI 灵活,理论上能把曲线弯到 implied density 局部为负,产生 butterfly 套利。所以拟合完要算一下 g(k) 的正性。这个 snapshot 10 个 slice 全部 g_min > 0,最紧的是 13 天那一个 (g_min = 0.03)——离 arb-free 边界很近但还在内侧。短期 SVI 是要监控的。

实践 take-away

  • 短期 vol slice 用 SVI 拟合,差距大到不是 SABR 调一调参数能补回来的。
  • 长期 SABR 也行,而且参数有 financial meaning,便于 risk management 和 stress test。
  • 生产里两者并用:SVI 负责 marking(精度优先),完了再 fit 一组 SABR 在 SVI 出来的 surface 上提取 ρ / ν 等可解释量。这套 “best-of-both” 在很多 trading desk 是标配。

底层 SDE 那套理论很漂亮,但工业实践里你真正需要的常常是一个能精确弯到市场形状、且 numerically 无套利的 fitter。SVI 在那个位置上几乎没有竞争对手。


English

Last spring I picked up an interest in stochastic volatility. Option-pricing textbooks open with Black-Scholes’ constant-vol assumption, but the real market gives you a surface over strikes and tenors that keeps moving. Underneath the surface is a coupled SDE system — theoretically clean, practically a mess to fit. I went and ran a small experiment comparing the two industry-standard models, SVI and SABR, on real AAPL data. Writing it down.

What separates the two models

SABR (Hagan 2002) is a genuine stochastic-vol model: vol follows its own diffusion, coupled to the price diffusion through a correlation ρ. Its four parameters α, β, ρ, ν all carry financial meaning — α is ATM vol, β sets the stickiness (lognormal vs normal), ν is vol-of-vol, ρ is spot–vol correlation. The selling point is interpretable, extrapolable parameters. The cost is that the implied-vol formula SABR ships with (Hagan’s asymptotic expansion) is a long-tenor approximation, and it breaks down in short, deeply-OTM regimes.

SVI (Gatheral 2004) takes the other path. It directly parameterizes implied total variance

w(k) = a + b · (ρ · (k − m) + √((k − m)² + σ²))

with five purely descriptive parameters. It comes from no SDE, so SVI parameters don’t tell you what the market is thinking. But as a fitter it bends to whatever the smile is doing.

The core trade-off: SABR gives you a “why,” SVI gives you “how tight.”

The experiment

AAPL on 2024-09-13, ten expiries from 13 days to six months. For each expiry: pull call mids → solve BS implied vol → fit both SVI and SABR → compute per-strike RMSE. SVI additionally gets a butterfly-arbitrage diagnostic — the implied density g(k) = ∂²C/∂K² must stay ≥ 0 everywhere, otherwise the slice contains a butterfly arb.

Full data and plots are in option_analysis_system under docs/analysis/06_svi_vs_sabr/.

The result is a clean regime split

Expiry T (y) SVI RMSE (bps) SABR RMSE (bps)
2024-09-27 0.04 121 577
2024-10-18 0.10 40 287
2024-11-15 0.17 18 97
2024-12-20 0.27 14 40
2025-01-17 0.35 10 13
2025-03-21 0.52 7 5

Short tenors (T ≤ 0.13y, roughly six weeks and in): SVI beats SABR by 2–5×. At 13 days SVI sits at 121 bps and SABR at 577 bps — almost 5×. The picture explains it: short-tenor smiles are deeply U-shaped with both wings steep; SVI’s five parameters can bend to that, while SABR’s lognormal asymptotic expansion can’t generate the curvature.

Long tenors (T ≥ 0.35y): essentially tied, and SABR even pulls slightly ahead. Smiles flatten and the curve goes nearly linear. SABR’s edge at the long end probably comes from its lognormal-plus-vol-of-vol structure matching the gentle long-tenor skew shape natively.

Butterfly arbitrage check

SVI’s flexibility means it can in principle bend a curve into a negative implied density and create butterfly arbitrage. So after fitting you have to check g(k) = ∂²C/∂K² stays non-negative everywhere. On this snapshot all ten slices stay strictly positive; the tightest is the 13-day expiry at g_min = 0.03 — close to the arb-free boundary but still inside. Short-tenor SVI is worth keeping an eye on.

Practical take-aways

  • Use SVI for short-tenor slices. The gap is too large to close by retuning SABR.
  • SABR is fine at the long end, and it gives you interpretable parameters for risk management and stress tests.
  • Production uses both. SVI marks the surface (accuracy first), then SABR is fit to the calibrated SVI surface to extract interpretable quantities (ρ, ν). That “best-of-both” stack is standard on most trading desks.

The SDE-grounded theory is beautiful, but what production usually needs is a fitter that bends accurately to whatever shape the market gives you, and is numerically arbitrage-free. SVI sits in that role with very little real competition.