A backtest answers one deceptively simple question: if I had run these exact rules over past market data, what would have happened? It is the first real tool an algorithmic trading developer reaches for, and the first place beginners get themselves into trouble. This is a plain-English tour of what a backtest is and how to build one you can trust.
The four ingredients
Every backtest needs the same four things: price data (a series of open/high/low/close bars), a strategy (rules that turn data into buy/sell decisions), an execution model (how orders become positions, including costs), and a report (returns, drawdown, win rate). Miss any one and you either cannot run the test or cannot believe it.
The smallest possible strategy
A classic first strategy is a moving-average crossover: go long when a fast average of price crosses above a slow one, and flat when it crosses back below. It is not meant to be profitable — it is meant to be simple enough that you can watch every decision the code makes and understand exactly why.
The mistakes that make a backtest lie
The single most common beginner error is look-ahead bias: accidentally using information the strategy could not have known at the time, like tomorrow’s close to decide today’s trade. The second is ignoring costs — spread, commission and slippage quietly turn many “profitable” backtests into losers. The third is overfitting: tuning parameters until the past looks perfect, which tells you nothing about the future.
Where AlgoPro University takes it
In the Python track you build a reusable backtesting engine from these ingredients, then learn to stress it — realistic costs, out-of-sample data and walk-forward analysis — so the number it prints means something. This article is educational and not financial advice; a backtest describes the past, never a promise about the future.