PropSurvival
Mechanism series · 04·27 July 2026 ·Derived in full · every cost figure is an input you set, not a quoted rate

The toll is charged on every trade. The edge is earned on some of them.

Spread, commission and slippage are three different mechanisms that behave in three different ways, and they share one property that decides everything downstream: they are paid on every round turn, win or lose. A strategy that wins 45% of the time pays the toll 100% of the time — so each tick of friction has to be recovered out of the 45 trades that work, not the 100 that happen.

What this article establishes
00

What does trading actually cost you, per trade?

The short answer

Three things, and they are not variants of each other. Commission is a fee per side, known exactly before you trade and unaffected by anything the market does. The spread is the gap between the best bid and the best offer; you pay half of it against the mid every time you cross to get filled, so a round turn that crosses both ways pays one full spread. Slippage is everything left over — the difference between the price at the touch and the price you actually got. The first is certain, the second is quoted, and the third is a distribution nobody shows you.

Added up, they form a toll charged on every round turn regardless of outcome. That is the whole of the argument, and its consequences are larger than they look, because a trader thinks in target sizes and the toll is charged in trade counts. On the illustrative configuration used throughout this article, a strategy grossing 2.45 ticks a trade pays 2.62 ticks of friction and nets minus 0.17. It does not look like a losing strategy from the inside. It is one.

Friction does not scale with your profits. It scales with your trade count. Any question about what trading costs is therefore really a question about how often you trade — and that has an exact answer.

Key insights

  1. 01Friction is paid on every trade and edge is earned on the winners, so a tick of friction must be recovered out of a fraction of your trades. Restoring expectancy costs 1/w ticks of average win, where w is the win rate. At 45% that is 2.22 ticks per tick of toll.
  2. 02A fill can never be better than the best price displayed and can always be worse, so the cost distribution has a hard floor and no ceiling. Its mean therefore exceeds its median — on the default configuration the median round turn costs 1.40 ticks and the mean costs 2.62.
  3. 03If shorter holding periods capture proportionally smaller moves — the square-root-of-time behaviour of a series with no serial correlation — then gross profit grows with the square root of trade count while friction grows linearly. The break-even frequency is then exactly four times the frequency that maximises net profit.
  4. 04Under that same scaling the sustainable trading rate goes as the square of the edge. A 20% smaller edge costs 36% of your sustainable frequency; a doubled edge quadruples it.
  5. 05Friction expressed in ticks is independent of position size, so the friction-to-edge ratio cannot be improved by trading bigger — and past the depth resting at the touch it gets strictly worse.
On the numbers

No commission rate, spread or tick value is stated here as fact. All of them are venue-specific, broker-specific and change without notice. Every one is an input you set in the laboratory below, and the worked figures throughout are that laboratory’s default configuration — chosen to be plausible, labelled illustrative, and correct only about itself.

The one thing this article asserts is the arithmetic connecting those inputs to their consequences, and that arithmetic is derived on the page.

01

What exactly are you paying, and to whom?

Three mechanisms

Three separate payments to three separate parties, which is why lumping them together as “costs” hides the thing that matters: they respond to entirely different levers.

Commission · a fee, to whoever clears you

A fixed amount per side, per contract or per share. It does not move with volatility, order size relative to the book, urgency or time of day. It is the only one of the three you can look up in advance and be right about. Expressed in ticks it is 2c / V per round turn, where c is the commission per side per contract and V is the currency value of one tick per contract — and note that the contract count cancels, a fact clause 05 turns into something useful.

Spread · a price, to whoever quoted it

The best bid and the best offer are not the same number. The difference is the spread, and it exists because someone standing ready to trade with you at any moment is granting you an option and must be paid for it. Measured against the mid price, buying at the offer costs half a spread and selling at the bid costs half a spread — so a round turn that crosses in both directions pays exactly one full spread, not two. Traders routinely double-count this, and the resulting error is one of the largest single items in an incorrect cost estimate.

The spread is quoted, so it is visible before you trade. That visibility is the reason it is the friction traders most often model and — as the decomposition in clause 05 shows — it is not usually the largest one.

Slippage · a residual, to nobody in particular

Slippage is what remains after commission and spread are accounted for: the gap between the price you expected at the touch and the price you were actually filled at. It has three distinct sources and they do not behave alike.

  • Depth. The size displayed at the best price is finite. An order larger than it fills the surplus at the next price, and the one after that. For a book with roughly D contracts at each level, an order of Q contracts fills at an average of (Q/D − 1) / 2 ticks worse than the touch once Q exceeds D — the arithmetic average of the levels it consumes.
  • Latency. The price can move between your decision and your order’s arrival. In the absence of information this is symmetric; in the presence of it, it is not, which is clause 02.
  • Selection. A resting order is not filled at a time you choose. It is filled when someone wants to trade against it, which is a systematically different set of moments from “at random”. Clause 07 works that one through.

