Strategy Validation
Backtesting
Simulating a trading strategy against historical market data to see how it would have performed. The first honest filter between an idea and real money.
A backtest applies fixed trading rules to historical data and simulates the orders, positions, costs, and account value that follow. A causal backtest gives the strategy only information available at each decision time; it does not let a bar use its own future or fill an order before the signal exists.
For example, suppose ten historical trades make $220 before costs. If fees cost $80 and the spread and slippage cost another $95, the useful result is $45, not $220. That small calculation is why execution assumptions belong in the test, not in a footnote added after a strategy looks profitable.
What separates an honest backtest from a flattering one
The exact rules depend on the strategy, but the audit questions are stable:
- Did every indicator and signal use only information then available?
- Did the fill model account for order timing, fees, spread, slippage, and funding where applicable?
- Did the sample include enough trades and different conditions for the claim being made?
- Were failed configurations counted, or was only the eventual winner shown?
There is no universal minimum trade count or date range. A slow weekly strategy and a minute strategy produce different sample sizes. The claim should stay no broader than the market, period, and execution model actually tested.
What a backtest can't do
A common misconception is that a profitable backtest validates a strategy. It does not. It shows how one rule set behaved under one historical dataset and one simulator. Data errors, selection bias, regime change, and overfitting can all survive a single run. The CFTC's guidance on hypothetical results explains why simulated performance has inherent limits. Chronological forward-walk analysis and Monte Carlo simulation ask different, useful follow-up questions; neither turns a simulation into a promise.
On AlphaProve
AlphaProve evaluates signals on completed data and simulates later execution. Its run settings expose maker and taker fees, spread, market and stop slippage, latency, and perpetual funding. Recorded order-book depth can drive the fill model when the selected market and period have coverage. The public getting-started methodology describes that path, and four levels of backtest honesty shows how changing the assumptions changed one historical EMA experiment.