stefan-jansen/machine-learning-for-trading

Code for Machine Learning for Trading, 3rd edition — from data sourcing to live execution.

📚 这是什么?

Machine Learning for Trading, 3rd Edition 是 Stefan Jansen 教科书的配套代码仓库。它包含一个完整的端到端管线,从原始市场数据开始,将其转换为特征,训练各种模型,对产生的信号进行回测,最后展示如何将策略部署到实盘经纪商(IB, Alpaca, QuantConnect)。仓库按章节组织,让您可以跟随书本内容,并在不同的资产类别上执行相同的九个案例研究。


🚀 核心理念与工作流程

  1. 数据层 – 使用 Polars 进行快速、基于表达式的数据处理;支持日线、日内与替代数据(SEC 申报文件、链上加密货币、宏观经济)。同时提供合成数据生成器(TimeGAN, Tail‑GAN, diffusion)。
  2. 证据边界 – 严格区分模型调优(研究)与样本外评估(验证)。内置滚动交叉验证、多重测试校正,以及统计工具如 Deflated Sharpe Ratio, Rademacher Anti‑Serum 与 White’s Reality Check。
  3. 模型工具箱 – 从经典线性模型到梯度提升树(XGBoost, LightGBM, CatBoost)以及深度时间序列网络(PatchTST, iTransformer, TSMixer, TCN, Mamba)。亦包含表格专用网络(TabPFN, TabM)与因果推断方法(Double‑ML, Bayesian structural time series)。
  4. 策略构建 – 投资组合优化(均值方差, HRP, Kelly)、交易成本建模、风险管理(VaR, CVaR, deep hedging),以及将预测与成本/风险感知投资组合链接的最终合成步骤。
  5. 生产与 MLOps – Docker 化可重现环境、特征仓库、实验追踪、漂移检测、断路器,以及适用于 Interactive Brokers, Alpaca 与 QuantConnect 的实盘交易适配器。
  6. 进阶 AI – 针对 SEC 申报文件的检索增强生成(RAG)、知识图谱管线,以及使用 LangGraph/Claude SDK 构建的自主多代理研究系统。

📂 仓库结构(概览)

  • case_studies/ – 九个端到端管线(ETF, 加密货币永续合约, NASDAQ‑100 微观结构, 期权, 外汇, 期货等)。
  • 01_process_is_edge/ … 27_systematic_edge/ – 每章一个文件夹,包含简短指南与实现该章概念的笔记本。
  • docs/ – 快速入门、安装与使用指南。
  • docker/ – Docker‑Compose 文件,可拉取包含所有依赖项(PyTorch, LightGBM, Optuna, Plotly 等)的即用型镜像。
  • assets/ – 书籍封面与工作流程图。

🛠️ 开始使用(根据 README)

  1. Clone 仓库并复制示例环境文件。
  2. 选择 Docker(拉取 ml4t 镜像)或 本地 uv 环境。
  3. 依照 docs/ 中的“这是什么、安装、运行笔记本”三步骤指南操作。
  4. 选择一个案例研究文件夹并运行提供的笔记本,亲眼见证完整的管线运作。

🎓 谁适合使用?

  • 量化研究员:寻求与教科书工作流程一致、可重现且可直接投入生产的代码库。
  • 数据科学家:希望在真实金融数据上练习时间序列、表格与因果机器学习。
  • 工程师:对低延迟交易系统的 MLOps(特征仓库、漂移检测、安全发布)感兴趣。
  • 学生:量化金融领域的学生,需要书本理论的实作补充。

📚 相关资源

  • 第二版 分支 (second-edition) 包含先前的稳定版本。
  • Maven 上的 在线课程与工作坊(基础、研究到生产、AI 代理等)。
  • 每周 Insights 通讯,提供持续更新。

以上所有细节均直接取自仓库的 README;未推论任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目