Put the three together and the toll on one round turn, in ticks, is:

Friction per round turn, in ticks
Spread crossed · X sides at half a spread eachX · 0.5 · S
Commission · both sides2c / V
Slippage · both sides, expected2 · E[slip]
Toll in currencyticks × V × Q

Every symbol in that identity is a number you can set below. Nothing in it is a rate this page has looked up, because rates of this kind are venue- and broker-specific, change without notice, and a page that printed one would be wrong for most readers on the day they arrived.

Three mechanisms, three levers. Commission responds to who clears you. Spread responds to what you trade. Slippage responds to how, when and how large you trade — and it is the only one of the three that is a distribution rather than a number.

Notation
SSpread, in ticks.
XSides of the round turn on which you cross the spread: 1 or 2.
cCommission per side, per contract, in currency.
VCurrency value of one tick, per contract.
QContracts per trade.
DContracts resting at the touch.
wWin rate, as a fraction.
gGross edge per trade, before friction.
fFriction per round turn, expected.
Why a spread exists at all

A quote is a standing option granted to everyone else: the right, but not the obligation, to trade with you at a fixed price. Options are exercised when they are worth exercising, so a quote is hit disproportionately by people who know something the quoter does not. The spread is the fee for granting that option, and it must widen whenever the chance that someone knows something rises.

That single sentence explains the whole of clause 02, and it is why the spread is widest exactly when the most signals fire.

The readout · computed exactly, not sampled
Gross edge per trade
Friction per trade
Net edge per trade
Friction as a share of gross
Break-even trades a month
The strategy
45%
14 ticks
7 ticks
40
The instrument
2
1 tick
20
The friction
80%
1.5
20%
The horizon
In a fast book, as modelled
Spread2 ticks
Slips60% of the time
Mean ticks when it slips2.25
The toll on one round turn · ticks and currency
Spread crossed1.20 t · $24.00
Commission, both sides0.40 t · $8.00
Slippage, both sides, expected1.02 t · $20.40
Toll per round turn2.62 t · $52.40
The same configuration, over a year
Round turns480
Gross$23,520
Friction$25,152
Friction as a share of the account50.3%
Net, before compounding-$1,632
The break-even average win, at this win rate
Without friction8.56 ticks
With friction14.38 ticks
Each tick of toll costs2.22 ticks
Your average win14 ticks

On this configuration the toll is 2.62 ticks against a gross edge of 2.45, so the strategy nets minus 0.17 ticks a trade. The lever that changes it most is not any single cost — it is the trade count, which clause 04 works out exactly.

02

Why is slippage not symmetric?

A one-sided cost

Because it has a hard floor and no ceiling, and that is a structural fact rather than an observation about any particular market. A marketable order cannot fill better than the best price currently displayed — that price is by definition the best one available. So the cheapest possible outcome is exactly zero extra ticks, and it happens often. Everything else is worse, and nothing bounds how much worse.

A quantity bounded below and unbounded above has its mean above its median, always. This is not a subtlety; it is the same reason average incomes exceed typical ones. And it means the number a trader forms by watching their own fills — which is a sense of the typical fill — is systematically below the number that determines their annual result, which is the mean.

The median fill is what you notice. The mean fill is what you pay. On the default configuration those two numbers differ by 87%, and no amount of attentiveness at the screen closes the gap, because the gap lives in the trades you remember least.

The distribution, stated

To compute rather than assert, slippage needs a shape. The one used here is the minimal honest one: on each side, with probability k you are filled at the touch and pay nothing extra; with probability (1 − k) you slip, by a whole number of ticks drawn from a geometric distribution with mean m. That gives a spike at zero — most orders in a liquid book do fill at the touch — and a genuine tail, which a single average number cannot. Expected slippage per side is (1 − k) · m ticks, and the two sides of a round turn are drawn independently.

The figure below is not a sample. The distribution of the round-turn toll is the exact convolution of two of those draws plus the deterministic spread and commission, computed over the tick lattice — so there is no seed, no path count and no sampling error to report. Change any control and the shape is recomputed exactly.

Why it is worst exactly when you most want to be filled

The second asymmetry is a conditioning effect and it is larger than the first. Quoting is granting an option, as clause 01 put it, and the fee for granting an option rises with the chance that whoever takes it knows something. That chance is highest around information — a release, an open, a break of a level everyone is watching. So spreads widen and displayed size thins at precisely the moments that generate most signals.

Which means the distribution that applies to your orders is not the distribution that applies to all orders. It is the distribution conditional on your signal having fired, and that condition selects the worse end. The modelled version of this is one control: the share of entries that land in a fast book, where — as stated in the panel — the spread is doubled, slipping becomes three times as likely, and the slip when it happens is half again as large.

