样本量过小导致策略“记住”噪声而非真实规律。常见于分钟级高频或小众资产。
“维度灾难”使模型在稀疏空间中随意拟合。技术指标、宏观因子堆叠过多。
深度神经网络、高频树模型等拥有过多参数,直接“背诵”历史行情。
反复回测、微调参数直至历史曲线完美,实则拟合了噪声路径。
| 原因 | 典型表现 | 风险等级 |
|---|---|---|
| 数据量不足 | 回测 Sharpe > 3.0,交易次数少 | 🔴 高 |
| 特征维度过高 | 特征数 > 样本数 50% | 🟠 中高 |
| 模型过于复杂 | 层数 > 5 或叶子节点过多 | 🟡 中 |
| 参数过度优化 | 参数组合经过 >1000 次回测 | 🔴 高 |
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestRegressor
# 高风险过拟合配置 (特征多, 树深)
model = RandomForestRegressor(n_estimators=500, max_depth=20)
scores = cross_val_score(model, X, y, cv=5, scoring='neg_mean_squared_error')
if scores.std() > 0.15 * abs(scores.mean()):
print("⚠️ 过拟合风险高: 方差过大", scores.std())
else:
print("✅ 方差在合理范围")