PositionSizeTool
Forex · Stocks · Crypto — size every trade from your risk, not from hope

Profit Factor Calculator

Two totals out of your journal — everything you won, everything you lost — divided into one ratio, with the win rate that ratio demands and what a run of losers at that rate leaves behind.

At a glance

The two totals

Gross means before costs. Costs are taken off in the third pane, not here.

For the win rate and the runs

Used to turn the ratio into a win rate and to price the losing runs. Left blank, the ratio still prints.

Costs and horizon

Both equity columns come from the site's own losing-streak file at 1% and 2% per trade. No feed, no upload.

Profit factor
—
—
Gross profit—
Gross loss—
Net result—
Trades counted—
Expectancy per trade—
Win rate—
Payoff ratio—
Break-even win rate—
Headroom above break-even—
Profit factor after costs—
How often a run of that depth turns up at your win rate, and what the published streak file says it leaves behind.
Losers in a rowChance within the horizonEquity left, 1%Gain neededEquity left, 2%Gain needed

How two totals become one number

Add up everything the winning trades made, add up everything the losing trades cost, and divide the first by the second. That is the whole of it, and the division is worth writing down before anything else because it is easy to perform on the wrong two numbers — gross profit and gross loss are totals in money, not a count of trades and not an average.

profit factor = total gross profit / total gross loss gross profit = winning trades x average win gross loss = losing trades x average loss and, from the same two totals: profit factor = ( win rate / (1 - win rate) ) x payoff ratio win rate = profit factor / ( profit factor + payoff ratio ) payoff ratio = average win / average loss break-even rate = 1 / (1 + payoff ratio) expectancy = ( gross profit - gross loss ) / trades = win rate x average win - (1 - win rate) x average loss
  1. A ratio, not a currency figure. 1.50 says the method returned one and a half units for every unit it gave up. It does not say how many units there were, and a method that won 30.00 and lost 20.00 reports the same 1.50 as one that won 30,000.00 and lost 20,000.00.
  2. Below 1.00 the two totals have swapped places. More was lost than won, and every extra trade widens the gap rather than closing it. Exactly 1.00 is a method that has moved money around for nothing.
  3. The win rate and the payoff are two names for the same ratio. The second line of the formula above is the one most write-ups skip: a profit factor pins down the win rate only once the payoff is known, which is why 1.50 can describe five very different methods.
  4. Expectancy is the same information in money. Divide the difference between the two totals by the number of trades and the result is what one average trade is worth, which is the figure a position size can actually be built on.

The bands printed by the tool — losing, marginal, thin, workable, solid, and above 2.00 a prompt to check the sample — are this page's labels for the ranges, chosen so the output has a name rather than a bare decimal. They are not a standard anybody else uses, and the arithmetic above does not depend on them.

Worked example: 40 winners at 180.00, 30 losers at 160.00

Every figure below is typed into the fields above, and every step can be repeated on a phone calculator. Nothing is fetched and nothing is estimated.

Inputs for the worked example.
InputValue
Winning trades40
Losing trades30
Average win180.00
Average loss160.00
Trades ahead, for the run table100
  1. Gross profit: 40 × 180.00 = 7,200.00.
  2. Gross loss: 30 × 160.00 = 4,800.00.
  3. Profit factor: 7,200.00 ÷ 4,800.00 = 1.50.
  4. Cross-check from the counts instead of the money: 40 ÷ 30 = 1.3333 winners per loser, 180.00 ÷ 160.00 = 1.1250 of payoff, and 1.3333 × 1.1250 = 1.50. This is the check worth doing by hand — if the two routes disagree, one of the averages was recorded net of costs and the other was not.
  5. Net result: 7,200.00 − 4,800.00 = 2,400.00 across 70 trades.
  6. Expectancy per trade: 2,400.00 ÷ 70 = 34.29. The other route gives the same thing: 57.14% × 180.00 = 102.86 won per trade on average, 42.86% × 160.00 = 68.57 lost, difference 34.29.
  7. Win rate: 40 ÷ 70 = 57.14%.
  8. Break-even win rate: 1 ÷ (1 + 1.1250) = 1 ÷ 2.1250 = 47.06%. The measured rate sits 10.08 percentage points above it.
  9. Read the ratio back into a rate: 1.50 ÷ (1.50 + 1.1250) = 1.50 ÷ 2.6250 = 57.14%, which is where this example started. The two directions agree, and that agreement is what makes the ratio usable.

Step 4 is the one that catches bookkeeping errors, and step 9 is the one that makes the number actionable: 1.50 is not a grade, it is a statement that this method only pays while it keeps winning more than 47.06% of its trades at a 1.1250 payoff.

The profit factor formula, written three ways

