GARCH:给"波动率聚集"建模的人
我的掌握程度:
先掌握这个答案
GARCH(1,1):σ²_t = ω + α·ε²_{t−1} + β·σ²_{t−1}。三个部分读作:今天的方差=①长期平均水位(ω)+②昨天的冲击(α·昨日涨跌幅²——昨天大动,今天方差上调)+③昨天的方差(β——方差有惯性)。直觉:波动率像天气——风暴后有风暴余波(α),旱季连旱(β),但长期回归气候均值。α+β越接近1,波动率的「记忆」越长。
先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。
从理解到使用
√时间缩放有条件
独立、方差稳定等近似条件下,收益总和的方差随期数增加。金融收益存在自相关、波动聚集和跳跃时需检查这些假设;252是常见教学年交易日数,而非所有市场统一常数。
本阶段实战方法 · 每个统计量都要带单位和假设
计算收益、波动、回归、显著性或相关性时,先明确样本和推断条件。
- 写清收益频率、样本数、缺失处理、是否含费用;百分数与小数不可混用。
- 手算一组小样本,再用代码复算;区分算术均值年化、复合年化和年化波动。
- 解释假设不成立会发生什么:自相关、肥尾、非平稳与多次试验都会影响结论。
使用边界
- p值不是原假设为真的概率,也不是策略未来盈利概率。
- 日波动×√252依赖时间聚合假设;252是教学常用交易日数,实际市场与口径可能不同。
背景 · 从一个困惑说起
q-278确认了现象:大波动扎堆、小波动扎堆(波动率聚集)。但普通统计把每天当成独立的抽样——完全无法利用「今天的波动大小会传导到明天」这一规律。1982年,恩格尔(Robert Engle)给这个现象写下了方程,后来因此获诺贝尔奖。
由此产生的问题
GARCH(1,1)方程的各项含义是什么?它如何把「波动率可预测」变成可计算的现实?
核心概念
GARCH(1,1):σ²_t = ω + α·ε²_{t−1} + β·σ²_{t−1}。三个部分读作:今天的方差=①长期平均水位(ω)+②昨天的冲击(α·昨日涨跌幅²——昨天大动,今天方差上调)+③昨天的方差(β——方差有惯性)。直觉:波动率像天气——风暴后有风暴余波(α),旱季连旱(β),但长期回归气候均值。α+β越接近1,波动率的「记忆」越长。
为什么需要它
①波动率是可预测的:与收益率几乎不可预测形成鲜明对比——风险预测是量化里「预测得最准」的东西(样本外R²可达0.3+);②风险模型的实用内核:机构日度VaR(阶段7)的波动率输入普遍用GARCH族;③阶段1伏笔的回收:q-206说自相关破坏√n缩放——GARCH正是刻画这种依赖的标准工具。
实际应用场景
Python的arch库一行拟合:arch_model(ret, vol='Garch', p=1, q=1);输出明日波动率预测→年化→VaR;ε²的系数α显著>0即「ARCH效应存在」的证据(先检验后建模)。
与之前知识的联系
q-278的现象→本题的模型:时间序列单元「现象→方程→估计→预测」的完整闭环示范。阶段7的VaR将直接消费它的输出;阶段8的ML研究员也常把GARCH波动率作为特征。
⚠ 常见误解
- GARCH预测收益率方向:它只预测方差(大小);方向依然近似不可测
- 参数越多越好:GARCH(1,1)已捕获大部分动态;(2,2)以上边际收益小且易不稳
- GARCH假设收益正态:标准版以正态为基准但可换t分布(肥尾版,q-227)——A股用t分布几乎是必选
🛠 本题实践任务
用arch库对沪深300近三年日收益拟合GARCH(1,1):报告α、β、α+β(波动记忆长度),以及模型对「明日波动率」的最新预测(年化)。
💡 提示(先自己想5分钟再看)
pip install arch;res=arch_model(ret*100).fit(disp='off');res.forecast(horizon=1)取方差开根号÷100×√252年化。
✅ 验收标准
三个参数+一个明日波动预测。你刚运行了机构风控的日常一环——诺奖成果为你打工。
在你的浏览器内运行。首次需联网下载 Python;支持标准库和 Pyodide 提供的 NumPy、pandas 等包。行情抓取、系统文件访问和部分第三方库请在本地环境运行。输出自检仅比对结果关键词,不代替逻辑审查。
Python · 独立工作线程 · 执行限时10秒
🤖 AI导师
导师会先检查你的前置知识(波动率聚集、条件概率、方差),再用案例、公式和代码帮助理解。此功能需要先启用服务。