stefan-jansen/machine-learning-for-trading

Jupyter Notebookml4trading.io

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

machine-learningtradinginvestmentfinancedata-scienceinvestment-strategiesartificial-intelligencetrading-strategiesdeep-learningsynthetic-dataml4t-workflowtrading-agent
Sterne-Wachstum
Sterne
20.8k
Forks
5.6k
Wochenwachstum
+70
Issues
1
10k20k
Dez. 2018Juli 2021Feb. 2024Sept. 2026
README

Machine Learning for Trading — 3rd Edition

Build, test, and deploy ML-driven trading strategies — from data sourcing to live execution.

This repository hosts the code for Machine Learning for Trading, 3rd Edition by Stefan Jansen — a ground-up rebuild, organized around one end-to-end workflow: how you define a research idea and develop it iteratively into a strategy you can actually run, and keep running, in a live market.

  • Nine case studies illustrate the workflow throughout the 27 chapters of the book, from raw data through features, models, backtests, costs, and risk to deployment.
  • Generative AI and autonomous agents are new to this edition and cut across that workflow, bringing retrieval-augmented generation, knowledge graphs, and multi-agent systems to financial research.
  • The companion website features 112 primers, 61 agent skills, and six production Python libraries that facilitate substantial parts of the workflow.

Start here: Installation walks a blank Linux, Windows or macOS machine to a running notebook, prerequisites included. The short version is under Quick Start below.

Next free session: How to Engineer a Multi-Agent System, a 30-minute live session on Wednesday, September 9, 2026, 12:00 PM ET / 16:00 UTC. All courses, workshops, and free lessons.

Machine Learning for Trading, 3rd Edition


What's New in the Third Edition

The whole book traces one path: from data infrastructure and strategy research, across an evidence boundary that separates tuning from evaluation, to deployment and monitoring — with a feedback loop that retrains, pauses, or retires a strategy as its edge decays.

The ML4T workflow: data infrastructure and strategy research, an evidence boundary separating tuning from evaluation, and deployment with a retrain/pause/retire feedback loop

Where earlier editions moved technique by technique, the third edition runs that one process end to end — and adds substantial new material:

  • A wider model toolkit: from gradient boosting (XGBoost, LightGBM, CatBoost) to deep time-series architectures (PatchTST, iTransformer, TSMixer, TCN, Mamba) and newer tabular and latent-factor models (TabPFN, TabM, conditional and supervised autoencoders).
  • Dedicated strategy-design chapters: transaction costs and risk management are now full chapters, neither of which existed before, joining portfolio construction and strategy synthesis so a raw signal is carried through to a sized, cost- and risk-aware portfolio.
  • A full production track: live trading systems (Interactive Brokers, Alpaca, QuantConnect), MLOps and governance (drift detection, safe rollout, circuit breakers, feature stores, experiment tracking), and the operational reality of running strategies, not just building them.
  • Generative AI: retrieval-augmented generation grounded in SEC filings, knowledge graphs and Graph RAG, and autonomous, multi-agent research systems.
  • Causal machine learning: Double ML, Bayesian structural time series, and causal discovery for separating real effects from spurious correlation.
  • Reinforcement learning: optimal execution, market making with inventory, and deep hedging.
  • Synthetic financial data: TimeGAN, Tail-GAN, Sig-CWGAN, and diffusion-based generators for validation when history is short.

Methodological rigor is treated as a first-class topic rather than an afterthought. The book draws an explicit line between exploration and confirmation — the evidence boundary — uses walk-forward cross-validation throughout, and confronts the multiple-testing and overfitting problems that quietly invalidate most backtests, with tools like the Deflated Sharpe Ratio, the Rademacher Anti-Serum, and White's Reality Check, plus conformal prediction for honest uncertainty estimates.

The data layer moves to Polars for fast, expression-based manipulation, and every chapter ships in reproducible Docker environments so results repeat across machines; PyTorch, LightGBM, Optuna, and Plotly round out the modeling and visualization stack.

Nine Case Studies

The structural centerpiece of the third edition is nine case studies that run the length of the book. ETFs, crypto perpetuals, intraday equities, options, FX, futures, and equity factor panels are each carried through the same pipeline — from raw data and labels to features, models, backtests, costs, risk overlays, and a final deployment assessment. One disciplined process applied to nine very different markets shows where it works, where it breaks, and why.