A profit factor formula search usually wants one expression with the blanks filled, and there are three in common use. They produce the same number from different inputs, and knowing which one you have saves a wasted conversion.

The same ratio from totals, from counts, and from rates.
Written asInputs it needsOn the example
gross profit ÷ gross lossTwo money totals7,200.00 ÷ 4,800.00 = 1.50
(wins × average win) ÷ (losses × average loss)Two counts and two averages(40 × 180.00) ÷ (30 × 160.00) = 1.50
(w ÷ (1 − w)) × payoff ratioWin rate and payoff ratio1.3333 × 1.1250 = 1.50

The third form is the one that runs backwards, and it is the only one that answers the question people actually have once the ratio is in front of them — what win rate does this demand? Rearranged: win rate = profit factor ÷ (profit factor + payoff ratio). Nothing else on this page needs a substitution more than twice.

Three methods, one profit factor of 1.50

Set the payoff ratio and the profit factor, and the win rate is fixed — there is no second solution. What that means in practice is that a single ratio describes a family of methods that feel nothing alike to trade. Every row below has a profit factor of exactly 1.50.

Win rate implied by a profit factor of 1.50 at six payoff ratios: w = 1.50 / (1.50 + payoff). Every row has the same profit factor.
Payoff ratioWin rate impliedLoss rateBreak-even rateChance of 10 in a row within 100 trades
0.8065.22%34.78%55.56%0.15%
1.0060.00%40.00%50.00%0.58%
1.12557.14%42.86%47.06%1.09%
1.5050.00%50.00%40.00%4.41%
2.0042.86%57.14%33.33%13.87%
3.0033.33%66.67%25.00%43.53%

The last column is the whole argument. A profit factor of 1.50 built on a 0.80 payoff wins two trades in three and almost never sees ten losers in a row — 0.15% of hundred-trade stretches. The same 1.50 built on a 3.00 payoff wins one trade in three, and ten losers back to back arrives in 43.53% of those stretches. Both are 1.50. Only one of them can be traded by somebody who needs to see a winner every week.

Chance of 10 losers in a row within 100 trades — profit factor fixed at 1.50 0% 15% 30% 45% 0.80 1.00 1.125 1.50 3.00 0.15% 43.53% payoff ratio (average win ÷ average loss) win rate falls from 65.22% to 33.33% left to right
Six routes to the same 1.50. The run probability is computed exactly from the implied win rate over 100 trades; no simulation.

What 1.50 does not say: the order the wins and losses arrive in

A ratio of two totals is blind to sequence. Reorder the same 40 winners and 30 losers and the profit factor does not move by a thousandth, while the worst stretch the account has to sit through can change out of recognition. The table below is the cost side of that gap — five rows of the site's own losing-streak file, printed as published, at three risk levels.

data/losing-streak-equity.csv, rows for 6 to 10 consecutive losses, all three risk columns exactly as published. Each loser costs the stated percentage of what is left, not of the original balance.
Losers in a rowEquity left, 0.5% per tradeEquity left, 1%Equity left, 2%
697.04%94.15%88.58%
796.55%93.21%86.81%
896.07%92.27%85.08%
995.59%91.35%83.37%
1095.11%90.44%81.71%

Two columns are arithmetic on those published figures rather than new data. The drawdown is the shortfall from 100%, and the gain needed is the shortfall divided by what is left — which is why the fourth column is always the larger of the two, and why the gap between them widens as the run deepens.

Derived from the rows above: drawdown = 100% minus equity remaining, and gain needed = drawdown ÷ equity remaining, for all three risk columns.
Losers in a rowNeeded after 0.5%Needed after 1%Needed after 2%
63.05%6.21%12.89%
73.57%7.28%15.19%
84.09%8.38%17.54%
94.61%9.47%19.95%
105.14%10.57%22.38%

The same five rows read as money on a 10,000.00 account: the balance left when the run ends, and the cash that has to be earned back on the reduced balance to return to where it started. Nothing here is new data — every figure is 10,000.00 multiplied by one published percentage.

The published rows above applied to a 10,000.00 account. Balance = 10,000.00 x equity remaining. Must earn = 10,000.00 minus that balance.
Losers in a rowBalance left, 1%Must earn, 1%Balance left, 2%Must earn, 2%
69,415.00585.008,858.001,142.00
79,321.00679.008,681.001,319.00
89,227.00773.008,508.001,492.00
99,135.00865.008,337.001,663.00
109,044.00956.008,171.001,829.00

One more division ties the streak back to the ratio. This method's expectancy is 34.29 a trade, so the cash that has to be earned back can be expressed as a number of trades rather than a percentage: 956.00 ÷ 34.29 = 27.88 trades to undo a ten-deep run at 1% risked, and 1,829.00 ÷ 34.29 = 53.35 trades at 2%. The ratio is what pays for the run; the risk percentage is what decides how long the paying takes.

