Variance-Gamma 过程:带偏度和峰度的收益
Variance-gamma 过程,它和 GBM 的联系,三个参数(sigma、nu、theta),以及为什么它比对数正态更好拟合金融收益。
几何布朗运动产生对数正态收益。对数正态在很多应用中没问题,但对金融数据它有两个著名的失败:对称尾部(无偏度)和不足的峰度(尾部不够肥)。经验上,股票收益是负偏的(大亏损比大盈利更常见),且峰度远高于 3(高斯值)。
Variance-gamma (VG) 过程解决了两个问题。它是一个三参数 Lévy 过程,分别控制方差、峰度和偏度,且有可处理的特征函数。VG 模型是捕捉股票收益经验特征的最干净的 GBM 扩展之一。这篇文章推导它的 SDE,计算它的矩,并展示它为什么能更好拟合数据。
为什么要新过程?
股票收益的经验形态事实:
- 负偏。 大亏损比大盈利更频繁发生。左尾更肥。
- 高峰度。 分布尾部比高斯肥。日度收益的峰度经常是 5-15,远高于 3。
- 波动率聚集。 波动率以波的形式出现。(静态分布不能处理。)
- 聚合高斯性。 长期来看收益看起来更接近高斯。(VG 也展现这个性质。)
GBM 产生对数正态收益,它有正偏和峰度 ,对典型 和 日度数据来说大约 3.5-5。不算差,但偏度错了(正而经验是负),且短期数据的尾部还是太薄。
VG 过程产生负偏收益且有任意峰度(由 参数化)。该模型对日度和周度股票收益的拟合远好于 GBM。
Variance-Gamma 过程作为时变的布朗运动
VG 过程是带随机时变的布朗运动。具体地说,设 是布朗运动, 是单位均值速率的 Gamma 过程。定义
其中 和 是常数。这就是 VG 过程。
直觉:Gamma 过程 是一个正的、递增的 Lévy 过程,增量服从 Gamma 分布。当 跳跃时, 跳跃。当 缓慢漂移时, 也缓慢漂移。结果是一个连续时间 Lévy 过程,增量有偏且肥尾。
Gamma 时变布朗运动的漂移 控制偏度。正 给出正偏(右尾肥);负 给出负偏(左尾肥)。对股票收益,我们想要 。
方差 控制波动的总体规模。Gamma 过程的方差控制 的方差。三个参数:、、以及 Gamma 过程的方差 (有时写作 )。
三个参数
标准 VG 参数化有参数 :
- 是布朗运动分量的波动率。
- 是 Gamma 时变的方差。
- 是布朗运动的漂移(也是偏度参数)。
的边际分布是 variance-gamma 分布,密度为
其中 是第二类修正 Bessel 函数。这是复杂闭式形式。实际中,你用特征函数来计算。
的均值是 (每单位期望 Gamma 时间)。方差是 。偏度是
峰度是
对股票收益, 给出负偏, 给出超额峰度。两者合起来捕捉经验特征。
SDE 表示
VG 过程有 SDE 表示
其中 是 Gamma 过程。等价地,条件于 ,,即 是高斯的混合,方差服从 Gamma 分布。
这是思考 VG 最干净的方式。它是有随机方差的正态分布,其中方差服从 Gamma 分布。高斯用 Gamma 混合产生的分布比任何单个高斯都有更肥的尾部。
为模拟,你可以要么:
- 从 Gamma 分布抽取 ,然后从 抽取 。
- 用级数表示: 其中 与 独立。
都行。第一个概念上更清晰。
特征函数
VG 分布的特征函数是
这是金融中最干净的特征函数之一。它闭式存在,像多项式一样衰减(重尾),且易于数值反演。
为期权定价,你计算 的特征函数并用 Fourier 反演。Carr-Madan 公式或 COS 方法在毫秒级给出期权价格。
指数 反映了缩放:在时刻 ,特征函数是单位时间特征函数的 次幂。这就是 Lévy 性质:VG 是带平稳独立增量的 Lévy 过程。
VG 作为股票价格模型
为对股票价格建模,取 ,其中 是让 的风险中性均值等于 的调整项。调整项是
这使得贴现股票 是鞅。
这个模型下,对数收益 是 VG 分布的(到线性漂移 为止)。分布有经验特征:负偏和高峰度。
通过 Fourier 方法期权定价
VG 下的期权价格是
代入 并用 的特征函数,我们得到
用 Fourier 反演,
其中 是 的平移特征函数。积分可以用基于 FFT 的方法数值计算。
Carr-Madan (1999) 方法把看涨期权价格作为带阻尼特征函数的逆 Fourier 变换。COS 方法 (Fang and Oosterlee, 2008) 用密度的余弦展开。两者都在毫秒级给出 5-6 位精度的价格。
对市场数据校准
校准 以拟合市场观察到的期权价格。标准方法:
- 对给定参数集,通过 Fourier 方法计算期权价格。
- 极小化模型价格和市场价格之间的平方差之和。
- 结果就是校准的 VG 参数集。
VG 模型产生带偏度和微笑的隐含波动率曲面,不像 Black-Scholes 给出平坦波动率。偏度参数 控制曲面的偏度; 控制微笑(曲率)。
对单个到期日,VG 有 3 个参数。一个到期日的期权曲面通常有数百个报价。拟合是高度超定的,校准是稳定的。
import numpy as np
from scipy.optimize import minimize
def vg_char_func(u, t, sigma, nu, theta):
"""Characteristic function of VG at time t."""
return (1 - 1j * u * theta * nu + 0.5 * sigma**2 * nu * u**2) ** (-t / nu)
def vg_call_price(S0, K, r, T, sigma, nu, theta):
"""VG call price via Fourier inversion (sketch)."""
# Apply Carr-Madan formula with damping
alpha = 1.5
u = np.linspace(1e-5, 200, 10000)
du = u[1] - u[0]
log_K = np.log(K)
cf = vg_char_func(u - 1j * (alpha + 1), T, sigma, nu, theta)
# ... (omitted for brevity)
return call_price
这是 VG 定价器的骨架。完整实现用 FFT 或特征函数的数值积分。输出是看涨期权价格作为 的函数。校准然后是最小二乘优化。
与其他模型比较
VG 和其他肥尾模型相比如何?
VG vs. Merton 跳跃扩散。 Merton 给 GBM 加上对数正态跳跃。结果有肥尾可以有偏。VG 精神上类似但用连续时间随机时变而非离散跳跃。VG 解析上更可处理(干净特征函数);Merton 有 Black-Scholes 求和公式。
VG vs. CGMY。 CGMY(以 Carr、Geman、Madan、Yor 命名)是推广 VG 的四参数 Lévy 过程。VG 是 CGMY 参数满足 、 的特例,仅留三个有效参数。CGMY 允许跳跃的无限活动(任何时间区间都有无穷多小跳跃),而 VG 有有限的单位时间活动。
VG vs. Heston 随机波动率。 Heston 对随机方差建模但假设底层条件于方差是高斯的。结果是有闭式特征函数的随机波动模型。VG 是静态分布模型(无随机波动),但有非高斯边际。
VG vs. SABR。 SABR 是专门为拟合波动率曲面设计的随机波动模型。它有隐含波动率的闭式近似(Hagan 公式)。VG 用 Fourier 方法拟合相同数据。
对用干净快速模型拟合波动率曲面,VG 是个好选择。对捕捉路径依赖特征(波动率聚集、杠杆效应),你需要随机波动率或体制切换。
为什么 VG 能很好捕捉股票收益
VG 对股票收益的经验拟合非常好。Madan-Seneta (1990) 和 Madan-Milne (1991) 论文表明 VG 对日度标普 500 收益的拟合远好于 GBM。负偏由 捕捉。峰度由 捕捉。波动率由 捕捉。
关键特征:VG 是用 Gamma 混合的高斯混合。这是一个灵活的分布族。许多经验分布可以被这种混合近似。VG 是有闭式特征函数的最简单混合之一。
对长期收益,VG 也展现聚合高斯性。VG 分布在时刻 的峰度是 (在 的对称情形),当 时趋于 3(高斯)。这匹配长期收益比短期收益看起来更正常的经验观察。
VG 路径模拟
对路径依赖期权的 Monte Carlo 定价,模拟 VG 路径。最简单的方法:
- 抽 Gamma 分布的时间增量 。
- 抽独立的正态增量 。
- 设定 。
- 累积:。
股票价格是 。这给出具有 VG 分布对数收益的路径和正确的鞅性质。
对路径依赖期权(亚式、回望、障碍),完整路径重要。模拟正确捕捉路径,因为增量是 i.i.d. VG 分布的。只要注意用足够多时间步来捕捉路径特征。
import numpy as np
def simulate_vg_paths(S0, T, n_steps, n_paths, sigma, nu, theta, r, seed=42):
rng = np.random.default_rng(seed)
dt = T / n_steps
omega = np.log(vg_martingale_correction(T, sigma, nu, theta, r)) / T
# Draw Gamma increments
shape = dt / nu
scale = nu
d_gamma = rng.gamma(shape, scale, size=(n_paths, n_steps))
# Draw Normal increments
Z = rng.standard_normal((n_paths, n_steps))
# VG increments
dX = theta * d_gamma + sigma * np.sqrt(d_gamma) * Z
# Cumulative sum
X = np.cumsum(dX, axis=1)
t = np.linspace(dt, T, n_steps)
S = S0 * np.exp(X + omega * t)
return np.concatenate([np.full((n_paths, 1), S0), S], axis=1)
这产生 路径带 VG 分布的对数收益。鞅修正 确保风险中性定价。
Madan-Seneta 结果
Madan and Seneta (1990) 表明 VG 过程与对称双曲分布有优雅联系。双曲分布是有闭式密度的四参数族。VG 是它的特例。
双曲族包括:
- 正态 ()。
- VG (有限 )。
- 双曲 (满四参数)。
- 广义双曲 (进一步扩展)。
对实际工作,VG 最有因为它只有三个参数和干净特征函数。双曲族的额外参数经常不需要来拟合股票收益数据。
关于数值稳定性
VG 特征函数涉及复数的幂。对大 ,这可能上溢或下溢。实现应该用对数空间算术:
复数的对数需要小心分支切割。大多实现用 numpy.log 处理复数并小心处理虚部。
为期权定价,Fourier 反演的积分对积分轮廓的选择敏感。Carr-Madan 阻尼因子 必须选择以确保积分收敛。典型值是 到 。
需要带走的要点
Variance-gamma 过程是三参数 Lévy 过程: 控制波动率, 控制峰度, 控制偏度。它是带 Gamma 分布随机时变的布朗运动。特征函数是闭式的,密度用 Bessel 函数表示,期权价格可以毫秒级用 Fourier 方法计算。
对股票收益,VG 捕捉到 GBM 漏掉的负偏和超额峰度。模型广泛用于股票期权、外汇期权、以及一些信用衍生品定价。它是 GBM 的最干净的肥尾、有偏扩展,且有可处理特征函数。
参考文献:Madan and Seneta (1990),Journal of Business;Madan and Milne (1991);Carr, Geman, Madan, and Yor (2002);Cont and Tankov (2004),Financial Modelling with Jump Processes,第 4 章。VG 论文有超过 1500 次引用,是金融中 Lévy 过程建模的标准参考文献之一。要了解更广的 Lévy 框架,读 Cont and Tankov。下一篇我们一般性地涵盖 Lévy 过程。
为什么出现 Bessel 函数
VG 分布的密度涉及第二类修正 Bessel 函数 。当有高斯用 Gamma 分布方差混合时,这个函数出现在整个应用数学中。数学原因是积分
是标准 Laplace 型恒等式,VG 密度正好来自以 Gamma 混合变量 做这个积分。
对数值求值,Bessel 函数内置于 scipy.special 和大多数值库。它们对中等参数表现良好,对非常大或非常小的参数需要小心(用渐近展开)。
为期权定价,你通常不需要直接求值密度。特征函数就够了。但如果你为了风险管理或压力测试需要密度,Bessel 形式是方法。
VG 和自分解性质
VG 过程是自分解的:对任何 , 的分布与 一个 VG 分布的独立增量相同。这就是 Lévy 性质(独立、平稳增量)。它让 VG 过程成为 Lévy 过程。
自分解性是比仅具有平稳独立增量更强的性质。它说任何时刻的分布可以写为早期分布的和一个独立增量之和。VG 满足这个。许多其他 Lévy 过程也满足。
对定价,自分解性有用,因为条件特征函数 分解因式。这让 Fourier 方法干净高效。
VG 和无穷可分性
VG 也是无穷可分的:对任何整数 , 的分布可以写为 个 i.i.d. 随机变量之和。具体地,。这是 Lévy-Khintchine 表示的另一面。
对 Monte Carlo,无穷可分让你通过把增量分成许多小段来模拟任意小区间上的 VG 增量。这对需要细时间分辨率的路径依赖期权有用。
Gamma 过程
驱动 VG 时变的 Gamma 过程 有 Gamma 分布增量:,形状参数 、尺度参数 。均值是 ,方差是 。对小的 ,增量小且类似 Gamma(方差低)。对大的 ,增量更大更易变。
Gamma 过程是有界变差的路径。每个增量是正的。所以 严格递增。这意味着 以变速率跑过布朗运动:当 跳跃时更快,当它不跳时更慢。
为模拟,对每个时间步抽 。增量独立。累积得到 。
VG 和 Laplace 分布
在 极限下,VG 分布变成高斯。在 极限下,VG 分布变成 Laplace 分布(双边指数),这是有指数衰减的重尾分布。Laplace 有比高斯肥但比稳定分布瘦的尾部。
参数 在这两个极限之间插值。小 给出接近高斯的行为。大 给出重尾行为。对股票收益,校准的 通常在 0.1-0.5 周围(年化),给出中等尾部。
Laplace 分布有密度 ,对 是指数的。尾部概率衰减如 ,比多项式快但比高斯的 慢。Laplace 的峰度是 6。
VG 下奇异期权定价
对路径依赖期权(亚式、回望、障碍),VG 要求模拟而非闭式 Fourier 方法。标准方法:
- 用 Gamma 时变布朗运动方法模拟 VG 路径。
- 在每条路径上计算收益。
- 对贴现收益取均值得到价格。
模拟是精确的因为 VG 是带 i.i.d. 增量的 Lévy 过程。只要抽对的时间步数然后累积。
对方差缩减,用对偶变量(为配对路径抽 和 )或控制变量(用 GBM 价格作控制)。两者对 VG 都好用因为模型足够接近 GBM,控制高度相关。
对障碍期权,模拟需要小心:过程跳跃(因为 Gamma 时变),所以被跳跃触及的障碍可能被细时间步模拟错过。用足够小的时间步或对跳跃概率的解析修正。
一个比较:VG 偏度 vs. 波动率微笑
VG 模型产生隐含波动率偏度。对 ,偏度向下倾斜(负),这是股票市场展现的。ATM 处的偏度斜率近似为
更高给出更陡的偏度。 更高给出更平缓的偏度。更长期限 给出更平缓的偏度(偏度以 衰减)。
这和经验观察一致:短期期权有比长期期权更陡的偏度。VG 自然捕捉这个。Heston 模型也捕捉它但是通过随机波动率而非静态偏度。
对风险管理,VG 偏度参数 大致跨时间常数(不像 Heston 参数可能漂移)。这让 VG 更易于压力测试和情景分析。
VG 和矩爆炸问题
VG 有所有阶的有限矩。尾部衰减够快让 的所有幂可积。这对比稳定分布(下一篇涵盖,)有某临界阶后无穷矩,形成对照。
为期权定价,有限矩意味着看涨期权价格有有限期望。对风险管理,有限矩意味着 VaR 和 Expected Shortfall 是良好定义的。这些是 VG 相对更重尾替代品的实际优势。
对非常深度虚值期权或压力情景,VG 模型可能低估尾部风险。对这些应用,你需要更重尾的模型(CGMY、稳定、或带幂律跳跃的跳跃扩散)。对典型期权定价,VG 就够了。
VG 模型在行业中
VG 模型被几家主要银行用于股票和外汇期权定价。它对给那些有肥尾但不受极端跳跃(比如稳定市场中的单只股票)影响的资产上的期权定价特别流行。干净特征函数和快速 Fourier 定价让生产使用效率高。
对多资产期权(篮子期权、对一组股票最低值的期权),VG 已被扩展到带相关 Gamma 过程的多资产版本。特征函数仍然可处理,虽然更复杂。
主要竞争对手是 CGMY 模型,它有四个参数且能捕捉更重的尾部。CGMY 更灵活但更难校准。VG 是可处理性和灵活性对很多应用的甜蜜点。
一种替代:Normal Inverse Gaussian
Normal Inverse Gaussian (NIG) 分布是另一个三参数 Lévy 过程,能很好拟合股票收益。它是带 的广义双曲分布的特例。NIG 有半重尾(比高斯重,比稳定轻)和解析可处理性。
VG 和 NIG 都对期权定价流行。VG 有更干净的矩公式;NIG 有略更简单的密度。对大多数应用,它们之间的选择取决于哪个更好拟合你的数据。两者都是肥尾股票收益建模的合理选择。
Barndorff-Nielsen (1997) 论文引入了 NIG。原始 NIG 论文简短且写得很好。要并排比较 VG 和 NIG,可以读它。