Conditioning · the default configuration · illustrative
Toll in a calm book2.00 ticks
Toll in a fast book5.10 ticks
Share of entries into fast books20%
Blended mean toll2.62 ticks
Share of the annual bill from that 20%38.9%

One trade in five carries two fifths of the bill. A trader who measures average slippage across all their orders and applies it to their signal-driven ones is using the wrong conditional distribution, and the error is always in the same direction. The multipliers above are stated assumptions, not measurements — the real ones are specific to an instrument, a venue and a time of day, and the only way to know them is to record your own fills against the quote that was displayed when you sent the order.

The floor is real, the ceiling is not

Price improvement exists on some venues and order types, so “never better than the touch” is a statement about a plain marketable order into a displayed book, which is the case modelled here. Where improvement is available it shifts the floor slightly, but it does not create a symmetric distribution: the best case remains bounded and the worst case remains open.

Why the geometric shape

A geometric distribution over ticks is what you get if, having failed to fill at one level, the chance of also failing at the next is roughly constant. That is the simplest assumption consistent with a book of roughly even depth, and it is stated rather than fitted. A book that thins with distance has a heavier tail than this, so the shape used here is the optimistic one.

What does one round turn actually cost, trade by trade?

The cheapest outcome is the most likely one, and it is a hard floor — nothing to the left of it exists. The distribution then runs out to the right with no bound. The solid rule is the median, the wine rule is the mean, and the distance between them is the amount a trader underestimates by when they judge their costs from the fills they remember. Only the wine one appears in your annual result.

The round-turn toll · exact, by convolution
ReadingTicks CurrencyShare
Cheapest
Illustrative inputs · no rate here is a quoted market figure
03

What does friction actually cost a strategy that has an edge?

The amplification

More than the friction, and by a factor you can compute exactly: 1/w, where w is the win rate. The reason is the one in the headline — the toll is charged on every trade and the edge is earned on the winners — and it means that friction expressed in the units a trader actually thinks in is much larger than friction expressed per trade.

Write the gross expectancy of a strategy that wins w of the time, taking W ticks on a win and giving up L on a loss, and then ask what W has to be to survive a toll of f ticks:

The break-even average win
Gross expectancy per tradew·W − (1−w)·L
Net expectancy per tradew·W − (1−w)·L − f
Set to zero and solve for WW = (f + (1−w)·L) / w
So each tick of f costs1/w ticks of average win

On the default configuration — 45% win rate, 7-tick losses, 2.62 ticks of toll — the frictionless break-even average win is 8.56 ticks. With friction it is 14.38. The toll of 2.62 ticks has raised the required target by 5.82 ticks, which is 2.22 times its own size, because it must be paid out of the 45 trades in a hundred that work rather than the hundred that happen.

A 2.62-tick toll is not a 2.62-tick problem. At a 45% win rate it is a 5.82-tick problem, and at a 30% win rate the same toll would be an 8.73-tick problem. The lower your win rate, the more brutally friction is amplified.

The same statement can be made in win-rate terms instead, and it is no gentler. Holding the 14-tick win and the 7-tick loss fixed, the win rate required to break even after friction is 45.8%. The frictionless requirement it is measured against — 33.3% at a two-to-one payoff, from the break-even identity 1 ÷ (1 + reward:risk) — is not derived here: it is the central result of expectancy versus win rate, and this clause only adds the toll to it. Twelve and a half percentage points of win rate, bought and paid for before the strategy does anything at all.

Notice what this does not say. It does not say the strategy is bad; the gross edge is real and positive. It says that a gross edge and a net edge are different objects and that the gap between them is not small. The relationship between win rate and expectancy, and why the first is a poor guide to the second, is worked through separately in the expectancy article; everything here takes a gross expectancy as given and asks only what the toll does to it.

The amplification, tabulated
25%Each tick of toll costs 4.00 ticks of average win.
33%3.03 ticks.
45%2.22 ticks.
55%1.82 ticks.
70%1.43 ticks.

This is why friction bites hardest on low-win-rate, high-payoff approaches — exactly the profile that most often argues it does not need to care about a tick here or there.

Costs paid mechanically, not by choice

Everything on this page is charged whether or not you follow your plan perfectly. It is the floor under your costs, not the total. What deviating from a plan costs on top is a different accounting and has its own article.

04

At what trading frequency does friction exceed the edge?

The break-even rate

Start with the version that needs no assumptions at all. Friction is a fixed number of ticks per round turn. Your edge is a number of ticks per round turn. Trading is worth doing when the second exceeds the first, and the break-even is a size of move, not a frequency: any trade whose expected capture is smaller than your round-turn toll is negative-expectancy no matter how skilled you are or how many times you take it.

