Measuring and decomposing the bid–ask spread
"The limit order book" defined the spread as the gap between the best ask and the best bid, and "The Glosten–Milgrom model" explained why a market maker (a trader who keeps buy and sell quotes in the book) must set it wide enough to cover losses to better-informed traders. Researchers and regulators, however, often see only a list of trade prices, without the quotes behind them. This lesson shows how much of the spread can be recovered from trade prices alone, why that estimate is biased when trading is informed, and how the spread splits into what it pays for.
Throughout, prices are in cents, is the efficient price (the value of the asset given everything the market has learned up to trade ), is the full bid–ask spread and is the direction of trade : when a buyer initiated it at the ask and when a seller initiated it at the bid.
Three spreads
The quoted spread is the difference between the best ask and the best bid at a moment in time. It says what a round trip would cost a trader who buys and sells one share at once.
The effective spread measures what one actual trade cost. If a trade at price happens when the midpoint of the quotes is , then
A buy at the ask with a one-cent half-spread has an effective spread of two cents, the same as the quoted spread; a trade inside the quotes has a smaller one.
The realised spread asks how much of that the market maker keeps once the price has had time to react. With a horizon (for example five minutes) it compares the trade price with the midpoint after the horizon:
If the midpoint drifts towards the trade, as it does after informed buying, the realised spread is smaller than the effective spread. The difference is the price impact of the trade, the part of the spread lost to better-informed traders. This lesson leaves the horizon as a definition and works with the effective spread and with trade prices only.
Bid–ask bounce
Suppose first that trades carry no information. The efficient price follows a random walk, with independent shocks of variance , and each trade happens at the quote on its side of the price before it:
Directions are independent, with buys and sells equally likely. Even when hardly moves, the trade price jumps between the bid and the ask: a buy prints high, the next trade is a sell half the time and prints low. This is the bid–ask bounce. A price rise therefore tends to be followed by a fall, and successive price changes are negatively correlated.
The Roll estimator
Write the price change between two trades by subtracting the expressions for and :
Now take the covariance with the previous change . The shocks are independent of everything else and of each other, and so are the directions. The only term the two changes share is , which enters the first with a minus sign and the second with a plus sign. With :
Solving for the spread gives Roll's estimator, which needs nothing but a series of trade prices:
In a sample the covariance is estimated, and noise can make it positive. Then the square root has no real value: Roll's estimator is not defined for that sample, which happens most often in short or volatile samples and is itself a sign that the estimate cannot be trusted.
Informed trading biases Roll
Now let a share of each half-spread be information. After a buy the market learns that the asset is probably worth more and the efficient price moves up by ; after a sell it moves down:
Trades still print at , so the effective spread is still exactly . The price change now becomes
because only the part of the previous trade's jump reverses; the part stays in the price. Repeating the covariance calculation, the shared term is with coefficients and :
Roll's estimator therefore converges to , below the true spread, while the effective spread does not move. The more informed the flow, the more of the spread is permanent price change rather than bounce, and the less of it Roll can see.
Decomposing the spread
If the direction of each trade is known (from quotes, or by classifying trades as buys and sells), the two parts can be separated. Rewrite the price change with :
This is the two-way Huang–Stoll regression . Least squares estimates , the half-spread, and , the part of each half-spread that becomes permanent. Their ratio is the adverse-selection share
The remaining share pays for order processing and for the risk of carrying inventory. This model does not separate those two; richer three-way versions add a term for how the maker's inventory changes the quotes.
Sample size
Every estimate above is a sample average, so the law of large numbers makes it converge and "The law of large numbers and the central limit theorem" says how fast: its error shrinks like in the number of trades. Efficient-price volatility adds noise without adding information about the spread, in the same way that volatility makes mean returns hard to pin down in "Returns and volatility". A day of 120 trades gives a rough answer; thousands of trades give a stable one.
The figure simulates this market with 120, 1,000 or 10,000 trades, draws the first 120 trades with the efficient price hidden, and plots each price change against the previous one with its least-squares line. Start at the defaults: a 10¢ spread, and 2.5¢ of efficient-price volatility per trade. With 120 trades Roll's estimate is 9.66¢, close to 10¢ by luck rather than by design, and Huang–Stoll's is 27.9%. Switch to 10,000 trades: Roll settles at 8.28¢, near its limit of 8.06¢ and 17.2% below the true spread, moves to 34.6%, and the effective spread stays at 10¢ throughout. Then set to 0 and watch the gap close, and raise the volatility to see the 120-trade estimate jump around.
- Roll estimate
- 9.66¢
- Limit S·√(1 − α)
- 8.06¢
- Effective spread
- 10.00¢
- Huang–Stoll α̂
- 27.9%
- Roll error
- −3.4%
Slope of the cloud -0.505; the estimates use the whole sample, the charts show part of it.
Roll needs only prices but sees only the transitory part of the spread. The effective spread needs the quotes and sees all of it. The gap between them is a measure of informed trading.
Summary
- The quoted spread is , the effective spread of a trade is , and the realised spread is what the maker keeps after a horizon .
- Trades bounce between bid and ask, so successive price changes have covariance and Roll's estimator is ; it is not defined when the sample covariance is positive.
- When a share of each half-spread is information, the covariance shrinks to and Roll converges to , while the effective spread stays .
- With known trade directions, the Huang–Stoll regression estimates the half-spread and the adverse-selection share .
- Estimates from a few hundred trades are noisy; their error shrinks like .