跳到正文

极值理论:从 Fisher-Tippett 定理到 GPD

求和的世界归中心极限定理管,最大值的世界归 Fisher-Tippett-Gnedenko 管。从三类极限律到 GEV、从区组最大值到超阈峰值、从 GPD 到 return level——形状参数 ξ 是贯穿全程唯一守恒的量。

第 3 篇 · 共 12 篇 约 10 分钟

有一张图,每个风险经理迟早都会亲手重新发现一遍。拿标普 500 十年的日收益画个直方图,看尾部:它不像高斯。三倍、四倍、五倍标准差的地方密度太高了——高斯说”一万年一遇”甚至”十万年一遇”的位置,你每隔三年就能数出一个观测。

数据违反模型时,对的是数据。高斯尾按 e−x2/2e^{-x^2/2} 衰减,比指数衰减还快;而经验上金融收益是幂律尾,大致按 x−1−αx^{-1-\alpha} 衰减,α∈(2,5)\alpha \in (2, 5)。这不是调调参数能弥合的差距——幂律尾比高斯尾肥出几个数量级,无论怎么校准”尺度”都追不上。

那尾部该用什么模型?这正是极值理论回答的问题,而它的答案方式很不寻常:不是提议一个模型让你去检验,而是给出一个定理,告诉你样本最大值的极限律必然属于三类家族之一——就像中心极限定理告诉你归一化的样本和必然收敛到正态一样。求和的世界归 CLT 管;最大值的世界,归 Fisher–Tippett–Gnedenko 管。经验上金融损失落在其中的 Fréchet 类,对应的尾部工作模型就是 Generalized Pareto Distribution(GPD)。这篇文章把这条推导链完整走一遍,路上请盯住一个量:形状参数 ξ\xi。它会在每一站出现,而且每一站都是同一个 ξ\xi——这个守恒性就是整套理论能用的原因。

Fisher-Tippett-Gnedenko 定理

设 X1,X2,…,XnX_1, X_2, \ldots, X_n 是分布 FF 的 iid 样本,右端点 x∗=sup⁡{x:F(x)<1}x^* = \sup\{x : F(x) < 1\},样本最大值 Mn=max⁡(X1,…,Xn)M_n = \max(X_1, \ldots, X_n)。MnM_n 的 CDF 直接可写:

P(Mn≤x)=F(x)nP(M_n \le x) = F(x)^n

问题是 n→∞n \to \infty 时 F(x)nF(x)^n 收敛到什么。逐点看,任何固定 x<x∗x < x^* 处 F(x)n→0F(x)^n \to 0——退化了,就像不加归一化的样本和一样。所以要问的是重标度后的极限:Fisher–Tippett–Gnedenko(FTG)定理 (Embrechts, Klüppelberg & Mikosch, 1997, Thm. 3.2.3) 说,如果存在正规化常数 an>0a_n > 0、bnb_n 使得

Mn−bnan→dG\frac{M_n - b_n}{a_n} \xrightarrow{d} G

且极限 GG 非退化(不是单点分布),那么 GG 必然属于三类参数家族之一——没有第四种可能。这三类可以统一写成 Generalized Extreme Value(GEV) 分布:

Gξ(x)=exp⁡{−(1+ξx−μσ)−1/ξ},1+ξx−μσ>0G_{\xi}(x) = \exp\left\{-\left(1 + \xi \frac{x - \mu}{\sigma}\right)^{-1/\xi}\right\}, \quad 1 + \xi \frac{x - \mu}{\sigma} > 0

位置 μ∈R\mu \in \mathbb{R}、尺度 σ>0\sigma > 0、形状 ξ∈R\xi \in \mathbb{R}。三类的分野全在 ξ\xi 的符号上:ξ>0\xi > 0 是 Fréchet 型(Type II),重幂律尾,金融损失的归宿;ξ=0\xi = 0 是 Gumbel 型(Type I),指数型尾,正态、指数、对数正态的最大值都收敛到这里;ξ<0\xi < 0 是 Weibull 型(Type III),右端有界,适合被物理约束住的量(比如有限海况下的浪高)。代表性的例子各配一个:指数分布的最大值走向 Gumbel,Cauchy 的最大值走向 Fréchet,uniform(0,1) 的最大值走向 Weibull。