What turns that into a question about frequency is a single further observation. Trading more often, within the same calendar window, means holding for shorter periods. And the size of the move available over a holding period is not constant — it grows with the period. For a price series with no serial correlation the variance of the move over a period grows in proportion to the period, so the move itself grows in proportion to the square root of it. Halve your holding period and the typical available move shrinks by a factor of about 1.41; your toll does not shrink at all.

T trades in a fixed window · holding period H/T · edge scaling exponent a
Gross per tradeproportional to (H/T) to the power a
Gross over the windowproportional to T to the power (1−a)
Friction over the windowproportional to T
Net over the windowrises, peaks, then crosses zero

Solve it. Setting net to zero gives the break-even frequency; setting its derivative to zero gives the frequency that maximises net. Their ratio is (1 / (1 − a)) raised to the power 1/a — and at the square-root exponent a = 0.5 that expression is exactly 4.

Under square-root scaling, the trading rate at which you make nothing is exactly four times the rate at which you make the most. Long before friction takes all of the edge, it has taken most of it — and nothing about the experience tells you which side of the peak you are on.

The ladder of what is lost on the way is worth reading slowly. At twice the net-maximising rate you keep 82.8% of the achievable net. At three times you keep 46.4%. At four times you keep nothing. The first step costs almost nothing and feels like activity; the third costs everything.

On the default configuration the numbers land where the figure below shows them: the toll is 2.62 ticks against a gross of 2.45 at 40 trades a month, break-even sits at 35 trades a month and the net-maximising rate at about 9. A reader at 40 is a little past break-even, losing about $136 a month; the same strategy at 9 trades a month would make about $458.

The scaling law worth remembering

Rearranging the break-even condition gives something sharper than the 4× result. The sustainable frequency is proportional to the square of the edge per trade (again at a = 0.5). A 20% smaller edge does not cost 20% of your sustainable trading rate; it costs 36% of it. A doubled edge quadruples it. This is the crucial asymmetry: friction is a fixed toll while edge is uncertain and variable, so the strategies with the least margin lose the most frequency, and they lose it fastest.

The third option in the panel exists to make the assumption visible. Set the scaling to “edge independent of rate” and the whole frequency argument dissolves: if your edge per trade genuinely does not shrink as you trade more, then net is linear in trade count and there is no break-even frequency — only a break-even edge, and you are either above it or below it. The readout says so with an em-dash rather than inventing a number. That is the assumption most traders make implicitly, and stating it out loud is most of what this clause is for.

What the square root does and does not assume

It assumes returns are serially uncorrelated, that you are roughly continuously in the market so more trades really do mean shorter holds, and that you capture the same fraction of the available move at every horizon. Real markets violate the first mildly and the third probably in the unfavourable direction — capturing a constant fraction of a smaller move is harder, not easier.

A trader who becomes more selective without changing holding period is a different case entirely: that is the a = 0 setting, and for them the question is only whether each individual trade clears the toll.

Where the square-root form comes from

This exponent is the one quantity on the page taken from convention rather than settled here, so it is worth saying exactly how much of it is arithmetic. The square-root form is the standard way a spread of outcomes is rescaled between horizons — the same rule that turns a daily figure into an annual one — and it follows from variances of independent increments adding, which clause 10 shows in full. That part is arithmetic and needs no authority. The convention itself, and the independence premise it rests on, are set out in the source listed with its retrieval date in the references file beside this article.

What is not arithmetic is the step from a market's available move to a trader's captured edge. That requires returns to carry no usable serial correlation over the horizons being compared, which is an empirical claim this page does not establish, and a constant capture fraction at every horizon, for which no source is offered here because none was read. Neither is asserted as fact.

Which is why the exponent is a control rather than a constant. Set it to independent and the frequency conclusion disappears entirely — the readout says so, in those words. Nothing else on this page rests on it: the toll, its distribution, the 1/w amplification and the size-invariance result all hold at every setting of it.

The exact expressions

With gross over the window equal to A · T to the power (1−a) and friction equal to f · T, break-even is at T = (A/f) to the power 1/a and the peak at T = ((1−a)A/f) to the power 1/a. Dividing gives the ratio in the text; at a = 0.5 it is 2 squared. As a approaches zero the ratio approaches e = 2.718, and at a = 0 it is undefined, which is the same thing as saying no break-even frequency exists.

At what trading rate does the toll overtake the edge?

Friction is a straight line: it is a fixed toll multiplied by the trade count, so it cannot bend. Gross is a curve, because shorter holding periods capture smaller moves. Where the straight line passes the curve, the strategy stops paying — and the graphite field between them, which is the net, has already been closing for a long time by then.

Per month, at the current configuration
TradesGross FrictionNet
Model output under the stated scaling · not a measurement
05

Where does each unit of cost actually go?

The decomposition

