# 进行Johansen检验 jres = coint_johansen(df, 0, 1) # 输出结果 print('Eigenvalues: ', jres.eig) print('Critical values (90%, 95%, 99%) of trace statistic: ', jres.trace_stat_crit_vals) print('Critical values (90%, 95%, 99%) of max eigenvalue statistic: ', jres.max_eig_stat_crit_vals)
时间: 2023-12-06 10:40:52 浏览: 292
Seasonal_Cointegration_Johansen_matlab_seasonal_Johansen_cointeg
5星 · 资源好评率100%
这段代码使用 Johansen 检验来测试多个时间序列之间是否存在协整关系。具体来说,该检验可以帮助我们确定是否存在一个线性组合,可以将所有的时间序列转化为一个共同的趋势。如果存在这样的线性组合,则这些时间序列就被认为是协整的。
在这段代码中,`df` 是一个包含多个时间序列数据的 Pandas DataFrame 对象。`coint_johansen()` 函数的第二个参数 `0` 表示我们要对一阶差分后的数据进行检验。第三个参数 `1` 表示我们要对一阶差分后的数据进行一次 Johansen 检验。
`jres` 是返回的检验结果对象,其中 `jres.eig` 属性包含了 Johansen 检验的特征值。如果某个特征值接近于 0,则说明这个时间序列对共同趋势的贡献较小,可以被认为是非协整的。如果特征值大于 0,则说明这个时间序列对共同趋势的贡献较大,可以被认为是协整的。
`jres.trace_stat_crit_vals` 和 `jres.max_eig_stat_crit_vals` 属性分别包含了迹统计量和最大特征值统计量的临界值。我们可以将这些值与实际的统计量进行比较,以确定是否存在协整关系。
阅读全文