Lévy 过程概览:为什么正态不够
Lévy 测度有两端:零点附近决定路径有多粗糙,无穷远处决定尾部和矩存不存在。稳定分布、CGMY、Merton 跳跃扩散的差别,全在这两端上。
布朗运动是金融里的规范随机过程:高斯增量、连续路径、一套可处理的理论。教科书把它放在最前面,久而久之容易留下一个印象——它是这类过程的典型代表,别的都是它的变体。
反过来才对。布朗运动是 Lévy 过程里唯一的例外:唯一一个路径连续、不跳的。其余每一个 Lévy 过程都靠跳跃活着,有的跳得少而大,有的跳得多而小,有的每一瞬间都在跳。这些差别不散落在各个模型的定义里,它们全部记在同一本账上——Lévy 测度 。
读懂这本账只需要看两端: 在零点附近的行为决定路径有多粗糙(跳跃有多密、总变差是否有限), 在无穷远处的行为决定尾部有多肥、哪些矩存在。金融里那几个模型的全部区别,几乎都可以还原成这两端的取舍。下面就按这个思路走一遍。
Lévy 过程的四个条件
Lévy 过程 是满足以下条件的随机过程:
- 平稳增量。 对所有 与 同分布。
- 独立增量。 对所有 与 独立。
- 随机连续。 对任何 ,。
- ,且路径为 cadlag(右连续、左极限存在)。
就这四条,划出的却是一大片。布朗运动是 Lévy 过程,泊松过程是,稳定过程是,variance-gamma、CGMY、Merton 跳跃扩散、normal inverse Gaussian、双曲分布对应的过程也都是。
关键在于: 的分布通过 Lévy-Khintchine 表示决定整个过程。选定 的分布,剩下的一切——尾部行为、跳跃结构、金融含义——就都定下来了。
Lévy-Khintchine 表示:三个参数,只有一个有意思
对任何 Lévy 过程 ,其特征函数有形式
这是 Lévy-Khintchine 表示,参数是 (漂移的线性部分)、(高斯系数,即布朗分量的强度),以及 —— 上的一个测度,满足 ,称为 Lévy 测度。
前两个参数各自只是一个数,没什么可讲的。 才是模型之间真正的分界线: 是单位时间内大小落在 的跳跃强度,换句话说,它规定了这个过程每秒钟准备跳多少次、每次跳多大。布朗情形是边界:,账本空白,只剩高斯项 。
零点这一端:跳得有多密
先看 在 0 附近的行为。它决定小跳跃有多少,而小跳跃的多少决定了路径的粗糙程度。三个体制:
有限活动指 ,单位时间内平均只有有限个跳跃,泊松过程属于此类。这种路径你可以逐个数出跳跃发生在哪。
无限活动、有限变差指 但 :单位时间内有无穷多个跳跃,但它们小到总变差仍然有限。VG 和 CGMY()属于此类。
无限活动、无限变差指 且 :跳跃无穷多且总变差发散。CGMY()、NIG 和稳定过程属于此类。
如果 在原点附近像幂律那样发散,,这三个体制的分界就变成 的三段: 时 收敛,有限活动; 时活动无限但变差有限; 时变差也发散。 根本不允许——连 这个 Lévy 测度的基本可积条件都过不去,那不是一个更粗糙的过程,那是一个不存在的过程。
这个指数后面会以 CGMY 里的 的形式再出现一次,是同一个东西。
无穷远这一端:尾部与矩
另一端管的是大跳跃,而大跳跃管的是矩。判据很干净:矩 存在当且仅当
于是两类衰减方式分道扬镳。 在无穷远指数衰减(),所有阶的矩都有限; 幂律衰减(), 阶及以上的矩全部发散。
这一条决定了一个模型能被拿去做什么。定价时你关心的常常是低阶矩,而且期权价格是有界函数(或近似有界)的期望;风险管理里方差是主力,无穷方差就是硬伤。选模型要匹配用途:如果你的风险系统假定方差有限,就不要拿一个方差无穷的过程去出风险报告。
金融为什么要走出高斯
推动这件事的是几条经验事实,而且它们几乎一一对应到 的某一端。价格会跳(隔夜缺口、闪崩、财报发布),布朗运动连续,表示不了跳跃,这需要 。经验收益分布的尾部比高斯肥,这需要 在无穷远衰减得足够慢。股票收益负偏,这需要 左右不对称。第四条是聚合高斯性:拉长时间尺度后收益看起来更接近高斯,大多数 Lévy 过程本身就有这个性质,不用额外设计。
第五条波动率聚集是 Lévy 框架搞不定的,因为它和平稳增量直接冲突——需要时变 Lévy 或随机波动率才能进来,这一点后面再讲。
稳定分布:两端都是幂律
稳定分布是一类幂律尾的 Lévy 过程,由四个参数刻画: 是稳定性指数,控制尾部厚度( 给出高斯, 给出重尾); 是偏度参数( 对称); 是尺度参数; 是位置参数。特征函数为
其中 是相位函数,有 A、B 两种常见参数化。稳定分布是 i.i.d. 随机变量归一化和的自然极限,是重尾情形下中心极限定理的吸引子——这是它的理论魅力所在。
而它的实践困难,用上面那两端一读就出来了:稳定分布的 在无穷远是纯幂律,没有任何东西压住它。于是 时, 阶及以上的矩全部无穷。请注意这条规则没有例外: 的尾巴很重,均值存在,但方差是无穷的;(柯西)连均值都没有; 就更谈不上。方差、峰度这类标准风险度量在这里直接未定义。
对定价,问题还要更硬一点。若把对数价格建模为 的稳定过程, 发散,远期价格是无穷,看涨期权价格也是无穷。唯一的例外是把分布做成完全左偏()从而彻底切掉右尾——Carr & Wu (2003) 的 finite-moment log-stable 模型正是走的这条路。除此之外,稳定过程在定价上是不能直接用的。
再加上两个工程上的麻烦:密度没有闭式,特征函数已知但密度要数值反演;估计困难,极大似然因为密度没闭式而复杂,基于矩的方法在矩本身不存在时又是有偏的。综合起来,稳定分布主要活在理论工作和压力测试里(你要的就是最坏情形行为),实际定价则交给下面两位。
CGMY:把无穷远那端掐掉
如果稳定分布的病根是右端幂律没人管,最直接的处方就是给它乘一个指数衰减因子,把远端压下去,同时保留零点附近的幂律行为。这就是 tempering,也就是 CGMY。
Carr、Geman、Madan 和 Yor (2002) 提出的 CGMY 模型,Lévy 测度为
其中 ,,。四个字母各管一件事: 是整体活动强度; 和 分别控制正、负跳跃在无穷远的指数衰减速度( 就产生偏度); 控制零点附近的小跳跃行为,正是上一节那个指数。于是 有限活动, 无限活动有限变差, 无限活动无限变差。两端各归一组参数管,互不干扰——这是 CGMY 好用的根本原因。
顺着这个坐标看,几个熟面孔就是它的特例。 时 ,Lévy 密度退化成纯指数,这是 Kou 的双边指数跳跃模型(有限活动)。 时得到 variance-gamma 过程。 时指数因子消失,只剩幂律,回到对称稳定过程,此时 就是稳定性指数 。稳定分布在这张图上不是另一个家族,它是 tempering 强度归零的那个角落。
CGMY 有四个参数和闭式特征函数,灵活到可以拟合矩爆炸阈值以内的任何尾部行为。代价是四个参数都要从市场里估出来。
Merton 跳跃扩散:另一条路
CGMY 走的是纯跳跃路线。Merton (1976) 走的是另一条:保留布朗运动,在上面加一层稀疏的对数正态跳跃。动态为
其中 是强度 的泊松过程, 是跳跃幅度。 内的跳跃数服从均值 的泊松分布,每次跳跃把价格乘以 。
这个模型的漂亮之处在于闭式解。条件于跳跃次数 ,对数价格仍然是正态的,于是期权价格就是一串 Black-Scholes 价格按泊松概率加权:
其中 。求和收敛很快,通常 5-10 项就够。
Merton 是跳跃扩散建模的主力:简单、被理解得透彻、对那些跳跃不频繁但界限分明的资产拟合得不错。对跳跃频繁而细碎的资产它就吃力了,那是 CGMY 和 VG 的地盘。用 的语言说,Merton 的跳跃测度是有限的(一个高斯密度乘以 ),零点附近毫无活动,所有的”细碎”都推给了布朗分量去承担。
纯跳跃还是跳跃扩散
这就引出一个建模选择。纯跳跃 Lévy 过程有 (无布朗分量)和非零 ,例子有泊松、VG、CGMY、NIG、稳定。跳跃扩散则 且 ,例子有 Merton、Kou、Bates。
给一个始终在交易、根本没有真正连续路径的资产建模,纯跳跃是自然的:那些”跳跃”就是被聚合成看似连续运动的微小价格变动。给一个确实有连续运动、外加偶发大跳(比如带财报缺口的股价)的资产建模,跳跃扩散更贴切。
但这个区分比听起来模糊。跳跃极小的纯跳跃模型看上去可以很连续,布朗分量极小的跳跃扩散看上去可以主要是跳。经验拟合决定用哪个,而不是本体论。
无限活动听着病态,其实才是常态
单位时间无穷多个跳跃,这话听着像数学家在为难人。它其实是经验上更正确的那一侧。真实价格看上去在连续移动,但它是以极小的增量在移动的。如果你把这些极小增量当作跳跃来记账,每秒钟就有无穷多个。
对 的 CGMY 过程, 内跳跃数是无穷的,但任何紧区间内跳跃绝对值之和在 时有限、在 时无穷。VG 属于前者,路径有有限总变差。
实践中这个区别没有听上去那么要紧。经验事实是价格连续但在高频下非常参差,而带无限活动的连续时间 Lévy 模型正是用无穷多个小跳跃来捕捉这份参差。“跳跃”的实际数量是一个建模选择,不是关于世界的事实。
所以高斯是例外
带漂移的布朗运动是唯一路径连续的 Lévy 过程。其他每一个都有跳跃:有的小、有的大、有的数量无穷。高斯也是唯一方差有限的稳定分布,是唯一作为 i.i.d. 有限方差随机变量归一化和的极限出现的分布。
它数学上优雅,经验上不够用。金融收益有重尾(与高斯不相容)、有偏度(与对称分布不相容)、有跳跃(与连续路径不相容)、有波动率聚集(与平稳增量不相容)。带非高斯 的 Lévy 过程处理前三个。第四个要靠时变 Lévy 或体制切换,Lévy 框架本身给不了。
布朗运动是最简单的 Lévy 过程,教学上有用,经验工作上有限。它是起点,不是终点。
Carr-Madan:一个特征函数打天下
Lévy 模型有一个统一的定价出口。既然 Lévy-Khintchine 直接给出特征函数,那就用 Fourier 反演回到价格。Carr-Madan 公式给出看涨期权价格
其中 , 是阻尼因子(引入它是为了让被积函数可积),且
这里 是 的特征函数。公式对任何特征函数已知闭式的 Lévy 过程都成立,积分用 FFT 或求积法数值计算。
值得留意的是这件事对工程的影响:模型相关的输入只有特征函数一项,其余全是数值积分。换模型就是换一个 ,定价代码不动。这就是为什么 Lévy 模型能在机构里铺开——不是因为哪个模型特别好,而是因为它们共用一条管线。
校准,以及它会在哪里骗你
把 Lévy 模型校准到期权价格,流程是三步:选一个参数族(VG、CGMY、Merton 等),通过特征函数算出模型价格,然后极小化模型价格与市场价格的平方差之和。有了 FFT 定价,每次迭代亚秒级,速度不是问题。
麻烦在别处。目标函数非凸,多个参数组合可能给出相近的拟合,你落在哪个局部最优取决于初值。参数少而报价多(三四个参数对上几百个报价)看似不容易过拟合,实际上模型仍然可以去拟合报价里的噪声。最有用的诊断是稳定性:把同一个模型逐日校准,参数应该随时间平稳变化;如果它们天天跳,说明你拟合的是噪声不是结构。经验上 VG 和 CGMY 的校准通常比较稳,Merton 则常常不稳,因为 和跳跃参数之间存在相关,同一条微笑可以由”高扩散、少跳跃”或”低扩散、多跳跃”两套参数解释。
以 Merton 为例。参数为 、、、,价格是
其中 是 次跳跃下的有效波动率。校准即极小化
权重 通常取逆 vega 或逆买卖价差。对流动性好的单只股票,Merton 校准出来的量级大致是: 每年零点几次到一次跳跃, 在 0.05 到 0.15 之间, 在 -0.05 到 0 之间(跳跃带轻微负漂移,与负偏一致)。这些数字随样本期、标的和加权方式变化,只能当作数量级参考。
import math
import numpy as np
from scipy.stats import norm
def merton_call(S0, K, r, T, sigma, lam, mu_j, sigma_j):
"""Merton jump-diffusion call price."""
n_terms = 20
# k = E[e^J] - 1, the mean relative jump size
k = np.exp(mu_j + 0.5 * sigma_j**2) - 1
price = 0.0
for n in range(n_terms):
poisson_prob = np.exp(-lam * T) * (lam * T)**n / math.factorial(n)
sigma_n = np.sqrt(sigma**2 + n * sigma_j**2 / T)
r_n = r - lam * k + n * np.log(1 + k) / T # martingale correction
d1 = (np.log(S0/K) + (r_n + 0.5*sigma_n**2)*T) / (sigma_n*np.sqrt(T))
d2 = d1 - sigma_n*np.sqrt(T)
price += poisson_prob * (S0*norm.cdf(d1) - K*np.exp(-r_n*T)*norm.cdf(d2))
return price
漂移修正那一行容易写错:要扣的是 而不是 ,其中 。把 直接当成 用,鞅性就破了,价格会系统性偏。把这个函数包进最小二乘优化,就是一个能跑的 Merton 校准器。
时变 Lévy:波动率聚集的入口
前面欠着一笔账:平稳增量和波动率聚集不相容。补这笔账的标准做法是给 Lévy 过程换一个随机时钟。定义
其中 是 Lévy 过程, 是随机的递增过程。 跑得快的时候 就活跃,跑得慢的时候就安静——“活跃程度”本身变成了随机的,而这正是波动率聚集的意思。
如果 取积分 CIR 过程(即 , 服从 CIR),把 取成 VG,得到的就是带随机波动率的 variance-gamma:跳跃和随机波动率同时在场。这是 Carr、Geman、Madan 和 Yor (2003) 那条线上的模型以及大量从业者扩展的基础。实现要同时模拟时变和底层 Lévy 过程,两层随机,成本适中。
定价上仍然走特征函数:条件于时变,特征函数就是底层 Lévy 的;无条件特征函数是对时变分布的积分,通常也用 Fourier 方法算。Carr-Madan 那条管线依然通着。
自分解性与 VG 的近亲
一个 Lévy 过程称为自分解的,如果对任何 , 与 同分布( 独立于 )。直觉上这是说:把这个分布缩小一点之后,剩下的差额仍然是一个合法的独立随机变量——分布可以被自己”整除”。
这一类包括布朗运动(高斯情形)、variance-gamma、normal inverse Gaussian、双曲与广义双曲分布、Student’s t 对应的 Lévy 过程、某些参数限制下的 CGMY,以及所有稳定过程。自分解性蕴含无穷可分性(可写成任意多个 i.i.d. 副本之和的分布),后者正是 Lévy-Khintchine 表示成立的前提;VG、NIG 和双曲都是无穷可分的。
这类过程在实践中受欢迎,是因为它们的特征函数通常形式紧凑,Fourier 反演跑得动。这是经验观察而非定理,别把它当成保证。
加性过程与期限结构
Lévy 过程还有一个自然的松绑方向:保留独立增量,放弃平稳性。这样得到的是加性过程,允许时间非齐性。对期限结构建模这一点是必需的,因为不同期限的利率动态本来就不一样。
Heath-Jarrow-Morton (HJM) 框架可以写成远期利率上的加性过程模型:漂移由无套利条件决定,波动率可以随时间变化。这是高斯期限结构模型最一般的框架。把增量换成非高斯的,就得到带跳跃的 LIBOR 市场模型一类的扩展,行业里用它给带跳跃风险的奇异利率衍生品定价。
多资产:Lévy copula
多资产 Lévy 过程的依赖结构由 Lévy copula 指定,它描述不同资产的跳跃如何共同出现。这里不能照搬普通 copula,因为 Lévy 测度不是概率测度,总质量可以是无穷。正确的做法是在尾积分上做 Sklar 定理的类比。记边际尾积分 ,联合尾积分 满足
其中 就是 Lévy copula。它把”每个资产各自怎么跳”和”它们怎么一起跳”彻底分开,边际与依赖各自独立指定。
这里有个容易混的地方:Lévy copula 描述的是跳跃测度的依赖,而普通 copula(高斯、t、Clayton)描述的是某个到期时刻终端分布的依赖。两者是不同的对象,尽管 Clayton 这样的函数形式在两边都有对应版本。给篮子期权、最小值期权定价时,你需要的是终端时刻的联合分布,而它由跳跃层面的依赖结构生成,指定错了,价格就没救。
选哪一族,取决于你想捕捉什么。高斯型依赖简单但有限;t 型给出更重的尾部依赖,适合捕捉共同崩盘;Clayton 型是非对称的,左尾依赖强、右尾弱。而”资产一起崩、各自涨”正是经验上反复出现的尾部依赖形态,所以后两者通常比高斯型贴近数据。
一点历史
Lévy 过程以 Paul Lévy 命名,这位法国数学家在 1930、1940 年代研究它们。Lévy-Khintchine 表示由 Lévy 和 Khintchine 在 1930 年代独立发展。稳定分布还要更早,可以追到 Lévy (1925) 以及 Cauchy 等人的工作。
进入金融要晚得多。Madan 和 Seneta 1990 年关于 VG 模型的论文是转折点,2002 年的 CGMY 论文把这一支牢牢钉进了衍生品定价文献。今天每家大银行的生产系统里都跑着某种形式的 Lévy 模型。
该怎么选
回到 的两端,选型的逻辑其实很短。做实际期权定价,从 Merton 起步(简单、透彻、有闭式),拟合不够就转向 VG 或 CGMY——它们在零点那一端更细腻,能装下高频的参差。做尾部风险建模,CGMY 是稳妥选择,稳定过程只在压力测试里用,且要清楚它的方差不存在。做奇异期权,模拟往往是唯一出路,而 Lévy 框架至少让你在同一套特征函数下切换模型。
代价是实打实的:参数更多、分布非高斯、要跟无限活动这类反直觉的体制打交道。换来的是经验拟合。这笔账在哪些标的上划算,你得自己算。
想系统读下去,Cont 和 Tankov (2004) 的 Financial Modelling with Jump Processes 第 2-4 章是从业者的标准参考;Sato (1999) 的 Lévy Processes and Infinitely Divisible Distributions 是严格的数学处理;Kyprianou (2014) 的 Fluctuations of Lévy Processes with Applications 介于两者之间。至于本文提到的具体模型,Carr、Geman、Madan、Yor (2002) 是 CGMY 的原始论文,Carr & Wu (2003) 处理稳定分布定价发散的那条路,Merton (1976) 则仍然是跳跃扩散最值得一读的入口。