L2 Order Book, Walked: How Real Fills Actually Work
What Level 2 actually shows you, how a 10,000-share market order fills when the best ask shows 800, and why mid-price paper trading platforms are lying to you.
If you're going to trade actively in US equities, you need to understand what Level 2 is and how an order actually fills against it. This is the mechanics that determines whether your entry price is the one you saw on the chart or 0.3% worse, and a paper-trading simulator that hides this from you is teaching you to expect prices that don't exist.
What Level 1 is
Level 1 is the top of the book. It's what you see on a basic quote: the best bid, the best ask, and the last print. For a stock like XYZ trading at $50, Level 1 might show:
- Bid: $49.98 × 500 shares
- Ask: $50.02 × 800 shares
- Last: $50.00
Three numbers and a couple of share counts. Level 1 is enough information to enter a trade, and for most retail use cases it's all the trader needs.
What Level 2 is
Level 2 is the rest of the book. Below the best bid, there are more bids at lower prices, with sizes attached. Above the best ask, there are more asks at higher prices, with sizes attached. The full Level 2 picture for XYZ might look like:
ASKS (prices going up)
$50.05 × 300
$50.04 × 1,200
$50.03 × 500
$50.02 × 800 ← best ask
---
$49.98 × 500 ← best bid
$49.97 × 900
$49.96 × 1,500
$49.95 × 400
The information added by Level 2 is depth. You can see not just the top-of-book quote but how much size is sitting at each price level. For a trader sizing a 200-share entry into XYZ, the Level 2 view is overkill — you'll fill at the best ask and nothing else matters. For a trader sizing a 10,000-share entry, Level 2 is everything.
Walking the book on a 10,000-share market order
Suppose you click market-buy 10,000 shares of XYZ against the book shown above. The Level 1 quote said the ask was $50.02 × 800. The chart shows $50.00. What price do you fill at?
The order walks the book. It consumes the best ask first, then the next level, then the next, until the share count is satisfied. The walk looks like this:
800 shares @ $50.02 → consumed 800 / 10,000
500 shares @ $50.03 → consumed 1,300 / 10,000
1,200 shares @ $50.04 → consumed 2,500 / 10,000
300 shares @ $50.05 → consumed 2,800 / 10,000
At this point the visible book has only 2,800 shares between $50.02 and $50.05. The order still needs 7,200 more shares. What happens next depends on what other orders are sitting at higher prices off-screen.
In practice, two things happen simultaneously: (1) the order keeps consuming whatever's at the next visible level on the book, and (2) new orders flow into the book as market-makers and other participants react to the visible flow. Some of the new orders enter at prices well above the current ask, because the order flow signals that there's a real buyer with size.
If you assume the rest of the book is reasonably stocked (a fair assumption for a $50 stock with normal volume), the 10,000-share market buy probably fills somewhere between $50.04 and $50.10. The volume-weighted average fill price might be $50.06 or $50.07, depending on how the book sloped.
The chart showed $50.00. Your average fill was $50.06. That's 12 cents per share of slippage, or about 0.12% — and that's on a normal book. On a thinner book or a faster-moving tape, it could be 2-3x that.
This is the slippage that's invisible to paper traders on mid-price simulators. They saw "$50.00" on the chart. The paper engine filled them at $50.00, or maybe $50.01 (the mid between $49.98 and $50.02). They never saw the 6-cent gap that a live order would have eaten.
What this looks like in the Tapeboard simulator
The Tapeboard paper-trading simulator walks the live Level 2 book the same way a real broker does. The methodology is documented at /methodology/sim-fills. The short version: when the symbol has a cached L2 snapshot (which happens automatically whenever any panel has subscribed to the symbol's level2 stream — typically the Order Book, the Time and Sales, or the Montage), the engine consumes price levels outward until the requested share count is satisfied. The reported fill price is the volume-weighted average. Partial fills happen when book depth genuinely doesn't satisfy the order.
When no L2 is cached, the engine falls back to a slippage model: rawImpact = (wantedShares / baselineVolume) × 0.02, capped at 0.5%, signed by side. The fallback is deliberately conservative — it's better to under-model impact than over-model it on thin names where the L2 cache hasn't populated.
Why mid-price simulators are dishonest
A paper-trading platform that fills at mid-price is making an implicit claim: "the price you saw is the price you'd have gotten." For trades smaller than the top-of-book size on liquid stocks, that claim is approximately true — you'd fill at the best ask, which is usually within a cent or two of the mid. For trades larger than top-of-book on liquid stocks, the claim is false by 5-15 basis points. For trades on illiquid stocks or fast tapes, the claim is false by 30-100 basis points.
The cumulative effect on a paper trader's learning curve is significant. After 100 paper trades on a mid-price engine, the trader has internalized an expectation of entry quality that's roughly 0.1% better than live. That 0.1% per trade compounds: 100 paper trades that "made" $10,000 on a mid-price engine would have actually netted closer to $9,000 live, after slippage. The 10% gap is sometimes the difference between a profitable system and a marginal one.
A paper trader who's used to mid-price fills then transitions to live and discovers that their entries are systematically worse than the simulator promised. They blame the broker's order routing, or the market for moving against them, or their own execution timing. The actual answer is that the simulator was lying.
Schwab top-of-book caveat
A specific limitation worth disclosing: the retail Schwab feed that powers Tapeboard's Level 2 publishes top-of-book depth only — it does not include the ARCA or EDGX exchange depth that a paid institutional feed would carry. For most large-cap stocks, top-of-book is what fills before a normal-size market order completes, so the simulator's walk is accurate. For thin small-caps and OTC names, the missing exchange depth means the visible book may understate true available size, and the simulator's walk consumes the visible portion only.
This is an honest limitation. The methodology page documents it. The alternative — buying a more expensive paid feed — would let us model thin-stock depth more accurately at the cost of either raising prices or running at a loss. The trade-off we've made is to be transparent about the gap rather than to hide it.
Why you should care
The point of Level 2 isn't to make you fluent in market microstructure. The point is to understand that the fill price you see in a paper simulator is the result of a specific model the platform chose, and the model matters. If the model is "mid-price, always," the paper P&L is decorative and the learning is fake. If the model is "walk the book until the size is satisfied," the paper P&L approximates what live trading would have produced, and the lessons transfer.
The first model is cheaper to build, easier to market, and harder to argue with on a feature page. The second model is the one that actually teaches you to trade.
Pair your paper-trading platform with a trade journal that auto-logs every fill and tags the setup, and 90 days later you'll know whether your edge survives the walk-the-book reality. If you're using a mid-price platform, the same 90 days will tell you what your edge looks like in fantasy land and nothing about whether it works.