Case Study Asset Class Frequency What It Explores
ETFs Multi-asset ETFs Daily Cross-asset momentum and mean-reversion across 100 ETFs
Crypto Perps Crypto 8-hourly Funding-rate arbitrage on perpetual futures
NASDAQ-100 Equities 15-min Intraday microstructure signals from order flow and the LOB
S&P 500 Equity + Options Equities + Options Daily Equity selection enhanced with implied-volatility features
US Firm Characteristics Equities Monthly Firm-level characteristics panel (size, value, momentum, quality)
FX Pairs FX Daily Carry and momentum across major currency pairs
CME Futures Futures Daily Term-structure and roll-yield signals across commodity and financial futures
S&P 500 Options Options Daily Options-only strategies (straddles, delta-hedged positions)
US Equities Equities Daily Broad cross-section of US stocks with classic factor exposures

Companion Resources

The companion website carries three things the chapters lean on but do not reprint.

  • 112 primers are free, open explainers, one page per concept, covering what a chapter assumes you already know: limit order book mechanics, bitemporal data models, fractional differencing, multiple testing in factor research, conformal prediction, the deflated Sharpe ratio, hierarchical risk parity, Almgren-Chriss execution, walk-forward validation. Nothing to install and nothing to sign up for.
  • 61 agent skills are task recipes for coding agents, each carrying the same guards against lookahead bias, leakage, and multiple testing that the task needs when a person does it by hand. They span the research loop: building bars and triple-barrier labels, feature selection, purged walk-forward CV, cost models and tear sheets, position sizing, kill switches, live monitoring. Browsing the catalog is free; opening a skill's detail requires a website account.
  • Six Python libraries carry the pipeline the notebooks are built on, one per stage of the workflow. They are listed below and each is documented and usable on its own.

The ML4T Libraries

The notebooks are built on six production Python packages, each documented and usable on its own — one per stage of the workflow:

Library Stage What it does
ml4t-data Data Unified market-data acquisition from 19+ providers behind one interface
ml4t-engineer Signal Features, labels, alternative bars, and leakage-safe dataset preparation
ml4t-models Models Finance-native latent factors, SDFs, direct prediction, and portfolio learning
ml4t-diagnostic Evaluation Feature validation, strategy diagnostics, and the Deflated Sharpe Ratio
ml4t-backtest Strategy Event-driven backtesting with realistic execution
ml4t-live Deployment Production trading with broker integrations

Courses, Workshops, and Free Lessons

Cohorts and workshops. Live, scheduled, and worked through with direct feedback on your own research.

Starts Offering What you leave with
Sep 16 – Dec 2, 2026 ML for Trading: From Research to Production Take one research idea from a question to a costed, monitored strategy, with the evidence trail that makes the result checkable.
Sep 26, 2026 Engineering a Multi-Agent Forecasting System Build a multi-agent forecasting system whose reasoning is auditable end to end.
Oct 10, 2026 Loop Engineering: Reliable Work From Coding Agents Get reliable work out of coding agents: harness design, verification, and recovery from a bad run.

Free live sessions. Thirty minutes to an hour, no cost, recording sent to everyone who registers.

When Session
Wed, Sep 9, 12:00 PM ET / 16:00 UTC How to Engineer a Multi-Agent System
Wed, Sep 30, 12:00 PM ET / 16:00 UTC How to Be Productive with Coding Agents, Beyond Code
Wed, Nov 4, 12:00 PM ET / 17:00 UTC Why Multi-Agent Systems Break, and How To Fix It

Between cohorts, the Insights newsletter covers the same ground weekly, source by source.


The Book, Chapter by Chapter

An introduction and a closing chapter bookend six workflow-aligned parts. Every chapter title links to its own guide, which carries the full description, the notebooks, and the data each one needs.

Introduction

Chapter What it covers
1. The Process Is Your Edge Why process discipline beats model sophistication: the ML4T workflow as a research-to-production system, regime detection on factor returns and macro indicators, and the evidence boundary that separates exploration from confirmation.

Part I - Financial Data (Chapters 2-5)

The markets, instruments, and infrastructure the rest of the book builds on: a taxonomy of sources, raw exchange messages turned into feature-ready bars, point-in-time fundamentals, and synthetic histories for robust validation.

Chapter What it covers
2. The Financial Data Universe Eight asset classes surveyed, survivorship bias quantified, storage formats benchmarked (Parquet, DuckDB, kdb+, TimescaleDB), and the data-quality framework used throughout the book.
3. Market Microstructure NASDAQ ITCH parsing, limit order book reconstruction from several sources, Lee-Ready trade classification validated, and bar-sampling methods compared; dollar bars deliver the best return normality.
4. Fundamental and Alternative Data Point-in-time SEC EDGAR pipelines, entity resolution across identifier systems, macro and commodity fundamentals, and alternative-data evaluation including on-chain crypto and prediction markets (Kalshi, Polymarket).
5. Synthetic Financial Data TimeGAN, Tail-GAN, Sig-CWGAN, Diffusion-TS, and LLM-based tabular generation, each evaluated through a fidelity, utility, and privacy framework.