Not where most traders assume. Commission is the friction that gets shopped, because it is the one printed on a page — and on the default configuration it is the smallest of the three, at 15.3% of the toll. The spread takes 45.8% and slippage 38.9%, and between them they account for more than four fifths of a bill that is usually negotiated on its remaining fifth.

The friction you can look up is the one that matters least. The two that matter most are the two you have to measure yourself.

The composition is not fixed, which is what makes the figure worth manipulating rather than reading once. Commission is a flat currency amount, so its share falls as the tick value rises and rises as you trade cheaper instruments. Spread scales with the quoted spread and with how many sides you cross. Slippage scales with urgency, with the share of entries into fast books, and — past a threshold — with size.

Why you cannot outgrow friction by trading bigger

This is the one property of the decomposition that surprises people, and it falls straight out of the identity in clause 01. Spread and slippage are quoted in ticks per round turn and do not care how many contracts you send. Commission is charged per contract — but so is your profit, so the contract count cancels when you express commission in ticks. The result is that the ratio of friction to gross edge is completely independent of position size. Ten times the size is ten times the friction and ten times the edge; the ledger doubles on both sides and the verdict is unchanged.

That holds exactly up to one threshold and then fails hard. Once your order is larger than the size resting at the touch, the surplus fills at worse prices and slippage per contract starts to climb, while your edge per contract does not. On the default configuration the friction-to-gross ratio is 106.9% at every size from 1 to 20 contracts — and 147.8% at 40, where the order is twice the depth. Size is neutral up to the depth available and strictly adverse beyond it, and there is no size at which it helps.

How much size to take for reasons other than friction is a separate question with its own answer; the sizing article takes it up, and nothing here is an argument for any particular size.

Book-walking, exactly

For a book with D contracts resting at each price level, an order of Q contracts consumes ceil(Q/D) levels and fills, on average, (Q/D − 1)/2 ticks worse than the touch. At Q = 2D that is half a tick per side; at Q = 5D it is two ticks. The model assumes even depth at every level, which is generous — real books usually thin as you go deeper, so real book-walking is worse than this.

Reading the bars

The bars are shares of the expected toll, so they always sum to 100%. The wine bar is whichever component is currently largest — the one you would have to move first to change the total, which is the only sense in which any of them is “the” cost.

Which of the three costs is actually the largest?

Shares of the expected toll on one round turn. The component you can look up before you trade is the one you can do least about after; the two that dominate are the two that only show up in your own fill records. Raise the share of entries into fast books and watch which bar moves.

Per round turn, at the current configuration
ComponentTicks CurrencyShare
Of which book impact — · illustrative inputs
06

What is the annual bill, and what does compounding do to it?

The number that shocks

The per-trade toll is small enough to ignore, which is exactly why it works. Multiply it by the trade count and it stops being ignorable. On the default configuration — 40 trades a month, 2 contracts, a $10 tick — the annual friction is $25,152. Against a $50,000 account that is 50.3% of the account, per year, paid out in increments of $52.40 that never once felt like a decision.

Nobody would accept a 50% annual fee. Everybody accepts 2.62 ticks a round turn. They are the same transaction at two levels of aggregation, and only one of them is ever presented as a percentage.

Two different costs share the word, and the boundary is worth drawing here rather than leaving a reader to assume this page covers both. Everything above is charged inside trades you are already cleared to take. What it costs to be cleared at all — the price of an evaluation, and that price again on each further attempt — is a separate calculation with a separate answer, and it is worked through in what a challenge actually costs to enter. The two are additive rather than alternatives: one is the price of the seat, the other the price of every trade taken in it, and only their sum describes a year.

And then compounding gets hold of it

The bill above is a straight subtraction, and it is exactly right if your position size is held constant: the friction removes exactly what it charges. But if size is scaled with equity — a sizing choice, not a law, and one treated in its own article — then the friction is not merely subtracted. It is removed from the base that would have compounded. That identity is general and is not this article's to establish: money taken out of a compounding base costs its own future compounding, whatever took it out, and what compounding, inflation, tax and withdrawals actually leave you derives it once, for any withdrawal. What follows is its friction case, and the point specific to friction is that this particular withdrawal is involuntary, arrives on every trade, and is never itemised.

One year, proportional sizing, at the configuration set above · illustrative
Gross monthly return
Net monthly return after friction
Terminal equity, gross
Terminal equity, net
Friction paid, at proportional size
Terminal shortfall

You paid and you are poorer than you would have been. The extra is the return the paid-away money would have earned had it stayed in the account, and it is the reason friction is worse than its own invoice. Note that the friction figure here is smaller than the fixed-size bill above: under proportional sizing the position shrinks as the account does, so each month's toll is levied on a smaller base — the two regimes are charged differently and only one of them belongs under this heading. Note also what this does to the headline return: gross, this configuration compounds to for the year; net, to . The entire distance between an outstanding year and a bad one is friction.