历史脉络一句话:Fréchet (1927) 先找到重尾那一类,Fisher & Tippett (1928) 列出全部三类,Gnedenko (1943) 补上严格的充要条件,统一的单参数化 GEV 写法由 Jenkinson (1955) 完成,McNeil、Frey & Embrechts (2015, §5) 把这套语言在金融风险里立成了标准。

形状参数 ξ\xi 决定一切

说 ξ\xi 是”形状”参数太谦虚了——它直接决定你的尾巴属于哪个世界。看 GEV 的右尾。ξ>0\xi > 0 时:

Gˉξ(x)=1−Gξ(x)∼x−1/ξas x→∞\bar{G}_\xi(x) = 1 - G_\xi(x) \sim x^{-1/\xi} \quad \text{as } x \to \infty

幂律衰减,指数为 1/ξ1/\xi:ξ=1/2\xi = 1/2 对应 x−2x^{-2} 的尾,ξ=0.2\xi = 0.2 对应 x−5x^{-5}。这个指数通常记作尾指数 α=1/ξ\alpha = 1/\xi。而 ξ=0\xi = 0(Gumbel 型)时,尾部比任何幂律都快:

Gˉ0(x)=1−exp⁡(−e−x)∼e−xas x→∞\bar{G}_0(x) = 1 - \exp(-e^{-x}) \sim e^{-x} \quad \text{as } x \to \infty

ξ<0\xi < 0(Weibull 型)时右端点干脆有界,x∗=μ−σ/ξx^* = \mu - \sigma/\xi,越过端点概率为零。三个世界的差别不是程度问题而是种类问题——所有高阶矩是否存在、极端分位数怎么随置信水平增长,全由 ξ\xi 的符号和大小决定。金融数据的经验答案落在第一个世界:日频股票收益拟出的 ξ\xi 大致在 0.2–0.4 的量级,对应尾指数 2.5–5,与 Cont (2001) 综述的典型化事实一致(具体数值随样本期和市场漂移)。

区组最大值法:定理的直接应用

FTG 说的是”最大值”的分布,那最朴素的用法就是造出一堆最大值来拟合——这是 block maxima(BM)方法 (Coles, 2001, §3)。把数据切成 kk 个不重叠的区组、每组 mm 个观测(比如 21 个交易日一组,即按月分组),对每组取最大值 Mj=max⁡(X(j−1)m+1,…,Xjm)M_j = \max(X_{(j-1)m+1}, \ldots, X_{jm}),然后对这 kk 个区组最大值做 GEV 的最大似然拟合。

区组大小定义了”极端”的口径:按月分组,你建模的是月度最大损失;按年分组,是年度最大损失。选多大是个偏差-方差权衡——区组越大,F(x)mF(x)^m 越接近 GEV 极限、偏差越小,但最大值个数 kk 越少、方差越大;区组越小则反过来 (McNeil, Frey & Embrechts, 2015, §5.2)。10 年日数据、每年 252 个交易日:按月给 k=120k = 120 个最大值,按季度只有 k=40k = 40。多数实证研究选月度区组,凑够 100 个以上的观测。

拟合本身是标准的 MLE。设 zi=(Mi−μ)/σz_i = (M_i - \mu)/\sigma,ξ≠0\xi \ne 0 时对数似然是

ℓ(μ,σ,ξ)=−klog⁡σ−(1+1ξ)∑i=1klog⁡(1+ξzi)−∑i=1k(1+ξzi)−1/ξ\ell(\mu, \sigma, \xi) = -k \log \sigma - \left(1 + \frac{1}{\xi}\right) \sum_{i=1}^k \log\left(1 + \xi z_i\right) - \sum_{i=1}^k \left(1 + \xi z_i\right)^{-1/\xi}

