stefan-jansen/machine-learning-for-trading

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

解决的问题

提供一个全面的端到端框架,用于构建、测试和部署机器学习驱动的交易策略。该项目通过建立一个有纪律的工作流程,解决了理论研究与实时市场执行之间的差距,该流程管理数据基础设施、信号生成、严格的评估("证据边界")以及生产MLOps,以防止过拟合和前瞻偏差等常见陷阱。

如何工作

该项目围绕一个研究到生产的流水线组织,该流水线由六个专门的Python库实现:

  • Data:从19+个数据提供商统一获取数据(ml4t-data)。
  • Signal:特征工程和防泄漏的数据集准备(ml4t-engineer)。
  • Models:实现金融原生潜在因子和投资组合学习(ml4t-models)。
  • Evaluation:策略诊断和特征验证(ml4t-diagnostic)。
  • Strategy:支持现实执行的事件驱动回测(ml4t-backtest)。
  • Deployment:支持实时交易的经纪商集成(ml4t-live)。

采用多种技术,包括梯度提升、深度时序架构(如PatchTST、Mamba)、因果机器学习、用于执行的强化学习,以及用于金融研究的生成式AI(RAG和多智能体系统)。

适用人群

希望从原始金融数据出发,通过严谨的、基于证据的方法,构建生产级交易系统的量化研究人员、算法交易员和ML工程师。

主要亮点

  • 端到端工作流:覆盖从数据获取、特征工程到风险管理及实时部署的完整生命周期。
  • 多样化的模型工具包:包含从线性基线、XGBoost到高级深度学习和因果机器学习的全部内容。
  • 生成式AI集成:基于SEC文件、知识图谱和自主多智能体研究系统的RAG实现。
  • 严格的验证机制:使用滚动向前交叉验证和Deflated Sharpe Ratio等工具对抗过拟合。
  • 九个案例研究:将同一套流程应用于ETF、加密货币、外汇和股票等多种资产类别。

相关

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