halo 的技术博客

返回

上一篇讲了极值理论的区组极大值路线:把 40 年日损失切成 480 个月块,每块取最大值,拟合 GEV。方法有定理背书,但有个让人心疼的浪费——每个月约 21 个观测,只留 1 个进模型,其余 20 个全扔。如果某个月出现了当年第二大和第三大的损失,它们对尾部估计的信息量明明很大,区组法却看都不看。

结论先放这:POT(Peaks Over Threshold,超阈值法)是极值理论的另一条主干路线,数据效率显著更高——定一个高阈值 u,把所有超过 u 的观测的超额部分拿来建模。Pickands-Balkema-de Haan 定理保证:阈值足够高时,超额分布收敛到广义帕累托分布(GPD),且形状参数 ξ 和 GEV 的 ξ 是同一个数。GARCH-t(5) 模拟 40 年日损失、95% 分位做阈值实测:504 个超额观测拟合 GPD 得 ξ=0.14,KS 检验 p=0.93 不可拒绝;外推 99.9% VaR 报 4.54%(样本内经验值 4.58%,正态公式只报 2.89%),99.99% 层级 POT 报 7.36% 而正态报 3.48%——正态假设在深尾把风险砍掉一半以上

第二个极值定理#

区组极大值背后是 Fisher-Tippett-Gnedenko 定理。POT 背后是 Pickands-Balkema-de Haan 定理(1974/1975),陈述同样干净:设 XX 的分布在 GEV 吸引域内,定义阈值 uu 之上的超额分布

Fu(y)=P(XuyX>u)F_u(y) = P(X - u \le y \mid X > u)

那么当 uu 趋近分布右端点时,FuF_u 收敛到广义帕累托分布(GPD):

Gξ,β(y)=1(1+ξyβ)1/ξG_{\xi,\beta}(y) = 1 - \Big(1 + \frac{\xi y}{\beta}\Big)^{-1/\xi}

两个参数:尺度 β 和形状 ξ。ξ 的语义与 GEV 完全一致

  • ξ > 0:幂律尾(Pareto 型)。t(ν) 分布对应 ξ = 1/ν,尾部按 y1/ξy^{-1/\xi} 衰减,是金融日收益的常态。
  • ξ = 0:指数尾。GPD 退化成指数分布——这是薄尾世界。
  • ξ < 0:有限右端点,损失有硬上限(金融里基本不出现)。

两个定理是一体两面:同一个分布,块最大值收敛到 GEV(ξ),超阈值超额收敛到 GPD(ξ),同一个 ξ。区别只在你怎么切数据——按时间切块取最大,还是按数值定阈取超额。

实验:GARCH-t(5) 的尾巴#

数据生成与上一篇完全相同:GARCH(1,1)-t(5) 模拟 40 年(10080 个交易日)日损失,真实尾部指数 ξ = 1/5 = 0.2,日损失峰度 8.6——标准的肥尾+波动聚集组合。

两个实现细节值得强调。第一,floc=0 不是偷懒——超额分布的定义就是从 0 开始的,让位置参数自由浮动是常见错误,会把 ξ 估歪。第二,外推公式里的 ζ=P(X>u)\zeta = P(X>u) 用经验频率 n_exc/n 估计,它是把「条件超额分布」翻译回「无条件尾部分位数」的桥梁。

日损失序列与超阈值观测

拟合结果:ξ = 0.14,bootstrap 90% 区间 [0.06, 0.22],盖住理论值 0.2;KS 检验 p = 0.93 不可拒绝。作为对照,强行用指数分布(ξ=0)拟合同一批超额,KS p = 0.08——在 504 个观测下勉强没被处决,但对数纵轴的密度图上能看到指数尾在深处系统性低估(下图左)。这是个值得诚实标注的现象:ξ=0.14 离 0 不算远,有限样本下 GPD 和指数的区分需要足够深的尾部观测,这也是为什么外推层级越深、模型选择错误的代价越大。

GPD 拟合与 QQ 图

阈值怎么选:平均超额图#

POT 的自由裁量点从「块多长」换成了「阈值多高」,权衡结构一模一样:

  • 阈值太低:超额分布还没收敛到 GPD,近似偏差污染估计;
  • 阈值太高:超额观测太少,方差爆炸。

经典诊断工具是平均超额函数(mean excess function):e(u)=E[XuX>u]e(u) = E[X - u \mid X > u]。GPD 有个漂亮性质——如果超额真的服从 GPD(ξ, β),那么 e(u)e(u) 是 u 的线性函数,斜率 ξ/(1ξ)\xi/(1-\xi)。所以实操是:画出经验平均超额对候选阈值的曲线,从图上找它开始变直的位置,从那里往上都是 GPD 领地。

平均超额函数

本实验中曲线在 90% 分位之后斜率转正且大体线性(正斜率 = 肥尾),95% 分位是个稳妥的选择——留下 504 个超额,均衡了偏差与方差。

更系统的做法是阈值敏感性扫描:把阈值从 85% 分位滑到 99% 分位,看 ξ 和外推 VaR 是否稳定:

阈值分位超额数ξ 估计99.9% VaR 外推
0.8515120.104.45%
0.9010080.114.46%
0.955040.144.54%
0.982020.184.55%
0.991010.094.57%