ξ→0\xi \to 0 时取连续极限形式,标准误由观察 Fisher 信息的逆给出。方法本身没毛病——毛病在它的胃口。

超阈峰值法:别把 95% 的尾部信号扔掉

BM 有个结构性的浪费:按月分组时,21 个观测里只留 1 个,哪怕某个月里第二大的损失比别的月的最大值还大,也照扔不误。研究尾部却扔掉大部分尾部观测,这说不过去。Peaks-Over-Threshold(POT) 方法改成保留所有高于某个阈值的观测、直接对超出量建模,统计效率更高,也是现代风险管理的主流做法 (McNeil, Frey & Embrechts, 2015, §5.3)。

取一个足够高的阈值 uu,对 Xi>uX_i > u 的观测定义超出量 Yi=Xi−uY_i = X_i - u,共 NuN_u 个。Pickands–Balkema–de Haan 定理(Balkema & de Haan, 1974; Pickands, 1975)说,当 uu 靠近右端点 x∗x^* 时,超出量的条件分布趋于一个统一的形式:

Pr⁡(Y≤y∣X>u)≈Gξ,σu(y)=1−(1+ξyσu)−1/ξ\Pr(Y \le y \mid X > u) \approx G_{\xi, \sigma_u}(y) = 1 - \left(1 + \xi \frac{y}{\sigma_u}\right)^{-1/\xi}

y>0y > 0 且 1+ξy/σu>01 + \xi y/\sigma_u > 0。这就是 Generalized Pareto Distribution。注意两个参数的不同待遇:尺度 σu\sigma_u 带着下标,依赖阈值;形状 ξ\xi 没有下标——它就是 FTG 定理里那个 ξ\xi,同一个母分布的 BM 拟合和 POT 拟合共享同一个尾指数。守恒的量又出现了。

为什么 GPD 和 GEV 共享 ξ\xi

这个守恒性值得推一遍,因为它同时给出阈值诊断的原理。对 FF 的上尾应用 FTG 定理,超出分布的极限是

P(X−u≤y∣X>u)→Gξ,σu(y)P(X - u \le y \mid X > u) \to G_{\xi, \sigma_u}(y)

其中 ξ\xi 与区组最大值的 GEV 里那个相同,只有尺度随阈值走。而且 σu\sigma_u 对 uu 的依赖是精确线性的:对 GEV 形状为 ξ\xi 的尾,

σu=σ+ξ(u−μ)\sigma_u = \sigma + \xi(u - \mu)

σ,μ\sigma, \mu 是 GEV 的尺度和位置。三种情形各自读一下:ξ=0\xi = 0 时 σu=σ\sigma_u = \sigma 是常数——指数尾的无记忆性;ξ>0\xi > 0 时 σu\sigma_u 随 uu 线性增大——阈值越高,尾部反而越”宽”,这是肥尾的招牌行为;ξ<0\xi < 0 时 σu\sigma_u 线性缩小、在 u=x∗u = x^* 处归零——有界分布的尾部被端点掐死。反过来用:在一串阈值上拟合 GPD,如果 ξ^\hat\xi 稳定而 σ^u\hat\sigma_u 线性变化,你就等于识别出了母分布的 GEV 上尾。

选阈值:POT 唯一的手艺活

