跳到主内容
@wquguru
术语时间序列

平稳性 Stationarity

2026-09-05 更新

定义#

平稳性指一段序列的均值和波动不随时间改变。严格一点说,严平稳要求所有统计特性都不随时间变化,实际建模常用的是弱平稳(协方差平稳):均值恒定、方差恒定,两个时点之间的协方差只取决于它们相隔多远,而不取决于具体是哪一天。

平稳性之所以重要,是因为几乎所有时间序列模型都默认「过去的规律还适用于未来」。股价这种带趋势的序列是非平稳的(课程里叫 I(1),差分一次才平稳),而它的收益率序列通常是平稳的(I(0))。所以做建模时先看价格还是先看收益率,往往不是风格问题,而是模型成不成立的问题。

公式#

判断平稳性最常用的是 ADF(Augmented Dickey-Fuller)单位根检验,它拟合这样一个回归:

Δyt=α+βt+γyt1+i=1pδiΔyti+ϵt\Delta y_t = \alpha + \beta t + \gamma y_{t-1} + \sum_{i=1}^{p} \delta_i \Delta y_{t-i} + \epsilon_t

其中 Δyt\Delta y_t 是一阶差分,α\alpha 是常数项,βt\beta t 是时间趋势项,γ\gamma 是关键的滞后项系数,pp 是滞后阶数,ϵt\epsilon_t 是误差项。原假设是 γ=0\gamma = 0(存在单位根,即非平稳)。γ\gamma 显著为负,说明序列被拉回均值,可以拒绝非平稳。

单整阶数则记作:

ytI(d)    ΔdytI(0)y_t \sim I(d) \iff \Delta^d y_t \sim I(0)

即差分 dd 次以后才平稳的序列,叫 dd 阶单整。

算一笔账#

拿一个人造例子看直觉。序列 A 是 5 个随机数:0.4、−1.2、0.9、−0.3、0.2,均值 =(0.41.2+0.90.3+0.2)/5=0/5=0= (0.4-1.2+0.9-0.3+0.2)/5 = 0/5 = 0,前两个的均值是 (0.41.2)/2=0.4(0.4-1.2)/2 = -0.4,后两个是 (0.3+0.2)/2=0.05(-0.3+0.2)/2 = -0.05,前后半段都在 0 附近晃,没有系统性漂移。

序列 B 在 A 的基础上加一条从 0 到 4 的直线趋势(0、1、2、3、4),变成 0.4、−0.2、2.9、2.7、4.2。前两个的均值是 (0.40.2)/2=0.1(0.4-0.2)/2 = 0.1,后两个是 (2.7+4.2)/2=3.45(2.7+4.2)/2 = 3.45,均值明显随时间抬升——这就是非平稳。

对 B 做一阶差分:0.20.4=0.6-0.2-0.4=-0.62.9+0.2=3.12.9+0.2=3.12.72.9=0.22.7-2.9=-0.24.22.7=1.54.2-2.7=1.5。差分后的四个数均值 =(0.6+3.10.2+1.5)/4=3.8/4=0.95= (-0.6+3.1-0.2+1.5)/4 = 3.8/4 = 0.95,围绕大约 1(也就是原来的斜率)波动,趋势没了。所以 B 是 I(1)。真实数据当然要靠 ADF 的 p 值判断,而不是眼看。

常见问题#

为什么大家都拿收益率而不是价格来建模?#

因为价格序列通常是非平稳的(I(1)),均值会随时间漂移,在这样的序列上做回归容易得到伪回归——两个毫不相干的上涨序列也能跑出很高的 R2R^2。收益率一般是平稳的,模型估出来的参数才有稳定含义。

ADF 检验的 p 值大于 0.05,是不是就证明序列非平稳?#

不是。ADF 的原假设是「存在单位根」,p 值大只能说无法拒绝原假设,不等于证明了非平稳。这也是课程里建议再跑一个 KPSS 的原因:KPSS 的原假设反过来是平稳,两个检验结论一致时才比较踏实。

检验说是平稳的,用起来还会失效吗?#

会。ADF 假定的是线性趋势、没有结构突变。市场制度变化、政策转向、成分股调整都会造成结构断点,这时全样本检验可能仍然通过,但关系已经变了。实务上要用滚动窗口反复检验,而不是在全样本上拟合一次就当结论。

相关术语

出自