1. 课程导入

课程导入 学习卡片

在量化投资的研究与工程实践中,单一模型往往难以稳定穿越不同的市场状态。趋势模型在震荡市回撤明显,均值回归模型在单边行情中容易逆势,机器学习模型在样本外也可能因风格切换而失效。Qlib 作为面向量化投研全流程的开源平台,提供了从数据管理、特征工程、模型训练到回测评估的完整能力。本课程的目标,是帮助你在 Qlib 之上建立一套可复现、可扩展的多模型集成与信号融合体系,把多个弱相关甚至互补的预测信号,转化为更稳健的组合决策。

学习目标

完成本章后,你应当能够清晰回答三个问题:为什么要做集成、集成什么、以及如何在 Qlib 中落地。具体目标包括:

  • 理解多模型集成的核心动机:偏差-方差分解、模型多样性来源、以及信号融合对回撤与换手的影响。
  • 掌握 Qlib 中模型训练、预测输出与信号拼接的标准接口,能够把多个模型的预测分数对齐到统一的时间与标的索引。
  • 区分“模型集成”与“信号融合”的层次差异:前者发生在预测分数层,后者可延伸到仓位、风险与交易约束层。
  • 建立从实验设计、滚动训练、权重确定到回测归因的完整实战路线图。

核心概念:集成、融合与多样性

多模型集成并不是简单地把几个模型的预测结果相加。它的有效性建立在“误差不完全相关”这一前提上。如果两个模型在同一批样本上犯同样的错误,集成收益几乎为零。因此,多样性的来源决定了集成的上限。常见多样性来源包括:

多样性来源 典型做法 在 Qlib 中的体现
数据视角 不同特征集、不同频率、不同股票池 配置不同 handler 与 dataset
模型结构 线性、树模型、深度网络、时序模型 切换 model 配置并分别训练
目标定义 不同预测周期、不同标签构造 修改 label 与数据切分
训练随机性 不同随机种子、不同采样 多次运行并保存预测

信号融合则更接近决策层。它关注的是:多个预测分数如何映射为最终持仓。常见方法包括等权平均、基于历史 IC 或 ICIR 的加权、滚动窗口最优权重、以及带风险约束的优化融合。融合层需要特别警惕过拟合,因为权重估计本身也是在小样本上进行的。

关键判断:集成提升的是稳定性,而不是必然提升收益。若单模型已经过拟合,集成只会把过拟合“平均化”。因此,集成前必须确保每个基模型都经过严格的样本外验证。

整体框架与实战路线图

本课程的整体框架可以概括为“数据—模型—信号—组合—归因”五层。Qlib 在其中承担数据与模型训练的基础设施角色,而集成与融合逻辑则由我们在其之上构建。实战路线图如下:

  1. 环境与数据准备:初始化 Qlib,准备统一日历、标的池与特征数据,确保所有模型共享同一数据切分。
  2. 基模型训练:选择 3~5 个差异明显的模型,分别训练并保存验证集与测试集预测。
  3. 预测对齐:把各模型预测统一为 (datetime, instrument) 索引的分数矩阵,处理缺失与异常值。
  4. 权重确定:在滚动窗口内用 IC、ICIR 或简单等权确定融合权重,避免使用未来信息。
  5. 信号融合与回测:将融合分数输入策略,生成持仓并回测,对比单模型基线。
  6. 归因与复盘:分析收益来源、换手、回撤与风格暴露,判断集成是否真正带来增益。

在 Qlib 中,模型预测通常以 DataFrame 形式返回,索引为 datetime 与 instrument。对齐是集成中最容易出错的环节。下面是一个典型的预测对齐与等权融合片段:

import pandas as pd

# 假设 pred_a, pred_b, pred_c 均为 Qlib 预测结果
# index: (datetime, instrument), columns: score
preds = [pred_a, pred_b, pred_c]

# 对齐索引并合并
aligned = pd.concat(preds, axis=1, keys=["a", "b", "c"])
aligned = aligned.dropna(how="all")

# 等权融合
aligned["ensemble"] = aligned[["a", "b", "c"]].mean(axis=1)

# 检查覆盖率
print(aligned.notna().mean())

建议在融合前先做横截面标准化(如按日 rank 或 z-score),否则不同模型的分数尺度差异会主导等权结果。

案例场景:从单模型到三模型融合

假设你已有三个基模型:LightGBM 使用量价特征,Linear 使用基本面特征,GRU 使用时序窗口特征。单独回测显示:LightGBM 收益高但回撤大,Linear 稳定但收益低,GRU 在趋势市表现好。直接等权融合后,常见结果是收益介于两者之间,但最大回撤显著下降,夏普比率提升。这正是集成追求的“风险调整后收益改善”。

但若三个模型都基于同一套量价特征,只是换了模型结构,融合效果往往有限。此时应优先增加数据视角的多样性,而不是继续堆叠模型。

常见误区与复盘要点

误区一:用测试集选择融合权重。这会造成信息泄露,回测结果虚高。权重必须在验证集或滚动窗口内确定。

误区二:忽略换手与交易成本。融合信号可能更平滑,也可能因模型切换而增加换手,必须纳入回测评估。

误区三:只比较收益,不比较风险。集成的价值常体现在回撤、波动与尾部风险上,应同时观察夏普、卡玛与最大回撤。

复盘时建议固定一张对照表:单模型基线、等权融合、加权融合三组结果并列,记录收益、波动、夏普、最大回撤与换手。只有融合组在多数指标上稳定优于基线,才认为集成有效。否则应回到多样性来源与权重方法上继续排查。

本章建立了整体认知框架。接下来你将逐步进入数据准备、基模型训练、预测对齐与融合权重的具体实现,最终形成一套可在 Qlib 中复用的多模型集成流水线。