3. 过拟合的本质
在量化交易中,我们常常看到一种现象:某个策略在历史回测中夏普比率高达3.0,年化收益曲线平滑得令人心动,但一旦投入实盘,净值却迅速回撤,甚至连续数月跑输基准。这并非策略"失效"了,而是它在建模阶段就已经把历史数据中的噪声当成了规律——这就是过拟合。理解过拟合的本质,是构建可持续高频策略的第一道认知门槛。
一、过拟合的定义:把噪声当信号
过拟合(Overfitting)指模型在训练样本上表现极好,但在未见过的样本上表现显著变差的现象。其数学定义可以表述为:设假设空间为 \(\mathcal{H}\),训练集为 \(S\),真实数据分布为 \(\mathcal{D}\)。若模型 \(h \in \mathcal{H}\) 满足
\[ E_{S \sim \mathcal{D}}[L_{S}(h)] \ll E_{x \sim \mathcal{D}}[L_{\mathcal{D}}(h)] \]
即训练误差远小于泛化误差,则称该模型过拟合。在金融场景中,训练集就是历史行情,泛化误差就是未来实盘表现。过拟合的本质不是"模型太复杂"这么简单,而是模型容量与数据信息量之间的失衡:当模型自由度超过数据中真实信号所能支撑的维度时,模型会优先拟合那些不可重复的随机扰动。
二、偏差-方差权衡:过拟合的结构性来源
理解过拟合最经典的框架是偏差-方差分解。对于任意测试点 \(x\),期望泛化误差可分解为:
\[ E[(y - \hat{f}(x))^2] = \text{Bias}^2[\hat{f}(x)] + \text{Var}[\hat{f}(x)] + \sigma^2 \]
其中 \(\text{Bias}\) 衡量模型系统性偏离真实函数的程度,\(\text{Var}\) 衡量模型对训练集扰动的敏感度,\(\sigma^2\) 是不可约噪声。三者关系如下表所示:
| 模型复杂度 | 偏差 | 方差 | 训练误差 | 泛化误差 | 典型表现 |
|---|---|---|---|---|---|
| 过低(欠拟合) | 高 | 低 | 高 | 高 | 策略无法捕捉任何规律 |
| 适中 | 中 | 中 | 中 | 最低 | 稳健的实盘表现 |
| 过高(过拟合) | 低 | 高 | 极低 | 高 | 回测完美、实盘崩溃 |
高频策略尤其容易滑向右侧:因为高频数据样本量大,看似"数据充足",但独立信息量(有效样本数)远小于名义样本数。例如,用1秒级K线训练一个含20个因子的线性模型,名义样本可能有数百万条,但由于自相关和微观结构噪声,有效独立样本可能只有几千条。此时模型容量稍大,方差就会急剧膨胀。
三、金融数据低信噪比特性:过拟合的温床
金融数据与图像、语音等传统机器学习数据有一个根本区别:信噪比极低。在图像分类中,像素与标签之间的真实映射通常较强,模型容易学到可迁移特征;而在高频价格预测中,可预测成分往往只占价格变动的极小比例。
我们可以做一个直观估算。假设某高频策略预测未来1分钟收益,真实可解释的 \(R^2\) 约为0.001(这在高频中已属不错)。这意味着信号方差仅占总方差的0.1%,其余99.9%都是噪声。如果模型在回测中达到 \(R^2=0.05\),那么其中约98%的"解释力"来自对噪声的拟合。用信息论语言说,金融时间序列的有效信息率极低,而模型参数每增加一个,就多一分机会去"记忆"噪声。
四、数学直观:过拟合如何在高频策略中发生
考虑一个简化的高频策略:用过去 \(p\) 个tick的收益率预测下一个tick的方向。设真实数据生成过程为 \(y_t = \epsilon_t\),即价格变动纯为噪声(无任何可预测性)。若我们仍用最小二乘法拟合一个 \(p\) 维线性模型,则样本内 \(R^2\) 的期望为:
E[R²_in] ≈ p / (n - p - 1)
其中:
p = 特征数量(模型自由度)
n = 样本数量
当 n = 1000, p = 50 时:
E[R²_in] ≈ 50 / 949 ≈ 0.0527
即:即使数据中完全没有信号,
模型也能在样本内"解释"约5.3%的方差。
这就是过拟合的数学直观:样本内表现有一部分是"免费"的,其大小由模型自由度与样本量之比决定。在高频场景中,n 虽然名义上很大,但有效 n 很小,因此这个比值很容易被推高。更危险的是,高频策略通常还会进行参数搜索——在数千组参数中挑选回测最优的一组,这相当于把"免费拟合"放大数倍。
五、常见误区与复盘要点
- 误区一:"样本量大就不会过拟合"。高频数据名义样本大,但自相关导致有效样本小。应关注有效样本数,而非总行数。
- 误区二:"回测夏普高就是好策略"。夏普比率对过拟合极其敏感。参数搜索次数越多,样本内夏普的期望值越高,即使真实夏普为零。
- 误区三:"只要做样本外测试就安全"。如果样本外被反复用于调参,它就已经变成了训练集的一部分。真正的样本外必须只使用一次。
- 复盘要点:记录策略的参数数量、搜索空间大小、有效样本估计值,并计算"自由度/有效样本"比值。该比值超过0.1时,应高度警惕过拟合。