Skip to content

Explore WCWins

Track 3 · Risk and Bankroll Science · Lesson 17 of 24

Liquidity, execution, limits and costs

Turn a theoretical edge into a realised one by accounting for partial fills, slippage, latency, commission and stake limits — and see why hypothetical backtest profits overstate what real markets deliver.

Learning objectives

  • Convert a theoretical EV into an executed EV using fill rate, slippage and costs.
  • Compute the break-even slippage for a given probability and quoted price.
  • Compute the effect of commission on net odds and EV.
  • Explain why backtests that ignore limits and account restrictions overstate returns, citing Kaunitz et al. and Simon (2024) within what they show.

The price you see is not the price you get

A backtest usually records one price per pick and assumes the full intended stake was placed there. Real execution is messier. Lesson 6, Quoted vs Executable Prices, introduced the gap; here we price it.

  • Liquidity: how much can be staked at a price before it moves or the offer runs out.
  • Latency: prices move between the moment you see them and the moment an order lands.
  • Cancellations and rejections: an order can be refused, re-priced or partly accepted.
  • Maximum stakes and account limits: a bookmaker can cap a stake per market or restrict an account altogether.
  • Fees and commission: exchanges typically charge commission on net winnings; payment costs also eat returns.

Each friction is small on its own. The problem is that betting edges are small too.

Frictions can be measured rather than guessed. For every simulated or paper pick, log four things: the quoted price and its timestamp, the price at which the order would actually have been matched, the stake intended and the stake accepted. Realised slippage is then the average gap between quoted and executed odds, and the realised fill rate is accepted stake over intended stake. Those two numbers, not the quoted price, belong in any claim about an edge.

Executed expected value

EV_exec = fill × (p × o × (1 − s) − 1 − c)
Expected profit per intended unit when only a share ‘fill’ is executed, the price slips by a fraction s and a cost c per staked unit applies (executed EV).
p = 0.52 at a hypothetical quoted price of 2.00 (theoretical EV +4.00%)
Fill rateSlippageExecuted oddsEV per intended unit
100%0%2.00+4.00%
100%2%1.96+1.92%
50%2%1.96+0.96%
100%5%1.90−1.20%
50%5%1.90−0.60%
Break-even slippage s* = 1 − 1 / (p × o)
For p = 0.52 at 2.00: s* = 1 − 1/1.04 = 3.85%, i.e. executed odds of 1.923.

A 4% paper edge disappears once the executed price is 3.85% worse than the quote. Latency alone can do it: if the price moves from 2.00 to 1.92 before the order lands, EV becomes 0.52 × 1.92 − 1 = −0.16%.

Thin edges also take longer to verify. With a per-pick standard deviation of about 1.0, a 4% edge needs roughly 2,398 picks to sit two standard errors from zero (the bets-needed estimate); a 1.92% executed edge needs about 9,993.

Commission and stake limits

Net odds = 1 + (o − 1) × (1 − commission)
Commission charged on net winnings shortens the effective price.

At 2.00 with p = 0.52, a 2% commission gives net odds 1.98 and EV +2.96% — about a quarter of the edge gone. At 5% commission the net odds are 1.95 and EV falls to +1.40%.

Limits cut the absolute return even when the percentage edge survives. If you intend 10 units at +4% (expected profit 0.40) but the maximum accepted stake is 3, the expected profit is 0.12 units. A backtest that keeps the intended stake overstates profit by more than three times.

Account-level restrictions are worse than per-market caps because they end the experiment. If an account is limited after a few hundred picks, the thousands of picks needed to verify a thin edge can never be placed, and the record that remains is too short to separate skill from luck.

What the research says about limits

Worked example

Worked example · From paper edge to executed edge