Part II - Research Design and Feature Engineering (Chapters 6-10)

Define the trading problem, then turn data into model-ready signals: research design, labels, features, and the evaluation that determines what any model can learn.

Chapter What it covers
6. Strategy Research Framework Universe rules, decision schedule, cost model, evaluation protocol, and run logging. Introduces the nine case studies and the walk-forward cross-validation discipline that anchors Chapters 7 to 20.
7. Defining the Learning Task Forward-return, triple-barrier, and trend-scanning labels; information coefficients, quantile analysis, and feasibility screens; multiple-testing control with BH-FDR and the Deflated Sharpe Ratio; causal plausibility checks.
8. Financial Feature Engineering Five feature families from price (momentum, reversal, volatility, liquidity, microstructure), structural and cross-instrument features, macro and calendar context, and selection with robustness testing.
9. Model-Based Feature Extraction Features from fitted models: stationarity diagnostics, Kalman filters, Fourier and wavelet spectral features, GARCH volatility, and HMM regime probabilities, all point-in-time correct.
10. Text Feature Engineering Bag-of-words through transformers: TF-IDF, Word2Vec and GloVe embeddings, LSTM sequence models, FinBERT sentiment, financial NER fine-tuning, and news-return signal construction.

Part III - Model Development (Chapters 11-15)

Five model families applied to the same nine case studies, each building on the linear baseline.

Chapter What it covers
11. The ML Pipeline Ridge, LASSO, and Elastic Net as the baseline every later model must beat, logistic regression for direction, SHAP interpretability, conformal prediction for uncertainty, and a comparison across all nine case studies.
12. Gradient Boosting and Advanced Tabular Models XGBoost, LightGBM, and CatBoost with Optuna multi-objective tuning, plus the deep tabular alternatives TabPFN and TabM. TreeSHAP explainability, and gradient boosting the strongest tabular model in most case studies.
13. Deep Learning for Time Series LSTM, N-BEATS, PatchTST, iTransformer, TFT, TSMixer, TCN, and Mamba set against the LTSF-Linear debate, with a selection framework and cross-dataset evidence on when depth helps.
14. Latent Factor Models PCA eigenportfolios, IPCA with time-varying loadings, conditional and supervised autoencoders, adversarial SDF estimation, and yield-curve decomposition.
15. Causal Machine Learning Double Machine Learning for isolating factor treatment effects, Bayesian Structural Time Series for event impact, and causal discovery with PCMCI, NOTEARS, and VAR-LiNGAM.

Part IV - Strategy Implementation (Chapters 16-20)

From predictions to deployable strategies: backtesting, portfolio construction, costs, risk, and synthesis.

Chapter What it covers
16. Strategy Simulation Backtesting as falsification: trading-protocol specification, vectorized against event-driven engines, an ETF baseline, regime diagnostics, and overfitting control with the Deflated Sharpe Ratio, the Rademacher Anti-Serum, and White's Reality Check.
17. Portfolio Construction From scores to portfolios: mean-variance optimization and its pitfalls, Hierarchical Risk Parity, the Kelly criterion, conformal position sizing, deep allocation, and a controlled allocator comparison.
18. Transaction Costs Cost taxonomy, spread estimation, market-impact calibration, execution algorithms (VWAP, TWAP, Almgren-Chriss), transaction-cost analysis, and breakeven costs that vary widely by asset class.
19. Risk Management VaR and CVaR tail measurement, drawdown and path-risk controls, factor and sector decomposition, stress testing, adaptive risk overlays, deep hedging, and kill switches; overlay effectiveness turns out to be strategy-specific.
20. Strategy Synthesis What nine experiments reveal about turning predictions into strategies: IC-Sharpe decorrelation, Fundamental Law diagnostics, the model-family cascade, cost-survival analysis, and holdout failure modes.

Part V - Advanced AI (Chapters 21-24)

Reinforcement learning, large language models, knowledge graphs, and autonomous agents for finance.

