金融计量
协整检验
用 Johansen 迹统计量判断多条可能非平稳的序列能否被一组线性关系拉回均衡,从而避免把两条各带单位根的变量直接回归当成真实联系。
这篇能回答什么
协整要挡开的是伪回归。两条各自随机游走的序列,样本相关可以很高、t 可以很显著,残差却仍是单位根——Granger 与 Newbold 早就指出,这种回归没有长期方程。若存在系数向量 β 使 β′Y_t 平稳,水平值才允许写成长期均衡,短期偏离由误差修正(VECM)往回拉。Johansen 在 VAR 里同时估迹统计量与最大特征值,按「至少几个协整向量」做序贯检验。
适合:至少两条、同阶单整的宏观或价格序列。教学示例是「macro」里的序列 A / B / C,80 期。本页迹检验拒绝 r≤0、r≤1、r≤2,产品因此报告「3 个协整关系」。三变量系统里 r=k=3 意味着水平已经整体平稳,这与「两条 I(1) 价格锁在一起、拿来配对交易」不是同一句话——洞察仍会写成适合配对/VECM,阅读时要把秩的教科书含义补回去。
如何选择方法
先对每一列做 ADF。全是 I(0),Johansen 很容易报到满秩,那时水平 VAR 就够了,不必讲「长期均衡价格」。全是 I(1) 且你怀疑它们被同一个随机趋势拴住,才轮到本过程。只要两列、想走 Engle–Granger,产品没有单独的两步法入口:这里固定 Johansen + 一阶差分滞后。
Johansen 协整:2–10 条对比序列;det_order=0,k_ar_diff=1;显著性列只听迹统计量。
ADF:单列单位根,是本页的前置,不能代替秩。
VAR:平稳(或已差分)系统的短期动态与脉冲。
线性回归:水平回归只有在 0<r<k 且残差平稳时才有长期解释。
输入、输出与限制
输入
对比序列为 2–10 个定量或时间序列列。按这些列同时删缺失。「期数」只用来核对顺序,不要放进对比序列。
对比序列:最少 2 个,最多 10 个;定量或时间序列。
输出
第一张表逐行给出原假设 r≤0、r≤1、…,迹统计量与 5% 临界值、最大特征值与 5% 临界值、以及「拒绝 / 接受」。拒绝规则只用迹统计量是否大于 5% 临界值。第二张表标题写成「VECM … (秩=1)」,列是变量名、Alpha、Beta;实现按迹检验得到的秩拟合 VECM,但只抽出 α、β 的第一列。教学结果图当前是空白画布(「暂无可用绘图数据」),判决以两张表为准。
产品限制
至少 2 列、至少 30 个有效期。
Johansen 固定 det_order=0(协整方程含截距)、k_ar_diff=1。
VECM 的确定性项为 co;界面不能改趋势设定或滞后。
显著性列忽略最大特征值;r≤0 一行可以出现「迹拒绝、最大特征值不拒绝」。
EViews 若选「有线性趋势」或不同滞后,临界值整表都会换。
案例
研究问题。 宏观教学表里三条同步序列看起来都在走,能不能说它们被共同随机趋势拴住,从而避免把任意两列水平回归当成结构关系?
工作表「macro」,期数对齐后有效 80 行(期数、序列A、序列B、序列C)。对比序列勾选三列定量。迹统计量:r≤0 为 41.1602(临界 29.7961),r≤1 为 22.2741(15.4943),r≤2 为 6.203(3.8415),三行都拒绝,表注写存在 3 个协整关系。同一行 r≤0 的最大特征值 18.8862 低于 临界值 21.1314。第二张表 Alpha:A = −0.1317,B = 0.0078,C = −0.1559;Beta = (1, 0, 0)。
在 StatsX 中操作
步骤 1 · 上传表格
打开工作台,将 Excel / CSV / JSON 拖入上传区。本案例确认工作表为「macro」,不要误开「returns」。单文件不超过 20 MB。
步骤 2 · 查看画像与质量
三列定量、80 期对齐。对序列 A、B、C 各跑一次 ADF,记下谁像 I(1)。「期数」只核对顺序。
步骤 3 · 选择「协整检验」
在算法目录搜索「协整」或「Johansen」。不要和单列单位根、也不要和 VAR 系数矩阵搞混。
步骤 4 · 指定变量并运行
对比序列勾选序列A、序列B、序列C(2–10 列)。点运行。不要把期数算作第四条序列。
步骤 5 · 阅读结果
先看迹统计量是否一路拒绝到 r=k,再看最大特征值有没有在 r≤0 停住。第二张表的 (1,0,0) 不要当成交易公式。图若空白,以表为准。




