statsmodels中coint函数是否考虑平稳性?附实操疑问
关于股票协整检验的疑问解答
1. statsmodels coint函数是否对残差做平稳性检验?
是的,statsmodels.tsa.stattools.coint实现的是Engle-Granger两步协整检验法,核心逻辑完全符合文档描述:
- 第一步:用OLS拟合两只股票调整收盘价的线性关系(例如 $Y_t = \alpha + \beta X_t + \epsilon_t$)
- 第二步:对回归得到的残差$\epsilon_t$执行ADF平稳性检验,通过残差的平稳性来验证两只序列是否存在协整关系。
2. 5%临界值下如何判断协整?
coint函数返回三个值:检验统计量、p值、临界值数组(对应1%、5%、10%显著性水平)。判断规则直接清晰:
- 若检验统计量 < 5%对应的临界值(即返回结果的
result[2][1]),或者p值 < 0.05,则在5%显著性水平下拒绝“不存在协整关系”的原假设,说明两只股票存在长期协整关系。
举个实际代码输出的判断例子:
# 假设coint函数返回结果 t_stat = -4.12 p_value = 0.023 critical_values = [-3.96, -3.37, -3.07]
这里检验统计量-4.12 < 5%临界值-3.37,且p值0.023 < 0.05,因此可以确定在5%水平下两只股票存在协整关系。
3. 用收益率数据如何操作?
首先明确:协整检验的前提是序列为非平稳但一阶单整(I(1))——原始序列不平稳,但差分一次后转为平稳。而股票收益率(调整收盘价的一阶差分)本身几乎都是平稳序列(I(0)),直接对收益率做协整检验没有统计意义,因为协整是描述非平稳序列之间的长期均衡关系。
如果你的需求是分析两只股票的联动性:
- 若关注长期均衡:继续用调整收盘价做协整检验(这是协整分析的正确场景)
- 若关注短期波动:直接分析收益率的相关性、协方差,或者用向量自回归(VAR)模型对收益率建模。
若误将收益率当作原始序列输入coint函数,检验结果会毫无参考价值,因为平稳序列之间不存在协整的概念。
内容的提问来源于stack exchange,提问作者AAM
相关产品推荐
相关产品推荐