Chapter What it covers
21. Reinforcement Learning for Execution and Hedging MDP formulation for finance, DQN, PPO and SAC, optimal execution, market making with inventory management, deep hedging with PFHedge, inverse RL for strategy recovery, and the sim-to-real gap.
22. RAG for Financial Research Retrieval-augmented generation grounded in SEC filings: ingestion, domain-specific embeddings, hybrid retrieval with re-ranking, constraint-based prompting, evaluation and failure diagnostics, and the move to agentic workflows.
23. Knowledge Graphs When graphs earn their infrastructure cost: construction from SEC filings, Graph RAG for multi-hop reasoning, GNN embeddings and centrality as ML features, financial networks, and temporal-leakage prevention.
24. Autonomous Agents ReAct, Tree of Thoughts, and Reflexion architectures, memory systems, tool contracts, the engineering stack (LangGraph, Claude SDK), a stateful equity-research agent, multi-agent forecasting with adversarial debate, and production reliability.

Part VI - Production (Chapters 25-26)

Taking strategies live: trading systems and the operational infrastructure that keeps them running.

Chapter What it covers
25. Live Trading Systems A framework bridging research and production: Interactive Brokers and Alpaca integration, managed platforms (QuantConnect), order-lifecycle management, pipeline verification, and operational readiness.
26. MLOps and Governance A failure taxonomy separating pipeline divergence from performance decay, drift detection, safe model rollout, circuit breakers, feature stores, and experiment tracking.

Conclusion

Chapter What it covers
27. The Systematic Edge The systematic philosophy, quant career paths, learning resources, research frontiers, and how to build your own edge. The closing bookend to Chapter 1: the process is the edge.

Quick Start

New here? Read these three, in order.

  1. What this repository is, and what it is not - what reproduces with one command, what a configuration change buys you, what needs real compute or licensed data, and what is not promised. Five minutes, before you install anything.
  2. Installation - Linux, Windows WSL2, macOS, Docker, and GPU, in full.
  3. Running notebooks - the case-study pipeline, the run log, and how to experiment without disturbing the downloaded results.

Everything below is typed into a terminal on your own computer, not into GitHub, and run from the repository root. New to the command line? Start with Before You Begin.

1. Clone and install

git clone https://github.com/stefan-jansen/machine-learning-for-trading.git
cd machine-learning-for-trading
cp .env.example .env

Then pick one environment. Option A, Docker, carries every dependency and needs no compiler:

docker compose pull ml4t

Option B, a local uv environment, on macOS, Linux, or inside WSL2. Install uv with its own installer, not with pip, which is missing or refuses to install on most current systems:

curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env   # the installer's own line; puts uv on PATH here and now
uv sync

Option B compiles several dependencies from source, scikit-learn among them, so it needs a C/C++ compiler and the Python headers: sudo apt install build-essential python3-dev on Ubuntu, Debian and WSL2, xcode-select --install on macOS. Budget about 16 GB of disk (11 GB environment, 4 GB free datasets, 0.9 GB of git history).

Platform Take Why
Linux either Both paths are exercised on every release
macOS, Apple Silicon B Walked on real hardware before each release. Docker there earns its disk only for the twelve pre-executed ml4t-py312 notebooks, which have no arm64 build, and Chapter 2's containerized database benchmarks
macOS, Intel A PyTorch publishes no macOS x86_64 wheel, so the local path cannot resolve
Windows either, inside WSL2 Run wsl --install -d Ubuntu from an Administrator PowerShell, restart, then run it a second time: the first run usually installs the WSL runtime without a distribution. Then follow the Linux instructions in the Ubuntu terminal. Installing into Windows Python is unsupported and does not work

2. Download data

Most notebooks need datasets. Start with the free ones, which need no API keys:

uv run python data/download_all.py --free-only

That fetches seven datasets, about 4 GB and twelve minutes, almost all of it the firm-characteristics panel first needed in Chapter 4. To start in about 75 MB and fetch it when a chapter asks:

uv run python data/download_all.py --free-only --skip-firm-characteristics

On the Docker path there is no host Python: run the same command without uv run, in the Jupyter Lab terminal (File → New → Terminal). The data guide documents every dataset, API-key setup, the loaders, and the storage tiers.

Optional: pre-computed results. To explore the nine released Chapter 11-20 case studies without retraining, download their verified registries, predictions, model files, and backtest artifacts:

uv run python scripts/download_artifacts.py

3. Run notebooks

Notebooks are paired Jupytext files, a .py source and a generated .ipynb. uv sync already installed Jupyter Lab.

uv run python 01_process_is_edge/factor_regimes.py                # smoke test
ML4T_DATA_PATH="${ML4T_DATA_PATH:-$PWD/data}" uv run jupyter lab  # local: open the URL it prints
docker compose up -d ml4t                                         # Docker: same address

Start Jupyter from the repository root. The ML4T_DATA_PATH prefix gives the loaders an absolute path, because Jupyter runs each notebook with its chapter folder as the working directory and the loaders would otherwise search inside that folder and report the datasets as missing. It keeps a value you have already exported and defaults to this repository's data/. See running notebooks for case-study pipelines, Papermill parameters, and the experiment workflow.

