Guide

Trading expectancy and profit factor explained

Harbor Capital’s sector-ETF mean-reversion sleeve posted a 68% win rate over eighteen months — impressive on a leaderboard, disastrous in the P&L ledger. Average winners were 0.4% while average losers ran 1.1% before stops fired; expectancy per trade was −0.08R and the sleeve bled 4.2% despite “winning” two-thirds of the time. The desk reframed the problem around expectancy (expected dollars or R-multiples per trade), profit factor (gross wins divided by gross losses), and payoff ratio (average win divided by average loss). Tightening stops using MAE distributions, widening targets from MFE gaps, and capping position heat raised payoff ratio from 0.36 to 0.92 while win rate fell to 54% — net expectancy turned positive at +0.14R per trade and annualized return flipped from −4.2% to +6.8% out-of-sample. This guide defines the core per-trade edge metrics, shows how win rate and payoff ratio interact, maps break-even combinations, relates expectancy to Kelly sizing and portfolio Sharpe, covers the Harbor refactor, a metric decision table, common pitfalls, and a practitioner checklist.

Expectancy: expected value per trade

Expectancy answers: “If I take this setup a thousand times with the same rules, how much do I expect to make or lose per trade?” The classic formula in dollar terms:

Expectancy = (Win% × Avg Win) − (Loss% × Avg Loss)

Where Loss% = 1 − Win%. Positive expectancy means the strategy has a mathematical edge before costs; negative expectancy means you are paying the market to trade, regardless of how often you win.

Systematic traders often express expectancy in R-multiples: profit or loss relative to initial risk (1R = the distance from entry to stop at trade open). If you risk $500 per trade and net $700 on a winner, that is +1.4R. Expectancy in R-units is portable across position sizes and pairs naturally with fixed-fractional sizing.

E(R) = (Win% × Avg Win in R) − (Loss% × Avg Loss in R)

A strategy with E(R) = +0.20 and 200 trades per year expects +40R before compounding — but only if the distribution is stable and costs are included (see pitfalls below).

Profit factor: gross wins over gross losses

Profit factor (PF) is the ratio of total winning dollars to total losing dollars over a sample:

Profit Factor = Sum(Gross Wins) / Sum(|Gross Losses|)

Interpretation bands practitioners use (always sample-dependent):

  • PF < 1.0: net losing; gross wins do not cover gross losses.
  • PF = 1.0: break-even before costs; any friction pushes you negative.
  • PF 1.25–1.5: modest edge; common for diversified systematic books.
  • PF > 2.0: strong on paper; verify sample size and regime stability.

Profit factor and expectancy measure the same underlying edge from different angles. PF ignores trade count scaling; expectancy scales directly with frequency. A low-frequency trend system might show PF 2.5 with E(R) 0.8; a high-frequency scalper might show PF 1.15 with E(R) 0.05 but hundreds of trades per month.

Payoff ratio and the win-rate matrix

The payoff ratio (reward-to-risk ratio, win/loss ratio) is:

Payoff Ratio = Average Win / Average Loss

Win rate alone is misleading. The break-even win rate for a given payoff ratio is:

Break-even Win% = 1 / (1 + Payoff Ratio)

Examples:

  • Payoff 1:1 (avg win equals avg loss) → need 50% wins to break even.
  • Payoff 2:1 → need only 33.3% wins.
  • Payoff 0.5:1 → need 66.7% wins — Harbor’s pre-refactor trap.

Rearranging expectancy in R-terms when losses are capped at 1R:

E(R) = Win% × Payoff − (1 − Win%) × 1

This is why trend followers accept 35–45% win rates: payoff ratios of 2:1 or 3:1 on winners compensate for frequent small losses. Mean-reversion systems often show 55–70% win rates but require payoff ratios above 0.6–0.8 to stay positive depending on costs.

Win rate Payoff 0.5:1 Payoff 1:1 Payoff 2:1
40% −0.40R −0.20R +0.20R
50% −0.25R 0.00R +0.50R
60% −0.10R +0.20R +0.80R
70% +0.05R +0.40R +1.10R

Harbor’s pre-refactor row: 68% win rate at ~0.36 payoff → E(R) ≈ 0.68×0.36 − 0.32 ≈ −0.08R. Post-refactor: 54% at 0.92 payoff → E(R) ≈ +0.14R.

How these metrics connect to sizing and backtests

