halo 的技术博客

返回

经典的随机波动率模型(Heston、OU 波动率)默认:波动率遵循一条普通布朗运动——也就是 Hurst 指数 H=1/2H = 1/2。在这个假设下,对数波动率是一个平滑、温和漂移的过程。于是模型预测:短期期权的隐含波动率偏度(skew)应该大致 1/T\propto 1/\sqrt{T}

但真实市场的股权微笑,短端比 1/T1/\sqrt{T} 还陡得多。少了一截——模型漏了什么?

Gatheral、Jaisson、Rosenbaum(2014, “Volatility is rough”) 用高频数据做了个简单却颠覆的实验:直接对「对数已实现波动率」算 variogram(变差函数),发现它随滞后 hh 的 scaling 是 h2Hh^{2H},而估计出来的 H0.1H \approx 0.1——远小于 0.5。也就是说,波动率不是平滑的,它是粗糙的(rough):它剧烈地、高频地来回折返,记性很短。

本文用一份自包含的 Monte Carlo,把这件事从头跑一遍:分数布朗运动怎么造、怎么从路径里估 HH、以及粗糙假设如何自然解释那个「短端过陡」的股权微笑。

一、直觉:波动率是「锯齿」不是「波浪」#

想清楚 HH 在管什么。分数布朗运动 BHB^H 的增量方差是:

E[(B^H_{t+h} − B^H_t)^2] = h^{2H}
plaintext
  • H=0.5H = 0.5:增量独立,路径像普通随机游走,温和连续;
  • H<0.5H < 0.5:增量负相关——涨一下就更容易跌回去,路径出现密集的来回折返,视觉上「毛刺很多」;
  • H>0.5H > 0.5:增量正相关,趋势被拉长,路径平滑。

实证说波动率的 H0.1H \approx 0.1,意味着它处在「极度负相关增量」那一端:波动率一跳起来就迅速被拉回,表面上看起来像高频噪声。这对期权定价是致命的——因为短端微笑的斜率完全由这个 HH 决定

二、造一条分数布朗运动(Cholesky 法)#

分数布朗运动没有独立增量,不能一步一步地随机游走生成;它的协方差由 HH 闭式给出,所以最干净的做法是直接构造协方差矩阵、Cholesky 分解、乘以标准正态向量

注意那个 −0.5·η²·t^{2H} 的确定性漂移项——它是让 vt=exp(ηBtH12η2t2H)v_t = \exp(\eta B^H_t - \frac12\eta^2 t^{2H})无条件期望保持为 1(即方差水平不随时间漂移)所需的补偿,正是粗糙 Bergomi 模型里的「detrend」项。

粗糙(H=0.1)对数波动率路径:锯齿状、剧烈来回折返;平滑(H=0.5)温和漂移

图上对比一目了然:粗糙那条(红)像被高频噪声反复抽打,每一步都在抖;平滑那条(蓝)则是我们熟悉的、缓和的随机游走。这视觉差异不是风格问题,是期权短端定价的全部来源。

三、从路径里估 H:variogram + 平均消除小样本偏误#

HH 的标准做法是对数波动率算 variogram,再用 log-log 斜率回收 2H2H

def estimate_H(logvol, hmax):
    Tlen = len(logvol)
    hs = np.arange(1, hmax + 1)
    V = np.array([np.mean((logvol[h:] - logvol[:-h]) ** 2) for h in hs])
    valid = V > 0
    slope = np.polyfit(np.log(hs[valid]), np.log(V[valid]), 1)[0]
    return slope / 2.0
python

单条路径用二阶矩估计器有偏(小样本下滞后项把斜率压低)。更稳的做法是先把多条路径的 variogram 平均,再拟合——这抵消了单路径噪声:

n_rep = 60; hmax = 200; hs = np.arange(1, hmax + 1)
V_rough = np.zeros(hmax)
for _ in range(n_rep):
    BH = fbm_chol(400, 0.1) @ rng.normal(0, 1, 400)
    for j, h in enumerate(hs):
        V_rough[j] += np.mean((BH[h:] - BH[:-h]) ** 2)
V_rough /= n_rep
slope_avg = np.polyfit(np.log(hs), np.log(V_rough), 1)[0]
H_avg = slope_avg / 2.0        # ≈ 0.11
python

平均 variogram(log-log):拟合斜率 2H≈0.22,回收 H≈0.11;对照 H=0.5 回收≈0.47

实测(本脚本口径):

  • 粗糙 H=0.1 的平均 variogram 回收 H≈0.11(slope 2H≈0.22)——几乎命中真值;
  • H=0.5 对照回收 ≈0.47——同样被小样本滞后偏误轻微下压(约 −0.03),但二者之间的**巨大鸿沟(0.11 vs 0.47)**毫不含糊地证明了「粗糙 vs 平滑」是真实结构差异,不是噪声;
  • 单条路径的 HH 估计均值 ≈0.08、分布很散(图 4),这正是真实实证研究里的难点:单路径估不准,必须平均或上极大似然

单条粗糙路径估计的 H 分布:小样本下分散、均值偏低,凸显必须平均/ML 估计

