machine-learning-for-trading

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 5765 👀 关注 382
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 21758
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源书籍代码,MIT 许可证,完全免费,无付费版本。

项目预览

machine-learning-for-trading 项目界面预览图
图片来源:项目官网

项目数据

分类开源模型
开发团队stefan-jansen
定价模式🏷️完全免费
价格说明开源书籍代码,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 星标★ 21758
上线时间2018-05-09 00:00:00
代码更新2026-11-06
仓库体积1.23 GB
本站数据更新2026-11-09
维护状态活跃
收录时间2026-08-09
浏览次数6

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 21758

使用教程

难度:进阶 约 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

上一篇:tensor-house

下一篇:FM-AD-Survey

同类项目推荐

phil 开源

会复盘、会改策略的预测市场交易代理

Phil is a self-improving trader: an AI agent that trades short-term prediction marke···

★ 250 2026-11-05
WrenAI 开源

让 AI 代理用自然语言直接查数,生成可信报表和图表

GenBI (Generative BI) for AI agents, an open-source, governed text-to-SQL through an···

★ 18109 2026-08-09
DeepZero 开源

睡觉时自动扫 Windows 内核驱动,批量揪出可疑 IOCTL 漏洞

Find zero-days while you sleep. DeepZero is an automated vulnerability research fram···

★ 771 2026-09-13
volta 开源

用 AI 把 GitHub 收件箱变清爽,维护者不再被通知淹没。

The AI-powered GitHub inbox for open-source maintainers.

★ 63 2026-08-09
SwiftyCrow 开源

框选屏幕任意区域,本地 OCR 加翻译,译文悬浮窗直接看

Fully on-device on-screen translator for macOS: region capture and live overlay, pow···

★ 118 2026-09-19
ai-healthcare-agent-app 开源

让医疗AI应用更可靠,测试构建一体化

ai agent healthcare app with centralized testing and build workflows for reliable he···

★ 134 2026-08-09
autonomous-os 开源

给机器人装个AI大脑,装上就能听懂人话干活

The open-source operating system for physical AI.

★ 552 2026-09-30
Protein-LLM-Survey 开源

一页看懂蛋白质大模型,快速追踪前沿论文

Large Language Models in Protein: A Comprehensive Survey

★ 200 2026-08-09