Post-Trade Adverse Selection Monitoring
A fill that looks great at the moment of execution can be the market quietly telling you it knew something you didn't. Post-trade adverse selection monitoring checks what price did in the minutes after every fill, not just at the fill itself.
Prerequisites: Adverse Selection
A market maker fills a buy order right at the mid, no visible slippage — the execution report looks perfect. Ninety seconds later the mid has moved down 4 basis points, the direction that makes the fill a loser: the counterparty who hit the bid knew something. Multiply that by 40,000 fills a day and a strategy whose execution reports look flawless can be quietly bleeding, because "good fill" and "good trade" are different questions, and only one shows up in the execution report itself.
What a markout measures
A markout is the mark-to-market P&L of a fill, measured not at execution but some fixed horizon later, against the market's own subsequent move:
where is for a buy fill and for a sell fill, is the mid price at the moment of the fill, and is the mid price seconds or minutes later. In words: did the market move in your favor or against you, in the period right after you traded? A market maker with no informational disadvantage should see markouts that average to roughly zero (they're being paid the spread for taking the other side, not for forecasting). A market maker persistently trading against informed flow sees markouts that are negative on average and get worse the longer runs — the informed trader's private information keeps playing out after the trade.
Worked example: spotting toxic flow
A market maker computes markouts at s, 10s, and 60s across 50,000 fills over a week, split by counterparty:
| Counterparty group | Markout @1s | @10s | @60s |
|---|---|---|---|
| Retail-flagged | +0.1 bps | +0.2 bps | +0.3 bps |
| Unflagged institutional | −0.3 bps | −1.1 bps | −1.4 bps |
| Counterparty X specifically | −0.8 bps | −3.9 bps | −7.2 bps |
Retail flow is roughly neutral — consistent with uninformed trading, exactly what a market maker wants to fill. Counterparty X's markout keeps deepening well past the first second, from −0.8 to −7.2 bps by 60 seconds: the price keeps moving against the position long after the trade, the signature of a counterparty trading on real short-term information. At 4,000 shares average size and 15 fills a day, the 60-second markout alone implies roughly shares' worth of price-equivalent loss per day from this one relationship.
Worked example: a false alarm from selection bias
A separate check flags negative, worsening markouts on fills larger than 5,000 shares. Before concluding this bucket is toxic, the check is re-run controlling for time of day: large fills cluster in the last 15 minutes before close, when markouts for every counterparty are more negative because closing-auction-driven moves are larger and more directional. Once controlled, the large-fill markout is statistically indistinguishable from the small-fill markout — the original flag measured a time-of-day effect, not a size effect, and would have led to the wrong fix.
The averaging logic above is the same reason a single blended markout across all flow can look fine: a genuinely toxic counterparty's signal gets diluted into the mean exactly the way any subgroup effect gets diluted when you average over a large, mostly-benign population.
Compute markouts at several horizons per counterparty and per flow type, not one number for the whole book. A markout flat near zero means roughly fair trading; one that keeps deepening over tens of seconds means you're on the wrong side of informed flow.
The classic confusion: computing a single blended markout and concluding the desk is fine because the average is small. Toxic flow from one counterparty can be fully offset in the average by benign flow elsewhere, and a control for confounders like time-of-day is required before attributing a negative markout to the variable you first suspected.
What this means in practice
Compute markouts at multiple horizons, segmented by counterparty, order size, and time of day, on every fill, and control for known confounders before attributing a negative markout to a specific cause. Feed persistently toxic counterparties back into quoting logic — wider spreads or reduced size — rather than treating adverse selection as a fixed cost. See VPIN and Flow Toxicity for a pre-trade complement.
Related concepts
Practice in interviews
Further reading
- Glosten & Milgrom, Bid, Ask and Transaction Prices in a Specialist Market
- Easley, López de Prado & O'Hara, The Volume Clock