What Is Profit Factor? Calculation, Reference Ranges and Misleading Traps
Profit factor often appears just after win rate in a backtest report. One division makes it easy to calculate, but choosing a strategy from that number alone is highly misleading.
Definition: Total profit divided by total loss
Profit factor, or PF, divides the sum of profitable trades by the sum of losing trades, using the absolute value of losses.
It asks how much was earned for each unit lost. PF 1.30 means KRW 1.30 earned for every KRW 1 lost, leaving KRW 0.30 overall. PF 1.00 means breakeven; below 1.00 means a loss.
12 winners: +$2,400 total, +$200 average.
18 losers: −$1,800 total, −$100 average.
PF = 2,400 ÷ 1,800 = 1.33.
Net PnL = 2,400 − 1,800 = +$600.
The win rate is 12/30 = 40%. Despite winning less than half the time, PF exceeds 1. Larger wins can make a strategy profitable even when losses occur more often.
Relationship with win rate and payoff ratio
PF combines win rate and payoff ratio into one number:
For the example:
40% win rate → 0.40 ÷ 0.60 = 0.667.
Payoff ratio = average win 200 ÷ average loss 100 = 2.0.
0.667 × 2.0 = 1.33, matching the first calculation.
This decomposition matters because very different trading styles can produce the same PF.
A: 40% win rate and 2.0 payoff ratio.
→ Trend following: frequent losses, occasional large gains.
→ Long losing streaks and psychological strain.
B: 70% win rate and 0.571 payoff ratio.
→ Countertrend trading or scalping: frequent wins, occasional large losses.
→ A smoother equity curve with potentially severe individual losses.
PF makes them look equivalent, but the demands differ. A needs patience through losing streaks; B needs stop discipline against a disastrous trade. Recognize that PF is a summary that removes the strategy's character.
Interpreting reference ranges
There is no universal answer to a “good” PF. Frequency, holding period and fee structure change its meaning. The original guide uses these rough practical reference ranges:
1.00–1.10 → Easily erased by fees and slippage.
1.10–1.30 → Conditional; verify samples and costs.
1.30–2.00 → A range considered potentially operable in the guide.
Above 2.00 → Often raises concerns about small samples or overfitting.
The last line may seem counterintuitive. Higher looks better, but values such as PF 3.0 or 5.0 often warrant checking the sample and validation method before treating them as proof of quality. The sample may contain only 20 trades, or conditions may have been selected after observing outcomes.
Trap 1: One trade creates the entire PF
Because PF uses totals, one enormous winner can lift the entire statistic.
PF = 3,000 ÷ 2,500 = 1.20, apparently profitable.
But one trade contributed $1,800 of the profit.
Remove it:
PF = 1,200 ÷ 2,500 = 0.48, deeply unprofitable.
The other 49 trades are collectively losing, rescued by one exceptional gain. PF does not tell you whether that gain came from a repeatable mechanism or an accidental rally.
The check is simple: remove the largest 1–2 winners and recalculate. If PF falls below 1, the profit may depend heavily on luck. Trade-level PnL in a trading journal makes this a calculation of only a few minutes.
Trap 2: PF before fees
Backtest tools often display gross PF without fees or slippage by default. Higher trading frequency makes the difference more damaging.
Profit $6,000 / loss $5,000 → PF 1.20.
$8,000 notional per trade; 0.10% round-trip fee.
→ $8 per trade × 200 = $1,600.
90 winning trades incur $720; 110 losing trades incur $880.
After fees:
Profit = 6,000 − 720 = $5,280.
Loss = 5,000 + 880 = $5,880.
PF = 5,280 ÷ 5,880 = 0.90.
PF 1.20 became 0.90: profit became loss. The strategy did not change; the measurement included its costs.
First check how the number was measured. Comparing PF values calculated under different fee assumptions is meaningless. Use the fee calculator with the applicable exchange rate, and see the backtesting guide for why costs can determine strategy viability.
Trap 3: Too few observations
The same PF from 30 trades and 3,000 trades has different reliability. A small sample can produce almost any reading.
A common practical minimum is at least 100 trades over a period including rising, falling and ranging markets. Two hundred trades from only three bullish months may effectively represent one regime rather than 200 varied observations.
① Are there at least 100 trades?
② Are different market regimes represented?
③ Does PF exceed 1 in both the first and second halves?
③ is particularly useful.
First-half PF 2.4; second-half PF 0.7:
overall PF 1.4 does not mean “consistently good.”
It may mean “the strategy stopped working at some point.”
Trap 4: PF produced by overfitting
Repeatedly changing parameters and selecting the highest PF measures how well the past was memorized, rather than robust performance. This is overfitting.
The distinction requires checking data not used in selection. Reserve a separate period and see whether PF holds. A training-period PF of 2.8 falling to 0.9 out of sample is a familiar outcome.
Conditions containing future highs, lows or outcome labels can also produce arbitrarily high PF. The arithmetic may be correct, but future information selected the past, making live replication impossible. This is a common failure in backtesting.
What to examine alongside PF
PF describes earnings relative to losses but does not describe how difficult the journey was. PF 1.4 reached with 8% maximum drawdown differs greatly from the same PF with 45% drawdown.
At minimum, examine these three items alongside it.
① Maximum drawdown: How far the account fell from its peak and whether that period was tolerable. See drawdown.
② Trade count and period: The sample issues discussed above.
③ Stability of risk-adjusted returns: Measures incorporating volatility, such as the Sharpe ratio.
Position quantity, not a statistic, protects an actual account. Large bets increase risk of ruin even with an attractive PF. See position sizing for setting a risk amount first and calculating quantity from it.
Calculate it from your own records
The calculation has five steps.
1. Collect only completed trades; exclude unrealized PnL from open positions.
2. Use each trade's realized PnL after fees.
3. Add positive results for total profit and absolute negative results for total loss.
4. Divide total profit by total loss.
5. Remove the largest 1–2 winners and calculate again.
If the two results remain reasonably close after step 5, the PF has stronger support.
Three key points
① PF = total profit ÷ total loss. 1.0 is breakeven, combining win rate and payoff ratio.
② Fees can turn PF 1.2 into 0.9, so check the measurement basis.
③ Fewer than 100 trades, collapse after removing the largest winner, or deterioration out of sample means the PF is not yet dependable.
Caution
Trade counts, PnL and fee rates here are hypothetical calculation examples, not a strategy's actual performance. Reference ranges are customary guides rather than absolute standards. Historical metrics do not guarantee future returns. Decisions and their consequences remain your responsibility.
NOONOO TRADING invites you to follow live trading in our free chat.
Start in the bot📈 OKX trading fee discount for new registrations
Register for the OKX Fee Discount →