Trades needed to earn a run back at this method's expectancy of 34.29 a trade. Must-earn figures from the table above, divided by 34.29.
Losers in a rowMust earn, 1%Trades at 34.29Must earn, 2%Trades at 34.29
6585.0017.061,142.0033.31
7679.0019.801,319.0038.47
8773.0022.551,492.0043.52
9865.0025.231,663.0048.50
10956.0027.881,829.0053.35

The published rows also stack. A run of ten does not arrive once and then retire; over a long enough sample it arrives again, and the second one is computed on the balance the first left behind. Raising the published ten-loss figure to a power answers how many of them an account survives before it is halved — 6.90 of them at 1% risked, 3.43 at 2%, and 13.83 at 0.5%.

The published ten-loss row compounded: balance left after n separate ten-deep runs, =(equity remaining after 10) to the power of n. Derived from the same three published figures.
Ten-deep runs sufferedBalance left, 0.5%Balance left, 1%Balance left, 2%
195.11%90.44%81.71%
290.46%81.79%66.77%
386.04%73.97%54.55%
481.83%66.90%44.58%
577.83%60.51%36.42%

Put the two halves together and the ratio finally says something a trader can act on. Take the three routes to 1.50 that bookend the table above — a 0.80 payoff, the 1.125 payoff of the worked example, and a 3.00 payoff — and ask what a run of each depth costs at 1% and at 2% risked.

Same profit factor of 1.50, three payoffs. Run chance computed exactly from the implied win rate over 100 trades; equity columns are the published rows above.
Losers in a row0.80 payoff — chance1.125 payoff — chance3.00 payoff — chanceEquity left at 1%Needed at 1%Equity left at 2%Needed at 2%
610.52%29.31%97.23%94.15%6.21%88.58%12.89%
73.74%13.53%89.07%93.21%7.28%86.81%15.19%
81.30%5.95%75.16%92.27%8.38%85.08%17.54%
90.45%2.56%58.85%91.35%9.47%83.37%19.95%
100.15%1.09%43.53%90.44%10.57%81.71%22.38%

Read the bottom row across. Ten losers in a row is a 0.15% event for the high-win-rate version of this method and a 43.53% event for the low-win-rate version — a factor of nearly three hundred separating two methods the ratio calls identical. When it does arrive it costs the same in both cases: 9.56% of the account at 1% risked, 18.29% at 2%.

Equity remaining after k consecutive losses — published rows, 1% and 2% risked per trade 100% 95% 90% 85% 80% 94.15% 90.44% 88.58% 81.71% 6 7 8 9 10 consecutive losses solid: 1% risked per trade dashed: 2% risked per trade
Five published rows, three risk columns. The profit factor of the method that produced these losses is nowhere in the picture — the ratio does not determine the depth of the run, only how long it takes to earn back.

Expectancy: the same thing in money

A trading expectancy calculator and a profit factor calculator are usually two searches for the same journal, and the difference between them is whether the answer comes back as a ratio or as cash. Expectancy is the difference between the two totals divided by the number of trades; on the worked example that is 2,400.00 ÷ 70 = 34.29 a trade.

Expectancy per trade in units of the average loss, for a profit factor of 1.50 at six payoffs. E = w x payoff - (1 - w), with the average loss set to 100.
Payoff ratioWin rateAverage winAverage lossExpectancy per trade
0.8065.22%80.00100.0017.39
1.0060.00%100.00100.0020.00
1.12557.14%112.50100.0021.43
1.5050.00%150.00100.0025.00
2.0042.86%200.00100.0028.57
3.0033.33%300.00100.0033.33

Notice the direction. Every row is the same profit factor, and the expectancy rises as the win rate falls — 17.39 per 100 of average loss at the top, 33.33 at the bottom. That is not a contradiction. A fixed ratio says nothing about how much money moves through it, and pushing the payoff up while the win rate falls moves more money per trade while making the waits between winners longer. Which of those suits you is a question about temperament and about the depth of the runs in the table above, not about the ratio.

Costs: where 1.50 goes once the broker is paid

Gross is gross. Spread, commission and overnight financing are not in the two totals unless the averages were recorded net of them, and the same 70 trades can report two different ratios depending on that one bookkeeping choice. On the worked example, 7.00 a side across 70 trades is 490.00.

Profit factor before and after 490.00 of costs on the worked example, and the gross ratio needed to still show 1.50 net.
MeasureGross profitGross lossProfit factor
Before costs7,200.004,800.001.50
Costs off the profit only6,710.004,800.001.40
Costs split across both totals6,710.005,290.001.27
Gross ratio needed for 1.50 net8,425.004,800.001.76