这张表有两个教科书不太爱讲的诚实信息。第一,ξ 随阈值升高从 0.10 爬向 0.18 再在 99% 分位跳回 0.09——前半段是近似偏差逐渐消退(低阈值混入了非尾部观测,把 ξ 往下拽),最后一跳是 101 个观测的纯方差噪声。第二,也是更重要的:尽管 ξ 在 0.09-0.18 之间漂移,99.9% VaR 的外推始终稳在 4.4-4.6% 的窄带里。因为 ξ 和 β 的估计误差在外推公式里部分对冲——这正是实务上该看的稳定性:别只盯参数,盯你真正要用的那个输出量。

阈值敏感性

外推对决:正态 vs 经验 vs POT#

风控真正的考题是深尾分位数。三个方法同台:

层级正态公式样本经验分位POT 外推POT ES
99%2.17%2.45%2.50%3.37%
99.5%2.41%3.02%3.04%4.01%
99.9%2.89%4.58%4.54%5.75%
99.99%3.48%6.24%7.36%9.03%

三个读法。第一,正态公式全程系统性低估,且越深越离谱:99.9% 层级只报 2.89%,是经验值的 63%;99.99% 层级报 3.48%,不到 POT 的一半。这不是正态「误差大」,是它的指数平方尾在结构上就装不下幂律尾。第二,POT 在 99.9% 层级和经验分位几乎重合(4.54% vs 4.58%)——这是模型正确性的交叉验证:10080 个样本在 99.9% 深度还有约 10 个观测点,经验分位数还能站住,两者互相印证。第三,99.99% 层级经验分位(6.24%)开始低于 POT(7.36%)——40 年样本在这个深度只有 1 个观测,经验分位数本质上就是样本最大值附近,它只能低估没见过的极端;POT 的参数化外推正是为这个深度存在的。99.9% VaR 的 bootstrap 90% 区间是 [4.14%, 4.91%],宽度约 ±9%——把不确定性一起报出去,比给一个假装精确的点估计诚实。

另一个 POT 独有的红利:ES(预期短缺)有闭式解 ESp=VaRp+βξu1ξES_p = \frac{VaR_p + \beta - \xi u}{1-\xi}(要求 ξ<1)。ES 的回测难,但在 POT 框架下 ES 的计算是免费的,且 VaR 与 ES 的比值 11ξ\frac{1}{1-\xi} 直接由尾部形状决定——ξ=0.14 时 ES 约为 VaR 的 1.16 倍再加常数项,肥尾越重这个倍数越大。

POT vs 区组极大值:怎么选#

同一份 40 年数据:区组法得到 480 个块最大值,POT 在 95% 阈值下得到 504 个超额——数量看起来接近,但信息质量不同。区组法的 480 个点里,平静年份的「块最大值」其实是尾部无关的普通观测(那个月根本没出大事),被迫进了模型;POT 的 504 个点全部真正来自尾部。反过来,区组法天然对波动聚集更钝感(一个月内的扎堆突破只贡献一个块最大值),POT 则会把聚集的超额全部收进来,破坏超额之间的独立性假设

实务准则:

  • 数据紧、只关心尾部 → POT,数据效率高,ES 有闭式解;
  • 数据充裕、担心序列依赖 → 区组法更稳健,或 POT + declustering(聚簇消除:一个波动簇里只保留峰值超额);
  • 最干净的路线:先 GARCH 滤波把波动聚集吸掉,对标准化残差做 POT——滤波管动态,GPD 管尾形,各司其职。

诚实的边界#

超额不独立是本实验的已知瑕疵。 GARCH 数据的超阈值观测在时间上扎堆(高波动周里连环突破),而 GPD 的似然写法假设超额 iid。后果不是 ξ 有偏,而是有效样本量虚高、置信区间过窄——504 个超额的「等效独立样本」可能只有三四百个(extremal index < 1)。严格做法是 declustering 或先滤波,本文直接拟合是为了和上篇 GEV 保持同一份原始数据可比。

外推是条件陈述。 POT 说的是「如果尾部机制不变,99.99% 分位在 7.4% 附近」。它管不了结构断裂——2008 之前的数据外推不出流动性螺旋,管制市场的历史外推不出制度变化。EVT 是把已有尾部信息用到极致的工具,不是预言机。

ξ 接近 0 时模型选择敏感。 本实验 ξ=0.14,bootstrap 区间下沿到 0.06——离指数尾不远。如果真实 ξ 更小,GPD 和指数的深尾外推差距会以指数速度放大对样本的要求。层级越深,越应该同时报多个模型的外推加区间,而不是单点。

阈值选择仍是研究者自由度。 平均超额图的「变直位置」有目测成分,敏感性扫描能兜底但不能消除。预注册阈值规则(比如固定 95% 分位)比事后挑一个好看的阈值诚实。

POT 和区组极大值构成了 EVT 的两条主干;配合 VaR 回测系列的检验工具,尾部风险的「估计-外推-验证」闭环就完整了:POT 负责把深尾量级估对,回测负责监督它每天有没有说谎。

超阈值 POT 建模:用广义帕累托分布拟合尾部超额
https://blog.halo26812.eu.org/blog/peaks-over-threshold-pot
Author halo
Published at 2026年7月27日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