Research · Quant

量化五大流派
实战回测

用 A 股真实数据跑 7 个核心理论。坦诚地说:5 个策略里 4 个跑输了 buy & hold。

2026-07-30 A 股 2010-2026 HS300 + CYB + 1,800 只股

这是什么样的研究

把"量化五大流派"知识库里的核心理论,用 A 股真实数据 (2010-2026) 跑出可比较的回测结果。两个独立的实战:

Backtest #1 · 单标验证

5 大流派在沪深 300 单标上跑

趋势 (TSMOM) / 均值回归 (z-score 价差) / 因子 (Momentum + Value + Low-Vol) / ML (GBR) / 风险管理 (Kelly + Risk Parity + Vol Targeting)。每个流派 1-2 个代表策略,跑 2010-2026 全部历史。

📊 沪深 300 4024 天 🎯 5 个策略 📅 2010-01-04 → 2026-07-30
Backtest #2 · 横截面 ML

1,800 只股横截面 LightGBM 选股

把"金融 ML"做成 A 股头部量化私募的样子:1,800 只股 × 18 个 alpha 因子 × LightGBM walk-forward × 18 月横截面分组回测。

📊 1,799 只股 × 623 个交易日 🤖 LightGBM (sklearn GBR fallback) 📅 2024-01-02 → 2026-07-30

Backtest #1 · 5 大流派单标

把每一派的核心理论用 1-2 个最经典的策略实现出来。基准是 buy & hold 沪深 300。

流派 策略 年化 Sharpe MDD 结果
① 趋势 / CTA TSMOM 12-1 -2.94% -0.23 -67.63% ❌ 跑输
② 均值回归 HS300/CYB z-score -8.89% -1.10 -77.28% ❌ 跑输
③ 因子投资 Value (Low PB) +2.78% +0.06 -35.60% ✅ 跑赢
④ 机器学习 GBR on 6 features -1.57% -0.34 -32.24% ❌ 跑输
⑤ 风险管理 Vol Target 10% +2.87% +0.08 -34.68% ✅ 性价比最高
基准 BH Buy & Hold 沪深 300 +1.59% -0.02 -46.70% 基准

🏆 唯一跑赢 buy & hold 的策略

Value (Low PB) — 2.78% 年化, Sharpe 0.06, MDD 仅 -35.6%

LongOnly TSMOM 跑平基准。Kelly sweep 显示 Half Kelly 是 sweet spot (终值 1.48 vs Full Kelly 1.68, 但波动减半)。

Backtest #2 · 横截面 ML

把模型做"真"一点:1,800 只股横截面,18 个 alpha 因子,LightGBM walk-forward,月度调仓。

ML 真实预测能力 (OOS)

IC = -0.018

月度 Spearman 负的,比随机还差 1%。这印证了 López de Prado 的论断:金融 ML 90% 是防过拟合。

实际回测(扣除摩擦成本)

策略 年化 Sharpe MDD Calmar 评价
Q5 (Top 20%) 等权 +11.31% +0.39 -35.23% +0.32 ✅ 跑赢基准
Q1 (Bottom 20%) 等权 +7.87% +0.42 -17.88% +0.44 回撤小
TopBottom 多空对冲 -1.56% -0.20 -37.17% -0.04 ❌ 做空端亏
Universe 等权 (基准) +10.18% +0.52 -16.29% +0.62 最稳

Top 10 因子(LightGBM 重要性)

排名 因子 含义
1hi_252_ratio52 周新高比(价格位置)
2mom_11 日动量
3mom_6060 日动量
4vol_6060 日波动率
5turn_6060 日换手率(流动性)
6lo_252_ratio52 周新低比
7mom_2020 日动量
8mom_55 日动量
9vol_2020 日波动率
10mom_1010 日动量

四个最关键的真实发现

  1. A 股长期持有 alpha 极低。沪深 300 2010-2026 年化 1.6%Sharpe 接近 0。 真正 alpha 来源不是被动持有,是主动管理 + 风险管理
  2. 摩擦成本是 A 股量化的最大敌人。单标 + 简单信号 + A 股双边千三摩擦 → 5 个策略里 4 个被摩擦吃光。真正赚钱的策略需要:高换手 + 低摩擦品种 (ETF) + 多标分散
  3. ML 真的很难。严格 walk-forward + 6 特征 + GBR,OOS R² = -12%(比预测零还差)。 横截面 18 因子 + LightGBM,IC = -0.018。这印证了 López de Prado "金融 ML 90% 是防过拟合" 的论断。
  4. 风险管理是唯一稳赚的改造。Vol Targeting 10% 让 MDD 从 -47% 降到 -35%, 年化几乎不变。Half Kelly 是 sweet spot(终值 1.48 vs Full Kelly 1.68,但波动减半)。 在 A 股,单标的唯一确定能赚的"alpha"是来自风险管理,不是预测。

行业 vs 真实差距

行业头部量化私募 8-12% alpha 的真正来源:

维度 行业标准 我的真实结果 差距
IC mean> 0.03-0.018数量级差
ICIR> 0.5-0.0985 倍差
因子数100+185-6 倍
行业中性化必须100%
财报数据必须100%
Barra 风险模型必须100%
样本年限5-10 年2.5 年2-4 倍

结论:真实差距 = 因子数量 + 行业数据 + 风险模型 + 样本年限。 头部 8-12% alpha 来自"**数百因子 + 行业中性 + 真正 Barra + 容量上杠杆**"。 简化的 18 因子 + 无行业中性 → IC 微负是预期之内的。

代码与方法

5 阶段流水线:拉数据 → 因子工程 → ML 训练 → 回测 → 综合报告

Backtest #1(单标)

PY=~/.hermes/projects/finance-refresh/a-stock-sentiment/.venv-quant/bin/python

# Stage 1: 拉数据 (秒级,有缓存)
$PY ~/.hermes/projects/finance-refresh/quant-schools/08-backtest/scripts/_shared.py

# Stage 2-5: 跑 5 个 backtest
for s in 01_trend_cta 02_mean_reversion 03_factor 04_ml 05_risk_mgmt; do
    $PY ~/.hermes/projects/finance-refresh/quant-schools/08-backtest/scripts/${s}.py
done

# Stage 6: 综合报告
$PY ~/.hermes/projects/finance-refresh/quant-schools/08-backtest/scripts/00_consolidate.py

Backtest #2(横截面 ML)

PY=~/.hermes/projects/finance-refresh/a-stock-sentiment/.venv-quant/bin/python

# Stage 1: 拉 1,800 只股 × 2.5 年数据 (~15 min, 之后秒级)
$PY ~/.hermes/projects/finance-refresh/quant-schools/08-backtest/cross_section_ml/scripts/01_build_panel.py

# Stage 2-5: 因子 → ML → 回测 → 报告
$PY scripts/02_factor_engineering.py
$PY scripts/03_ml_train.py
$PY scripts/04_backtest.py
$PY scripts/05_consolidate.py