1. 课程导入
欢迎进入《ML Alpha策略回测与交易成本评估》课程。本章不讨论复杂模型,而是先建立一张“全局地图”:我们要解决什么问题、需要哪些核心概念、整个研究流程如何串联,以及为什么交易成本会决定一个机器学习Alpha策略的真实价值。很多研究者在回测阶段获得漂亮曲线,却在实盘中被成本、滑点和冲击吞噬收益,根源往往不是模型不够强,而是评估框架从一开始就缺少成本视角。
一、学习目标:从“预测准确”走向“可交易收益”
本课程的学习目标可以归纳为四个层次。第一,理解ML Alpha策略的完整研究链路:数据构建、特征工程、标签设计、模型训练、信号生成、组合构建、回测评估。第二,掌握回测系统的关键机制,包括时间序列交叉验证、避免未来函数、样本外测试与滚动窗口。第三,建立交易成本评估能力,能够区分显性成本与隐性成本,并把成本模型嵌入回测。第四,形成策略复盘与迭代能力,能够判断收益衰减来自信号失效、成本上升还是执行偏差。
二、核心概念:Alpha、回测与交易成本
Alpha指策略相对于基准的超额收益来源。在机器学习框架下,Alpha通常表现为对未来收益的预测分数,再通过排序、分组或多空组合转化为持仓。回测是在历史数据上模拟策略交易过程,检验信号在时间序列上的稳定性与可执行性。交易成本则是从理论收益到实盘收益之间必须扣除的摩擦,包括佣金、印花税、买卖价差、滑点、市场冲击和机会成本。
三者关系可以用一个简单公式表达:
净Alpha = 预测Alpha - 交易成本 - 风险暴露惩罚 - 执行偏差
如果预测Alpha本身很薄,而换手率很高,那么交易成本会迅速吃掉全部收益。因此,回测必须同时回答两个问题:信号是否有效?信号是否值得交易?
三、整体框架:从数据到净收益的六层结构
本课程将围绕六层结构展开。第一层是数据层,处理行情、基本面、另类数据与对齐问题。第二层是特征层,构造时序、截面与交互特征。第三层是标签层,定义未来收益、方向或排序目标。第四层是模型层,选择线性模型、树模型或神经网络,并做时间序列验证。第五层是组合层,把预测分数转化为权重、仓位与换手约束。第六层是评估层,把成本模型、滑点模型和容量分析纳入回测。
这张框架图强调一个关键点:交易成本不是回测之后的“扣减项”,而是评估层的内生组成部分。成本模型越早进入研究流程,策略迭代方向越接近实盘。
四、方法流程:一个可复用的回测闭环
一个规范的ML Alpha回测流程通常包含以下步骤:
- 数据切分:按时间顺序划分训练集、验证集与测试集,禁止随机打乱。
- 特征与标签构建:确保特征在决策时点已知,标签与持仓周期一致。
- 模型训练与调参:使用滚动窗口或扩展窗口,避免用未来数据调参。
- 信号生成:输出每期预测分数,并做截面标准化或排序。
- 组合构建:设定多空方向、持仓数量、权重上限与换手约束。
- 成本建模:按成交额、换手率、流动性分层估算滑点与冲击。
- 回测评估:计算净收益、夏普、最大回撤、换手率与成本占比。
- 归因复盘:拆解收益来源,判断信号衰减与成本敏感性。
五、案例场景:同一信号,不同成本下的两种命运
假设某机器学习模型预测未来5日收益,日频调仓,年化预测Alpha为18%,年化波动率12%,毛夏普约1.5。若单边交易成本为10bp,日均换手率40%,则年化成本约为:
年化成本 ≈ 换手率 × 单边成本 × 交易天数
≈ 40% × 10bp × 250
≈ 10%
扣除成本后,年化净Alpha降至约8%,净夏普可能降到0.7以下。若市场冲击使实际单边成本升至25bp,年化成本将超过25%,策略直接由盈转亏。这个案例说明:换手率是成本放大器,成本假设是回测可信度的生命线。
| 评估维度 | 常见指标 | 关注问题 |
|---|---|---|
| 信号质量 | IC、RankIC、分组单调性 | 预测是否稳定、是否随时间衰减 |
| 组合表现 | 年化收益、夏普、最大回撤 | 风险调整后是否优于基准 |
| 交易成本 | 换手率、成本占比、滑点敏感性 | 收益是否被摩擦吞噬 |
| 容量与执行 | 资金容量、冲击成本、成交率 | 策略能否规模化、实盘可执行 |
六、常见误区与复盘要点
初学者最容易陷入四类误区。第一,未来函数:使用财报公布前不可得的数据,或全样本标准化。第二,过度调参:在测试集上反复优化,导致样本外失效。第三,忽略成本:只报告毛收益,不计算换手与滑点。第四,容量幻觉:假设任意资金规模都能按收盘价成交。