Learn / Backtesting

Back to learn

Answer page / backtesting

Topic cluster / Canonical learn hubs

How do you backtest crypto trading strategies?

A step-by-step checklist for backtesting crypto trading strategies without hiding costs, leakage, overfitting, or execution constraints.

Reviewed by Alphora Research

Updated June 20, 2026

What to remember

  • Data version and point-in-time assumptions
  • Strategy rules and parameter values
  • Fee, slippage, funding, and borrow assumptions
  • Benchmark and out-of-sample split

Short answer

Define the exact trading rules, gather point-in-time market data, model fees and slippage, run the strategy across realistic historical windows, and judge the result with drawdowns, turnover, stability, and out-of-sample behavior rather than headline return alone.

Step 1: specify the rules before testing

Write down the universe, signal formula, rebalance timing, position sizing, exposure caps, and exit rules before looking at the result. Rules that change after seeing the chart are part of the research process, not clean validation.

Step 2: use realistic crypto data

Crypto backtests often fail because they use clean candle data but ignore funding, exchange outages, changing liquidity, delistings, spread, borrow constraints, and timestamp alignment. The data model should match what the strategy would have known at decision time.

Step 3: evaluate risk and robustness

Review maximum drawdown, volatility, turnover, Sharpe or Sortino, hit rate, capacity, tail periods, parameter sensitivity, and whether the edge survives a separate evaluation window. A tradeable strategy needs a durable process, not one lucky equity curve.

What to record for every run

Every backtest run should leave enough evidence for another researcher to understand what changed. That means logging the data snapshot, code version, parameters, cost model, evaluation window, benchmark, and reason the run was created.

  • Data version and point-in-time assumptions
  • Strategy rules and parameter values
  • Fee, slippage, funding, and borrow assumptions
  • Benchmark and out-of-sample split
  • Notes on what would invalidate the result

When to stop testing

A backtest loop should stop when new changes mostly explain the past instead of improving the process. If each iteration adds another exception, filter, or parameter to fix one historical drawdown, the research is probably overfitting.

  • The idea needs too many exceptions to survive
  • Small parameter changes reverse the conclusion
  • The edge disappears after realistic costs
  • Paper behavior does not resemble the backtest

How Alphora fits in

Alphora's public docs and catalogue are organized around explicit signals, strategy construction, validation notes, and implementation caveats so traders can keep the research workflow inspectable.