On this page
What are backtesting metrics?
Backtesting metrics are the numbers a backtest report produces after replaying a strategy over historical candles. They turn a long list of trades into a few figures you can compare: how much it made, how often it won, and how deep it fell.
Each metric answers one question and hides others. Net profit does not show risk, and win rate does not show size. That is why traders read a small set together. Metrics marked Shown in Strategy Backtester appear in the results of our free online strategy backtester. The rest you can calculate from the trades table, which you can export to CSV.
One worked example used throughout
Every formula below uses the same twelve closed trades, in rupees, on a ₹1,00,000 account.
| Trade | PnL (₹) | Cumulative PnL (₹) | Result |
|---|---|---|---|
| 1 | +4,000 | 4,000 | Win |
| 2 | -1,500 | 2,500 | Loss |
| 3 | +2,500 | 5,000 | Win |
| 4 | -1,500 | 3,500 | Loss |
| 5 | -1,500 | 2,000 | Loss |
| 6 | +6,000 | 8,000 | Win |
| 7 | -2,000 | 6,000 | Loss |
| 8 | 0 | 6,000 | Breakeven |
| 9 | +3,000 | 9,000 | Win |
| 10 | -1,000 | 8,000 | Loss |
| 11 | -3,000 | 5,000 | Loss |
| 12 | +2,000 | 7,000 | Win |
Profit and trade-quality metrics
Net profit (Total PnL)
Shown in Strategy BacktesterNet profit = Gross profit − Gross loss
- What it is
- The total of every closed trade, after the costs you included. It is the bottom line of the backtest.
- How to read it
- In the example: ₹17,500 − ₹10,500 = ₹7,000, or 7% on ₹1,00,000. Compare it with a buy-and-hold run on the same data.
- Watch out for
- A big net profit can come from one lucky trade or a long, painful path. Never read it without drawdown.
Number of trades
Shown in Strategy Backtester- What it is
- How many closed trades the strategy took. It decides how much every other metric can be trusted.
- How to read it
- Under 30 trades is anecdote. 100 or more is a reasonable base, and several hundred is better.
- Watch out for
- A spectacular result on 15 trades is a coin that landed heads a few times, not an edge.
Win rate
Shown in Strategy BacktesterWin rate = Winning trades ÷ (Winning + Losing trades) × 100
- What it is
- The share of decisive trades that made money. Strategy Backtester leaves breakeven trades out of this ratio.
- How to read it
- In the example: 5 ÷ (5 + 6) = 45.5%. Counting the breakeven trade as a non-win gives 5 ÷ 12 = 41.7%, so check how a tool defines it.
- Watch out for
- Trend strategies often win only 35–45% of the time and still make money, because winners are large.
Average win, average loss and payoff ratio
Shown in Strategy BacktesterPayoff ratio = Average win ÷ Average loss
- What it is
- The typical size of a winner and of a loser, and how many rupees a winner makes for each rupee a loser costs.
- How to read it
- In the example: average win ₹17,500 ÷ 5 = ₹3,500, average loss ₹10,500 ÷ 6 = ₹1,750, so the payoff ratio is 2.0. At 2.0 you only need to win about one trade in three to break even.
- Watch out for
- If average loss keeps growing in longer tests, stops are being gapped through or ignored.
Break-even win rate
Break-even win rate = 1 ÷ (1 + Payoff ratio)
At a payoff of 0.5 you need to win 67% of trades. At 1.0 you need 50%. At 2.0 you need 33%. Costs push the real number higher.
Profit factor
Shown in Strategy BacktesterProfit factor = Gross profit ÷ |Gross loss|
- What it is
- Rupees won for every rupee lost. Above 1 the strategy made money; below 1 it lost. Strategy Backtester shows ∞ when there are no losing trades.
- How to read it
- In the example: ₹17,500 ÷ ₹10,500 = 1.67. Roughly: under 1.2 is thin, 1.3–2.0 is healthy, and above 2.5 deserves suspicion of overfitting, especially on few trades.
- Watch out for
- Profit factor ignores the order of trades and the size of drawdown, and it swings wildly when one trade is large.
Expectancy (average trade)
Expectancy = (Win% × Average win) − (Loss% × Average loss)
- What it is
- The average amount you expect to make per trade, with Win% and Loss% taken over all trades. It equals net profit ÷ number of trades.
- How to read it
- In the example: (5/12 × ₹3,500) − (6/12 × ₹1,750) = ₹583 per trade. A positive expectancy after costs is the minimum requirement for any strategy.
- Watch out for
- Expressed in R (multiples of the amount risked), 40% winners at 2R with 60% losers at 1R gives 0.4 × 2 − 0.6 × 1 = +0.2R per trade. R makes strategies of different size comparable.
Risk metrics: what did it cost to get there?
Maximum drawdown (max DD)
Shown in Strategy BacktesterMax drawdown = Largest fall from an equity peak to the next trough
- What it is
- The worst peak-to-trough decline in the test. It is the clearest measure of the pain you would have lived through, in depth and in how long it lasted.
- How to read it
- In the example equity peaks at ₹9,000, falls to ₹5,000, and the drop is ₹4,000. On a ₹1,00,000 account that is ₹4,000 ÷ ₹1,09,000 = 3.7% of the peak. Also check how long a drawdown lasts: 10% over 4 months is bearable, 10% over 3 years usually ends with the trader quitting.
- Watch out for
- Strategy Backtester measures drawdown on closed-trade profit, not open loss inside a trade, so the real worst moment can be deeper. Treat any backtest drawdown as a floor, not a ceiling.
| Loss from peak | Gain needed to recover |
|---|---|
| 10% | 11.1% |
| 20% | 25.0% |
| 30% | 42.9% |
| 50% | 100% |
Recovery factor
Recovery factor = Net profit ÷ Max drawdown
- What it is
- How many times the strategy earned back its worst drawdown.
- How to read it
- In the example: ₹7,000 ÷ ₹4,000 = 1.75. Many traders look for 3 or more over a long test.
- Watch out for
- Both numbers come from a single path, so a low trade count makes this ratio unstable.
Consecutive losses (losing streak)
- What it is
- The longest unbroken run of losing trades.
- How to read it
- This is the streak you must survive emotionally and financially. In the example it is 2. With a 50% win rate, a losing streak of about 6 is normal in 100 trades.
- Watch out for
- Live trading often produces a longer streak than the backtest did, so plan for one.
Risk-adjusted ratios: was the return worth the risk?
These ratios divide return by a measure of risk, so you can compare a calm strategy with an aggressive one. They need an equity or returns series, so compute them from daily account values, not the trade list alone.
Sharpe ratio
Sharpe = (Mean return − Risk-free rate) ÷ Standard deviation of returns, then × √(periods per year)
- What it is
- Return earned per unit of total volatility. It is the most quoted risk-adjusted metric.
- How to read it
- With a mean daily return of 0.08% and a daily standard deviation of 0.9% (risk-free rate zero): 0.08 ÷ 0.9 × √252 = about 1.41. Roughly: under 1 is modest, 1–2 is good, and above 3 over a long test is rare and worth a second look.
- Watch out for
- It punishes upside volatility as much as downside, and it can look excellent for strategies that hide rare large losses.
Sortino ratio
Sortino = (Mean return − Target) ÷ Downside deviation, then × √(periods per year)
- What it is
- Like Sharpe, but only downside moves count as risk, so big up days no longer lower the score.
- How to read it
- With the same 0.08% mean return and a downside deviation of 0.6%: 0.08 ÷ 0.6 × √252 = about 2.12. A Sortino well above the Sharpe means most volatility is on the upside.
- Watch out for
- It needs enough losing periods to be stable. Use a long series.
Calmar ratio
Calmar = CAGR ÷ Max drawdown
- What it is
- Yearly growth per unit of worst drawdown. CAGR is the steady annual rate that turns your starting capital into your ending capital: (Ending ÷ Starting)^(1 ÷ Years) − 1.
- How to read it
- An 18% CAGR with a 12% max drawdown gives a Calmar of 1.5. Above 1 is acceptable, above 2 is strong over several years.
- Watch out for
- It rests on one worst drawdown, so a longer test will usually lower it.
Can you trust the result?
Costs and slippage
- What it is
- Brokerage, taxes, exchange fees, and the gap between the price you expect and the price you get.
- How to read it
- Run the test with zero costs and again with realistic ones. A profit factor that falls from 1.6 to 1.1 does not have a durable edge.
- Watch out for
- Costs bite hardest on short-term strategies with a small average trade.
Out-of-sample testing
- What it is
- In-sample data is what you used to design and tune the strategy. Out-of-sample data is what you kept aside and looked at once.
- How to read it
- A healthy strategy performs reasonably, not identically, on unseen data. A big drop means the settings were fitted to noise. Walk-forward testing repeats this across many windows.
- Watch out for
- If you tune after seeing the out-of-sample result, it is no longer out-of-sample.
Quick reference: rule-of-thumb ranges
| Metric | Weak | Acceptable | Strong |
|---|---|---|---|
| Number of trades | Under 30 | 30–100 | 100 or more |
| Profit factor | Under 1.2 | 1.3–2.0 | 2.0–2.5 (above 3 on few trades is suspect) |
| Expectancy | Below costs | Positive after costs | Above 0.3R |
| Recovery factor | Under 1 | 1–3 | Above 3 |
| Sharpe ratio | Under 0.5 | 0.5–1.0 | Above 1.0 |
| Calmar ratio | Under 0.5 | 0.5–1 | Above 1 |
How to read a backtest report in six steps
- Check the trade count first. Under 30 trades, get more data or a longer period.
- Look at net profit and profit factor. Is it profitable, and by how much per rupee lost?
- Confirm expectancy covers your costs. Include brokerage, taxes and slippage.
- Read max drawdown and its length. Ask honestly whether you would hold through it.
- Compare risk-adjusted ratios. Check Sharpe, Sortino or Calmar against buy and hold.
- Validate on unseen data. Use an out-of-sample period before risking money.
Free tool
Run your own backtest
Upload your candles, pick a Pine Script, Python or built-in strategy, and see net profit, win rate, profit factor and max drawdown in seconds. Free, with no signup, and everything runs in your browser.
Common mistakes when reading metrics
- Chasing win rate. A strategy can win 80% of the time and still lose money if the losses are large.
- Ignoring costs. Zero-cost results often vanish after realistic brokerage and slippage.
- Trusting a small sample. A great result from a few trades proves nothing.
- Optimising until it looks perfect. Every extra setting adds a chance of curve-fitting.
- Reading return without drawdown. The same profit at half the drawdown is a different strategy.
This article is for education only and is not financial advice. A backtest is a simulation on historical data and cannot predict future results. See our risk disclaimer.
Frequently asked questions
What are the most important backtesting metrics?
Start with the number of trades, profit factor, expectancy and maximum drawdown. Together they show whether the strategy has an edge, how big it is per trade, and how much pain it took to earn it. Then check a risk-adjusted ratio such as Sharpe, Sortino or Calmar, and confirm the result on data the strategy has not seen.
What is a good profit factor in backtesting?
A profit factor above 1 means the strategy made money. In practice, 1.3 to 2.0 over 100 or more trades is healthy. Values above 2.5 or 3 deserve suspicion, especially on few trades, because they often mean overfitting or one very large winner.
What is a good win rate for a trading strategy?
There is no single good win rate, because it depends on the payoff ratio. A trend-following strategy can win 35–45% of the time and be very profitable if winners are much larger than losers. A mean-reversion strategy may win 65% or more with small gains and occasional large losses. Judge win rate together with average win, average loss and expectancy.
What is maximum drawdown and why does it matter?
Maximum drawdown is the largest fall in account equity from a peak to the next low. It matters because it is the worst stretch you would have had to sit through, and deep drawdowns are hard to recover from: a 50% loss needs a 100% gain to get back to even. Choose a strategy whose drawdown you can tolerate without abandoning it.
What is the difference between Sharpe, Sortino and Calmar ratios?
All three divide return by a risk measure. Sharpe uses the standard deviation of all returns, so it penalises upside and downside moves alike. Sortino uses only downside deviation, so large gains do not hurt the score. Calmar divides annual return (CAGR) by the maximum drawdown, so it focuses on the single worst decline.
What is expectancy in trading?
Expectancy is the average amount you expect to make per trade over many trades. It equals Win% × average win minus Loss% × average loss. A positive expectancy after costs is the minimum requirement for a strategy to be worth trading. Expressing it in R-multiples makes it comparable across different position sizes.
How many trades do I need for a reliable backtest?
At least 30 trades is a bare minimum, and 100 or more is a better base. With 100 trades, a 50% win rate has a margin of error of roughly plus or minus 10 percentage points. With 30 trades the margin is nearer plus or minus 18 points. More trades across different market conditions make every metric more trustworthy.
Which metrics does Strategy Backtester show?
Strategy Backtester shows total PnL, total trades, wins, losses and breakeven trades, win rate, profit factor, maximum drawdown, gross profit and loss, average win and loss, best and worst trade, average points per trade, exit reasons and a monthly breakdown. You can export the trades table to CSV and compute ratios such as Sharpe, Sortino or Calmar from it.
Why does my backtest look great but fail in live trading?
The usual causes are overfitting to past data, ignoring brokerage and slippage, using too few trades, and testing in only one market condition. Run an out-of-sample test, add realistic costs, and compare the live drawdown with your backtested worst case.