如何阅读输出
下表由 macro 三列(80 期)运行 Johansen 得到。迹检验三行都大于 5% 临界值,产品把估计秩写成 3,洞察说「适合配对交易/VECM」。三变量满秩的教科书读法是:水平系统已整体平稳,不存在「还剩几个共同随机趋势」的 I(1) 协整故事。更关键的一行:r ≤ 0 的最大特征值 18.8862 < 21.1314,若按最大特征值序贯检验会在「没有协整」处停住。StatsX 显著性列不看这一格,所以仍打印拒绝。
| 原假设 (协整秩) | 迹统计量 (Trace) | 5% 临界值 | 最大特征值 (MaxEig) | 5% 临界值 | 显著性 |
|---|---|---|---|---|---|
| r ≤ 0 | 41.1602 | 29.7961 | 18.8862 | 21.1314 | 拒绝原假设(存在更高级协整) |
| r ≤ 1 | 22.2741 | 15.4943 | 16.071 | 14.2639 | 拒绝原假设(存在更高级协整) |
| r ≤ 2 | 6.203 | 3.8415 | 6.203 | 3.8415 | 拒绝原假设(存在更高级协整) |
左右滑动可查看完整表格
通过系统检验,判断得出当前多变量系统中存在 3 个协整关系(长期均衡向量)。
第二张表标题写「秩=1」,但拟合用的是迹检验给出的秩(本例 3),表内只展示第一列 α、β。Beta = (1, 0, 0) 不是「A 对 B、C 的可交易价差」。A 与 C 的 Alpha 为负,B 接近 0:即便你把第一列当成误差修正方向,B 也几乎不往回拉。
| 变量名称 | 误差修正系数 (Alpha) | 标准化协整向量 (Beta) |
|---|---|---|
| 序列A | -0.1317 | 1 |
| 序列B | 0.0078 | 0 |
| 序列C | -0.1559 | 0 |
Alpha 表示短期偏离长期均衡时的『调整速度』,如果为负且显著,证明存在向长期均衡收敛的反馈机制;Beta 构成了各变量间的长期均衡方程系数。


【Johansen协整】检验多序列长期均衡关系。
【协整结论】显著协整关系数=3,存在长期均衡,适合配对交易/VECM。
【VECM修正】Alpha<0的变量在偏离均衡时反向修正,价格向长期轨道回归。
阅读顺序:列数与期数 → 各列 ADF → 迹与最大特征值是否同向 → 估计秩是不是等于 k → 再决定写不写「长期均衡」。满秩时,下一步是水平 VAR,而不是拿 Beta=(1,0,0) 去做价差交易。r=0 时,禁止水平 OLS。0<r<k 时,才谈误差修正与配对。
理论与公式
k 维水平 VAR 写成误差修正形式后,Π = αβ′ 的秩 r 就是协整秩。Johansen 迹统计量检验 H₀: r ≤ r₀:
最大特征值检验一次只往上加一个向量。StatsX 用 statsmodels coint_johansen,det_order=0,k_ar_diff=1;5% 临界值取 cvt / cvm 的中间一列。显著性标记为 λ_trace > 临界值则拒绝。伪回归对照:若 r=0,水平回归
即使 δ 的 t 很大,u_t 仍可能是 I(1)。只有 β′Y_t 平稳时,这个 δ 才是长期弹性。本教学表示例迹检验走到 r=3,不能把上述回归包装成「已协整的价差」。VECM 短边是 ΔY_t = α(β′Y_{t−1}) + Γ ΔY_{t−1} + …,Alpha 是偏离后的调整速度。
注意事项
迹与最大特征值打架时,先写清你跟的是哪一列;产品默认跟迹。
r=k 不是三对可交易价差,而是系统已平稳。
第二张表标题「秩=1」与表注「3 个协整关系」不要混成一句。
Beta=(1,0,0) 不能当配对权重。
确定性趋势设错(该含趋势却用 det_order=0)会把随机趋势误判成协整。
80 期、三变量、滞后 1,检验功效有限;换滞后后秩可能变。
常见问题
参考文献
Engle, R. F., & Granger, C. W. J. Co-Integration and Error Correction: Representation, Estimation, and Testing[J]. Econometrica, 1987, 55(2): 251–276.
Johansen, S. Statistical Analysis of Cointegration Vectors[J]. Journal of Economic Dynamics and Control, 1988, 12(2–3): 231–254.
Johansen, S. Estimation and Hypothesis Testing of Cointegration Vectors in Gaussian Vector Autoregressive Models[J]. Econometrica, 1991, 59(6): 1551–1580.
高铁梅. 计量经济分析方法与建模[M]. 清华大学出版社.