The asymmetry that makes it worse for marginal strategies

Friction is a fixed, known, certain toll; edge is an estimate with error around it, so the two do not degrade alike. Read the ladder's middle column against the one to its left. At 10 trades a month the modelled edge nets about $5,472 a year, while half that edge nets minus $408 — the edge fell by half and the net fell through zero, because a fixed toll is subtracted from the margin before it is subtracted from anything else.

Two accountings, both honest

With size held constant, returns are additive and friction is a straight subtraction. With size scaled to equity, returns compound and friction compounds against you. Both appear above because both are real regimes, and which one you are in is a sizing decision rather than a property of the costs.

On the size of these numbers

The $50,000 account, the $10 tick and the $2 commission are illustrative inputs, not quoted rates. What is not illustrative is the arithmetic: whatever your own toll and trade count are, the annual figure is their product, and it is almost always larger than the estimate carried in a trader’s head, because the head estimate is formed from the median fill and the bill is formed from the mean one.

What does a year of trading at each rate leave, at three levels of edge?
Trades a monthFriction p.a. Net at half the edge Net at your edge Net at double % of account

The wine row is where the middle column turns negative — the first trading rate at which the modelled edge stops paying for itself. Compare the two columns beside it: halving the edge moves that row far to the top of the ladder and doubling it moves it far below the bottom, because the sustainable rate goes as the square of the edge.

Break-even trading rate at each level of edge
EdgeBreak-even Net-maximising
Model output under the stated scaling · not a measurement
07

How is the fill you modelled different from the fill you get?

Modelled versus real

It is better, and it is better for a structural reason rather than a careless one: every simplification available in a fill assumption fails in the same direction. That makes the error one-sided by construction, which is a much stronger statement than saying it is noisy.

Why an assumed fill is optimistic by construction

A backtest fills you at a price that existed. It does not check three things, and each check can only ever make the fill worse:

  • That enough size was available at that price. If there was not, the surplus filled deeper — never shallower.
  • That your resting order reached the front of the queue before the level traded away. If it did not, you were not filled at all, or you were filled later and worse.
  • That the quote you filled against was not about to move. If it was, you were filled precisely because someone else knew it — never in spite of that.

There is no mechanism by which an unmodelled detail of execution makes your fill better than assumed. A one-sided error is not a rounding problem; it is a bias, and its magnitude is the distribution in clause 02.

That is a statement about fills only. Whether a strategy’s apparent edge survives out of sample for reasons unrelated to execution is a separate question with its own machinery, and the backtest article handles it; the point here is narrower and more mechanical — even a perfectly honest, perfectly out-of-sample strategy is worth less live than on paper, by exactly the friction it never modelled.

Crossing or resting: a trade-off, not a ranking

Crossing the spread buys certainty at a known price. Resting avoids the crossing cost and buys two uncertainties instead: you may not be filled, and when you are, you are filled selectively. Both of those are costs and neither appears on a statement.

Non-fill is not free. A signal that does not become a trade removes a positive-expectancy opportunity from your record, and its cost is the edge you did not capture. Selective fill is worse still and is the deeper mechanism: a resting bid is hit when sellers are aggressive, which is disproportionately when the price is about to go lower. You are filled preferentially at the moments you would have preferred to skip. Call that drag d, in ticks, and the comparison is a single inequality:

Resting the entry beats crossing it when · per signal, in ticks
Crossing both sidesg − S − c − slip
Resting entry, crossing exitfill · (g − d − 0.5S − c − slip/2)
Illustrative: g = 3.50 ticks, toll as modelled0.88 vs fill · 1.49

Solve it for the fill rate and the trade-off becomes concrete. With half a tick of adverse selection, resting the entry beats crossing it only above a fill rate of 59.1%. At a quarter of a tick the threshold drops to 50.6%; at a full tick it rises to 88.9%. Those are plausible values on either side of the line, which is the honest conclusion: the sign of the comparison flips inside the range of ordinary experience, so it cannot be settled in the abstract.

Both inputs are measurable and neither can be assumed. The fill rate is countable — the share of your resting orders that ever fill. The drag is the harder one: it is the difference between the average result of your filled resting orders and the average result of the signals you generated, which requires recording the signals you did not trade. That is the entire practical reason the number is so rarely known, and what a trade journal can prove takes up how a record is built that could answer it.

Why the illustration uses a bigger edge

The default configuration in this article is net-negative when crossing, and a comparison between two ways of losing money is not informative. The worked example above raises the gross edge to 3.50 ticks so that crossing is clearly profitable and the comparison has something to decide. Every other number in it is the default configuration’s.

What a queue actually is

Orders at a price level are usually filled in the sequence they arrived, so being early matters as much as being there. That is why fill rate is not a property of the market alone but of your latency and your patience — and why two traders resting the same price can have very different fill rates and therefore very different answers to the inequality above.

