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)。仓库按章节组织,让您可以跟随书本内容,并在不同的资产类别上执行相同的九个案例研究。
🚀 核心理念与工作流程
- 数据层 – 使用 Polars 进行快速、基于表达式的数据处理;支持日线、日内与替代数据(SEC 申报文件、链上加密货币、宏观经济)。同时提供合成数据生成器(TimeGAN, Tail‑GAN, diffusion)。
- 证据边界 – 严格区分模型调优(研究)与样本外评估(验证)。内置滚动交叉验证、多重测试校正,以及统计工具如 Deflated Sharpe Ratio, Rademacher Anti‑Serum 与 White’s Reality Check。
- 模型工具箱 – 从经典线性模型到梯度提升树(XGBoost, LightGBM, CatBoost)以及深度时间序列网络(PatchTST, iTransformer, TSMixer, TCN, Mamba)。亦包含表格专用网络(TabPFN, TabM)与因果推断方法(Double‑ML, Bayesian structural time series)。
- 策略构建 – 投资组合优化(均值方差, HRP, Kelly)、交易成本建模、风险管理(VaR, CVaR, deep hedging),以及将预测与成本/风险感知投资组合链接的最终合成步骤。
- 生产与 MLOps – Docker 化可重现环境、特征仓库、实验追踪、漂移检测、断路器,以及适用于 Interactive Brokers, Alpaca 与 QuantConnect 的实盘交易适配器。
- 进阶 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)
- Clone 仓库并复制示例环境文件。
- 选择 Docker(拉取
ml4t镜像)或 本地uv环境。 - 依照
docs/中的“这是什么、安装、运行笔记本”三步骤指南操作。 - 选择一个案例研究文件夹并运行提供的笔记本,亲眼见证完整的管线运作。
🎓 谁适合使用?
- 量化研究员:寻求与教科书工作流程一致、可重现且可直接投入生产的代码库。
- 数据科学家:希望在真实金融数据上练习时间序列、表格与因果机器学习。
- 工程师:对低延迟交易系统的 MLOps(特征仓库、漂移检测、安全发布)感兴趣。
- 学生:量化金融领域的学生,需要书本理论的实作补充。
📚 相关资源
- 第二版 分支 (
second-edition) 包含先前的稳定版本。 - Maven 上的 在线课程与工作坊(基础、研究到生产、AI 代理等)。
- 每周 Insights 通讯,提供持续更新。
以上所有细节均直接取自仓库的 README;未推论任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目