Skip to content

4.5 时间序列分析

时间序列分析研究按时间顺序排列的数据点的统计性质。与横截面数据不同,时间序列数据的关键特征是自相关——过去的值影响未来的值。


一、基本概念

1.1 时间序列 vs 横截面数据

特征横截面时间序列
维度同一时间多个个体同一个体多个时间点
关键假设独立同分布(i.i.d.)序列依赖
主要关注分布参数动态结构(趋势、自相关)

1.2 平稳性(Stationarity)

严平稳:联合分布对时间平移不变

F(xt1,,xtk)=F(xt1+h,,xtk+h) F(x_{t_1}, \dots, x_{t_k}) = F(x_{t_1+h}, \dots, x_{t_k+h})

弱平稳(宽平稳):

  • E[Xt]=μ\mathbb{E}[X_t] = \mu(常数均值)
  • Var(Xt)=σ2\text{Var}(X_t) = \sigma^2(常数方差)
  • Cov(Xt,Xt+h)=γ(h)\text{Cov}(X_t, X_{t+h}) = \gamma(h)(协方差仅依赖滞后 hh

金融收益率通常近似弱平稳,但价格序列一般不平稳。

1.3 自相关函数(ACF)

ρ(h)=γ(h)γ(0)=Cov(Xt,Xt+h)Var(Xt)Var(Xt+h) \rho(h) = \frac{\gamma(h)}{\gamma(0)} = \frac{\text{Cov}(X_t, X_{t+h})}{\sqrt{\text{Var}(X_t)\text{Var}(X_{t+h})}}

样本 ACF:ρ^(h)=t=1nh(XtXˉ)(Xt+hXˉ)t=1n(XtXˉ)2\hat{\rho}(h) = \frac{\sum_{t=1}^{n-h} (X_t - \bar{X})(X_{t+h} - \bar{X})}{\sum_{t=1}^{n} (X_t - \bar{X})^2}


二、白噪声(White Noise)

白噪声 是最基础的时间序列"原料"。一个序列 {εt}\{\varepsilon_t\} 被称为白噪声,记为 εtWN(0,σ2)\varepsilon_t \sim WN(0, \sigma^2),如果满足三个条件:

  1. 均值为零E[εt]=0\mathbb{E}[\varepsilon_t] = 0
  2. 方差恒定Var(εt)=σ2\text{Var}(\varepsilon_t) = \sigma^2(常数,不随时间变化)
  3. 无自相关Cov(εt,εt+h)=0\text{Cov}(\varepsilon_t, \varepsilon_{t+h}) = 0 对任意 h0h \neq 0(过去值不能预测未来值)

直观理解:白噪声就像一台收音机的"沙沙"背景噪音——每个时间点的值完全随机,没有规律可循,无法用过去的值预测未来的值。

为什么叫"白"噪声:类比白光——白光包含所有频率的可见光,能量在所有频率上均匀分布。白噪声也类似,它的能量在所有频率上均匀分布(功率谱密度为常数)。

在时间序列中的作用:白噪声是所有时间序列模型的"构建块"。AR、MA、ARMA 模型都把观测序列 XtX_t 表示为过去值的加权和加上一个白噪声冲击 εt\varepsilon_t


三、AR(1) 模型

3.1 模型定义

Xt=ϕXt1+εt,εtWN(0,σ2) X_t = \phi X_{t-1} + \varepsilon_t, \quad \varepsilon_t \sim WN(0, \sigma^2)

其中 ϕ<1|\phi| < 1 保证平稳性。

性质:

  • E[Xt]=0\mathbb{E}[X_t] = 0
  • Var(Xt)=σ2/(1ϕ2)\text{Var}(X_t) = \sigma^2 / (1 - \phi^2)
  • ρ(h)=ϕh\rho(h) = \phi^{h}

3.2 手算:AR(1) 模拟与 ACF

ϕ=0.7\phi = 0.7,生成序列 X1=1.0X_1 = 1.0εtN(0,1)\varepsilon_t \sim N(0, 1)

ttεt\varepsilon_tXt=0.7Xt1+εtX_t = 0.7X_{t-1} + \varepsilon_t
0X0=1.0X_0 = 1.0(初始值)
10.50.5X1=0.7×1.0+0.5=1.20X_1 = 0.7 \times 1.0 + 0.5 = 1.20
20.3-0.3X2=0.7×1.200.3=0.54X_2 = 0.7 \times 1.20 - 0.3 = 0.54
30.80.8X3=0.7×0.54+0.8=1.178X_3 = 0.7 \times 0.54 + 0.8 = 1.178
40.1-0.1X4=0.7×1.1780.1=0.725X_4 = 0.7 \times 1.178 - 0.1 = 0.725
50.60.6X5=0.7×0.725+0.6=1.107X_5 = 0.7 \times 0.725 + 0.6 = 1.107
60.5-0.5X6=0.7×1.1070.5=0.275X_6 = 0.7 \times 1.107 - 0.5 = 0.275
70.20.2X7=0.7×0.275+0.2=0.393X_7 = 0.7 \times 0.275 + 0.2 = 0.393
80.40.4X8=0.7×0.393+0.4=0.675X_8 = 0.7 \times 0.393 + 0.4 = 0.675
90.7-0.7X9=0.7×0.6750.7=0.227X_9 = 0.7 \times 0.675 - 0.7 = -0.227
100.30.3X10=0.7×(0.227)+0.3=0.141X_{10} = 0.7 \times (-0.227) + 0.3 = 0.141

3.3 手动计算 ACF(前 3 个滞后)

样本均值 Xˉ=110t=110Xt=1.20+0.54++0.14110=6.20710=0.6207\bar{X} = \frac{1}{10}\sum_{t=1}^{10} X_t = \frac{1.20 + 0.54 + \cdots + 0.141}{10} = \frac{6.207}{10} = 0.6207

计算分母:

t=110(XtXˉ)2=(1.200.6207)2+(0.540.6207)2++(0.1410.6207)2 \sum_{t=1}^{10} (X_t - \bar{X})^2 = (1.20-0.6207)^2 + (0.54-0.6207)^2 + \cdots + (0.141-0.6207)^2

ttXtX_tXtXˉX_t - \bar{X}(XtXˉ)2(X_t - \bar{X})^2
11.2000.57930.3356
20.540-0.08070.0065
31.1780.55730.3106
40.7250.10430.0109
51.1070.48630.2365
60.275-0.34570.1195
70.393-0.22770.0519
80.6750.05430.0029
9-0.227-0.84770.7186
100.141-0.47970.2301

分母 =0.3356+0.0065+0.3106+0.0109+0.2365+0.1195+0.0519+0.0029+0.7186+0.2301=2.0231= 0.3356 + 0.0065 + 0.3106 + 0.0109 + 0.2365 + 0.1195 + 0.0519 + 0.0029 + 0.7186 + 0.2301 = 2.0231

滞后 1 h=1h=1(9 对数据):

tt(XtXˉ)(X_t - \bar{X})(Xt+1Xˉ)(X_{t+1} - \bar{X})乘积
10.5793-0.0807-0.0467
2-0.08070.5573-0.0450
30.55730.10430.0581
40.10430.48630.0507
50.4863-0.3457-0.1681
6-0.3457-0.22770.0787
7-0.22770.0543-0.0124
80.0543-0.8477-0.0460
9-0.8477-0.47970.4066

分子 =0.2759= 0.2759(求和)

ρ^(1)=0.27592.0231=0.1364 \hat{\rho}(1) = \frac{0.2759}{2.0231} = 0.1364

滞后 2 h=2h=2(8 对数据):

分子=(0.5793×0.5573)+(0.0807×0.1043)+(0.5573×0.4863)+(0.1043×(0.3457))+(0.4863×(0.2277))+(0.3457×0.0543)+(0.2277×(0.8477))+(0.0543×(0.4797)) \text{分子} = (0.5793 \times 0.5573) + (-0.0807 \times 0.1043) + (0.5573 \times 0.4863) + (0.1043 \times (-0.3457)) + (0.4863 \times (-0.2277)) + (-0.3457 \times 0.0543) + (-0.2277 \times (-0.8477)) + (0.0543 \times (-0.4797))

=0.32280.0084+0.27100.03610.11070.0188+0.19310.0260=0.5869 = 0.3228 - 0.0084 + 0.2710 - 0.0361 - 0.1107 - 0.0188 + 0.1931 - 0.0260 = 0.5869

ρ^(2)=0.58692.0231=0.2901 \hat{\rho}(2) = \frac{0.5869}{2.0231} = 0.2901

滞后 3 h=3h=3(7 对数据):

分子=(0.5793×0.1043)+(0.0807×0.4863)+(0.5573×(0.3457))+(0.1043×(0.2277))+(0.4863×0.0543)+(0.3457×(0.8477))+(0.2277×(0.4797)) \text{分子} = (0.5793 \times 0.1043) + (-0.0807 \times 0.4863) + (0.5573 \times (-0.3457)) + (0.1043 \times (-0.2277)) + (0.4863 \times 0.0543) + (-0.3457 \times (-0.8477)) + (-0.2277 \times (-0.4797))

=0.06040.03920.19270.0237+0.0264+0.2932+0.1092=0.2336 = 0.0604 - 0.0392 - 0.1927 - 0.0237 + 0.0264 + 0.2932 + 0.1092 = 0.2336

ρ^(3)=0.23362.0231=0.1155 \hat{\rho}(3) = \frac{0.2336}{2.0231} = 0.1155

理论 ACF 对比

滞后 hh理论值 ρ(h)=0.7h\rho(h) = 0.7^h样本估计 ρ^(h)\hat{\rho}(h)
10.70000.70000.13640.1364
20.49000.49000.29010.2901
30.34300.34300.11550.1155

注意:样本量 n=10n=10 很小,因此样本 ACF 与理论值偏差较大。实践中至少需要 50-100 个观测才有可靠的 ACF 估计。


四、随机游走

3.1 定义

Xt=Xt1+εt,εtWN(0,σ2) X_t = X_{t-1} + \varepsilon_t, \quad \varepsilon_t \sim WN(0, \sigma^2)

ϕ=1\phi = 1 的 AR(1) 过程——非平稳。

性质:

  • E[Xt]=X0\mathbb{E}[X_t] = X_0(初始值)
  • Var(Xt)=tσ2\text{Var}(X_t) = t\sigma^2(方差随时间增长)
  • Cov(Xt,Xs)=min(t,s)σ2\text{Cov}(X_t, X_s) = \min(t,s)\sigma^2
  • ρ(h)1\rho(h) \to 1tt \to \infty(极度持久)

3.2 随机游走 vs AR(1) 对比

特征AR(1) 平稳 (ϕ=0.7\phi=0.7)随机游走 (ϕ=1.0\phi=1.0)
均值常数 00X0X_0(不变)
方差常数 σ2/(1ϕ2)\sigma^2/(1-\phi^2)随时间 \to \infty
ACFϕh0\phi^h \to 0 指数衰减1\to 1 缓慢衰减
冲击影响指数衰减永久存留
预测均值回归当前值是最优预测

Quant Link:动量策略与均值回归

时间序列分析在量化中的两类核心应用:

  1. 动量策略(Momentum)

    • 依赖于正自相关:过去收益好 \to 未来收益好
    • 运用序列相关性:若 XtX_tXt1X_{t-1} 正相关,做多过去表现好的资产
    • 时间序列动量:直接对单资产过去 kk 期收益回归预测未来收益
    • 代表性文献:Jegadeesh & Titman (1993)
  2. 均值回归策略(Mean Reversion)

    • 依赖于负自相关平稳性:价格偏离均值后会回归
    • 配对交易(Pairs Trading):两个协整资产价差 \to 均值回归
    • 统计套利:基于 Ornstein-Uhlenbeck 过程的 θ\theta 参数
    • Ornstein-Uhlenbeck (OU) 过程:一种均值回归的随机过程,dXt=theta(muXt)dt+sigmadWtdX_t = \\theta(\\mu - X_t)dt + \\sigma dW_t。其中 dWtdW_t布朗运动的增量(详见 6.3 布朗运动),theta>0\\theta > 0回归速度——theta\\theta 越大,价格偏离均值后回拉越快。均值回归半衰期 HL=ln(2)/thetaHL = \\ln(2) / \\theta 衡量回归速度:若 theta=0.1\\theta = 0.1,半衰期 approx6.9\\approx 6.9 天(即价格偏离均值后,约 7 天回到一半距离)。
  3. 识别方法

    • ACF 图:动量策略选正 ACF 的资产,均值回归选负 ACF 或快速衰减
    • Augmented Dickey-Fuller (ADF) 检验:检验序列是否平稳
    • Hurst 指数:H<0.5H < 0.5(均值回归),H>0.5H > 0.5(趋势/动量)

Python 验证

python
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.graphics.tsaplots import plot_acf
from statsmodels.tsa.stattools import acf, adfuller

# AR(1) 模拟 φ=0.7
np.random.seed(42)
n = 100
phi = 0.7
X = np.zeros(n)
X[0] = 1.0
for t in range(1, n):
    X[t] = phi * X[t-1] + np.random.normal(0, 1)

# 样本 ACF 对比理论值
sample_acf = acf(X, nlags=5)
theory_acf = [phi**h for h in range(6)]
print("滞后 | 样本 ACF | 理论 ACF")
print("-" * 35)
for h in range(6):
    print(f"  {h}   | {sample_acf[h]:.4f}   | {theory_acf[h]:.4f}")

# 单位根检验(ADF)
adf_stat, p_val = adfuller(X, maxlag=5)[:2]
print(f"\nADF 统计量 = {adf_stat:.4f}, p-value = {p_val:.4f}")
print(f"结论: {'平稳' if p_val < 0.05 else '非平稳'}")

# 随机游走对比
np.random.seed(42)
Y = np.cumsum(np.random.normal(0, 1, n))
adf_stat2, p_val2 = adfuller(Y, maxlag=5)[:2]
print(f"\n随机游走 ADF p-value = {p_val2:.4f}(应为 > 0.05)")

小结

概念定义量化意义
平稳性统计性质不随时间变化统计推断有效的前提
ACF ρ(h)\rho(h)hh 阶自相关识别序列依赖模式
AR(1) ϕ\phi一阶自回归系数动量/反转强度
随机游走ϕ=1\phi=1 的单位根过程有效市场假说
均值回归序列围绕均值波动统计套利基础

下一步:继续学习 05 最优化理论——从统计推断到策略优化。

Built with VitePress