08

What are the limits of everything above?

What this does not say

Everything here is arithmetic under a stated model. Here is the whole of it, so that the warrant can be checked rather than assumed.

The model, in full

  • Trades are independent and identically distributed, with two outcomes: a win of W ticks or a loss of L ticks, gross of friction. Real distributions have partial exits, scratches and fatter tails.
  • Slippage on each side is zero with probability k, otherwise geometric with mean m ticks, and the two sides are independent. The distribution is stated, not fitted to any data. A book that thins with depth has a heavier tail than this one.
  • The fast-book state doubles the spread, triples the probability of slipping and multiplies the mean slip by 1.5. Those three multipliers are stated assumptions chosen to be plausible. They are not measurements, and the real values are specific to an instrument, a venue and a time of day.
  • The book has even depth D at every level, so book-walking is (Q/D − 1)/2 ticks per side. Real books usually thin with distance, which makes real impact worse.
  • The frequency argument assumes gross per trade scales as the holding period to the power a, with a = 0.5 corresponding to a series with no serial correlation and continuous market presence. This is the single largest assumption on the page, it is exposed as a control, and setting it to zero removes the entire frequency conclusion.
  • Commission is per side, per contract, flat. Tiered, volume-based and exchange-fee structures are not modelled.
  • No rate on this page is a quoted market figure. Tick values, spreads and commissions are inputs. The defaults were chosen to be plausible and round, and they describe no particular instrument, venue or broker.

What this article does not claim

  • It does not claim any particular trader’s friction is any particular size. Every figure is the consequence of inputs the reader sets.
  • It does not rank crossing against resting, or one order type or venue against another. Clause 07 gives an inequality, not a verdict, and the inequality flips inside the range of ordinary experience.
  • It does not say that trading less is better. It says that under a stated scaling assumption there is a rate above which net falls, and it puts the assumption on a control so the claim can be switched off.
  • It does not cost anything other than mechanical execution friction. Fees to enter a programme, deviations from a plan, and position sizing are all different accountings with their own pages.

What it does establish

Four things that do not depend on any of the choices above. That friction is charged per trade and edge is earned per winner, so restoring expectancy costs 1/w ticks of average win — that is algebra. That a cost bounded below and unbounded above has a mean exceeding its median — that is a property of any such distribution. That expressing commission in ticks cancels the contract count, so the friction-to-edge ratio is size-invariant up to the depth at the touch — that is the identity in clause 01. And that a linear function will always eventually overtake a concave one, so if gross per trade falls at all with frequency, a break-even rate exists and can be computed.

Provenance
MethodDerived · exact, not sampled

There is no Monte Carlo on this page and therefore no seed and no sampling error. The friction distribution is the exact convolution of two slippage draws over the tick lattice, mixed across the calm and fast states; every other figure is closed-form. The same inputs always give the same answer, in any browser.

No firm, broker, venue or instrument is named, and no rate is quoted, because none is needed to establish a mechanism.

Published 27 July 2026. Corrections to the arithmetic are welcome and will be applied to the article rather than appended to it.

09

Questions this gets asked

Answers, self-contained

What is the difference between spread, commission and slippage?

They are three separate mechanisms. Commission is a fee charged per side by whoever clears your trade; it is known exactly in advance and does not vary with market conditions. The spread is the gap between the best bid and the best offer; you pay half of it against the mid every time you cross to get filled, so a round turn crossing both ways pays one full spread, not two. Slippage is everything left over — the difference between the price at the touch and the price you actually received — and it arises from the book being thinner than your order, from the price moving between decision and arrival, and from being filled selectively when you rest. Commission is fixed and certain, spread is quoted and visible, slippage is neither.

Why is slippage not symmetric?

Because it has a hard floor and no ceiling. A marketable order can never fill better than the best displayed price, so the cheapest outcome is zero extra ticks; if your order is larger than the size resting there, or the price moves while your order is in flight, the outcome is worse, without bound. Anything bounded below and unbounded above has a mean above its median by construction. On the modelled default the median round turn costs 1.40 ticks and the mean costs 2.62 — the average is 87% above the typical, so a trader judging costs from remembered fills underestimates systematically.

At what trading frequency does friction exceed the edge?

Friction is a fixed toll per round turn, so it scales exactly linearly with trade count. Gross edge does not, if trading more often means holding for shorter periods: for a series with no serial correlation the typical move available over a holding period grows with the square root of that period, so gross profit over a fixed window grows only with the square root of the trade count. Under that scaling the break-even frequency is exactly four times the frequency that maximises net, and the sustainable frequency scales with the square of the edge per trade. On the modelled default, an edge of 2.45 ticks against a toll of 2.62 breaks even at 35 trades a month and peaks at about 9.