Your model gives Glenrock 52% to beat Ferrybank. A hypothetical quote of 2.00 is on screen, and you intend to stake 10 units of a simulated bankroll. By the time your order lands, the price has slipped 2% and only half the stake is accepted.

  1. Theoretical EV0.52 × 2.00 − 1+4.00% → expected profit 0.40 units on 10
  2. Executed price2.00 × (1 − 0.02)1.96
  3. EV at the executed price0.52 × 1.96 − 1+1.92%
  4. Partial fill5 units × 0.0192 = 0.096; executed EV(fill 0.5, slippage 0.02)+0.96% per intended unit
  5. Share of the paper edge kept0.96% / 4.00%24%
  6. Break-even slippage1 − 1 / (0.52 × 2.00)3.85% (odds 1.923)
  7. If slippage were 5%0.52 × 1.90 − 1−1.20% per unit filled

Under realistic friction the executed edge is about a quarter of the paper edge, and a slightly worse fill makes it negative. A strategy should be judged on executed EV, with its own uncertainty, not on the quoted price.

Practice · Enter the executed price, not the quote

Open the Fair Odds and EV lab with the preset (odds 1.96 — the executed price after 2% slippage — estimate 52%, interval 50%–54%). Read the verdict. Then compare with what the same interval gives at the quoted 2.00.

Lab 1 · Fair odds and expected value

Synthetic · deterministic
Enter a decimal price and your probability estimate, with an honest range for how wrong it could be.
Break-even probability51.02%
Theoretical EV at estimate+1.9%
EV at range low−2.0%
EV at range high+5.8%
Fair odds of estimate1.923
Probability edge0.98 pts
Full Kelly (estimate)2.00%
Full Kelly (range low)0.00%

No clear advantage. Your range straddles break-even. Whether the bet has value depends on which end of your estimate is right, so there is no clear advantage. A careful analyst treats this as a pass unless better evidence narrows the range.

Expected value against the true probabilityExpected ROI per unit staked at odds 1.96 if the true probability were each value on the horizontal axis. EV crosses zero at the break-even probability, 51.02%.-20%-10%0%10%20%40%45%50%55%60%True probability (%)Expected ROI (%)Break-even
Expected ROI per unit staked at odds 1.96 if the true probability were each value on the horizontal axis. EV crosses zero at the break-even probability, 51.02%.
Show data table
True probability (%)Expected ROI
40%-22%
41%-20%
42%-18%
43%-16%
44%-14%
45%-12%
46%-10%
47%-8%
48%-6%
49%-4%
50%-2%
51%-0%
52%2%
53%4%
54%6%
55%8%
56%10%
57%12%
58%14%
59%16%
60%18%
61%20%
62%22%
63%23%
64%25%

Educational calculator. Uses only the numbers you enter or seeded synthetic data — no live prices, no staking, no real money.

Show what you should find

At 1.96 the break-even is 51.02%. EV is −2.00% at 50%, +1.92% at 52% and +5.84% at 54%: the verdict depends on the estimate, so the robust decision is no action. At the quoted 2.00 the same interval gives 0.00% at the low end, +4.00% at the estimate and +8.00% at the high end — still not positive across the range, because the low end is exactly break-even. Execution turned a borderline case into a clear pass.

Common mistakes

  • ✗ Backtesting at the best price recorded across many bookmakers.You could not have taken every best price at full stake, and some recorded prices are stale or erroneous. Model fills, slippage and limits explicitly.
  • ✗ Ignoring commission because it is ‘only 2%’.At p = 0.52 and odds 2.00, 2% commission cut EV from +4.00% to +2.96%, about 26% of the edge.
  • ✗ Assuming the intended stake is the executed stake.Limits and partial fills scale profit down: 3 accepted units of an intended 10 cut expected profit from 0.40 to 0.12.
  • ✗ Reading hypothetical profits as achievable profits.Simon (2024) reports hypothetical profits that ignore limits and latency, and Kaunitz et al. report account restrictions during their trial.

When it fails

Supporting research

Check your understanding

1. p = 0.55 at a quoted 2.00, full fill, 3% slippage. What is the executed EV?
2. What is the break-even slippage for p = 0.52 at a quoted 2.00?
3. Which statement about Kaunitz, Zhong & Kreiner (2017) is accurate?

Practice only: saved on this device, no XP and no account record.

Saved on this device only.
Liquidity, execution, limits and costs · Value Academy · WCWins