POT 把 BM 的”选区组大小”换成了”选阈值 uu“,权衡的两头一样:uu 太低,混进非尾部数据,偏差;uu 太高,超出太少,方差。实务里靠三个互相印证的诊断。第一个是 mean excess plot:对 ξ<1\xi < 1 的 GPD,均值超出函数 e(u)=E[X−u∣X>u]e(u) = \mathbb{E}[X - u \mid X > u] 关于 uu 是线性的、斜率 ξ/(1−ξ)\xi/(1-\xi),所以画出经验 e(u)e(u)、找它开始变直的地方——直线区的起点就是候选阈值,顺手还能从斜率读出 ξ\xi 的初值。第二个是形状稳定性:对一串阈值分别拟合 ξ^\hat\xi,选最小的那个 uu,使得再往上 ξ^\hat\xi 基本不动——上一节的线性关系保证了这在渐近区里应该成立 (Coles, 2001, §4.3)。第三个是省事的经验起点:直接取数据的 90–95 分位当 uu,再用前两个诊断校验。三个方法没有一个是全自动的,这是 POT 的固有手艺成分。

金融里的常规操作是对损失侧(负收益取正)做 POT,阈值取损失分布的 90 分位附近,标普日收益上拟出的 ξ^\hat\xi 通常落在 0.2–0.4 的量级——和前面 BM 一侧的经验值对上了,这正是共享 ξ\xi 应有的样子。

Return Level:把 ξ\xi 变成一个能上报表的数

估完参数,EVT 最常交付的输出是 return level:期望每 TT 个观测被超过一次的损失水平。对 BM 拟合的 GEV,TT-观测 return level zTz_T 由分位数直接解出:

G(zT)=1−1/T  ⟺  zT=μ+σξ[(−log⁡(1−1/T))−ξ−1]G(z_T) = 1 - 1/T \quad \iff \quad z_T = \mu + \frac{\sigma}{\xi}\left[\left(-\log(1 - 1/T)\right)^{-\xi} - 1\right]

对 POT 拟合的 GPD,要把”超过阈值”和”超过 zTz_T“两层概率串起来。设 ζu=P(X>u)\zeta_u = P(X > u) 为超出概率,则

Pr⁡(X>zT)=1/T  ⟺  Pr⁡(X>u)⋅Pr⁡(X−u>zT−u∣X>u)=1/T\Pr(X > z_T) = 1/T \quad \iff \quad \Pr(X > u) \cdot \Pr(X - u > z_T - u \mid X > u) = 1/T

代入 GPD 的生存函数:

  ⟺  ζu⋅(1+ξzT−uσu)−1/ξ=1/T\iff \zeta_u \cdot \left(1 + \xi \frac{z_T - u}{\sigma_u}\right)^{-1/\xi} = 1/T

解出 zTz_T:

zT=u+σuξ[(ζuT)ξ−1]z_T = u + \frac{\sigma_u}{\xi}\left[(\zeta_u T)^\xi - 1\right]

三个输入全部可估:ξ^\hat\xi、σ^u\hat\sigma_u 来自 GPD 拟合,ζu=Nu/n\zeta_u = N_u/n 来自超出率。TT 很大时 (ζuT)ξ≫1(\zeta_u T)^\xi \gg 1,公式退化为

zT≈u+σuξ(ζuT)ξz_T \approx u + \frac{\sigma_u}{\xi}(\zeta_u T)^\xi

——return level 是 TT 的幂函数。这里再看一次 ξ\xi 怎么决定世界:肥尾(ξ>0\xi > 0)下,TT 每翻 10 倍,超出阈值的部分乘上 10ξ10^\xi(ξ=0.3\xi = 0.3 时约乘 2)——按比例放大;瘦尾(ξ=0\xi = 0)下 return level 只按 log⁡T\log T 增长,TT 翻 10 倍只加一个固定常数。千年一遇比百年一遇糟糕多少,答案完全写在 ξ\xi 里。

亲手拟一遍

import numpy as np
from scipy.stats import genpareto

# 从重尾分布模拟损失
np.random.seed(0)
n = 5000
losses = -np.random.standard_cauchy(size=n) * 0.005    # ~Cauchy 尾
losses = losses[losses > 0]   # 只保留损失
losses = losses[losses < 0.05]    # 截掉离谱的值以便拟合

# 选 90 分位作为阈值
u = np.quantile(losses, 0.90)
excess = losses[losses > u] - u

