machine-learning-for-trading

跟着书学用机器学习做量化交易,从数据到实盘一步到位

这是一个与《Machine Learning for Trading》第三版配套的开源代码仓库,旨在帮助读者和开发者系统学习如何将机器学习技术应用于金融交易。项目覆盖了从数据获取、特征工程、模型训练到策略回测与实盘执行的完整流程,包含大量Jupyter Notebook示例和Python脚本。它解决了量化交易入门者缺乏系统性实战代码的问题,提供了从理论到落地的桥梁。核心能力包括:多种金融数据源接入、技术指标与备选数据特征构建、基于Scikit-learn等库的预测模型(如线性回归、树模型、神经网络)、事件驱动回测框架以及模拟交易执行。代码结构清晰,按章节组织,适合循序渐进学习,也便于开发者直接复用其中的数据处理和建模模块。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 20974
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队stefan-jansen
所属国家
定价模式free
价格说明开源书籍代码,MIT 许可证,完全免费,无付费版本。
访问状态
是否开源是
开源协议MIT
主要语言Jupyter Notebook
技术栈/模型algorithmic-trading,artificial-intelligence,backtesting,data-science,deep-learning,finance,investment,investment-strategies,large-language-models,machine-learning,ml4t-workflow,polars,quantitative-finance,reinforcement-learning,synthetic-data,trading,trading-agent,trading-strategies
GitHub 星标★ 20974
30天Star增速
HF 下载量
上线时间2018-05-09 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

使用教程

难度:进阶 约 30 分钟 部署方式:本地安装 7 步

环境要求

  • 可用终端,所有命令都在自己电脑上、从仓库根目录执行
  • Docker 方案:已安装 Docker 与 Docker Compose,无需编译器
  • 本地 uv 方案:macOS / Linux / WSL2,且有 C/C++ 编译器与 Python 头文件
  • Windows 必须使用 WSL2,不支持安装到 Windows 原生 Python
  • 约 16 GB 磁盘空间(环境 11 GB、数据集 4 GB、git 历史 0.9 GB)

安装与启动步骤

  1. 1克隆代码仓库

    在自己电脑的终端执行,不要粘贴到 GitHub;完成后进入仓库目录,后续命令都在这里运行。

    git clone https://github.com/stefan-jansen/machine-learning-for-trading.git
    cd machine-learning-for-trading
  2. 2复制配置文件

    复制示例环境变量文件,默认值可直接使用,开始阶段无需编辑任何内容。

    cp .env.example .env
  3. 3方案A 拉取镜像

    选择 Docker 方式,镜像自带全部依赖,不需要本地编译器;这是 Intel Mac 与 GPU 场景的推荐路径。

    docker compose pull ml4t
  4. 4方案B 安装 uv

    本地环境方案适用于 macOS、Linux 或 WSL2;必须用官方脚本安装 uv,不要用 pip。

    curl -LsSf https://astral.sh/uv/install.sh | sh
    source $HOME/.local/bin/env
  5. 5方案B 同步依赖

    uv sync 会一并装好 Jupyter Lab;部分依赖需从源码编译,没有编译工具会失败。

    uv sync
  6. 6验证安装

    该脚本逐个组件打印 PASS 或 FAIL,任一必需组件失败即返回非零退出码;Docker 请用 run --rm 方式运行。

    uv run python scripts/verify_installation.py
  7. 7启动 Jupyter

    在仓库根目录启动,随后浏览器打开 http://localhost:8888,无需 token。本地方式需加 ML4T_DATA_PATH 前缀。

    docker compose up ml4t

关键配置

配置项必填说明示例
ML4T_DATA_PATH否为本地启动的 notebook 加载器提供数据集绝对路径,默认使用仓库的 data//your/path/machine-learning-for-trading/data

如何确认成功

运行 scripts/verify_installation.py,每个组件输出 PASS/FAIL,全部通过即安装成功;Docker 方式启动后浏览器打开 http://localhost:8888 能看到 Jupyter Lab。

常见问题

Q:Windows 上怎么安装?

A:必须走 WSL2:以管理员身份打开 PowerShell 运行 wsl --install -d Ubuntu,重启后再运行一次该命令,然后在 Ubuntu 终端按 Linux 步骤操作。

Q:macOS Intel 机器选哪个方案?

A:选 Docker(方案A)。PyTorch 不发布 macOS x86_64 wheel,本地 uv 方案无法解析依赖。

Q:需要修改 .env 里的内容吗?

A:不需要。README 明确说明默认值即可直接使用,无需编辑就能开始。

Q:这套环境要占多少磁盘?

A:约 16 GB:环境约 11 GB、免费数据集约 4 GB、git 历史约 0.9 GB。

Q:第二版代码在哪里?

A:在 second-edition 分支上,执行 git checkout second-edition 即可,内容与书中描述完全一致。

注意事项

  • 所有命令都在自己电脑的终端里、从仓库根目录执行,不是输入到 GitHub 网页。
  • 用 uv 官方安装脚本安装 uv,不要用 pip,多数系统上 pip 会缺失或拒绝安装。
  • 本地方案需先装编译工具:Ubuntu/Debian/WSL2 执行 sudo apt install build-essential python3-dev,macOS 执行 xcode-select --install。
  • 少数 notebook 需要专用镜像(ml4t-gpu、ml4t-py312、benchmark、rapids),每个 notebook 前言会注明。

核心亮点

  • 覆盖数据获取、特征工程、模型训练、回测到实盘全流程,案例完整
  • 代码按书籍章节组织,配有详细注释,学习路径清晰
  • 基于真实金融数据演示,实战性强,可直接修改复用

不足之处

  • 依赖较多第三方库,环境配置稍复杂
  • 部分代码基于历史版本,需自行适配最新库
  • 文档/社区待观察

适用场景

  • 量化交易入门学习与教学
  • 构建个人机器学习交易策略原型
  • 研究金融数据特征与预测模型

替代项目

QuantConnect Lean、zipline、backtrader

项目介绍

machine-learning-for-trading 是行业应用领域的开源项目,由 stefan-jansen 开发,2018 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(20,974)位列前 3%,在行业应用分类的 545 个项目里位列前 2%。

近 41 天,它的 GitHub 星标从 20,426 增加到 20,974,净增 548。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。开源书籍代码,MIT 许可证,完全免费,无付费版本。

它主要面向的使用场景是:量化交易入门学习与教学。同类可对比的替代方案包括 QuantConnect Lean、zipline、backtrader。

上一篇:tensor-house

下一篇:FM-AD-Survey

同类项目推荐

xmgai-like 开源

换脸、艺术二维码随手玩,副业灵感一包带走。

本开源 AI 副业搞钱项目集成了强大功能,包括 AI 艺术二维码生成、AI 换脸、Delle3 绘画等···

★ 60 2026-08-09
spoken-to-signed-translation 开源

把口语文本一路转成手语视频的流水线

a text-to-gloss-to-pose-to-video pipeline for spoken to signed language translation

★ 102 2026-09-11
LiveTranslate 开源

直播看片实时翻译,字幕秒出,跨语言无压力

Real-time audio translation, captures system audio + mic, runs ASR (Whisper/SenseVoi···

★ 691 2026-08-13