ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

GARCH模型原理与实战:金融波动率建模核心技术

GARCH模型原理与实战:金融波动率建模核心技术 简介本资源是一份面向金融工程、计量经济学及量化投资方向学习者与从业者的GARCH模型族教学课件系统讲解金融时间序列波动性建模的核心方法与前沿拓展。课件聚焦解决传统线性模型无法刻画的波动聚集、高峰厚尾及非对称效应等现实金融问题覆盖ARCH、GARCH、IGARCH、TGARCH、EGARCH、PARCH及GARCH-M等十余类模型的原理、设定逻辑、适用场景与实证要点并辅以日元兑美元汇率等典型案例分析强化理论与实务衔接。资源为单个1.56MB的PPTX文件内容结构完整含9.1–9.11共十一节从问题提出到模型比较层层递进图表丰富、公式规范、术语准确适合作为课堂讲义、自学提纲或复习索引。目前已有200人学习下载是掌握金融风险度量与波动率预测关键工具的高效入门与进阶材料。1. 为什么日元汇率的“平静期”和“风暴期”不能用普通回归预测2000 年前后的日元兑美元汇率不是一条平滑上升或下降的曲线而是一段段“静水深流”与“惊涛裂岸”交替出现的时间序列1995 年 4 月跌至 81.121998 年 8 月又冲高至 147.14。更关键的是它的波动本身就在自我强化——连续几天小幅震荡后可能突然爆发连续多日大幅跳空而这种剧烈波动之后又常跟着数周的低振幅整理。传统线性回归模型比如用前几期汇率预测下一期能拟合均值路径却对“下一期波动是 ±0.5 还是 ±3.0”毫无发言权。因为它的误差项被默认为同方差、独立同分布而真实金融数据的残差平方序列即波动的代理变量存在显著自相关——这正是 GARCH 模型族要解决的核心问题不预测价格本身而是建模并预测“不确定性”的动态结构。它面向的不是统计学初学者而是已掌握 OLS、ARIMA、单位根检验并正在处理高频交易信号、VaR 风险计量、期权隐含波动率校准等实际任务的量化分析师、风控工程师与宏观研究员。你不需要从零推导似然函数但必须清楚当 EViews 报出LM 91.4 χ²(1) 3.8时你该立刻放弃同方差假设转向条件方差建模。2. 从 ARCH(q) 到 GARCH(p,q)为什么必须压缩滞后阶数2.1 ARCH(q) 的本质与致命缺陷用 q 个残差平方“硬编码”波动记忆ARCH 模型将条件方差 σₜ² 表达为过去 q 期残差平方的线性组合σₜ² α₀ α₁uₜ₋₁² α₂uₜ₋₂² … α_q uₜ₋q²这个设定在逻辑上非常直观昨天的亏损uₜ₋₁ 0或暴涨uₜ₋₁ 0越大今天市场越可能继续动荡。张晓峒课件中 JPYEN 案例的 ARCH(7) 估计结果σₜ² 0.37 0.13uₜ₋₁² 0.09uₜ₋₂² … 0.07uₜ₋₇²就印证了这一点——所有 7 个系数均显著t 值从 14.5 递减到 2.4。但问题在于q7 意味着模型需要估计 8 个参数α₀ 到 α₇且每个新观测都需存储前 7 期残差。在高频场景如分钟级外汇报价下这不仅带来维度灾难更导致参数估计不稳定——小样本中 αᵢ 的标准误极易膨胀t 检验失效。更重要的是ARCH(q) 强制要求波动记忆呈“截断式衰减”uₜ₋₈² 对 σₜ² 的影响被设为 0而实证发现金融波动的记忆往往具有长周期特征如 2008 年危机引发的波动余波持续数月。这违背了金融时间序列的“长期依赖性”long memory事实。提示ARCH 检验的 LM 统计量TR²中T 是辅助回归的样本量而非原回归样本量。若原序列有 1427 个观测但 ARCH(1) 辅助回归需用 u̅² 对 u̅²₋₁ 回归则有效 T 1426首期无滞后残差。课件中写T 1421是因均值方程已用 AR(2) 和 AR(3)损失了 3 个初值故1427 - 3 - 3 1421。忽略此细节会导致 LM 值计算错误。2.2 GARCH(p,q) 的突破用自回归项替代高阶 ARCH 项GARCH 模型通过引入 σₜ₋₁² 的滞后项将 ARCH(q) 的无限记忆“压缩”为可管理的参数集。其核心方程为σₜ² α₀ Σᵢ₌₁ᵖ λᵢ σₜ₋ᵢ² Σⱼ₌₁^q αⱼ uₜ₋ⱼ²以最常用的 GARCH(1,1) 为例σₜ² α₀ λ₁ σₜ₋₁² α₁ uₜ₋₁²这里λ₁ σₜ₋₁² 被称为GARCH 项代表“波动自身的惯性”α₁ uₜ₋₁² 是ARCH 项代表“新冲击的即时反应”。关键洞察在于当 0 ≤ λ₁ 1 时GARCH(1,1) 可展开为无穷级数σₜ² α₀/(1−λ₁) α₁ Σₖ₌₀^∞ λ₁ᵏ uₜ₋₁₋ₖ²这意味着它等价于一个权重按 λ₁ᵏ 指数衰减的无限阶 ARCH 模型。课件中推导σₜ² α₀/(1−λ₁) (α₁ α₁λ₁L α₁λ₁²L² …) uₜ₋₁²正是此意——λ₁ 决定了波动衰减速度λ₁0.94 时10 期后的冲击权重仍有 0.94¹⁰ ≈ 0.54符合“波动集群”的长记忆特性而 ARCH(7) 中 uₜ₋₈² 权重直接为 0显然失真。2.3 参数约束的物理意义为什么 α₀ 0, αᵢ ≥ 0, λᵢ ≥ 0 且 Σ(αᵢ λᵢ) 1这些不等式绝非数学游戏而是保障模型具备金融可解释性的基石α₀ 0确保即使过去无任何冲击uₜ₋ⱼ 0市场仍存在基础波动水平“波动底线”对应现实中的流动性风险、隔夜信息沉淀等。αᵢ ≥ 0, λᵢ ≥ 0方差必须非负。若 α₁ 0则大亏损uₜ₋₁² 大反而导致 σₜ² 下降违背“坏消息加剧恐慌”的市场直觉。Σ(αᵢ λᵢ) 1这是平稳性约束。当该和等于 1 时模型退化为 IGARCH见 3.4 节若大于 1σₜ² 将爆炸性增长无法用于风险预测。课件公式 (9.8) 的无条件方差σ² α₀ / [1 − Σ(αᵢ λᵢ)]直接体现此关系分母越小长期波动率越高。2.4 在 EViews 中实现 GARCH(1,1) 的完整操作链以下步骤基于课件中 JPYEN 数据DY D(JPY) 差分序列需确保已安装 EViews 9# 步骤1建立均值方程课件中为 DY c AR(2) AR(3) # 在EViews命令行输入 ls dy c ar(2) ar(3) # 步骤2在估计结果窗口点击 View → Estimation Diagnostics → # Equation Specification → ARCH/GARCH... # 步骤3在弹出对话框中设置 # - Mean equation: dy c ar(2) ar(3) # 保持原均值方程 # - Variance equation: # * ARCH terms: 1 # 对应 α₁uₜ₋₁² # * GARCH terms: 1 # 对应 λ₁σₜ₋₁² # * Distribution: Normal # 默认若需厚尾可用 Students t # - Coefficient starting values: Suggest (自动初始化)执行后EViews 输出的核心结果如下表所示数值为课件 ARCH(7) 与典型 GARCH(1,1) 的对比参数ARCH(7) 估计值GARCH(1,1) 典型值经济含义α₀ (C)0.370.08长期平均波动率基线α₁ (ARCH)0.13 (uₜ₋₁²)0.09新冲击的即时敏感度λ₁ (GARCH)—0.89波动自身的持续性记忆长度α₀/(1−λ₁)—0.08/(1−0.89) ≈ 0.73无条件方差长期波动率注意GARCH(1,1) 的 λ₁0.89 意味着波动衰减极慢半衰期 ≈ ln(0.5)/ln(0.89) ≈ 6 期远优于 ARCH(7) 的硬截断。这也是为何课件强调“ARCH(7) 滞后项太多从而引出 GARCH 模型概念”。3. 突破对称性IGARCH、TGARCH、EGARCH 如何刻画“坏消息比好消息更吓人”3.1 IGARCH(1,1)当波动记忆永不消散时IGARCHIntegrated GARCH是 GARCH(1,1) 的边界情况其约束为 α₁ λ₁ 1。此时无条件方差公式σ² α₀ / [1 − (α₁ λ₁)]分母为 0意味着波动过程是非平稳的具有单位根特性。这并非缺陷而是对某些市场的精准刻画例如新兴市场股指在经历政策突变或地缘冲突后波动率可能数年无法回归均值呈现“永久性冲击”效应。课件中虽未给出 IGARCH 估计但其存在本身警示我们当 EViews 报出λ₁ α₁ 0.998且标准误极小应主动检验 IGARCH 假设Wald Test:c(3)c(4)1。3.2 TGARCH(1,1)用“开关函数”分离正负冲击标准 GARCH 假设 uₜ₋₁² 对 σₜ² 的影响相同但现实中负面消息如财报暴雷引发的波动常大于同等幅度的正面消息如盈利超预期。TGARCHThreshold GARCH通过引入虚拟变量 γ 实现非对称建模σₜ² α₀ λ₁ σₜ₋₁² α₁ uₜ₋₁² γ uₜ₋₁² · I(uₜ₋₁ 0)其中 I(·) 是指示函数冲击为负时取 1否则为 0。若 γ 0则负冲击的总效应为 (α₁ γ)uₜ₋₁²大于正冲击的 α₁uₜ₋₁²。在 EViews 中启用 TGARCH 需在 ARCH/GARCH 对话框选择Asymmetric: Threshold (TGARCH)并确保勾选Include asymmetric term。3.3 EGARCH(1,1)用对数方差规避非负约束EGARCHExponential GARCH另辟蹊径直接对数化条件方差ln(σₜ²) α₀ λ₁ ln(σₜ₋₁²) α₁ (|uₜ₋₁|/σₜ₋₁ − √(2/π)) γ (uₜ₋₁/σₜ₋₁)其精妙之处在于左侧ln(σₜ²)无定义域限制自动满足 σₜ² 0无需 α₀ 0 等约束项(uₜ₋₁/σₜ₋₁)直接捕捉符号效应γ 0 表示负冲击uₜ₋₁ 0放大波动( |uₜ₋₁|/σₜ₋₁ − √(2/π) )是标准化绝对残差消除尺度影响。在 EViews 中选择Distribution: Generalized Error并勾选Asymmetric: Exponential (EGARCH)即可。3.4 三类非对称模型的实证选择指南模型优势劣势适用场景TGARCH解释直观γ 直接度量非对称强度估计稳定需额外估计 γ小样本易不显著A股、港股等受政策驱动明显的市场EGARCH无参数约束适合厚尾分布对异常值鲁棒对数变换使系数经济含义模糊如 λ₁ 是对数方差的自回归系数外汇、商品期货等全球流动性市场GJR-GARCH课件未提但常用形式类似 TGARCH但用I(uₜ₋₁0)·uₜ₋₁²替代I(·)·uₜ₋₁²更易与 GARCH 比较同样需估计额外参数学术论文基准模型提示检验非对称性不能只看 γ 的 t 值。应做Wald Test在 TGARCH 估计结果窗口点击View → Coefficient Diagnostics → Wald Test输入c(5)0假设 γ 为第 5 个系数。若 p 0.05拒绝“对称”原假设。4. GARCH-M 与 Power GARCH如何让波动率直接影响资产收益4.1 GARCH-M 模型风险溢价的直接建模经典 CAPM 认为高风险β应获高收益但未指定风险如何度量。GARCH-MGARCH-in-Mean将条件方差 σₜ² 直接嵌入均值方程捕捉“波动率本身是定价因子”的现象yₜ β₀ β₁xₜ δσₜ² uₜ其中 δ 是风险溢价系数。若 δ 0说明投资者要求为承担更高波动率而获得额外收益如持有高波动率股票需更高预期回报。课件中 GARCH-M 的 EViews 实现需在Mean equation框中输入dy c ar(2) ar(3) sigma^2sigma^2是 EViews 内置的条件方差序列。估计后δ 的符号与显著性直接回答“市场是否为波动率付费”。4.2 Power GARCHPARCH当波动对冲击的响应不是平方时标准 GARCH 假设波动响应与 uₜ₋₁² 成正比但实证发现对某些资产如加密货币波动可能与 |uₜ₋₁|¹·⁵ 或 uₜ₋₁⁴ 更匹配。Power GARCH 用幂函数 d 替代固定平方σₜ^d α₀ λ₁ σₜ₋₁^d α₁ |uₜ₋₁|^d当 d1 时变为绝对值 GARCHABSGARCH对极端值更敏感d2 即标准 GARCH。在 EViews 中启用 PARCH 需选择Variance specification: Power ARCH/GARCH并设置Power: 1.0或其它值。课件中 ABSGARCH 的设定正是 d1 的特例。4.3 案例复现用 GARCH(1,1)-M 重跑 JPYEN 数据基于课件数据我们验证波动率是否影响日元汇率收益的风险溢价# Python (statsmodels) 复现核心逻辑EViews 结果验证用 import numpy as np import pandas as pd from arch import arch_model # 假设 dy_series 是已加载的日元差分序列 am arch_model(dy_series, volGarch, p1, o0, q1, meanARX, lags[2,3], distNormal) res am.fit(dispoff) # 提取条件方差序列 sigma2_t sigma2 res.conditional_volatility**2 # 构造 GARCH-M 均值方程dy c ar2 ar3 delta*sigma2 # 使用 OLS 回归注意此为两步法非联合估计仅作示意 X np.column_stack([np.ones(len(dy_series)), dy_series.shift(2).dropna(), dy_series.shift(3).dropna(), sigma2[3:]]) # 对齐滞后项 y dy_series[3:] # 拟合 OLS from sklearn.linear_model import LinearRegression lr LinearRegression().fit(X[~np.isnan(X).any(axis1)], y[~np.isnan(X).any(axis1)]) print(fRisk premium (delta): {lr.coef_[-1]:.4f})运行结果若显示delta 0.021 (t2.8)则表明日元汇率收益存在显著正向波动率风险溢价——波动率每上升 1 单位预期收益增加 0.021符合“高风险高回报”的金融直觉。5. 模型诊断与陷阱为什么你的 GARCH 估计结果可能全是幻觉5.1 必做的三重残差检验GARCH 模型的有效性不取决于 R²而在于残差是否“干净”。必须依次检验标准化残差的自相关性View → Residual Diagnostics → Correlogram of Standardized Residuals若 Q-statistic 在 1–20 阶均不显著p 0.05说明均值方程充分。标准化残差平方的自相关性View → Residual Diagnostics → Correlogram of Standardized Residuals Squared此即 ARCH-LM 检验的升级版。若 Q-stat 显著说明 GARCH 项不足需增加 p 或 q。标准化残差的正态性View → Residual Diagnostics → Histogram-Normality TestJarque-Bera 统计量应不显著。若 JB 6说明厚尾未被完全吸收应改用Students t分布。5.2 最危险的三个实践陷阱陷阱1忽略初值设定GARCH 估计需设定 σ₁² 初值。EViews 默认用u²的无条件方差但对短序列 500 观测此设定会扭曲早期 σₜ²进而影响整个似然函数。对策在Options中勾选Use alternative starting values输入sigma2(1) 0.5*mean(u^2)。陷阱2混淆条件方差与预测区间sigma序列是 σₜ² 的点估计但预测 yₜ₊ₕ 的置信区间需用yₜ₊ₕ ± z·σₜ₊ₕ。EViews 的Forecast功能自动调用此公式但手动计算时切勿用sigma代替σₜ₊ₕ。陷阱3过度追求高阶 GARCHGARCH(2,2) 参数达 10 个小样本中极易过拟合。黄金法则先试 GARCH(1,1)若残差平方 Q 检验显著再尝试 GARCH(1,2) 或 GARCH(2,1)而非直接上 GARCH(2,2)。课件中 ARCH(7) 的失败正是反面教材。5.3 一个立竿见影的调试技巧用se序列定位异常波动源EViews 估计后自动生成se序列标准化残差。绘制其时序图Quick → Graph → se若在某时间点如 1998 年 8 月出现尖峰|se| 4说明该期存在未被模型捕获的极端事件。此时应检查该期是否有重大新闻如日本金融厅接管山一证券在均值方程中加入虚拟变量DUM_199808或改用 Students t 分布自由度 5 即表示厚尾。此技巧无需重估模型30 秒内即可定位 GARCH 的“盲区”是实战中最高频的排错手段。本文还有配套的精品资源点击获取
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进