# 用 MLE 拟合 GPD(scipy 的符号约定:shape > 0 = 肥尾)
xi, loc, scale = genpareto.fit(excess, floc=0)

# T = 250(250 个交易日一遇)的 return level
T = 250
zeta_u = (losses > u).mean()
z_T = u + (scale / xi) * ((zeta_u * T) ** xi - 1)

print(f"Shape parameter xi: {xi:.3f}")
print(f"Scale parameter:    {scale:.5f}")
print(f"Threshold:          {u:.5f}")
print(f"Exceedance rate:    {zeta_u:.4f}")
print(f"250-day return level: {z_T:.5f}")

对着输出核两件事。第一,250 日 return level 明显大于经验 99 分位——这是设计使然,我们估的本来就是比样本能直接看到的更深的分位数。第二,ξ^\hat\xi 会明显低于 Cauchy 的理论值:Cauchy 的尾指数是 α=1\alpha = 1,即 ξ=1\xi = 1,但代码为了拟合稳定截掉了大于 0.05 的极端值,而截断会系统性地把 ξ^\hat\xi 往下拉。这本身就是一堂课——清洗数据时删掉”离谱”的观测,等于亲手把尾巴剪瘦,随后的一切尾部估计都会跟着乐观。

EVT 的边界

推导链走完了,最后把这套工具的边界画清楚。最硬的一条是 iid 假设:FTG 定理建立在独立同分布上,而市场的波动率 regime、监管环境、微观结构都在漂移——对 20 年数据拟一个 GPD,等于把差别很大的几段尾部行为隐式平均掉。常见的工程处理是先用 GARCH 类模型过滤掉波动率聚集、再对标准化残差做 EVT,或者分 regime 拟合。其次是样本量:ξ>0\xi > 0 时尾部估计量的置信区间随超出数减少而急剧变宽,超出少于百来个时渐近理论开始站不住,这也解释了为什么阈值诊断不能偷懒——它直接决定 NuN_u。最后是估计量本身的脾气:Hill 估计对阈值选择敏感、有限样本偏差可观(方向取决于分布的二阶尾部行为),moments 类估计更稳一些,MLE 在超出足够多时表现良好;严肃的分析应该多个估计量交叉印证,而不是信任单一数字。

这些边界没有一条否定 EVT 的地位:它仍然是对尾部建模唯一有定理背书的方法——你不是在猜尾部的函数形式,而是在用极限律规定的形式里估参数。下一篇在金融损失的 GPD 拟合上把实务流程逐步走一遍。

参考文献

Balkema, A. A., & de Haan, L. (1974). Residual life time at great age. Annals of Probability, 2(5), 792-804.

Coles, S. (2001). An Introduction to Statistical Modeling of Extreme Values. Springer.

Cont, R. (2001). Empirical properties of asset returns: stylized facts and statistical issues. Quantitative Finance, 1(2), 223-236.

Embrechts, P., Klüppelberg, C., & Mikosch, T. (1997). Modelling Extremal Events. Springer.

Fisher, R. A., & Tippett, L. H. C. (1928). Limiting forms of the frequency distribution of the largest or smallest member of a sample. Mathematical Proceedings of the Cambridge Philosophical Society, 24(2), 180-190.

Gnedenko, B. V. (1943). Sur la distribution limite du terme maximum d’une série aléatoire. Annals of Mathematics, 44(3), 423-453.

Jenkinson, A. F. (1955). The frequency distribution of the annual maximum (or minimum) values of meteorological elements. Quarterly Journal of the Royal Meteorological Society, 81, 158-171.

McNeil, A. J., Frey, R., & Embrechts, P. (2015). Quantitative Risk Management: Concepts, Techniques and Tools (rev. ed.). Princeton University Press. Ch. 5.

Pickands, J. (1975). Statistical inference using extreme order statistics. Annals of Statistics, 3(1), 119-131.