创新方案
在需要建模、预测或解读波动率(EWMA/GARCH…
适用于金融时间序列与期权数据中的波动率建模、预测、归因和风险解释。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
在需要建模、预测或解读波动率(EWMA/通用
解决思路
- 用 EWMA 更新方差:按 sigma^2_t = lambda * sigma^2_{t-1} + (1 - lambda) * r^2_{t-1} 计算;lambda 为衰减因子,RiskMetrics 日频标准取 0.94,月频取 0.97;r_{t-1} 通常去均值,日频可假设均值为 0;sigma^2_{t-1} 为上期方差估计。
- EWMA 操作要点:对过去平方收益赋指数衰减权重;有效窗口约为 1/(1 - lambda),lambda=0.94 时约 17 天;它等价 IGARCH(alpha+beta=1),无均值回复,波动冲击不会衰减;只需一个参数,适合简单短期预测。
- 用 GARCH(1,1) 更新方差:按 sigma^2_t = omega + alpha * r^2_{t-1} + beta * sigma^2_{t-1} 计算;omega>0 决定长期方差水平,alpha>=0 衡量对近期冲击反应,beta>=0 衡量过去方差记忆。
- 估计 GARCH(1,1) 后检查平稳性:必须 alpha + beta < 1,才满足协方差平稳和均值回复;否则长期方差不定义,模型为 IGARCH 或爆炸。
- 计算 GARCH(1,1) 长期方差:V_L = omega / (1 - alpha - beta)。
- 计算长期年化波动率:sigma_L = sqrt(V_L * 252)。
- 解释持续性:用 alpha + beta 衡量波动率回到长期水平的速度,数值越高回归越慢。
- 计算波动率冲击半衰期:h = -ln(2) / ln(alpha + beta);因为 alpha+beta<1,ln(alpha+beta)<0,所以 h 为正。
- 做多步 GARCH(1,1) 预测:E[sigma^2_{t+h}] = V_L + (alpha + beta)^h * (sigma^2_t - V_L);随 h 增大收敛到 V_L。
- 提取隐含波动率:把 sigma 代入期权定价模型(通常 Black-Scholes),使理论价格等于市场观察价格;欧式看涨公式 C = S * N(d1) - K * exp(-rT) * N(d2),其中 d1 = [ln(S/K) + (r + sigma^2/2) * T] / (sigma * sqrt(T)),d2 = d1 - sigma * sqrt(T)。
- 求解 IV:令 C_model(sigma) = C_market,对 sigma 做数值求解,因为没有闭式解;可用 Newton-Raphson 或二分法等。
- 分析波动率微笑:检查 IV 是否按行权价变化;若深度价内和深度价外期权 IV 都更高,呈 U 形,常见于外汇市场。
- 分析波动率偏斜/ smirk:检查低行权价(价外看跌)IV 是否高于价外看涨;这是股票市场主导形态,反映下行保护需求和左尾厚尾。
- 量化 skew:计算 25-delta put 与 25-delta call 的 IV 差,或 90% moneyness 与 110% moneyness 行权价之间的 IV 差。
- 分析波动率期限结构:比较不同到期日期权的 IV;正常上倾表示长期 IV 高于短期,倒挂表示短期 IV 高于长期(常见于市场压力、财报、选举、危机),驼峰表示 IV 在中间期限见顶(可能围绕特定预期事件)。
- 构建/使用波动率曲面:在行权价(或 delta/moneyness)与到期期限两个维度上组织 IV;对曲面插值以给任意行权价/到期组合定价;跟踪曲面平移、倾斜、弯曲等动态,用于期权组合风险管理。
- 计算波动率风险溢价 VRP:VRP = IV - RV_subsequent;其中 RV_subsequent 是随后实现的波动率。
- 解读 VRP:IV 平均系统性高于随后 RV,因为投资者愿为期权/保险付溢价,期权卖方要求承担尾部风险补偿;VRP 通常为正且是波动率卖方的持续收益来源。
- 跟踪 VRP 时点变化:VRP 随时间变化,市场压力期更大;卖波动率可稳定收割溢价,但暴露于大而罕见的损失;极端事件中 VRP 可能转负。
- 解读 VIX:CBOE Volatility Index 衡量市场对未来 30 天年化波动率的预期,来自 S&P 500 期权价格;以年化百分点报价,VIX=20 表示约 20% 预期年化波动率。
- 计算/理解 VIX:VIX 用一篮子价外看跌和看涨期权计算,不来自 Black-Scholes 模型;水平分档:12-15 低/自满,15-20 正常,20-30 偏高,30+ 高压力,40+ 危机;VIX 强均值回复,市场抛售时易飙升(“恐慌指数”)。
- 按关键公式执行计算:EWMA 方差、GARCH(1,1) 方差、GARCH 长期方差、GARCH 半衰期、GARCH h 步预测、Black-Scholes 看涨、VRP、EWMA 有效窗口。
- 按示例 1 更新 EWMA:给定 sigma^2_{t-1}=0.0004、r_{t-1}=-0.03、lambda=0.94,计算 sigma^2_t=0.94*0.0004+(1-0.94)*(-0.03)^2=0.000430,日波动率 sqrt(0.000430)=0.02074=2.074%;注意高 lambda 会抑制对冲击的反应。
- 按示例 2 计算 GARCH:给定 omega=0.000002、alpha=0.08、beta=0.91,先检查 alpha+beta=0.99<1;计算 V_L=0.000002/(1-0.99)=0.0002,日波动率 sqrt(0.0002)=1.414%,年化 0.01414*sqrt(252)=22.45%,半衰期 -ln(2)/ln(0.99)=68.97≈69 个交易日(约 3 个月)。
- 按示例 3 解读 IV:股票 $100、3 个月 ATM call K=$100 价格 $6.50、无风险利率 5%,用 Black-Scholes 数值求解得到 IV=30%;与已实现波动率 22% 比较,VRP=30%-22%=8%。
- 按示例 3 做决策解释:正 8 个百分点 VRP 可能表示市场预期波动率上升、期权卖方要求尾部风险溢价、或即将发生事件;系统化卖波动率策略会卖出该期权,若实现波动率接近 22% 可获利,但承担实现波动率超过 30% 的风险。
- 用历史波动率估计器作基准:用 close-to-close、Parkinson、Yang-Zhang 估计已实现波动率,与 GARCH 预测和隐含波动率比较。
- 把波动率预测输入风险模型:将 EWMA/GARCH 波动率预测用于参数法和 Monte Carlo VaR 计算。
- 把波动率估计用于绩效指标:波动率进入 Sharpe、Sortino 等风险调整比率的分母;使用前瞻性 GARCH 波动率可得到条件绩效比率。
- 运行脚本:用 `uv run scripts/volatility_modeling.py`;PEP 723 头会自动解析 numpy 和 scipy 依赖。也可在 `pip install numpy scipy` 后运行 `python3 scripts/volatility_modeling.py`。
- 使用脚本模式:裸运行会在合成 GARCH 动态收益上打印演示,包括 EWMA 波动率、GARCH(1,1) 估计和多步预测、已实现和 Parkinson 波动率、期限结构、波动率锥。
- 验证脚本:运行 `--verify` 重跑关键计算并断言输出与本技能工作示例一致(打印 PASS/FAIL,不匹配时非零退出)。
- 查看脚本接口:运行 `--help` 列出可用类和方方法。
- 作为模块导入:例如 `from volatility_modeling import VolatilityModeling`。
- 选择 EWMA lambda:lambda 显著影响响应速度;lambda=0.94 对冲击反应快(有效窗口约 17 天),lambda=0.97 更平滑(有效窗口约 33 天);选择应与应用期限匹配。
- 避免过度拟合 GARCH:更高阶 GARCH(p,q) 或扩展(EGARCH、TGARCH、GJR-GARCH)可能样本内过拟合;多数金融收益序列中 GARCH(1,1) 样本外很难被击败;从 GARCH(1,1) 开始,并说明增加复杂度的理由。
- 处理长周期日频 GARCH 预测:日频 GARCH 长期会收敛到无条件方差;用 E[sigma^2_{t+h}] = V_L + (alpha+beta)^h * (sigma^2_t - V_L) 计算,并适当聚合。
- 区分历史波动率与前瞻波动率:历史/已实现波动率衡量已发生,隐含波动率反映市场对未来预期;两者回答不同问题,可能显著背离。
适用边界 · 注意事项
- 当 alpha + beta >= 1 时,不要用 GARCH(1,1) 的长期方差/均值回复公式;此时 V_L 未定义,模型为 IGARCH 或爆炸。
- 当需要长期波动率预测且预期均值回复时,不要只用 EWMA;EWMA 等价 IGARCH(alpha+beta=1),冲击永不衰减。
- 不要把 Black-Scholes 提取的隐含波动率当作无模型、无偏的真实未来波动率预测;它依赖对数正态、常数波动率、连续交易、无跳跃等假设,微笑/偏斜正说明这些假设被违反。