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=1n−h(Xt−Xˉ)(Xt+h−Xˉ)∑t=1n(Xt−Xˉ)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\} 被称为白噪声,记为 εt∼WN(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 对任意 h≠0h \neq 0(过去值不能预测未来值)

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

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

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


三、AR(1) 模型 ​

3.1 模型定义 ​

Xt=ϕXt−1+εt,εt∼WN(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,εt∼N(0,1)\varepsilon_t \sim N(0, 1):

ttεt\varepsilon_tXt=0.7Xt−1+εtX_t = 0.7X_{t-1} + \varepsilon_t
0—X0=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
2−0.3-0.3X2=0.7×1.20−0.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
4−0.1-0.1X4=0.7×1.178−0.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
6−0.5-0.5X6=0.7×1.107−0.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
9−0.7-0.7X9=0.7×0.675−0.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ˉ=110∑t=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(Xt−Xˉ)2=(1.20−0.6207)2+(0.54−0.6207)2+⋯+(0.141−0.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_tXt−XˉX_t - \bar{X}(Xt−Xˉ)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(Xt−Xˉ)(X_t - \bar{X})(Xt+1−Xˉ)(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.3228−0.0084+0.2710−0.0361−0.1107−0.0188+0.1931−0.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.0604−0.0392−0.1927−0.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=Xt−1+εt,εt∼WN(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 1 当 t→∞t \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ϕh→0\phi^h \to 0 指数衰减→1\to 1 缓慢衰减
冲击影响指数衰减永久存留
预测均值回归当前值是最优预测

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

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

  1. 动量策略(Momentum):

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

    • 依赖于负自相关或平稳性:价格偏离均值后会回归
    • 配对交易(Pairs Trading):两个协整资产价差 →\to 均值回归
    • 统计套利:基于 Ornstein-Uhlenbeck 过程的 θ\theta 参数
    • Ornstein-Uhlenbeck (OU) 过程:一种均值回归的随机过程,dXt=theta(mu−Xt)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