The last row is the one that matters for anybody trading small size or short holds: the ratio has to be 1.76 before costs to be 1.50 after them. That gap is not a property of the method, it is a property of how much of each trade the broker takes, and it grows with trade count rather than with size.

What people type when they want this number

Four searches land on this page and they are not asking four different questions. A profit factor calculator wants the division done — gross profit over gross loss, in the tool at the top. A profit factor formula wants the expression, which is the block in the first section and the three forms written out above. Profit factor trading usually means the practical version: what counts as a usable ratio on live money, which is the band the tool names and the sample-size caveat below it. And a trading expectancy calculator wants the same journal expressed per trade in currency rather than as a ratio, which is the section immediately above.

All four are one arithmetic here, because there is only one pair of totals underneath them. What differs is what the searcher plans to do with the answer — and the answer that actually changes behaviour is not the ratio, it is the win rate the ratio demands and the depth of run that win rate produces.

This page and its neighbours, side by side

Three pages on this site start from the same journal, and they split it by what they hand back.

None of these four decide how large a position should be. That is the position size calculator on the home page, and it needs a stop distance rather than a profit factor.

Questions traders ask

How do I calculate profit factor?

Add up everything the winning trades made and divide it by everything the losing trades cost, both before costs. On the example above: 40 × 180.00 = 7,200.00 won, 30 × 160.00 = 4,800.00 lost, and 7,200.00 ÷ 4,800.00 = 1.50. If you have counts and averages instead of totals, the same answer comes from (40 ÷ 30) × (180.00 ÷ 160.00) = 1.3333 × 1.1250 = 1.50.

What is a good profit factor in trading?

One that survives your costs and your losing runs, which is two separate tests. On this page a gross 1.50 becomes 1.27 once 490.00 of commission and spread is split across both totals, and the win rate it implies — 57.14% at a 1.1250 payoff — still has a 1.09% chance of ten losers in a row inside the next 100 trades. Compare against your own payoff, not against a number quoted from somebody else's method.

Is a profit factor of 1.2 good?

It is thin, and how thin depends entirely on costs. Split across both totals, the 490.00 of costs on this page's 70 trades turns a gross 1.50 into 1.27 — so a gross 1.2 is close to break-even once a broker is paid, and below it once financing is added. It is also only 20% of headroom above the 1.00 that pays nothing, which is a narrow margin to be measuring a short sample against.

What does a profit factor below 1 mean?

The two totals have swapped places: more was lost than won, and taking more trades widens the gap rather than closing it. It is worth computing how far below, because the distance matters — 0.90 on 70 trades and 0.90 on 700 trades are different problems, and only the second one is a description rather than noise. The tool prints the figure either way and names the band rather than leaving a bare decimal.

What is the difference between profit factor and expectancy?

Profit factor is a ratio of two totals and carries no currency; expectancy is the difference between those totals divided by the number of trades, so it comes back in money. On this page's example the ratio is 1.50 and the expectancy is 2,400.00 ÷ 70 = 34.29 per trade. Two methods can share a ratio and differ in expectancy — at a fixed 1.50 the per-trade figure runs from 17.39 to 33.33 per 100 of average loss as the payoff rises.

Does profit factor include commissions and spread?

Not unless you record your averages net of them, and most journals do not. Enter the total in the costs field and the tool prints the ratio before and after: 490.00 across this page's 70 trades takes 1.50 down to 1.27 with the costs split across both totals. Whichever convention you picked, state it, because a gross 1.50 and a net 1.50 are not the same claim.

How many trades do I need before my profit factor means anything?

Enough that one or two trades cannot move it. A ratio built on 12 trades where a single 3,000.00 winner accounts for most of the gross profit is a description of that one trade, and removing it can take 1.50 below 1.00. Check by deleting the largest winner and recomputing — if the ratio moves more than about 0.2, the sample is one trade wide, not a method wide.

Can profit factor be negative or infinite?

Neither, and both cases are bookkeeping signals rather than results. Gross loss is a positive total by construction, so the ratio cannot go below zero. It is undefined when there are no losing trades at all — division by zero — which in a real journal means the losses have not been recorded yet.

What a ratio of two totals leaves out

Three things sit outside the division, and each one is a reason a ratio that looks healthy on paper can still describe a method you cannot hold.

The fourth gap is the one the whole middle of this page is built around: reorder the same 70 trades and the ratio does not move by a thousandth, while the deepest run the account has to survive can change beyond recognition. Everything above runs in your browser from the totals you type, plus three published columns of the site's own streak file. That file, with the same numbers, is published as an open reference dataset.

Size the next trade from your risk

Related guides