Skip to main content

Backtesting

Backtesting simulates how your trading strategy would have performed against historical OHLCV data. It's the single most important step before deploying any strategy live — and the place where most strategies that look good on paper get caught before they cost you real capital.

VolatiCloud's backtesting engine runs your strategy candle-by-candle against years of cached historical data, producing a full trade log, equity curve, and 20+ performance metrics in seconds.

Run Backtest drawer with Strategy, Runner, Exchange, and Pairs selectors plus a Timeframe dropdown and a Backtest Time Range section containing quick-select chips (Last Week, Last Month, Last 3 Months, Last 6 Months, Last Year, Custom) above start and end date pickers

Run it on the managed platform

Everything on this page runs on VolatiCloud's infrastructure — no Freqtrade install, VPS, or data pipeline to maintain. For a feature-level tour of the backtesting engine and the metrics it reports, see backtesting on volaticloud.com.

Why Backtest Crypto Strategies?

  • Validate the strategy — measure whether the entry/exit logic would have been profitable
  • Quantify risk — compute drawdown, loss rate, and worst-period performance before any capital is at stake
  • Compare versions — see how parameter changes or new conditions affect performance across immutable strategy versions
  • Build deployment confidence — know your strategy has a measurable edge before risking real money
warning

Past performance does not guarantee future results. Backtesting has inherent limitations including look-ahead bias, slippage assumptions, and changing market conditions. See the avoiding overfitting guide for the most common ways backtests mislead.

How Crypto Backtesting Works

VolatiCloud backtesting is powered by Freqtrade's battle-tested backtesting engine:

  1. Historical OHLCV data is fetched (or pulled from cache) for your chosen exchange, pair, and timeframe
  2. Your strategy runs against this data candle by candle
  3. Trades are simulated with realistic entry/exit prices, fees, and slippage assumptions
  4. Results are calculated and displayed with comprehensive metrics

All backtests run in dry-run mode — no real trades are ever placed during backtesting. The only thing consumed is compute time on the runner you assign.

Backtest vs Live Trading

AspectBacktestLive
DataHistorical OHLCVReal-time
OrdersSimulatedReal exchange orders
SlippageApproximatedActual market conditions
RiskNoneReal money at stake
SpeedInstant (years of data per minute)Real-time

Key Backtest Metrics

Profitability metrics

MetricWhat it meansTarget
Total Profit %Overall return over the periodPositive
Average Profit per TradeMean profit per closed trade>0
Best TradeBest single trade return
Worst TradeWorst single trade returnLimited loss

Risk metrics

MetricWhat it meansTarget
Max DrawdownLargest peak-to-trough decline<20%
Daily Loss LimitWorst single day lossLimited

Quality metrics (risk-adjusted return)

MetricWhat it meansTarget
Win Rate% of profitable trades>50% (mean reversion); 35–50% (trend-following)
Profit FactorGross profit ÷ gross loss>1.5
ExpectancyAverage expected return per trade>0
Sharpe RatioReturn ÷ total volatility>1.0
Sortino RatioReturn ÷ downside volatility>1.5
Calmar RatioReturn ÷ max drawdown>1.0

Activity metrics

MetricWhat it means
Total TradesNumber of trades opened/closed
Avg Trade DurationHow long trades are held
Backtest PeriodDate range covered

A full breakdown of how to interpret each of these metrics lives in analyzing backtest results.

Backtest Status Lifecycle

StatusDescription
pendingBacktest queued, waiting for runner
runningBacktest in progress on the assigned runner
completedBacktest finished successfully — results available
failedBacktest encountered an error (see error message in detail view)
cancelledBacktest was manually cancelled before completion

Status updates stream in real time over GraphQL WebSocket subscriptions, so the UI reflects progress without page refreshes.

Common Pitfalls to Avoid

  • Backtesting on too short a window. Always use at least 12 months of data; ideally 2–3 years covering multiple market regimes (bull, bear, sideways).
  • Overfitting to a single time period. A strategy that works perfectly on one window often fails out-of-sample. See the avoiding overfitting guide and walk-forward optimization for prevention techniques.
  • Ignoring trade count. Fewer than 30 trades makes any metric statistically unreliable. Extend the date range or add more pairs.
  • Skipping out-of-sample validation. Always reserve 20–30% of your data for a holdout test the optimizer never sees.

Next Steps

Learn More