Strategy Backtester

Backtesting Metrics Explained: Win Rate, Profit Factor & More

A backtest report is only useful if you can read it. This guide covers the metrics traders rely on most, from profit factor and max drawdown to expectancy and Sharpe, with formulas and one worked example.

Equity curve with a shaded drawdown beside profit factor, max drawdown and expectancy tiles
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.

Twelve example trades and the running equity after each
TradePnL (₹)Cumulative PnL (₹)Result
1+4,0004,000Win
2-1,5002,500Loss
3+2,5005,000Win
4-1,5003,500Loss
5-1,5002,000Loss
6+6,0008,000Win
7-2,0006,000Loss
806,000Breakeven
9+3,0009,000Win
10-1,0008,000Loss
11-3,0005,000Loss
12+2,0007,000Win
Totals: 5 wins (₹17,500), 6 losses (₹10,500), 1 breakeven. Net profit ₹7,000.
Max drawdown ₹4,000Peak ₹9,000Trade 0Trade 12
Equity curve of the twelve trades. The dashed line is the running peak; the shaded gap is the drawdown.

Profit and trade-quality metrics

Net profit (Total PnL)

Shown in Strategy Backtester

Net 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 Backtester

Win 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 Backtester

Payoff 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 Backtester

Profit 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 Backtester

Max 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.
Why drawdown hurts more than it looks: the gain needed to recover
Loss from peakGain needed to recover
10%11.1%
20%25.0%
30%42.9%
50%100%
Recovery needed = 1 ÷ (1 − loss) − 1. Losses compound against you, so deep drawdowns are far harder to recover from than to suffer.

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

Rough ranges for judging a backtest. These are guides, not guarantees.
MetricWeakAcceptableStrong
Number of tradesUnder 3030–100100 or more
Profit factorUnder 1.21.3–2.02.0–2.5 (above 3 on few trades is suspect)
ExpectancyBelow costsPositive after costsAbove 0.3R
Recovery factorUnder 11–3Above 3
Sharpe ratioUnder 0.50.5–1.0Above 1.0
Calmar ratioUnder 0.50.5–1Above 1
Ranges differ by style. A trend strategy may have a low win rate and high payoff; mean reversion is the opposite. Max drawdown has no universal range: it must fit what you can bear.

How to read a backtest report in six steps

  1. Check the trade count first. Under 30 trades, get more data or a longer period.
  2. Look at net profit and profit factor. Is it profitable, and by how much per rupee lost?
  3. Confirm expectancy covers your costs. Include brokerage, taxes and slippage.
  4. Read max drawdown and its length. Ask honestly whether you would hold through it.
  5. Compare risk-adjusted ratios. Check Sharpe, Sortino or Calmar against buy and hold.
  6. 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.

Open the backtester

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.

← All blogs