Trading Expectancy Calculator
Expectancy is what an average trade is worth: win rate times average win, minus loss rate times average loss. Enter your numbers to see the expected value per trade, the same figure in R, and what it projects over 100 trades.
The formula
Expectancy = (win rate × average win) − (loss rate × average loss) − costs.
The default: 45% × $620 = $279, minus 55% × $300 = $165, minus $12 of costs, giving $102 per trade. Over 100 trades that is $10,200 — assuming the inputs hold, which is the whole question.
Expectancy in R is the portable version
Dividing by the average loss expresses expectancy in units of risk. The default works out to 0.34R: every trade is worth about a third of what you risk on it. That figure is comparable across account sizes, instruments and position sizes in a way that a dollar figure is not, which is why it is the number worth tracking over time.
As rough calibration: above 0.5R is excellent, 0.2–0.5R is a solid working system, 0–0.2R is real but fragile against cost increases, and negative is negative regardless of how the equity curve looks so far.
The projection is not a forecast
"$10,200 over 100 trades" is what the average implies, not what will happen. The actual outcome over 100 trades has a wide distribution around it, and a positive-expectancy system regularly produces losing stretches of 30 or 40 trades. The losing streak calculator shows why that is expected rather than alarming.
Small errors in win rate move this a lot
Drop the win rate from 45% to 38% — a plausible amount of self-flattery — and expectancy falls from $102 to about $38 a trade, a two-thirds cut. Drop it to 34% and it reaches zero. The strategy did not change; only the accuracy of the number describing it did.
That sensitivity is why expectancy computed from remembered trades is close to worthless. Losses are forgotten disproportionately, marginal trades get reclassified as "not really part of the system", and the resulting win rate is biased upward by exactly the amount that turns a losing system into a winning one on paper.
Getting inputs you can trust
The inputs have to come from a record made before each outcome was known — every trade taken, no exceptions, with size and stop logged at entry. An expectancy computed from a log assembled afterwards is an expectancy of the trades you remembered, which is a different and consistently flattering number.
One caution on a tuned expectancy
If these inputs came from a strategy you optimised, treat the result as an upper bound. High simulated performance is reachable after trying only a modest number of configurations, and the probability a backtest is overfit rises with each variant tried.[1]
The number is the easy part
Everything above is arithmetic, and anyone opening this page gets the same answer. What no calculator can settle is whether you took the trade on these terms, or are describing — afterwards — the version of it that worked out.
That is what a trade recorder is for: the trade committed before it resolves, timestamped and sealed on the spot, on a Merkle-anchored log a stranger can check without kappi's cooperation. The plan you typed here stops being a plan you remember having. $15/month, no free tier.
Sources
Frequently asked questions
How do I calculate trading expectancy?
(Win rate × average win) − (loss rate × average loss), then subtract costs per trade. The result is the expected value of an average trade.
What is a good expectancy in R?
Above 0.5R is excellent, 0.2–0.5R is a solid working system, and 0–0.2R is real but fragile against rising costs.
Why does a small win-rate error matter so much?
Expectancy is highly sensitive to it. In the default, dropping the win rate from 45% to 35% turns +$102 per trade into a negative figure, with no change to the strategy itself.
Does positive expectancy mean I will make money?
Over a large enough sample and with accurate inputs, yes. Over any short run the variance dominates, and losing stretches of 30–40 trades are normal for a positive-expectancy system.