GARCH 是用过去的冲击和波动预测当前波动的模型。全称是广义自回归条件异方差(Generalized Autoregressive Conditional Heteroskedasticity),它把「今天的波动率有多大」当成一个可以被历史解释的变量,而不是一个固定常数。
它要处理的现象是波动聚集:市场剧烈的日子往往扎堆出现,平静的日子也扎堆出现。它的前身 ARCH 只用过去的残差平方来解释当前方差,需要很多个滞后项才够;GARCH 在此基础上加进了方差自身的滞后项,用两三个参数就能刻画同样长的记忆,因此参数更省、更常用。
ARCH(p) 只看过去的冲击:
σt2=α0+α1ϵt−12+⋯+αpϵt−p2
GARCH(1,1) 再加一项昨天的条件方差:
σt2=ω+αϵt−12+βσt−12
其中 σt2 是 t 时刻的条件方差,ω 是常数项,ϵt−12 是上一期残差的平方(昨天的意外有多大),α 是它的权重,σt−12 是上一期的条件方差,β 是它的权重。要求 α,β≥0 且 α+β<1,否则波动率会发散、模型没有长期均值。参数一般用最大似然估计(MLE)来定。
算一笔账#
用课程里的参数:ω=1.0、α=0.1、β=0.8。
长期方差是 ω/(1−α−β)=1.0/(1−0.9)=1.0/0.1=10,对应长期波动率 10≈3.16。
假设昨天条件方差 σt−12=10(正处在长期水平),但收到了一个不小的冲击 ϵt−1=6,则今天:
σt2=1.0+0.1×36+0.8×10=1.0+3.6+8=12.6
波动率从 3.16 抬到 12.6≈3.55。再往后做多期预测时,未来冲击的期望值就是当期方差本身,递推变成 σt+12=ω+(α+β)σt2:下一期是 1.0+0.9×12.6=12.34,再下一期 1.0+0.9×12.34≈12.11——一次冲击抬起来的波动,会以每期乘 α+β=0.9 的速度慢慢衰回 10 附近。这就是波动聚集的数学形态。
常见问题#
GARCH 能预测涨跌吗?#
不能。它建模的是波动的大小,不是方向。σt 变大只说明明天的振幅可能更大,涨跌各半。它的用武之地在风险度量、仓位缩放和期权定价,不是择时信号。
α 和 β 分别该怎么读?#
α 是对最新一次冲击的敏感度,越大说明波动率对突发事件反应越猛;β 是记忆的持久度,越大说明高波动状态拖得越久。两者之和越接近 1,波动回到长期均值的速度越慢;等于或超过 1,模型就不平稳了。
怎么知道数据到底需不需要 GARCH?#
先做 ARCH 效应检验:把残差平方对它自己的若干滞后项做回归,用 TR2 与卡方分布比较。原假设是不存在 ARCH 效应,p 值很小就可以拒绝它,说明波动确实随时间聚集,值得上 GARCH。反过来 p 值大只是无法拒绝原假设,不等于证明了同方差。