第 1 章 · 02 从数据到决策的闭环 本节摘要:本节把上一节抽象的「投资流程」展开为一条具体的工程流水线:数据采集 → 特征/因子构造 → 模型训练 → 信号生成 → 组合构建 → 回测 → 绩效评估 → 实盘执行,并形成反馈闭环。每一步都讲清「输入是什么、产出是什么、容易踩什么坑」,并把本教程的各章对应到流水线的相应环节。读完本节,你能拿到一张完整的 ML4T 工程地图,在后续每一章都知道自己处在流水线的哪一段。 内容来源:原项目根 第二版更新说明与 ML4T 工作流描述、 章前导引,汉化并套用体系化模板。 ⚠️ 风险提示:闭环中任何一环出错都会污染下游,「垃圾进、垃圾出」在金融机器学习中尤为致命,务必在每一步做 Sanity Check。
本节摘要:本节把上一节抽象的「投资流程」展开为一条具体的工程流水线:数据采集 → 特征/因子构造 → 模型训练 → 信号生成 → 组合构建 → 回测 → 绩效评估 → 实盘执行,并形成反馈闭环。每一步都讲清「输入是什么、产出是什么、容易踩什么坑」,并把本教程的各章对应到流水线的相应环节。读完本节,你能拿到一张完整的 ML4T 工程地图,在后续每一章都知道自己处在流水线的哪一段。
内容来源:原项目根
README.md第二版更新说明与 ML4T 工作流描述、08_ml4t_workflow/章前导引,汉化并套用体系化模板。
⚠️ 风险提示:闭环中任何一环出错都会污染下游,「垃圾进、垃圾出」在金融机器学习中尤为致命,务必在每一步做 Sanity Check。
阅读完本节,你应当能够:
原书第二版最大的修订,就是把第一版偏「模型列表」的叙述重组为一条显式的 ML4T workflow(作者在 README.md 中明确写道:the ML4T workflow starts with generating ideas for a well-defined investment universe, collecting relevant data, and extracting informative features...)。我们把这条 workflow 画成闭环:
💡 核心心法:闭环的关键不是「单向走完」,而是反馈。绩效评估的结论要能回溯到模型调参、特征筛选乃至数据补全,实盘产生的新数据又要回流到训练集。这条循环转得越快、越干净,策略迭代就越健康。
先界定「在什么池子里选」。投资域决定可用数据、流动性、容量与合规边界。例如:美股大盘股、日本全市场、加密货币永续合约、A 股中证 500。投资域不清,后面的「信号」无从谈起。
| 数据类别 | 典型来源 | 教程章节 |
|---|---|---|
| 市场数据 | NASDAQ ITCH tick、AlgoSeek 分钟 bar、Quandl 日频 | 第 2 章 |
| 基本面数据 | SEC EDGAR 的 XBRL 财报 | 第 2 章 |
| 另类数据 | 财报电话会议、卫星图、社交情感 | 第 3 章 |
⚠️ 警告:数据采集阶段最常见的坑是 point-in-time 正确性——某只股票在某天是否真的在你「当时」的 Universe 里?退市股是否被剔除?用未来才知道的成分股名单做回测,就是经典的数据窥探。
把原始数据变成「能预测收益的量」。本教程第 4 章专讲,核心手段:
pandas 的 .rolling()、.shift() 构造,避免未来函数。把因子作为特征、未来收益作为标签,训练监督模型。本教程第 7 章线性模型、第 9 章树模型、第 10 章深度学习与强化学习。
| 模型族 | 适合场景 | 教程章节 |
|---|---|---|
| 线性回归/Ridge/Lasso | 因子暴露、可解释性强 | 第 7 章 |
| 随机森林/LightGBM | 非线性、表格数据之王 | 第 9 章 |
| LSTM/Transformer | 时序依赖、多变量 | 第 10 章 |
| DQN 交易 Agent | 序列决策、动作空间离散 | 第 10 章 |
模型输出的是「预测收益」或「上涨概率」,需要转换成有方向的信号(long/short/flat)。常见做法:对横截面排序、取分位数、做去极值与中性化。
把信号变成权重。原书第 5 章详讲:
用历史数据模拟交易。原书第 8 章专讲,涉及:
⚠️ 警告:回测的两大幻觉——「没扣交易成本就盈利」「全样本训练再全样本回测」。前者把信号吃了,后者是数据泄露。
原书第 5、8 章的核心,用 pyfolio、alphalens 出 tearsheet,关注:
评估不是终点。评估的结论要驱动三件事:
💡 核心心法:作者在第二版反复强调,ML4T 不是一次性项目,而是持续迭代的过程(you will find yourself iterating over this workflow repeatedly to incorporate new information and a changing environment)。把闭环设计成「小步快跑」的迭代,比一次性憋大招更可能在实盘存活。
| 闭环环节 | 教程章节 |
|---|---|
| 数据采集 | 第 2、3 章 |
| 特征/因子 | 第 4 章 |
| 组合构建 | 第 5 章 |
| 模型训练流程(交叉验证) | 第 6 章 |
| 模型(线性) | 第 7 章 |
| 回测/ML4T 端到端 | 第 8 章 |
| 模型(树/GBM) | 第 9 章 |
| 模型(无监督/深度/RL) | 第 10 章 |
下一节,我们看 环境搭建——把这条闭环跑起来需要的 Docker、conda、TA-Lib、Zipline 怎么装,为后续每一章的上手实践做好准备。