2、时域分析基础:时间序列的表示方法、均值与方差、自相关函数、平稳性概念
各位同学,欢迎来到时域分析的第一课。
我个人习惯把时域分析看作是信号处理的「原汤」。为什么这么说?因为所有频域、小波域的花活,最终都要回到时间轴上来验证。你想想看,交易数据本质上就是一根时间轴上的价格跳动,搞不懂时域,后面那些高级工具用起来心里会发虚。
2.1 时间序列的表示方法
时间序列,说白了就是按时间顺序排好的一串数字。比如某只股票每分钟的收盘价:
# 一个简单的时间序列示例
price_series = [100.5, 100.8, 101.2, 100.9, 101.5, 102.0, 101.8]
time_index = ['09:31', '09:32', '09:33', '09:34', '09:35', '09:36', '09:37']
嗯,这里要注意:时间序列的「顺序」就是一切。你不能像处理普通数组那样随意打乱它。我在项目中遇到过有人把数据按价格排序后做分析,结果完全失去了时间信息,那叫一个惨。
常见的表示方法有三种:
- 列表/数组形式:最直接,索引对应时间点
- 时间戳索引形式:每个数据点带一个时间标签,适合不规则采样
- 滑动窗口形式:用固定长度的窗口截取子序列,做特征提取
2.2 均值与方差:信号的「重心」和「抖动」
均值,就是信号的平均水平。方差,衡量信号围绕均值波动的剧烈程度。
公式很简单:
均值 μ = (1/N) * Σ x_i
方差 σ² = (1/N) * Σ (x_i - μ)²
但实战中,我建议你用「滚动均值」和「滚动方差」——也就是只取最近 N 个数据点算。为什么?因为金融数据是非平稳的,全局均值可能毫无意义。比如某股票十年前均价 50 块,现在 200 块,你用全局均值去判断当前价格高低,那不是扯淡吗?
| 统计量 | 物理含义 | 交易中的应用 |
|---|---|---|
| 均值 | 信号的直流分量 | 判断价格中枢、布林带中轨 |
| 方差 | 信号的波动能量 | 衡量市场波动率、设置止损宽度 |
2.3 自相关函数:信号「记得」自己吗?
自相关函数,听起来高大上,其实就一个问题:当前价格和过去某个时刻的价格有没有关系?
公式:
自相关系数 ρ(k) = Cov(x_t, x_{t-k}) / σ²
其中 k 是滞后阶数。ρ(k) 接近 1,说明正相关强;接近 -1,说明负相关强;接近 0,说明没啥关系。
我举个例子。你观察某只股票,发现今天涨了,明天也容易涨——这就是正自相关。反过来,今天涨了明天就跌——这是负自相关。如果今天涨跌对明天没影响——那就是白噪声,自相关接近 0。
实战中怎么看?我一般画个自相关图(ACF plot):
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.graphics.tsaplots import plot_acf
# 模拟一个具有正自相关的序列
np.random.seed(42)
data = np.random.randn(100)
# 加入一阶自相关
for i in range(1, len(data)):
data[i] = 0.7 * data[i-1] + np.random.randn() * 0.5
plot_acf(data, lags=20)
plt.show()
如果前几个滞后阶数的柱子明显超出蓝色置信区间,说明存在自相关结构。这时候你就可以考虑用 AR 模型去捕捉它。
2.4 平稳性概念:信号「老实」吗?
平稳性,是时域分析里最绕不开的概念。说白了,一个平稳的时间序列,它的统计性质(均值、方差、自相关)不随时间变化。
严格来说有两种:
- 严平稳:所有统计性质完全不变。太严格,现实中几乎不存在。
- 弱平稳(宽平稳):均值恒定、方差恒定、自相关只依赖于时间间隔(滞后阶数),不依赖于具体时间点。这是实战中常用的。
为什么这么重要?因为大多数时间序列模型(ARIMA、GARCH 等)都假设数据是平稳的。你用非平稳数据去建模,结果就是伪回归——看着拟合得很好,一预测就崩。
检验平稳性,常用 ADF 检验(Augmented Dickey-Fuller test):
from statsmodels.tsa.stattools import adfuller
# 假设 price 是价格序列
result = adfuller(price)
print(f'ADF 统计量: {result[0]}')
print(f'p-value: {result[1]}')
# p-value < 0.05 通常认为序列平稳
如果 p-value 大于 0.05,说明序列非平稳。这时候你需要做差分,直到它平稳为止。
2.5 本章知识体系总览
下面这张图,是我自己梳理的时域分析基础框架。你可以把它当作一张地图,随时回来对照:
这张图把四个核心概念串起来了。你从「时间序列」出发,往四个方向延伸,每个方向都有对应的工具和实战要点。我个人建议你把它打印出来贴在工位上,做分析时瞄一眼,思路会清晰很多。
好了,时域分析的基础就讲到这里。均值、方差、自相关、平稳性——这四个概念是后续所有信号提取技术的基石。别急着往下赶,先把它们吃透。下一章我们会聊频域分析,到时候你会发现,时域和频域其实是同一枚硬币的两面。