You’ve heard the pitch a hundred times: a market maker buys at the bid, sells at the ask, and “earns the spread.” Repeat a few million times a day and you’re printing money. It’s a tidy story. It’s also wrong in the way that matters most — because the gross spread is a gross number, and two forces are quietly clawing it back before it ever lands in the P&L. This lesson takes the maker’s revenue apart, line by line, until you can look at a quoting business and say whether it actually makes money — or just looks like it does on the screen.
Before you read — take a guess
Pretest. A maker quotes a 10-cent spread and gets filled on both sides all day. Which statement is most accurate about its profit?
Why the spread is revenue, not profit
Analogy. A casino’s “edge” on a table is its gross margin, not its profit. Out of that edge it still pays dealers, comps, the building, and the occasional whale who counts cards and walks out richer. A market maker is the casino: the spread is the edge it quotes, but informed traders (the card counters) and inventory swings (the unhedged exposure) are the costs that turn a fat gross margin into a thin — or negative — net.
The setup. When a maker posts a bid and an ask and both get hit, it has bought low and sold high on paper. But the two fills almost never happen at the same instant, and the people trading against it are not random. Between the buy and the sell, the price moves. And the direction it moves is, on average, against the maker — because the trader who lifted the maker’s offer disproportionately did so because they expected the price to rise. So the maker’s true revenue is the spread it captured minus the price drift it suffered while holding inventory minus the variance/financing cost of carrying that inventory, plus or minus whatever the exchange pays or charges. Three claws on one paycheck.
Market conditions
- Order processing · 1.0¢
- Roughly fixed: the cost of running the matching engine, clearing, and back-office. It barely changes with the weather.
- Inventory risk · 2.0¢
- The risk of being stuck holding shares whose price moves against the maker before they can offload them. It grows with volatility.
- Adverse selection · 3.0¢
- The risk that whoever just traded with the maker knew something they did not. It grows fastest when informed traders are active.
The maker quotes a spread wide enough to cover order-processing cost, inventory risk, and adverse selection. Realized P&L is what's left after the last two actually bite. Flip to 'Volatile' and watch the dangerous slices — not processing — balloon.
Why is the quoted spread better described as gross revenue than as profit?
The P&L decomposition
Definition. Over any window, a market maker’s realized profit and loss decomposes — to a first approximation — into four additive terms:
- — spread capture. The half-spread earned every time a resting quote is filled. Pure revenue at the moment of the fill, measured against the contemporaneous mid.
- — adverse selection. The expected loss from the mid-price drifting against the maker after a fill, because counterparties are, on net, better informed. This is the cost that makes the half-spread illusory.
- — inventory / holding cost. The variance cost of carrying a non-zero position (you can be carried into a loss) plus financing/borrow on that position.
- — net rebates. Maker rebates received minus taker fees and clearing costs. Often the thin difference between a viable and unviable strategy at the margin.
Analogy. Think of it as a paycheck with deductions. is gross pay. and are the taxes and the rent — they come out whether you like it or not. is a small bonus (or a small fee) the exchange tacks on. What hits your bank account is the bottom line, and the deductions are the whole story.
Sign conventions
Throughout, , , and are written as positive quantities and subtracted (or added, for ) so the formula reads cleanly. In practice is the average adverse drift — on any single fill it can be favorable, but its expectation over many fills is a cost. Net rebates can be positive (a rebate venue) or negative (a fee venue), so carries its own sign.
Match each P&L term to what it captures.
Pick a term, then click its definition.
Spread capture — the half-spread, both sides
Analogy. A money changer at the airport posts “we buy dollars at 0.90, we sell at 0.94.” Each transaction with a tourist captures half the 4-cent spread relative to the true rate of 0.92. Buy a dollar from one tourist at 0.90 (2 cents under fair), sell it to the next at 0.94 (2 cents over fair), and the full 4 cents only materializes once both legs happen. The maker is the money changer; the half-spread is its edge per fill.
Definition. With best bid and best ask , the mid is and the half-spread is . A passive buy at captures relative to the mid; a passive sell at captures . A full round trip — buy at the bid, sell at the ask, no price move — captures the whole spread .
Worked example — capture per round trip and per share
A maker quotes bid $49.95 / ask $50.05. The mid is $50.00, the spread is $0.10, the half-spread is $0.05.
| Leg | Price | Capture vs mid | Capture per share |
|---|---|---|---|
| Passive buy at the bid | $49.95 | $0.05 | |
| Passive sell at the ask | $50.05 | $0.05 | |
| Round trip | — | $0.10 |
On 2,000 shares per side, the gross spread capture is the half-spread times shares times both sides, i.e. $0.05 × 2,000 × 2 = $200 of gross for the round trip. Scale that across a day of 500 round trips of this size and gross capture is $200 × 500 = $100,000 — before a single deduction.
That $100,000 is the trap
Every one of those six-figure “gross spread” numbers is what gets quoted in pitch decks. It is the casino’s edge, not its profit. The next two sections are the deductions that decide whether $100,000 of gross becomes $60,000 of net or a $20,000 loss.
Fill in the spread-capture mechanics.
Pick the right option for each blank, then check.
With bid 49.95 and ask 50.05, the half-spread is , and a full round trip with no price move captures per share. The half-spread is measured relative to the .
Adverse selection — the informed-trader tax
Analogy. You run a used-car lot and offer to buy any car at “blue-book minus $500.” Sounds safe. But the people most eager to sell you a car at that price are disproportionately the ones whose car has a hidden problem you can’t see. You’re not trading with a random sample — you’re trading with the self-selected set who think your price is good for them. That selection is the cost. On a trading venue it’s the same: whoever lifts your offer is, on net, the trader who expected the price to go up.
Definition. Adverse selection is the expected loss caused by the mid-price systematically drifting against the maker after a fill, because order flow is, on average, informed. Formally, if the maker buys at time at price and the mid a short horizon later is , the realized adverse-selection cost on that fill is
For a passive buy, if the mid falls after you bought, and with you have a positive cost — you bought right before a drop. Averaged over many fills, : the flow you trade against tends to be right.
Worked example — the half-spread you “earned” evaporates
You passively buy 1,000 shares at the bid of $49.95 (mid $50.00, so you “captured” $0.05). Over the next 10 seconds the mid drifts down to $49.96, because the seller was unloading ahead of bad news.
| Quantity | Value |
|---|---|
| Half-spread captured at the fill | +$0.05 / share |
| Mid move after the fill ($49.96 − 50.00) | −$0.04 / share |
| Net on this fill (paper) | +$0.01 / share |
The $0.05 edge you thought you earned is mostly gone — adverse selection took $0.04 of it. On 1,000 shares, gross capture was $50 but adverse selection clawed back $40, leaving $10. Now imagine the drift had been $0.06 instead of $0.04: your “guaranteed” half-spread becomes a one-cent loss per share. This is the precise mechanism the Glosten–Milgrom model formalizes — the spread exists because some traders are informed, and the maker must quote wide enough that the half-spread covers the expected adverse drift. (That model gets its own lesson next.)
Forward reference
The Glosten–Milgrom lesson derives the spread from adverse selection alone: in their world there are no processing or inventory costs, yet a spread still exists, purely to compensate the maker for trading against possibly-informed flow. Keep this fill-by-fill picture in mind — it’s the engine of that model.
A maker passively SELLS at the ask. Over the next minute the mid rises sharply. What happened, in P&L terms?
Markouts — measuring adverse selection honestly
Analogy. A restaurant can’t know if a dish is good from the moment it leaves the kitchen — it has to watch what happens after: did the plate come back clean, or half-eaten? A markout is the same after-the-fact check on a fill: don’t judge the trade at the instant of execution, judge it by where the price went over the seconds and minutes that followed.
Definition. A markout at horizon is the signed mid-price change from the fill price (or fill-time mid) to the mid later:
A negative average markout means the price moved against you after fills — that’s realized adverse selection, often called flow toxicity. Makers compute markouts at several horizons (1s, 10s, 60s) because toxicity has a time signature: fast-decaying markouts mean you’re being picked off by short-horizon information; persistent markouts mean genuinely informed flow.
Worked example — a markout table
A maker tags 4 representative buy fills (each at a fill-time mid of $50.00) and records the mid afterward. Markout is mid-minus-fill, signed for a buy (so a drop is a negative markout = a cost):
| Fill | Mid @ +1s | Mid @ +10s | Mid @ +60s | Markout +1s | Markout +10s | Markout +60s |
|---|---|---|---|---|---|---|
| 1 | $49.99 | $49.98 | $49.97 | −$0.01 | −$0.02 | −$0.03 |
| 2 | $50.01 | $50.00 | $49.99 | +$0.01 | $0.00 | −$0.01 |
| 3 | $50.00 | $49.99 | $49.96 | $0.00 | −$0.01 | −$0.04 |
| 4 | $49.99 | $49.97 | $49.94 | −$0.01 | −$0.03 | −$0.06 |
| Average | — | — | — | −$0.0025 | −$0.015 | −$0.035 |
The 60-second average markout is −$0.035 per share. Set that against the $0.05 half-spread you captured: net of adverse selection you’re keeping roughly $0.015 per share — and that’s before inventory cost and fees. The markouts also tell a story: the cost grows with horizon, meaning this flow carried persistent, slow-burning information, not just a microsecond blip.
The honest number
Average markout is the single most important diagnostic a maker watches. A strategy that looks wildly profitable on fill-time spread capture but has a deeply negative 60s markout is bleeding — it just hasn’t realized the loss yet. Markouts surface that loss before the P&L statement does.
Sort each observation into what it tells the maker.
Place each item in the right group.
Inventory / holding cost
Analogy. A grocer who buys a pallet of strawberries hasn’t made money yet — the fruit can rot, the price can fall, and shelf space costs rent until it sells. Holding anything exposes you to the world changing before you can offload it. A maker’s inventory is the strawberries: every unhedged share is a bet that’s accruing risk by the second.
Definition. Inventory cost is the economic cost of carrying a non-zero position . It has two parts. First, a variance (risk) cost: holding shares of a stock with per-share return volatility over holding time exposes the position to P&L swings of order in price terms; a risk-averse maker prices this as a penalty , where is risk aversion. Second, a financing cost: borrowing cash to hold a long, or paying borrow to hold a short, costs .
Worked example — the variance cost of a lingering position
A maker is left holding shares of a $50 stock with daily volatility σ = $1 per share (2%). It can’t flatten for of a day. The one-standard-deviation P&L swing on that position is
So just sitting on that inventory for a quarter-day means a routine ±$2,500 swing — and a bad day is a multiple of that. Against a gross spread capture of a few thousand dollars, one stuck position can erase a session. This is exactly why the next lessons (Avellaneda–Stoikov, inventory skew) are about forcing back toward zero by skewing quotes — the variance cost grows with , so it punishes big positions brutally.
Why it ties to the next lessons
Inventory cost is the term that makes optimal quoting dynamic. Because the penalty scales with , a maker can’t just quote a static spread — it must shade both quotes toward the side that flattens it (raising the price it’ll buy at less, lowering where it sells, when long). That’s the reservation-price / inventory-skew machinery of Avellaneda–Stoikov, built directly on this penalty.
Select every TRUE statement about inventory cost. (Multiple answers.)
Realized vs paper (mark-to-mid) P&L
Analogy. Your investment app showing your portfolio “up $4,000 today” is mark-to-market — paper gains you haven’t sold into. The number you can actually spend is what’s left after you sell and the price you get. A maker’s mark-to-mid P&L is the optimistic app screen; realized P&L net of markouts is the bank statement.
Definition. Mark-to-mid (paper) P&L values every open position at the current mid: . Realized P&L accounts for the prices you’ll actually transact at — including the adverse drift markouts reveal. Mark-to-mid flatters the maker because it (a) values inventory at the mid you’d never both buy and sell at, and (b) ignores the post-fill drift that markouts capture: at the instant of a fill, mark-to-mid books the full half-spread as profit, even though the price is about to move against you.
Worked example — same fills, two stories
Recall the markout table: you bought 1,000 shares, captured a $0.05 half-spread, and the 60s markout averaged −$0.035.
| Measure | Per share | On 1,000 shares |
|---|---|---|
| Mark-to-mid at the instant of fill | +$0.05 | +$50 |
| Realized, net of 60s markout | +$0.05 − $0.035 = +$0.015 | +$15 |
Mark-to-mid says you made $50. The honest number is $15 — and that’s still before inventory cost and fees. A desk that runs on mark-to-mid will think it’s three times more profitable than it is, over-quote, and discover the gap only when the inventory has to be unwound at real prices.
Think first
Two makers report the same +$50/fill in mark-to-mid P&L. Maker A's 60s markout averages −$0.005; Maker B's averages −$0.045. Same screen P&L — who is actually making money?
Hint: Mark-to-mid ignores the post-fill drift. Subtract each markout from the half-spread that was captured.
Fill ratio & effective vs quoted spread
Analogy. A fishing boat doesn’t catch a fish every time it casts. The “catch rate” matters as much as the bait. A maker’s quotes are casts: most rest unfilled, some get cancelled, and the ones that do fill are not a random sample — they fill precisely when the price is moving toward them (i.e. against the maker). So the spread you quote and the spread you effectively capture are different numbers.
Definition. The fill ratio is the fraction of quoted volume (or quotes) that actually executes. The quoted spread is the full on your posted prices. The effective spread captured is measured against the mid at the moment of execution, and it is reliably smaller than the quoted spread because fills are selected by adverse motion: your bid fills mainly when the mid has already drifted down toward it. So:
Worked example — the spread you keep vs the spread you posted
You quote a $0.10 spread (half-spread $0.05) on 10,000 shares per side over an hour. Only 30% of that posted volume fills (fill ratio 0.30), and on the filled shares the mid had already moved $0.015 toward your quote, so the effective half-spread captured is $0.05 − $0.015 = $0.035.
| Quantity | Value |
|---|---|
| Quoted volume per side | 10,000 shares |
| Fill ratio | 30% → 3,000 shares filled |
| Quoted half-spread | $0.05 |
| Effective half-spread (after selection) | $0.035 |
| Gross capture if all quoted volume filled at quoted spread | $0.05 × 10,000 = $500 |
| Actual effective capture | $0.035 × 3,000 = $105 |
You posted as if you’d earn $500; you captured $105 — about a fifth — because fewer shares filled and each filled share earned less than the headline half-spread. Queue position (a later lesson) is largely a fight to raise that fill ratio on the good fills without raising it on the toxic ones.
Why is the effective spread captured systematically LESS than the quoted spread?
A full worked single-name day
Now assemble all four terms into one day on one stock. The maker trades 200,000 shares (round-trip equivalent), captures an effective half-spread, suffers measured adverse selection from its markouts, carries some inventory cost, and nets rebates against fees on a maker-rebate venue.
| Line | Basis | Per share | Total |
|---|---|---|---|
| Spread capture | 200,000 sh × effective half-spread $0.040, both sides | +$0.080 / round-trip sh | +$16,000 |
| Adverse selection | 200,000 sh × avg 60s markout −$0.030 | −$0.030 | −$6,000 |
| Inventory cost | variance + financing on residual positions | — | −$3,500 |
| Rebates | 400,000 executed sh (both sides) × $0.0020 rebate | +$0.0020 | +$800 |
| Fees | 80,000 sh taken to flatten × $0.0030 fee + clearing | −$0.0030 | −$300 |
| Net realized P&L | — | = +$7,000 |
Read it top to bottom: the gross spread number everyone quotes is $16,000. Adverse selection takes $6,000 of it. Inventory cost takes $3,500. Net rebates add a slim $500 ($800 − $300). What actually survives is $7,000 — under half the headline. And note how fragile it is: push the markout from −$0.030 to −$0.045 and adverse selection jumps to −$9,000, dropping net P&L to $4,000; push it to −$0.050 and the inventory cost alone could tip the day red. The decomposition isn’t academic — it’s the dashboard.
In the worked day, gross spread capture was $16,000 but net P&L was $7,000. What accounts for most of the gap?
Check your answer to continue.
Misconception: “earning the spread is guaranteed profit”
The claim. “I quote a positive spread and get filled on both sides, so I make the spread. It’s a sure thing.” This is the single most common — and most expensive — error in market making.
Why it’s wrong. The spread is captured only at the instant of the fill, against the mid at that instant. From that instant on, the maker is exposed to two things the spread doesn’t cover:
- Adverse selection. The counterparty self-selected to trade with you, so the mid drifts against you on average. Markouts measure exactly how much — and that amount comes straight out of the half-spread.
- Inventory risk. A fill leaves you holding a position whose variance cost grows with the square of its size and which can be carried into a loss before you flatten.
A maker can quote a perfectly positive spread, fill all day, and still lose money — if the flow is toxic enough (deeply negative markouts) and the inventory swings hard enough. “Earning the spread” describes the gross line. Whether it becomes profit is decided entirely by the two deductions.
The bankruptcy you don't see coming
A desk that books mark-to-mid profit on every fill and never measures markouts will report a great month while quietly accumulating toxic fills and a drifting inventory. The P&L statement looks fine until the inventory is forced out at real prices and the “profit” reverses. The decomposition — especially the markout — is the early-warning system.
A maker quotes a positive spread and fills both sides all day, yet ends the day down. Which explanation is consistent with the P&L decomposition?
Recap
Big picture
The market maker's P&L, decomposed
- Realized P&L
- Spread capture (S)
- Half-spread per fill
- Full spread per round trip
- Effective < quoted (selection)
- Adverse selection (A)
- Post-fill drift against maker
- Measured by markouts (1s/10s/60s)
- = flow toxicity → Glosten–Milgrom
- Inventory cost (I)
- Variance penalty ~ ½γσ²q²
- Financing / borrow
- Drives quote skew → Avellaneda–Stoikov
- Net rebates (R − F)
- Maker rebates received
- Taker fees + clearing
- Paper vs realized
- Mark-to-mid flatters
- Markouts tell the truth
- Spread capture (S)
The four-term decomposition of realized market-making P&L is:
Check your answer to continue.
Key Takeaways
What to remember
- The quoted spread is gross revenue, not profit. Realized P&L ≈ spread capture − adverse selection − inventory cost + (rebates − fees).
- Spread capture is the half-spread per fill (full spread per round trip), but the effective spread captured is less than quoted, because fills are selected by adverse motion and the fill ratio is below 100%.
- Adverse selection is the post-fill mid drift against the maker, because counterparties are, on net, informed. It’s the Glosten–Milgrom engine — and it routinely eats most of the half-spread.
- Markouts (1s/10s/60s mid move, signed by side) are how you measure adverse selection honestly. A negative, horizon-growing markout = toxic flow.
- Inventory cost is the variance penalty (~½γσ²q², quadratic in position) plus financing — the term that forces dynamic quote skewing (Avellaneda–Stoikov).
- Mark-to-mid flatters; realized markouts are honest. A desk that books the half-spread on every fill and ignores markouts will look profitable right up until the inventory is unwound at real prices.
- A positive spread is necessary, not sufficient. You can quote wide, fill both sides all day, and still lose — if the flow is toxic enough and the inventory swings hard enough.