stefan-jansen/machine-learning-for-trading
Code for Machine Learning for Trading, 3rd edition — from data sourcing to live execution.
解决的问题
本项目解决了从金融研究构思转向实盘生产级交易策略过程中的复杂性。它提供了一个严谨的框架来处理模型调优与评估之间的“证据边界(evidence boundary)”,帮助从业者避免过拟合(overfitting)、前瞻性偏差(lookahead bias)和数据泄漏(data leakage)等常见陷阱。
工作原理
该仓库遵循分为五个部分的全面工作流:
- 数据基础设施:管理市场、基本面和替代数据,包括合成数据生成。
- 研究与特征工程:定义学习任务,并使用分数阶差分(fractional differencing)和基于 transformer 的嵌入(embeddings)等技术将原始数据转换为信号。
- 模型开发:实现从梯度提升(XGBoost, LightGBM)到深度时间序列架构(PatchTST, Mamba)以及因果机器学习的广泛工具包。
- 策略实现:通过事件驱动回测模拟策略,管理交易成本,并构建风险意识型投资组合。
- 高级 AI:集成用于执行的强化学习、用于金融研究的 RAG 以及多智能体系统。
适用对象
专为量化研究员、机器学习工程师和算法交易员设计,他们需要在真实市场中开发和部署金融模型时,需要一个严谨且可复现的过程。
亮点
- 九个全面的案例研究:涵盖 ETF、加密货币、股票、期权、外汇和期货。
- 六个面向生产的 Python 库:用于数据获取、特征工程、建模、诊断、回测和实盘部署。
- 高级 AI 集成:具有基于 SEC 文件的 RAG 和自主多智能体研究系统。
- 方法论严谨性:包括用于多重检验控制(Deflated Sharpe Ratio)和用于不确定性估计的共形预测(conformal prediction)的工具。