Guides
How to take a Python strategy from backtest to paper to live, what to test, what to inspect, and what breaks on the way to production.
Using AI to develop systematic trading strategies safely
AI can speed up strategy development if you treat it as an assistant, not an oracle. The guardrails, testing, diagnostics, and human judgment, that keep it useful.
How to build kill switches for automated trading systems
A kill switch is the difference between a bad day and a catastrophe. The types of kill switch, how to think about them, and what to wire up before you go live.
How to backtest a trading strategy in Python
A practical guide to backtesting a trading strategy in Python, what you need, how to avoid the common traps, and how to read the results honestly.
Common backtesting mistakes
The mistakes that make a backtest look better than the strategy is, look-ahead bias, survivorship bias, overfitting, ignoring costs, and how to avoid each.
How to think about broker state in automated trading
Your broker, not your code, is the source of truth for positions, fills, and buying power. How to design around that and what to watch in live trading.
How to compare backtest, paper, and live trading results
Backtest, paper, and live should tell a consistent story. Here's what legitimately differs between them, what shouldn't, and how to track down a gap.
Event-driven vs vectorized backtesting
The two main ways to backtest in Python, what each is good at, and why event-driven matters when you plan to take a strategy live.
How to backtest a futures strategy in Python
Backtesting futures isn't the same as backtesting equities. Contracts, expiration, session calendars, and margin all change the picture. Here's how to do it right.
In-sample vs out-of-sample testing
What in-sample and out-of-sample mean, why the split is the difference between a real backtest and self-deception, and how to use both well.
How to log orders and fills in an automated trading system
What to capture around orders and fills so you can debug, reconcile, and trust an automated trading system, and why structured issues beat raw logs.
Look-ahead bias and survivorship bias in backtests
Two biases that quietly inflate backtest results, using future data, and testing only on survivors. What they are, how they sneak in, and how to avoid them.
How to paper trade and live trade a Python strategy
Once a strategy backtests well, the next steps are paper and live. What each one is for, what to check, and how to make the move to real capital deliberate.
Algorithmic trading in Python: from backtest to live
How to take a Python trading strategy from backtest to paper to live, what changes at each step, what breaks, and what to check before you risk capital.
QuantConnect vs DIY vs managed strategy ops
Three ways to run systematic strategies, a full-featured engine, rolling your own, or managed strategy ops. The trade-offs, and how to choose.
Reproducible backtests
A backtest you can't reproduce is an anecdote, not evidence. What breaks reproducibility, how to get it back, and why it matters for trusting a strategy.
Evaluate slippage, fills, and order state before going live
What to check about fills, slippage, and order state before risking capital, including the modeling limits worth knowing in advance.
How to avoid calendar and session bugs in trading systems
Holidays, early closes, time zones, and futures expirations cause bugs that look like strategy problems but aren't. How to spot and avoid them.
Walk-forward optimization in Python
Walk-forward optimization tests whether tuned parameters hold up out-of-sample. How it works, why it beats a single in-sample fit, and the traps to avoid.