2. 金融数据基础

任何概率预测与置信区间建模,第一步都不是选模型,而是把“数据对象”定义清楚。金融时间序列里最容易被误用的,就是把价格直接当作可建模的平稳变量。价格序列通常带有趋势和单位根,而收益率更接近平稳序列,因此本章的核心任务是:建立一套从原始行情到可建模特征的标准化数据管线。

一、核心原理:价格、收益率与波动率的关系

设资产在 t 时刻的价格为 Pt,则简单收益率 rt = (Pt − Pt−1) / Pt−1,对数收益率 rt = ln(Pt / Pt−1)。两者在数值较小时近似相等,但对数收益率具有时间可加性:多期对数收益率等于各期之和,这一性质在跨周期聚合、风险归因和置信区间推导中非常关键。

波动率不是收益率的直接观测值,而是收益率二阶矩的刻画。常见定义包括:滚动标准差、EWMA 加权波动率、GARCH 条件波动率,以及已实现波动率(Realized Volatility)。波动率具有聚集性、均值回复和杠杆效应,这三点决定了它不能简单用固定方差假设处理。

建模顺序建议:先确认价格复权方式,再计算对数收益率,然后做平稳性检验,最后估计波动率与相关性结构。顺序颠倒会导致后续置信区间系统性偏窄或偏宽。

二、方法流程:从原始行情到建模特征

  1. 数据获取与对齐:确定标的、频率、时间范围与复权方式,统一时区与交易日历。
  2. 清洗:处理停牌、缺失、重复时间戳、异常跳点,区分真实跳空与数据错误。
  3. 收益率计算:优先使用对数收益率,保留价格序列用于回测与可视化。
  4. 平稳性检验:ADF、KPSS 检验,必要时做差分或去趋势。
  5. 波动率估计:滚动窗口、EWMA、GARCH 族模型,输出条件方差序列。
  6. 相关性与分布诊断:滚动相关、偏度、峰度、QQ 图、尾部极值统计。
  7. 特征落库:形成“时间戳 + 收益率 + 波动率 + 相关性 + 分布标签”的宽表。
# 示例:对数收益率与滚动波动率
import numpy as np
import pandas as pd

df = pd.read_csv("prices.csv", parse_dates=["date"]).set_index("date")
df["log_ret"] = np.log(df["close"] / df["close"].shift(1))
df["vol_20"] = df["log_ret"].rolling(20).std() * np.sqrt(252)
df = df.dropna()
print(df[["log_ret", "vol_20"]].describe())

三、分布特征与相关性:置信区间的隐含假设

金融收益率普遍呈现尖峰厚尾、负偏、波动聚集等特征。若直接用正态分布构造 95% 置信区间,尾部风险会被低估。实务中常用 t 分布、广义误差分布(GED)、极值理论或历史模拟法来修正。相关性同样不稳定:危机期间相关性上升,分散化效果减弱,因此滚动相关矩阵比静态相关矩阵更可靠。

数据对象典型特征建模用途常见陷阱
价格序列非平稳、有趋势回测、可视化直接回归导致伪回归
对数收益率近似平稳、可加预测、置信区间忽略复权与停牌
波动率聚集、均值回复风险度量、区间宽度用固定方差
相关性时变、危机上升组合分散、风险归因静态相关矩阵
分布特征尖峰厚尾、负偏尾部风险、VaR默认正态假设
从原始行情到可建模特征的数据管线 原始行情 价格 / 成交量 清洗对齐 复权 / 时区 对数收益率 平稳化处理 波动率与相关性 滚动 / EWMA / GARCH 收益率分布特征 实际分布:尖峰厚尾 正态假设:尾部偏薄 常见数据源与频率 日频行情:交易所、Yahoo、Tushare 高频/逐笔:Wind、聚宽、Tick 数据 宏观与因子:FRED、央行、财报库 另类数据:舆情、卫星、链上数据

四、案例与场景:用波动率修正置信区间

假设某股票日对数收益率均值为 0.0005,样本标准差为 0.02。若按正态近似,95% 置信区间约为 0.0005 ± 1.96 × 0.02,即 [−0.0387, 0.0397]。但若用 GARCH 估计出当日条件波动率为 0.035,则区间应扩展为 [−0.0681, 0.0691]。这说明:置信区间的宽度必须由条件波动率驱动,而不是由全样本方差驱动。

实操建议:把波动率作为区间宽度的“乘数因子”,把分布假设作为“分位数因子”,两者分离管理,便于回测和参数调优。

五、常见误区与复盘

  • 误区一:用价格算收益率却忘记复权。除权除息会造成虚假跳空,直接污染波动率与相关性。
  • 误区二:忽略停牌与缺失值。简单前向填充会人为制造零收益,压低波动率。
  • 误区三:默认正态分布。厚尾环境下 VaR 与置信区间会被系统性低估。
  • 误区四:静态相关矩阵。危机时相关性跃升,组合风险被低估。
  • 误区五:频率混用。日频波动率与分钟频波动率不可直接比较,需统一年化口径。
复盘清单:每次建模前检查——复权方式是否一致?时间戳是否对齐?缺失值如何处理?波动率窗口是否合理?分布假设是否经过检验?相关性是否滚动更新?这六项决定了后续置信区间的可信度。

完成本章后,你应当能够独立构建一条从原始价格到收益率、波动率、相关性与分布标签的标准化数据管线,并清楚每个环节对最终置信区间宽度与覆盖率的影响。这是后续概率预测模型能够稳定工作的数据地基。