Can I reduce friction by trading larger size?

No. In tick terms, spread and slippage are per round turn and per-contract commission cancels against per-contract profit, so the friction-to-gross ratio is unchanged by size — ten times bigger multiplies both sides of the ledger by ten. The ratio only moves once your order exceeds the size resting at the touch, at which point the surplus fills at worse prices and friction per contract rises while edge per contract does not. Size is neutral up to the depth available and strictly adverse beyond it.

Why is a backtest’s assumed fill optimistic?

Because every simplification in a fill assumption fails in the same direction. A backtest fills at a price that existed but does not verify that enough size was available there, that your order would have reached the front of the queue before the level traded away, or that the quote you filled against was not about to move. Each of those checks can only make the realised fill worse; none can make it better. The error is one-sided by construction rather than merely noisy, and its size is exactly the friction distribution measured here.

Is a resting order cheaper than a market order?

It is a different shape of cost, not obviously a smaller one. Crossing buys certainty at a known price. Resting avoids the crossing cost but introduces two uncertain ones: you may not be filled at all, which removes a positive-expectancy trade from your record, and when you are filled you are filled selectively — a resting bid is hit when sellers are aggressive, which is disproportionately when the price is about to fall further. On the worked illustration, resting the entry wins only above a fill rate of about 59% when adverse selection costs half a tick, rising to about 89% at a full tick. Both numbers have to be measured on your own fills.

The one-line version

Friction is the only part of a trading result that can be computed exactly in advance. It is also the part almost nobody computes, and the gap between those two sentences is where a positive gross edge goes.

10

Where each number comes from

Derivations

This article cites no external source because it makes no external claim: it quotes no commission rate, no spread and no tick value as fact. Every result is derived from definitions stated on the page and can be checked with a calculator. The full derivation ledger, with the exact expressions and the verification method for each, is published alongside the article as what-trading-costs-per-trade.references.md. The summary:

  • Clause 01 · the friction identitySpread costs half a spread per side against the mid, so X sides cost X · 0.5 · S ticks. Commission of c per side per contract on Q contracts is 2cQ in currency, which is 2c/V ticks — the contract count cancels.
  • Clause 02 · the distributionPer side: zero with probability k, otherwise geometric with mean m over whole ticks. The round-turn distribution is the exact convolution of two such draws, computed over the tick lattice and mixed across the calm and fast states. Mean, median and quantiles are read off the accumulated exact distribution, not sampled.
  • Clause 03 · the amplificationSetting w·W − (1−w)·L − f to zero gives W = (f + (1−w)L)/w, so the derivative of the required win with respect to f is 1/w.
  • Clause 04 · the 4× resultWith gross over a window equal to A·T to the power (1−a) and friction f·T, break-even is at (A/f) to the power 1/a and the peak at ((1−a)A/f) to the power 1/a. Their ratio is (1/(1−a)) to the power 1/a, which is 4 at a = 0.5. Break-even proportional to A to the power 1/a gives the edge-squared scaling at the same exponent.
  • Clause 04 · the square root of timeVariances of independent increments add, so the standard deviation of a sum over n increments grows as the square root of n. The size of a typical move over a holding period therefore grows as the square root of that period, for a series with no serial correlation.
  • Clause 05 · book-walkingWith D contracts at each level, an order of Q fills levels 0 to Q/D − 1 in equal parts, so the average level consumed is (Q/D − 1)/2 ticks below the touch.
  • Clause 06 · compoundingTerminal equity is the account multiplied by (1 + r) to the power 12 at the monthly rate r, computed gross and net. The shortfall exceeds the friction paid by the return the paid-away capital would have earned.
  • Clause 07 · the fill inequalityResting the entry beats crossing it when fill · (g − d − 0.5S − c − slip/2) exceeds g − S − c − slip; solving for the fill rate gives the thresholds quoted.

Related reading on this site, where a question genuinely belongs to another page: expectancy versus win rate for why a win rate is a poor guide to profitability; why a backtest stops working for out-of-sample decay, which is a different failure from an optimistic fill; position sizing for how much size to take and what each method assumes; what a bad decision costs for the costs that are not charged mechanically; and what a trade journal can prove for how to build the record that would let you measure your own fill rate and adverse-selection drag.

Reproducing the default

Win rate 45%, average win 14 ticks, average loss 7, 40 trades a month; tick value $10, 2 contracts, spread 1 tick, depth 20; crossing both sides, $2 commission a side, fills reaching the touch 80% of the time, mean 1.5 ticks when they slip, 20% of entries into fast books; $50,000 account, square-root scaling. Gross $49.00, toll $52.40, net minus $3.40, break-even 35 trades a month.

Corrections

Every claim on this page is checkable arithmetic. If any of it is wrong, it is wrong in a way that can be demonstrated, and it will be corrected in place.