RES-EXEC-GRADING-01 Intermediate 5 min read

A beautiful backtest
getting capped by reality.

Backtests assume the market will fill your orders at the grid price, every time, at any size. On a thin order book, that assumption fails — and the backtest return becomes an optimistic scenario estimate, not a preview of live trading.

Think of it like...

A restaurant menu that lists every dish as available. The backtest is the menu — it says you can order anything. The order book is the kitchen — it only has ingredients for a fraction of what's listed.

If you order for two people, no problem. If you try to feed a wedding, the kitchen runs out of halibut and starts substituting tilapia at a higher price. The menu didn't lie — it just doesn't tell you about kitchen capacity.

Here's how that maps back: grid fills are your order, the order book is the kitchen, and slippage is the price you pay when the kitchen runs low.

What a backtest assumes (and why it's usually fine)

CoinRoc's backtesting engine places simulated buy and sell orders at each grid level and assumes they fill at the stated price — no slippage, no partial fills, unlimited depth. This is called the idealized fill assumption.

For large-cap assets like BTC or ETH — where global 24-hour volume runs into the billions — this assumption is reasonable. Your grid orders are a rounding error relative to the total market flow. The book can absorb them without blinking.

For a small-cap asset with $800,000 in global daily volume, the same assumption becomes materially wrong. That $800k distributes across 24 hours, across every exchange globally, competing with every other market participant. There may simply not be enough counterparty flow at your exact grid price to fill your orders cleanly.

Key insight

The backtest doesn't know your position size relative to the market. It always fills at the grid price. The order book does not always agree.

$102 $100 $98 $96 Grid buy Simulated fill @ $100 exactly Actual fill @ $98.20 (slippage) slip Price touches grid level → order attempts to fill

The backtest records a fill at $100.00. The real market, thin on bids at that level, fills you at $98.20. That 1.8% difference compounds across dozens of grid levels, hundreds of cycles.

Over a year of grid operation, the cumulative slippage gap can be material — but the backtest never sees it.

Deep book vs. thin book — what the order book actually looks like

An order book is the live queue of resting buy and sell orders at each price level. Deep books have large quantities at many levels — your grid order fills quickly and cleanly. Thin books have small quantities — your order may exhaust the available liquidity at the stated price and spill into the next (worse) price level.

Deep book — BTC ($18.1B/day)
$100.30
$4.2M
$100.20
$3.6M
$100.10
$4.7M
— mid: $100.00 — spread: $0.05
$99.95
$4.5M
$99.85
$3.9M
$99.75
$3.3M
Grid order fills cleanly at stated price.
Thin book — example alt ($800K/day)
$100.30
$840
$100.20
$560
$100.10
$1,050
— mid: $100.00 — spread: $0.80
$99.20
$630
$98.50
$420
$97.80
$700
Grid order exhausts available bids. Fills at $98.50 or worse.
The gap that matters

The deep book fills your $5,000 grid order at $100.00. The thin book fills it at $97.80 — a 2.2% slippage hit on a single trade. The backtest saw neither spread nor depth; it assumed $100.00 both times.

Where CoinRoc draws the lines

CoinRoc's liquidity score uses global 24-hour trading volume as its primary input (50% weight), combined with bid/ask spread, order book depth at ±2%, and estimated slippage. The thresholds below define what "thin" means in practice.

Band 24h Global Volume Thin Flag Grid relevance
Deep ≥ $50M No Fills cleanly at any reasonable grid size
Adequate $25M – $50M No Fills reliably; some slippage on large orders
Moderate $5M – $25M No Tradable at moderate sizes; monitor closely
Thin $1M – $5M Yes Grade capped at B-. Fills may slip.
Critical < $1M Yes Hard gate eligible. Practically untradable at scale.
Why $50M, not $10M?

$10M/day sounds like a lot. Spread across 24 hours, that's roughly $417,000 per hour in global volume — shared across all exchanges, all traders. A grid strategy competing for that flow at any meaningful position size faces real execution risk. $50M is the threshold where idealized fill assumptions become defensible.

Same asset, same backtest — different execution reality

The backtest return is computed under idealized conditions. The execution-adjusted picture — what a trader might actually experience — looks different once order-book constraints enter the picture. CoinRoc discloses this gap rather than hiding it.

Backtest (idealized fills)
Fill price: $100.00 (stated grid price)
Slippage per trade: $0.00
Partial fills: None assumed
Unfilled levels: None assumed
Simulated Grid % Return: +18.4%
Grade before cap: A-
Live trading (thin book)
Fill price: $97.80–$99.20 (depends on depth)
Slippage per trade: 0.8%–2.2% estimated
Partial fills: Likely on larger orders
Unfilled levels: Possible in low-flow periods
Live return: Unknown — materially lower
Grade after cap: B- (capped)

The backtest return on this asset may appear favorable in simulation. The grade cap at B- is CoinRoc's disclosure that the execution environment does not support the confidence level the raw backtest implies.

Figures above are illustrative. Actual slippage depends on position size, grid configuration, and market conditions at time of trading. All backtest returns are simulated.

Key takeaways

  • A backtest is not a fill guarantee. It assumes fills at the grid price with unlimited depth. Real order books have finite capacity at each price level.
  • Thin books produce slippage and partial fills that eat directly into the return the backtest simulated. The thinner the book, the wider the gap between simulated and likely live return.
  • The $50M threshold marks where idealized fill assumptions become defensible. Below $5M/day, CoinRoc caps the grade at B- and flags the asset — the backtest return should be treated as an optimistic scenario reference, not a performance guarantee.
Simulated / Illustrative — for research discussion only. Not investment advice. Past simulated performance does not indicate future results. Order book illustrations and fill scenarios shown are for conceptual illustration only and do not represent specific assets or live market conditions. All backtest returns referenced are simulated results under idealized fill conditions (retail-binance-us fee tier, Year 2 blind forward test, specific grid configuration). Actual execution at any fee tier, capital size, or grid configuration will differ. Slippage and partial fill behavior in live trading may be materially worse than simulated results. CoinRoc is a strategy analysis and simulation tool, not a registered investment advisor. Nothing in this page constitutes investment advice or a recommendation to buy, sell, or hold any asset. Digital assets are highly volatile and speculative. Consult your own financial, legal, and tax advisors before making any investment decision. RES-EXEC-GRADING-01 · 2026-06-13