Kelly criterion uses win probability and payoff ratio to suggest maximum geometric-growth bet size. Full Kelly is volatile; desks typically use half-Kelly or fixed fractional risk (0.5–1% of equity per trade) once expectancy is positive out-of-sample. Expectancy tells you whether to trade; Kelly and heat limits tell you how much.

Backtests should report expectancy, profit factor, and payoff ratio on held-out data — not just CAGR and Sharpe. A backtest with PF 3.0 on 40 trades is noise; the same PF on 800 trades after walk-forward validation is evidence. Pair summary stats with MAE/MFE scatter plots to see whether stops are too wide (inflating payoff on paper while destroying live fill quality) or targets too tight (high win rate, tiny payoff).

Portfolio-level metrics like Sharpe ratio and maximum drawdown aggregate many trades and paths. Expectancy is trade-level; Sharpe is return-level. A positive-expectancy system can still produce a bad Sharpe if variance is high or correlation to your book spikes in crises.

Harbor Capital mean-reversion sleeve refactor

The sleeve traded RSI(2) oversold bounces in liquid sector ETFs with a fixed 1% equity risk per signal. Pre-refactor diagnostics on 412 trades:

  • Win rate: 68.2%
  • Average win: +0.40R; average loss: −1.10R (stops slipped on gap opens)
  • Payoff ratio: 0.36; profit factor: 0.78; expectancy: −0.08R

Root causes: stops placed at arbitrary ATR multiples instead of MAE percentiles of historical winners; profit targets at fixed 0.5R while MFE showed 70% of winners exceeded 1.2R before reversing; no cost model in reported PF.

Changes applied on a walk-forward basis:

  1. Stop width set to 85th percentile MAE of prior in-sample winners (reduced avg loss to 0.95R).
  2. Scale-out: 50% at 0.8R, runner trail from MFE − 0.4R (raised avg win to 0.88R).
  3. Subtracted 0.03R per round-trip for spread and slippage in reported stats.
  4. Skipped signals when sector ETF spread exceeded 0.08% (reduced trade count 18%).

Out-of-sample (214 trades): win rate 54.2%, payoff 0.92, PF 1.31, E(R) +0.14R, annualized return +6.8% vs −4.2% prior. Lower win rate felt worse in dashboards but matched how profitable mean-reversion actually works: many small wins, fewer controlled losses, occasional outsized runners.

Metric decision table

Question Best metric Why not the others alone
Does this setup make money per trade? Expectancy (R or $) Win rate hides payoff; PF hides frequency
Quick edge sanity check on a trade log Profit factor Does not scale with trade count intuition
Is my win rate “good enough”? Payoff ratio + break-even formula Win rate without payoff is meaningless
Are stops and targets calibrated? MAE / MFE distributions Expectancy is the output, not the diagnostic
How much capital per signal? Kelly / fixed fractional risk Requires positive expectancy first
Fund-level risk-adjusted return Sharpe, Sortino, Calmar Trade-level stats do not capture path or correlation
Is the backtest believable? Walk-forward OOS expectancy + PF In-sample PF on optimized rules is inflated

Common pitfalls

  • Celebrating win rate: 70% wins at 0.4:1 payoff is a slow bleed.
  • Ignoring transaction costs: PF 1.05 in backtest becomes 0.92 live; always haircut expectancy.
  • Tiny samples: 30 trades cannot support PF > 2 claims; require hundreds or bootstrap confidence intervals.
  • Outlier dependence: one +10R trade can make PF look healthy; report median R and trimmed expectancy.
  • Mixing R definitions: changing stop distance mid-sample invalidates R-multiple comparisons.
  • Conflating profit factor with Sharpe: PF is gross win/loss; Sharpe is return volatility adjusted.
  • Optimizing win rate with tighter targets: raises win% but crushes payoff and expectancy.
  • Regime blindness: positive expectancy in low-vol years may vanish when spreads widen in crises.

Practitioner checklist

  • Compute expectancy, profit factor, and payoff ratio on out-of-sample trades only.
  • Express results in R-multiples with a fixed, documented stop rule per setup.
  • Subtract realistic per-trade costs before declaring PF > 1.
  • Plot MAE/MFE scatter to justify stop width and target scale-outs.
  • Check break-even win rate for your payoff ratio; know your margin of safety.
  • Report trade count and confidence: flag PF when N < 100.
  • Segment by regime (volatility quartile, trend vs range) — expectancy is rarely uniform.
  • Size positions from positive OOS expectancy via fractional Kelly or fixed risk, not win rate.
  • Recompute monthly; edge decay shows up in falling PF before drawdowns spike.

Related reading