cross-correlationlead-lagdistance-correlationkendallmutual-informationstub

Cross-Correlation Functional (ccf-auc, ccf-lag1)

Definition. 把两个时间序列 X^{(i)}, X^{(j)} 之间的"lead-lag 强度"定义为交叉相关函数 \rho_{i \to j}(l) 的某种泛函 F: S_{ij} = F(\{\rho_{i \to j}(l)\}_{l \in [-L, L]}), \quad S_{ij} = -S_{ji} 其中 \rho_{i \to j}(l) = \mathrm{corr}(X^{(i)}_{t-l}, X^{(j)}_t)。两个标准 F 选:

  • ccf-lag1: F = \rho_{i \to j}(1) - \rho_{i \to j}(-1) — 单 lag, 简单
  • ccf-auc: F = \frac{\sum_{l=-L}^{L} \mathrm{sign}(l) \cdot \rho_{i \to j}(l)}{\sum_{l=-L}^{L} |\rho_{i \to j}(l)|} — 带符号 AUC, 默认推荐

公式

# 伪代码
def ccf_lag1(x, y, corr='pearson'):
    return corr(x[:-1], y[1:]) - corr(x[1:], y[:-1])

def ccf_auc(x, y, L=5, corr='distance'):
    num = sum(sign(l) * corr(x[:-l], y[l:]) for l in range(-L, L+1) if l != 0)
    den = sum(abs(corr(x[:-l], y[l:])) for l in range(-L, L+1) if l != 0)
    return num / (den + 1e-9)

注意 l=0 项 (\rho(0), 同阶相关) 应当剔除 — 它测的是同步相关, 不是 lead-lag。

corr 选哪四个?

度量 复杂度 适合场景 缺点
Pearson O(TL) 线性依赖强、噪声低 对重尾 + outlier敏感 (Cont 2001)
Kendall (1938) O(T^2 L) 鲁棒, 单调依赖 弱线性时 power 低
Distance correlation (Székely 2007) O(T^2 L) 非线性 + 鲁棒, 美股日收益推荐 慢 (但 p 不大时可接受)
Mutual information (离散化) O(TL \cdot B) 任意依赖 离散化 + 估计噪声大

美股日收益推荐 distance correlation + ccf-auc, L=5 (Bennett 2022 §5.2 实证)。美股日收益的线性 cross-correlation 极低 (信噪比差), 距离相关能捕捉波动率层面的非同步性 (volatility lead-lag, 比 raw return lead-lag 强 5-10x)。

优势 vs 局限

优势:

  • 计算简单、可向量化, p 5000 内 O(p^2 TL) 可在 CPU 跑。
  • 框架与 corr 解耦, 可换 distance correlation / target forget dependence / MIC / MMD (Marti 2016 / Reshef 2011 / Gretton 2012) 等非线性能。
  • 鲁棒性继承自 corr (Kendall / distance correlation 都对重尾 + outlier 鲁棒)。

局限:

  • \rho 的统计推断假设平稳, 高频数据 (分钟级) 上波动率聚集破坏平稳, 需先 GARCH/HAR-RV 滤波。
  • ccf-lag1 只捕捉正相关 (因 S_{ij} = -S_{ji} 在负相关市场下符号会反过来), 不要在显著负相关的资产 (跨期、外汇) 上用。
  • L 是 hyperparameter, 选过大会把噪声当信号, 选过小会漏 lag 依赖。经验: 美股日收益 L=5 (周度); 分钟数据 L=30 (小时); 月度 L=2 (双月)。

邻近概念

起源 / 标准文献

  • Campbell, Lo, MacKinlay (1997) §2.3 — ccf-lag1 的早期使用 ("the econometrics of financial markets")
  • Wu, Zheng, Zhang & Liu (2010) — ccf-auc 的多 lag 聚合思路
  • Bennett, Cucuringu, Reinert (2022) Machine Learning 111:4497–4538 — 系统的 ccf-auc vs signature vs AR 对比 (本 wiki 摘要)
  • Podobnik et al. (2010) — 跨域 lead-lag 综述
  • Billio et al. (2012) — 金融 lead-lag 网络方法学 (volatility lead-lag 强调)

Open Questions

  • corr 的选择能否由数据驱动 (例如 meta-learning, 在样本内 CV 选 Kendall / distance / MI)?
  • ccf-auc 在跨时区数据 (亚太 vs 欧美开盘) 上的"边界效应"如何处理? 应当用 calendar-time 还是 sequence-time 排齐?
  • 替代度量: whittle likelihood / wavelet coherence (Skoura 2019) 在 ccf-auc 框架下的统一集成, 仍缺工作。