Docker images

Most notebooks run on the default ml4t image; a few need a specialized one, and each such notebook says so in its preamble. Full details in the Docker environments guide.

Image Covers When you need it
ml4t All 27 chapters + 9 case studies (CPU) Default for everything
ml4t-gpu Same ml4t image, run with the NVIDIA runtime (--profile gpu) Deep-learning chapters
ml4t-py312 Python 3.12 for signatory, esig, gensim, tfcausalimpact ~10 notebooks
benchmark Database clients (TimescaleDB, ClickHouse, QuestDB, InfluxDB) Ch02 storage benchmarks
rapids RAPIDS cuML + LightGBM CUDA (build locally) One Ch12 GPU benchmark

Looking for the second edition? It is complete and stable on the second-edition branch — git checkout second-edition, and everything is exactly where the book describes it.


Repository Layout

machine-learning-for-trading/
├── 01_process_is_edge/ … 27_systematic_edge/   27 chapters — Jupytext .py + .ipynb, each with a README
├── case_studies/     nine datasets carried through the full pipeline (Ch6 → Ch20)
├── data/             download scripts and loaders for every dataset      → data/README.md
├── utils/            shared config, paths, styling, modeling, and CV code → utils/README.md
├── scripts/          reader utilities (install check, notebook sync, artifacts) → scripts/README.md
├── tests/            Papermill notebook execution + unit guards, run in CI → tests/README.md
├── envs/             Dockerfiles for every image                          → envs/README.md
├── docs/             what-this-is, installation, and notebook-execution guides
├── docker-compose.yml    all Docker services
├── pyproject.toml · uv.lock    pinned dependencies (uv)
└── matplotlibrc      figure styling, auto-applied from the repo root

Contributing and Feedback

Found an error, a broken link, or have a suggestion? Early feedback is especially valuable before the book launches.


License

Code: MIT License · Book content: © 2026 Stefan Jansen. All rights reserved.

data/equities/market/sp500/daily_bars.parquet is © AlgoSeek LLC, redistributed here with AlgoSeek's permission for readers of the book. AlgoSeek retains all rights to it; cite algoseek.com as the source in anything you publish from it. The MIT license covers the code, not this file. See data/README.md.

Get the bookml4trading.ioGitHub

Ähnliche Repositories
tensorflow/tensorflow

An Open Source Machine Learning Framework for Everyone

C++Apache License 2.0tensorflowmachine-learning
tensorflow.org
199.3k76.3k
f/prompts.chat

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

HTMLawesomeOtherchatgptai
prompts.chat
169.7k21.8k
huggingface/transformers

🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.

PythonPyPIApache License 2.0nlpnatural-language-processing
huggingface.co/transformers
165k34.5k
rasbt/LLMs-from-scratch

Implement a ChatGPT-like LLM in PyTorch from scratch, step by step

Jupyter NotebookOthergptlarge-language-models
amzn.to/4fqvn0D
104.6k16k
pytorch/pytorch

Tensors and Dynamic neural networks in Python with strong GPU acceleration

PythonPyPIOtherneural-networkautograd
pytorch.org
102.9k29.2k
microsoft/ML-For-Beginners

12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all

Jupyter NotebooktutorialMIT Licensemldata-science
90.3k22.2k
Developer-Y/cs-video-courses

List of Computer Science courses with video lectures.

computer-sciencealgorithms
83.4k11.5k
mlabonne/llm-course

Course to get into Large Language Models (LLMs) with roadmaps and Colab notebooks.

tutorialApache License 2.0coursellm
mlabonne.github.io/blog/
82.4k9.6k
netdata/netdata

The fastest path to AI-powered full stack observability, even for lean teams.

GoGo ModulesGNU General Public License v3.0monitoringdocker
netdata.cloud
80.5k6.6k
d2l-ai/d2l-zh

《动手学深度学习》:面向中文读者、能运行、可讨论。中英文版被70多个国家的500多所大学用于教学。

PythonPyPItutorialApache License 2.0deep-learningbook
zh.d2l.ai
80.4k12.4k
tesseract-ocr/tesseract

Tesseract Open Source OCR Engine (main repository)

C++Apache License 2.0tesseracttesseract-ocr
tesseract-ocr.github.io
76.4k10.8k
binhnguyennus/awesome-scalability

The Patterns of Scalable, Reliable, and Performant Large-Scale Systems

awesomeMIT Licensesystem-designbackend
73.8k7.1k