11、量化联动指标:构建联动强度指标、动态相关系数、信息溢出指数
各位同学,咱们今天聊点硬核的。波动率曲面和宏观数据之间到底有没有关系?关系有多深?是宏观数据在牵着波动率走,还是反过来?
这些问题,光靠拍脑袋可不行。我们需要一套量化联动指标,把这种模糊的关联变成可计算、可交易的信号。
我个人习惯把这套指标分成三个层次:强度、方向、因果。说白了,就是先看有没有关系,再看关系是正还是负,最后看谁影响谁。
11.1 联动强度指标:先测测“粘性”
联动强度,我理解就是两个变量之间的“粘性”。粘性越大,说明它们同涨同跌或者反向波动的概率越高。
最基础的做法是计算滚动相关系数。但这里有个坑——直接用原始收益率算,噪声太大。我在项目中遇到过这种情况:算出来相关系数忽高忽低,根本没法用。
我建议的做法是:先对数据进行去噪平滑。比如用指数加权移动平均(EWMA)来替代简单平均。
ρ_t = Cov_ewma(R_vix, R_macro) / (σ_ewma(VIX) * σ_ewma(Macro))
其中,R_vix 是波动率曲面的日度变化率,R_macro 是宏观指标的日度变化率。衰减因子 λ 我一般取 0.94,这是 RiskMetrics 的标准做法。
嗯,这里要注意:不要直接用原始VIX指数。波动率曲面包含多个期限和行权价的信息,我习惯用期限结构斜率或者偏度作为代表变量。
11.2 动态相关系数:捕捉时变关系
静态相关系数有个致命问题——它假设关系是恒定的。但金融市场哪有什么恒定?08年危机前后,VIX和GDP的关系完全变了样。
所以我们需要动态相关系数。我个人最常用的是DCC-GARCH模型(动态条件相关系数模型)。
这个模型的核心思想是:让相关系数随时间变化,而且变化过程本身也有记忆性。
# Python伪代码示例
from arch import arch_model
import numpy as np
# 假设我们有两个收益率序列:vix_ret 和 macro_ret
# 第一步:分别拟合GARCH(1,1)
model_vix = arch_model(vix_ret, vol='Garch', p=1, q=1)
res_vix = model_vix.fit(update_freq=5)
model_macro = arch_model(macro_ret, vol='Garch', p=1, q=1)
res_macro = model_macro.fit(update_freq=5)
# 第二步:提取标准化残差
std_resid_vix = res_vix.resid / res_vix.conditional_volatility
std_resid_macro = res_macro.resid / res_macro.conditional_volatility
# 第三步:计算动态相关系数(简化版)
# 实际DCC需要迭代估计,这里只展示逻辑
rolling_corr = pd.Series(index=vix_ret.index)
for i in range(20, len(std_resid_vix)):
window_vix = std_resid_vix.iloc[i-20:i]
window_macro = std_resid_macro.iloc[i-20:i]
rolling_corr.iloc[i] = np.corrcoef(window_vix, window_macro)[0,1]
11.3 信息溢出指数:谁在主导谁?
相关系数只能告诉你“有关系”,但没法告诉你“谁影响谁”。这时候就需要信息溢出指数了。
这个概念来自Diebold和Yilmaz(2012)的论文。核心思想是:用方差分解来度量一个变量对另一个变量预测误差的贡献度。
说白了,就是看宏观数据的“意外波动”有多少能传导到波动率曲面上去。
S_{i→j} = (预测误差中来自变量i的方差占比) / (总预测方差)
这个指数范围在0到1之间。0.8以上说明强溢出,0.2以下基本可以忽略。
我建议用滚动窗口的VAR模型来估计。窗口长度我一般选250个交易日(约一年),这样既能捕捉结构性变化,又不会太敏感。
| 溢出方向 | 指数值 | 解读 |
|---|---|---|
| 宏观 → 波动率曲面 | 0.65 | 宏观数据对波动率有较强引导作用 |
| 波动率曲面 → 宏观 | 0.12 | 波动率对宏观的反馈较弱 |
| 双向溢出 | 0.35 | 存在一定程度的双向互动 |
你看这个表格,宏观到波动率的溢出指数是0.65,反过来只有0.12。这说明什么?说明在大多数时候,是宏观数据在驱动波动率曲面,而不是反过来。
但别急着下结论。我在2020年3月做过一次测试,发现波动率曲面到宏观的溢出指数突然飙升到0.4以上。为什么?因为当时市场恐慌到极致,VIX本身就成了一个宏观指标。
11.4 实战中的联动指标组合
单独用任何一个指标都有局限性。我个人习惯构建一个联动指标组合:
- 短期联动:用5天滚动相关系数,捕捉快速反应
- 中期联动:用DCC-GARCH动态相关系数,捕捉趋势变化
- 因果联动:用信息溢出指数,判断主导方向
这三个指标放在一起,基本能覆盖大部分场景。举个例子:
如果短期联动突然飙升到0.8以上,同时信息溢出指数显示宏观→波动率方向占主导,那大概率是宏观数据超预期了。这时候可以考虑做多波动率。
反过来,如果短期联动下降,但中期联动还在高位,说明市场可能正在消化之前的冲击,但趋势还没结束。
嗯,这里要提醒一句:联动指标不是交易信号。它只是告诉你“有关系”,至于怎么交易,还得结合具体的策略逻辑。
11.5 本章知识体系
下面这张图是我自己整理的联动指标知识框架,你可以把它当作一个速查表:
这张图把三个核心指标、它们对应的计算方法、关键参数以及实战组合都串起来了。你可以把它当作一个检查清单——每次做联动分析时,看看这三个维度是不是都覆盖到了。
好了,这一章的内容就到这里。联动指标是连接宏观数据和波动率曲面的桥梁,但记住:指标只是工具,逻辑才是核心。下一章我们会把这些指标应用到具体的交易策略中去。
公众号:蓝海资料掘金营,微信deep3321