协整检验中不同算法下的残差序列的巨大差异
🎯 最核心的问题
从代码分析来看,最核心的差异是:
价差计算公式不同!
# New方法(第478行)
spread_full = log_alt_full - (alpha + beta_ols * log_base_full)
# 健康监控(第119行)
spread = logA - beta * logB # 没有减去alpha(常数项)
🔬 为什么这是核心问题?
1️⃣ 价差公式决定了平稳性的定义
New方法:
spread = log(ALT) - α - β×log(BASE)
→ 要求价差围绕 **0** 波动才算平稳
健康监控:
spread = log(ALT) - β×log(BASE)
→ 允许价差围绕 **任意常数** 波动,只要波动本身是平稳的
2️⃣ 数学本质差异
从协整理论来看:
New方法(标准Engle-Granger方法):
log(ALT) = α + β×log(BASE) + ε
ε = log(ALT) - α - β×log(BASE) ← 残差,期望为0
要求残差ε是平稳的,这是最严格的定义。
健康监控方法:
log(ALT) = β×log(BASE) + (α + ε)
spread = log(ALT) - β×log(BASE) = α + ε ← 含常数项
允许价差有一个非零水平,只要波动是平稳的即可。
📊 用实际数据解释
假设NOT/USDC:USDC的实际情况:
假设α = -5.0(负常数)
New方法的价差:
spread = log(ALT) - (-5.0) - β×log(BASE)
= log(ALT) + 5.0 - β×log(BASE)
→ 加了5.0的偏移
健康监控的价差:
spread = log(ALT) - β×log(BASE)
→ 没有偏移
结果:
- New方法的价差序列可能有趋势(因为强制偏移到0附近)
- 健康监控的价差保持原始水平
- ADF检验对趋势敏感 → 不同的p值
🎓 为什么健康监控不减α更合理?
理论依据
从协整的实际应用来看:
- 协整的本质是"长期均衡关系"
- 不要求价差必须=0
- 只要求价差围绕某个稳定水平波动
- 减去α的问题
- 如果α估计不准确,会引入额外误差
- 强制价差=0可能破坏原始的平稳性
- 不减α的优势
- 保留价差的自然水平
- 只关注波动本身是否平稳
- 更符合实际交易场景
🔍 验证这个推测
让我们看看代码注释怎么说:
# utils/coingetation_more_check.py 第119行
def _estimate_beta_and_spread(self, logA, logB):
"""估算协整系数和价差"""
X = sm.add_constant(logB)
model = sm.OLS(logA, X).fit()
beta = model.params.iloc[1]
spread = logA - beta * logB # 注意:这里没有减去alpha(常数项)
return beta, spread, model
关键:健康监控故意不减α!这是设计选择,不是疏忽。
💡 其他因素的影响
虽然价差公式是核心,但其他因素也有影响:
| 因素 | 影响程度 | 说明 |
|---|---|---|
| 价差公式(是否减α) | ⭐⭐⭐⭐⭐ | 核心,决定了平稳性定义 |
| OLS库差异 | ⭐⭐⭐ | statsmodels vs sklearn,β系数略有差异 |
| 回归数据范围 | ⭐⭐ | 99期 vs 100期,影响β估计 |
🎯 最终答案
问:最核心的问题在哪里?
答:价差计算公式中是否减去常数项α!
# 这个差异导致:
New方法: spread = log(ALT) - α - β×log(BASE) → p=0.0651 ❌
健康监控: spread = log(ALT) - β×log(BASE) → p=0.0215 ✅
# 为什么影响这么大?
1. 不同的价差 → 不同的序列特性
2. ADF检验对序列的水平和趋势敏感
3. 减α会改变价差的水平位置
4. 如果α估计有偏差,会引入额外的非平稳性
🔬 深层原因
从统计学角度:
New方法(减α):
- 假设:协整关系要求价差=0
- 优点:理论严格(标准Engle-Granger)
- 缺点:对α的估计误差敏感
- 适用:历史验证,事后分析
健康监控(不减α):
- 假设:协整关系允许价差≠0,只要平稳
- 优点:更稳健,不受α估计误差影响
- 缺点:理论上不那么"纯粹"
- 适用:实时监控,实际交易
📋 实用建议
- 以健康监控为主
- 更稳健的平稳性定义
- 更适合实际交易
- New方法作为参考
- p=0.0651接近临界值
- 提醒我们协整关系不够强
- 综合判断
- 两种方法各有侧重
- 健康监控更宽松但更实用
- New方法更严格但更理论
结论:NOT/USDC可以交易,但要密切监控,因为不同方法给出的信号有分歧!