四、粗糙 Bergomi 与短端偏度:为什么它能解释股权微笑#

把粗糙波动率接进 Bergomi 框架(Gatheral 等 2014),方差过程写成:

v_t = ξ_t · exp( η·W_t^H − ½·η²·t^{2H} ),   W_t^H 为分数布朗运动(H<1/2)
plaintext

它的招牌结论极其干净——ATM 隐含波动率偏度满足 scaling:

skew(T) ∝ −η·ρ·T^{H−1/2}
plaintext
  • H=0.1H = 0.1 时:TH1/2=T0.4T^{H-1/2} = T^{-0.4}到期越短、偏度越陡
  • H=0.5H = 0.5 时:T0=1T^{0} = 1,偏度与到期无关——这正是经典 SV 模型「短端不够陡」的病根。

η=1.8, ρ=0.7\eta=1.8,\ \rho=-0.7(杠杆效应:跌时波动升),直接画这条 scaling 曲线:

H_b, rho, xi = 0.1, -0.7, 0.04
Tgrid = np.linspace(0.05, 2.0, 60)
skew_rough = -eta * rho * Tgrid ** (0.1 - 0.5)    # H=0.1
skew_class = -eta * rho * Tgrid ** (0.5 - 0.5)    # H=0.5 对照(常数)
python

粗糙 Bergomi 短端偏度 ∝ -ηρ·T^{H-1/2}:H=0.1 短端极陡,H=0.5 近似常数

实测幅度(低行权价一侧、即左偏):

到期 T粗糙 H=0.1 偏度经典 H=0.5 偏度
0.05 年(短期)4.180.95(常数)
2.0 年(长期)0.950.95

短端偏度是长端的 约 4.4 倍——这个「短端过陡、长端趋平」正是真实股权微笑的形状。经典模型(H=0.5)给不出这种短端强化,粗糙模型(H≈0.1)则天然命中。一句话:股权微笑短端之所以比 1/√T 还陡,是因为波动率本身是粗糙的。

五、真实陷阱(别直接照抄)#

  1. 二阶矩 variogram 估计器小样本有偏。本文单路径均值 0.08、平均 variogram 才回到 0.11(真值 0.1),H=0.5 对照也只 0.47。真实研究要用极大似然 / Whittle 估计 + 长样本,否则会把 H 系统性低估。

  2. 「粗糙」是真实现象还是微观结构噪声? 批评者认为 H≈0.1 是买卖价差、离散报价等微观结构伪影。Gatheral 等用无微观结构污染的已实现方差(如 MedRV)复现了 H≈0.1,但实盘部署前你要先排除自己数据的噪声贡献,别把报价伪影当波动率记忆。

  3. 粗糙 Bergomi 的校准是非平凡的。分数积分项让似然没有闭式,MC 估计波动大。生产上常用 Hyberbolic 近似 + 粒子/MCMC 校准,且 η,ρ,H\eta,\rho,H 三参数强相关,单独动一个会走私另一个——要联合校准并做置信区间。

  4. H 会随市场环境漂移吗? 大量实证假设 H 是常数 0.1,但危机期波动聚集改变,H 可能短暂抬升。把 H 当常数会低估危机期短端偏度风险。进阶用时变 H或 regime-switching。

  5. 模型对短端期权定价更准,但对长端/希腊字母仍要小心。粗糙模型主要修正短端 skew;长端它退化回经典行为,所以别指望它改善长端 vega 风险。且分数驱动让 delta/gamma 的路径依赖更强,对冲要重算。

  6. 数值生成 fBm 的 O(N²) Cholesky 在高频长序列上很贵。本文 N=600 够演示;实盘用 5 分钟级、数年数据会爆内存。要用 Wood-Chan / circulant embedding 的 O(N log N) 算法,别直接套 Cholesky。

六、小结#

「波动率是不是平滑的」看似一个技术细节,却是期权定价的一道分水岭。本文用自包含 Monte Carlo 跑通了 Gatheral 等人的核心论证:

  • 分数布朗运动把波动率的记忆写进协方差,H 决定它是锯齿(H≈0.1)还是波浪(H=0.5);
  • 平均 variogram 回收 H≈0.11,对照 H=0.5 仅 ≈0.47——鸿沟证明「粗糙」是真实结构;
  • 粗糙 Bergomi 的短端偏度 TH1/2\propto T^{H-1/2}:短端 4.18 vs 长端 0.95,自然解释股权微笑短端过陡;
  • 单路径 H 估计有偏、经典模型短端不够陡、校准非平凡——六类陷阱逐一列出。

从 «SABR 把微笑张开» 到 «Heston 用随机波动率解释微笑»,再到本文——期权定价的进化史,本质上就是「波动率假设越来越贴住真实记忆结构」的历史。粗糙模型告诉我们:波动率的记性很短,而它短到什么程度,决定了短端期权该值多少钱。

粗糙波动率模型:用分数布朗运动重写波动率的记忆
https://blog.halo26812.eu.org/blog/rough-volatility-model
Author halo
Published at 2026年7月17日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