A-book, B-book, and the real cost of classifying flow wrongly
Internalisation is a risk decision priced in basis points and settled in months. Treating it as a static per-client flag is how a profitable book quietly stops being one.
Whether to internalise an order or pass it to the market is a risk decision taken thousands of times a day, usually by a static flag set on a client months earlier by someone who no longer works there. That flag is the single largest unexamined position most brokers carry.
What the decision is, precisely
B-booking means taking the other side of a client order and keeping the exposure. A-booking means hedging it with a liquidity provider. Neither is dishonest and neither is inherently safer. B-booking a client who loses is profitable; B-booking a client who is systematically right is a subsidy you pay until you notice.
E[internalise] = −E[client P&L] − hedging_cost_avoided − capital_charge(exposure)Toxicity is a property of an order, not a person
The industry shorthand treats clients as toxic or benign. The data does not support that framing. The same client can be reliably unprofitable trading majors in quiet conditions and reliably profitable trading gold through a data release. What is predictive is the combination of order, instrument and market state.
A static per-client flag is a bet that the reason a client was classified in March is still the reason in November.
How the classification goes stale
- Behaviour changes. Clients change size, instrument and style, often after a large loss or a large win. The classification does not follow.
- Copy trading propagates. One profitable signal provider can turn two hundred independently benign accounts into one correlated position overnight.
- Concentration builds silently. Individually small internalised positions in the same direction aggregate into an exposure nobody chose.
- Latency arbitrage migrates. When one venue is closed off, the same flow reappears through a different account, a different entity, or a partner.
The aggregation blind spot is the expensive one
Every individual internalisation decision can be defensible while the resulting book is not. If four hundred accounts are each long a small amount of gold because they follow the same three signal providers, the broker is short gold in size, and no single order triggered a limit. This is a joining problem before it is a risk problem: you cannot see the position until copy relationships, partner attribution and instrument exposure are held together.
- 01Score the order, not the clientInstrument, size, state, timing
- 02Check aggregate exposure firstIncluding correlated copy flow
- 03Internalise, hedge, or partialPartial is usually the right answer
- 04Measure markout on what you keptAt 1s, 5s and 30s
- 05Feed the outcome backThe scoring updates, the flag does not
| Static per-client flag | Per-order scoring | |
|---|---|---|
| Accounts internalised | 3,140 | 3,140 |
| Orders internalised | 100% | 82% |
| Markout on retained flow | −0.12 pips | +0.14 pips |
| Peak uncovered gold exposure | $4.1M | $0.9M |
| Hedging cost | Lower | Higher |
| Net | Worse | Better |
Illustrative figures, chosen to show the mechanism. Your own numbers will differ.
Why this has to be auditable
Book decisioning attracts regulatory attention for good reason: it is the point where the broker’s interest and the client’s can diverge. Any automation here needs to record what was known at the moment of the decision, what rule applied, and what the outcome was, not because it makes the decision better, but because being unable to reconstruct it afterwards is its own finding.
In practice this is the argument for keeping the scoring explicit and inspectable rather than learned end-to-end. A rule you can show a regulator, with the inputs it saw, is worth more than a marginally better one you cannot explain.