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、加密貨幣、外匯與股票等多種資產類別。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案