· 量化交易 · 第 1 / 6 讲

六、时间序列基础

对数收益、波动率、自相关、平稳性、协整与 ARIMA/GARCH——量化策略背后的统计学基石。

量化策略本质上是对价格时间序列进行建模和预测,掌握基础的时间序列概念是开发策略的数学地基。

收益率的计算

简单收益率

r_t = (P_t - P_{t-1}) / P_{t-1}

对数收益率(Log Return)

r_t = ln(P_t / P_{t-1})

波动率(Volatility)

历史波动率(Historical Volatility)

以过去 N 日对数收益率的标准差估算,再年化:

年化波动率 = 日波动率 × √252(传统金融)或 √365(加密市场)

ATR(Average True Range,平均真实波幅)

TR = max(H-L, |H-C_prev|, |L-C_prev|)

ATR = TR 的 N 日移动平均

自相关(Autocorrelation)

自相关检验序列与其自身滞后版本的相关性,用于判断价格或收益率是否存在规律性。

平稳性(Stationarity)

时间序列分析的大多数方法假设序列是平稳的(均值和方差不随时间变化)。

滚动统计(Rolling Statistics)

在时间轴上滑动窗口计算统计量,适用于捕捉动态变化的市场特征:

注意事项


深入:收益率的统计性质

对数收益率的时间可加性证明

设三日价格序列:P₀ → P₁ → P₂ → P₃

三日总对数收益 = ln(P₃/P₀) = ln(P₃/P₂) + ln(P₂/P₁) + ln(P₁/P₀)

即三日对数收益 = 各日对数收益之和。而简单收益率无此性质:

(P₃-P₀)/P₀ ≠ (P₁-P₀)/P₀ + (P₂-P₁)/P₁ + (P₃-P₂)/P₂

这是为什么 Sharpe Ratio 计算、策略分析均优先使用对数收益率的核心原因。

收益率分布的肥尾(Fat Tail)

金融收益率的真实分布远比正态分布有更厚的尾部,极端行情出现频率比正态假设预测的高得多:

**峰度(Kurtosis)**衡量分布的尾部厚度:

实践意义:不能仅靠标准差估计极端风险,需配合 CVaR 等尾部风险指标。


深入:自相关检验

ACF 图(自相关函数图)解读

ACF(k) = 序列与其 k 期滞后版本的相关系数

解读规则

示例解读

PACF(偏自相关函数)

PACF(k) 衡量控制中间滞后期后,k 期滞后与当期的直接相关性,用于 ARIMA 模型的阶数选择。


深入:平稳性与协整

ADF 检验详解

ADF(Augmented Dickey-Fuller)检验的原假设(H₀):序列存在单位根(非平稳)

判断规则

价格 vs 收益率

结论:对价格序列直接建模是错误的,应先对价格取对数再一阶差分(即对数收益率),得到平稳序列后再分析。

协整(Cointegration)

两个非平稳序列(如 BTC 和 ETH 价格)可能存在协整关系:它们各自非平稳,但某种线性组合是平稳的。

检验步骤(Engle-Granger 两步法):

  1. 对 BTC 和 ETH 价格做 OLS 回归,得到残差序列
  2. 对残差序列做 ADF 检验
  3. 若残差平稳(p < 0.05)→ BTC 与 ETH 协整 → 可用于统计套利

均值回归半衰期(Half-life)

协整价差序列的均值回归速度,用半衰期衡量:价差从偏离到回归 50% 所需的平均时间。

计算公式(基于 AR(1) 模型):

设价差 Sₜ = φ × Sₜ₋₁ + εₜ,则:

Half-life = -ln(2) / ln(φ)


ARIMA 模型基础

ARIMA(p, d, q) 是时间序列预测的经典模型:

收益率序列通常使用 ARIMA(p,0,q)(已经平稳,不需要差分)

实践局限:ARIMA 是线性模型,捕捉不到波动率聚集(大波动后接大波动)等非线性特征。描述波动率需要使用 GARCH 模型族。

GARCH 模型简介

GARCH(1,1):当期波动率 = α₀ + α₁ × 上期残差² + β₁ × 上期波动率²

GARCH 模型可以捕捉”波动率聚集”现象,常用于: