Machine Learning for Trading / ML4T · Stefan Jansen

Machine Learning for Trading 教程:从数据到实盘的机器学习交易

Machine Learning for Trading(ML4T)不是「让 AI 告诉你明天买哪只股票」,而是把选股拆成数据、特征、模型、信号与回测几个步骤,再一步步走到实盘。它是 Stefan Jansen 的《Machine Learning for Trading》第 3 版代码仓库,27 章、9 个案例、6 个生产级 Python 库,适合想系统学习机器学习交易、并最终把策略跑起来的研究者与开发者。

用途:机器学习交易研究体系:27 章 / 9 案例 / 6 库基于官方 README(2026-08 核验)

项目来源

项目页面显示约 20.7k Star;该数字会随社区活动变化,采集日期为 2026-08-28。

Machine Learning for Trading(stefan-jansen)GitHub 仓库页面截图 查看固定版本源码
27 章6 大部分 + 引言/结语
9 案例ETF/加密/股票/期权/外汇/期货
6 个库ml4t-data/engineer/models/diagnostic/backtest/live
20.7k starsMIT 协议,GitHub 社区活跃
What it solves

Machine Learning for Trading 能解决什么问题?

它把「一个交易想法 → 数据 → 特征 → 模型 → 回测 → 实盘」整理成一条可复现的端到端工作流,并明确划出「探索 vs 确认」的证据边界,帮你避免回测里最常见的过拟合与多重检验陷阱。

完整工作流

从原始数据、标签、特征、模型到回测、成本、风险与部署,一条路走到底,而不是零散的技术清单。

证据边界

用 walk-forward 交叉验证、Deflated Sharpe Ratio、White's Reality Check 等方法把调参与评估分开,对抗过拟合。

可运行案例

9 个案例(ETF、加密永续、美股、期权、外汇、期货)跑同一套 pipeline,展示方法在不同市场哪里有效、哪里失效。

How it works

六阶段理解:从数据到实盘

首页只保留理解所需的六步,详细章节见架构页,模型细节见模型页,策略细节见策略页。

1. 金融数据

市场、基本面、另类数据与合成数据,用 Polars 处理,Parquet/DuckDB 存储。

2. 研究与特征

定义学习任务、标签工程、特征工程与多重检验控制。

3. 模型开发

从线性基线到 GBDT、深度时序、潜因子与因果机器学习。

4. 策略实现

回测即证伪,加组合构建、交易成本与风险管理。

5. 高级 AI

强化学习、RAG、知识图谱与自主 Agent 用于执行、对冲与研究。

6. 生产部署

实盘交易系统(IB/Alpaca/QuantConnect)与 MLOps 治理。

Setup and route

自建 ML4T 还是用 EasyClaw 量化 Skill 路线?

同一个研究目标,两种准备成本。完整对比见对比子页。

ML4T 自建环境适合系统学习与可复现研究管道
装 Docker/WSL2下数据跑 notebook训练回测

约 16 GB 环境 + 4 GB 免费数据;Windows 必须走 WSL2;灵活但环境、数据源与前置都要自己维护。

EasyClaw 量化 Skill适合直接提出一个研究任务
安装 EasyClaw一句话提问

Skill 的数据源、Token、网络与市场覆盖各不相同;不代表 ML4T 已集成 EasyClaw。

集成边界:Machine Learning for Trading 是 GitHub 书+代码仓库,与 EasyClaw 无已证实集成。EasyClaw 内置的是独立量化研究 Skill(量化分析、财经数据、技术分析等),仅作免部署替代路线对比。
EasyClaw in action

免部署:一句话发起量化研究

以下为 EasyClaw 对话截图,演示用内置 Skill 一句话完成行情数据、技术分析与条件选股,与上方 ML4T 自建的「Docker/WSL2 + 16GB + 数据下载」形成对比。

1/3 · EasyClaw 对话截图 — 用 akshare-finance 一句话拉取贵州茅台 3 年日线并计算年化收益率、最大回撤和夏普比率。前置条件:已安装 EasyClaw。Machine Learning for Trading 与 EasyClaw 无已证实集成;结果仅供研究,不构成投资建议。
FAQ

常见问题

Machine Learning for Trading 是什么?

它是 Stefan Jansen《Machine Learning for Trading》第 3 版的配套代码仓库(MIT 协议),把机器学习交易拆成数据、特征、模型、策略、高级 AI 与生产六阶段,27 章 + 9 个可运行案例 + 6 个生产级 Python 库。

Machine Learning for Trading 需要编程基础吗?

需要。它是面向 Python 开发者的教学仓库,涉及 Docker/WSL2/uv 环境、Jupyter notebook 与 scikit-learn/PyTorch/LightGBM 等库,官方文档面向有 Python 与机器学习经验的用户。

Machine Learning for Trading 在 EasyClaw 中能用吗?

无已证实集成。ML4T 与 EasyClaw 没有官方集成证据;EasyClaw 内置的是独立量化研究类 Skill(如量化分析、财经数据、技术分析、选股等),两者是独立路线。

安装 Machine Learning for Trading 要多大空间?

本地 uv 路径约 16 GB(11 GB 环境 + 4 GB 免费数据 + 0.9 GB git 历史),免费数据下载约 12 分钟;跳过 firm-characteristics 数据集可约 75 MB 起步。Docker 路径自带环境,无需编译依赖。

Machine Learning for Trading 的回测结果可信吗?

回测结果仅代表历史表现,涉及数据、参数、成本与市场环境假设;官方强调用 walk-forward 与 Deflated Sharpe Ratio 等方法控制过拟合,不构成收益保证或投资建议。

先明确你的机器学习交易目标

要系统学习并自建可复现的机器学习交易管道,走 ML4T 自托管;想直接一句话发起行情/选股/量化分析研究,可看 EasyClaw 量化 Skill 路线。先看对比页再决定,避免装错工具。