How to Read a Backtest

The eight numbers Blave Agent reports — what each means and which ones to trust.

Last updated 2026-09
Key Takeaways
  • A backtest runs a set of trading rules over historical data, so you can see how they would have performed before you decide to put real money behind them.
  • Return has to be read together with risk: the example strategy btc_sma_cross returned +145.8%, buy-and-hold +68.2%, and the max drawdown over the same period was −42.6%.
  • The example sets no backtest end date, so every run extends to the day it is run; the figures above are a snapshot of one such run, and running it yourself today will produce different ones.
  • Sharpe is how much return you get per unit of total risk taken: 0.5–1.0 is acceptable for a trend strategy; above 1.5 on less than two years of backtest deserves suspicion.
  • Costs eat a thin edge: the same strategy paid 22% of capital in fees over four years, and its Omega is only 1.04.

You are holding a backtest report with a total return of +145.8%, and you do not know whether that number should excite you or worry you. A backtest runs a set of trading rules over historical data to see how they would have performed; what you get is not a prediction of how much you will make, but a set of numbers you can judge with: return, risk, cost. The way to judge is to read all three together, not just the first one.

A real example to anchor the concepts

The btc_sma_cross strategy (SMA45/SMA100 on BTCUSDT 1h, from 2022-01-01) produced the results below. The example sets no backtest end date, so every run extends to the day it is run: these numbers are a snapshot of one such run, and running it yourself today will produce different ones.

Total Return
+145.8%
Benchmark (Buy & Hold)
+68.2%
Max Drawdown
−42.6%
Sharpe Ratio
0.77
Sortino Ratio
0.72
Omega Ratio
1.04

The strategy more than doubled the buy-and-hold return — but it also had a brutal −42.6% drawdown at one point. Whether that's acceptable depends entirely on your risk tolerance, and the metrics below will help you think through it. The report also shows two cost numbers — Total Fees Paid (22% of capital here, over 4 years) and Trades — which come back into play in the Omega section below.

This is a real example from Blave Agent's own backtest engine. If you do not have a strategy of your own yet and are not sure where to begin, you do not have to write one from scratch — every strategy in the official strategy library ships with its real backtest, so you can look at the numbers first and decide whether to deploy afterwards.

Sharpe Ratio — risk-adjusted return

Sharpe ratio = annualized return ÷ annualized volatility (both upside and downside). It answers: how much return per unit of total risk?

SharpeInterpretation
< 0Losing money on a risk-adjusted basis
0 – 0.5Weak — barely compensates for risk
0.5 – 1.0Acceptable for trend-following (our SMA example falls here)
1.0 – 1.5Good
> 1.5Strong — treat with skepticism if backtest period is short
High Sharpe on a short backtest is a red flag. Sharpe 3.0 over 6 months = fewer than 130 data points. That's noise, not signal. Require at least 2 years before trusting a Sharpe above 1.5.

Sortino Ratio — downside-only risk

Sortino ratio is like Sharpe, but only penalizes downside volatility. Upside variance doesn't count as risk. It answers: how much return per unit of bad volatility?

For the SMA Cross, Sortino (0.72) is close to Sharpe (0.77) — meaning the strategy's volatility is fairly symmetric. A strategy where Sortino is significantly higher than Sharpe has large upside swings but controlled drawdowns, which is desirable.

Sortino vs SharpeWhat it suggests
Sortino ≈ SharpeSymmetric returns — upside and downside volatility are similar
Sortino >> SharpeReturns are positively skewed — large gains, small losses (ideal)
Sortino << SharpeReturns are negatively skewed — small gains, occasional large losses (dangerous)

Max Drawdown (MDD) — your worst moment

Max drawdown is the largest peak-to-trough decline in equity during the backtest. If equity peaked at $100,000 and dropped to $57,380 before recovering, MDD = −42.6%.

MDD matters because it measures how much pain you'd have had to endure to stay in the strategy. Most people quit well before the recovery.

Never allocate more capital than you could psychologically survive losing twice over.
If MDD is −42.6%, a $100K allocation means you may face a $42,600 paper loss. If that would cause you to stop the strategy, allocate less.

Omega Ratio — the full picture

Omega ratio = total returns above a threshold ÷ total returns below it. The threshold is usually 0 (break-even). Unlike Sharpe, Omega captures the full return distribution, not just mean and variance.

OmegaInterpretation
< 1.0More total loss than gain — unprofitable
1.0 – 1.1Marginally profitable, fragile under real-world costs
1.1 – 1.3Solid
> 1.5Strong — or possibly overfitted

The SMA Cross has Omega = 1.04 — only slightly above 1.0. After the 22% of capital paid in fees over 4 years, the real-world edge is thin. This is normal for a trend-following strategy; the Sharpe and Sortino ratios are the better primary quality metrics for this strategy type.

The five most common backtest mistakes

1

Lookahead bias: Using data that wasn't available at decision time. Blave Agent executes at the next bar's open by default to prevent this (the exception is bars the strategy itself marks exec_at_close — futures settlement around a contract rollover, which fills at that bar's close), but custom indicator calculations can still introduce it — e.g., computing a Z-score using the full series' mean.

2

Skipping the warm-up period: Indicators like SMA(100) need 100 bars before they're meaningful. The first 100 bars should be excluded from performance measurement. Blave Agent's WARMUP parameter handles this automatically.

3

Optimizing on the full dataset: If you scan parameters using all available data and then report performance on the same data, you're reporting training error, not generalization. Always hold out at least 20–30% of data for out-of-sample validation. (For how that actually works on Blave, see How Out-of-Sample Validation Works.)

4

Ignoring fees: The btc_sma_cross paid 22% of capital in fees over 4 years. For higher-frequency strategies, fees can easily exceed alpha. Set the rate for the market you actually trade: FEE = 0.0005 is the Binance USD-M futures VIP0 taker fee of 0.05% (maker is 0.02%); Binance spot charges 0.1% for both maker and taker at the entry tier, so a spot strategy written with 0.0005 understates its costs.

5

Confusing total return with risk-adjusted return: A strategy that returns 200% with an MDD of −80% is not "better" than one returning 80% with an MDD of −15%. The first will cause most real users to panic-exit near the bottom.

What these numbers will not tell you

  • All of these numbers come from the same stretch of history. Change the period and the numbers change — the set above is a snapshot of one run, not this strategy's fixed record.
  • The shorter the period, the more uncertain every number is. A Sharpe of 3.0 over 6 months is noise, not signal; the same suspicion applies to Sortino and Omega, which feed on the same return series.
  • Avoid all five mistakes above and what you have is an honest backtest, not a profitable strategy. The next question after honesty is whether the record is luck, and that has to be tested separately.