六、时间序列基础
对数收益、波动率、自相关、平稳性、协整与 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)
自相关检验序列与其自身滞后版本的相关性,用于判断价格或收益率是否存在规律性。
- 正自相关(动量):今日涨,明日也倾向于涨 → 趋势跟踪策略有效的基础
- 负自相关(均值回归):今日涨,明日倾向于跌 → 均值回归策略有效的基础
- 使用 ACF 图(自相关函数图)可视化不同滞后期的相关性
平稳性(Stationarity)
时间序列分析的大多数方法假设序列是平稳的(均值和方差不随时间变化)。
- 价格序列通常非平稳(有趋势),直接对价格建模容易产生伪回归
- 收益率序列通常近似平稳,是更好的建模对象
- 常用检验方法:ADF 检验(Augmented Dickey-Fuller Test)
- p < 0.05:序列平稳(拒绝单位根假设)
- p > 0.05:序列非平稳
滚动统计(Rolling Statistics)
在时间轴上滑动窗口计算统计量,适用于捕捉动态变化的市场特征:
- 滚动均值 → 移动均线(MA)
- 滚动标准差 → 动态波动率、布林带宽度
- 滚动相关系数 → 监测资产对之间相关性的变化
注意事项
- 加密市场 7×24 小时交易,年化因子用 365,与传统金融(252 交易日)不同
- 高频数据中存在大量噪声,过多的统计显著性检验会增加误判概率(多重检验问题)
- 收益率分布通常具有厚尾(Fat Tail),正态分布假设在极端行情下失效
深入:收益率的统计性质
对数收益率的时间可加性证明
设三日价格序列: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)
金融收益率的真实分布远比正态分布有更厚的尾部,极端行情出现频率比正态假设预测的高得多:
- 正态分布:5σ 事件概率约 1/3,500,000
- 实际金融市场:5σ 事件每隔几年就会出现
**峰度(Kurtosis)**衡量分布的尾部厚度:
- 正态分布峰度 = 3
- 超额峰度(Excess Kurtosis)= 峰度 - 3
- 大多数加密货币日收益超额峰度 > 5
实践意义:不能仅靠标准差估计极端风险,需配合 CVaR 等尾部风险指标。
深入:自相关检验
ACF 图(自相关函数图)解读
ACF(k) = 序列与其 k 期滞后版本的相关系数
解读规则:
- 若 k 期 ACF 在置信区间(±1.96/√N)外 → 该滞后期存在显著相关
- 所有滞后期 ACF 均在置信区间内 → 序列近似白噪声(无规律可循)
示例解读:
- BTC 小时收益率,ACF(1) = -0.12(显著)→ 相邻小时收益轻微负相关 → 短期均值回归迹象
- BTC 日收益率,ACF(1) ≈ 0.02(不显著)→ 日线收益接近随机游走
PACF(偏自相关函数)
PACF(k) 衡量控制中间滞后期后,k 期滞后与当期的直接相关性,用于 ARIMA 模型的阶数选择。
深入:平稳性与协整
ADF 检验详解
ADF(Augmented Dickey-Fuller)检验的原假设(H₀):序列存在单位根(非平稳)
判断规则:
- p 值 < 0.05:拒绝原假设,序列平稳 ✓
- p 值 > 0.05:无法拒绝,序列非平稳
价格 vs 收益率:
- BTC 价格序列:ADF p 值通常 > 0.1(非平稳,有趋势)
- BTC 日对数收益率:ADF p 值通常 < 0.01(平稳)
结论:对价格序列直接建模是错误的,应先对价格取对数再一阶差分(即对数收益率),得到平稳序列后再分析。
协整(Cointegration)
两个非平稳序列(如 BTC 和 ETH 价格)可能存在协整关系:它们各自非平稳,但某种线性组合是平稳的。
检验步骤(Engle-Granger 两步法):
- 对 BTC 和 ETH 价格做 OLS 回归,得到残差序列
- 对残差序列做 ADF 检验
- 若残差平稳(p < 0.05)→ BTC 与 ETH 协整 → 可用于统计套利
均值回归半衰期(Half-life)
协整价差序列的均值回归速度,用半衰期衡量:价差从偏离到回归 50% 所需的平均时间。
计算公式(基于 AR(1) 模型):
设价差 Sₜ = φ × Sₜ₋₁ + εₜ,则:
Half-life = -ln(2) / ln(φ)
- 半衰期短(< 1 天)→ 适合高频均值回归
- 半衰期中等(1-5 天)→ 适合日内到短线均值回归
- 半衰期长(> 30 天)→ 均值回归信号弱,不适合做套利
ARIMA 模型基础
ARIMA(p, d, q) 是时间序列预测的经典模型:
- p:自回归阶数(当期值依赖过去 p 期值)
- d:差分次数(使序列平稳所需的差分次数)
- q:移动平均阶数(当期值依赖过去 q 期误差项)
收益率序列通常使用 ARIMA(p,0,q)(已经平稳,不需要差分)
实践局限:ARIMA 是线性模型,捕捉不到波动率聚集(大波动后接大波动)等非线性特征。描述波动率需要使用 GARCH 模型族。
GARCH 模型简介
GARCH(1,1):当期波动率 = α₀ + α₁ × 上期残差² + β₁ × 上期波动率²
GARCH 模型可以捕捉”波动率聚集”现象,常用于:
- 动态止损的波动率估计
- 期权定价中的波动率建模
- 风险管理中的动态 VaR 估计