Reader question: Can a bid–ask spread exist even if a dealer is risk-neutral, has no inventory penalty and earns zero expected profit?
Glosten–Milgrom shows that it can. The spread can arise purely from adverse selection: some traders know more about the asset’s true value than the dealer. A buy order is therefore not just a request to trade; it is evidence that the asset may be worth more. A sell order is evidence in the opposite direction.
The dealer responds by setting the ask equal to the expected asset value conditional on receiving a buy order and the bid equal to the expected value conditional on receiving a sell order. Quotes are therefore Bayesian posterior expectations, and transaction signs gradually reveal private information.
This article owns one precise computational job: the Glosten–Milgrom Bayesian adverse-selection mechanism for sequential bid/ask quote formation. It does not own market making in general, inventory-risk control, Kyle price impact, Roll spread inference, exchange queue priority or trade-sign classification.
This is public mathematical and computational education. It is not a trading strategy, a market-manipulation method or personalised financial advice.
1. A simplified binary-value model
Let the asset’s true liquidation value be:
V ∈ {VH, VL},
with:
VH > VL.
Before the next trade, the dealer has prior belief:
π = P(V=VH).
With probability α, the arriving trader is informed.
With probability 1−α, the trader is uninformed/noise and buys or sells with equal probability 1/2.
In the simplest extreme-information version:
- an informed trader buys if V=VH;
- an informed trader sells if V=VL.
2. Order probabilities conditional on value
Given the high value:
P(Buy|H) = α + (1−α)/2 = (1+α)/2,
P(Sell|H) = (1−α)/2.
Given the low value:
P(Buy|L) = (1−α)/2,
P(Sell|L) = (1+α)/2.
A buy is therefore more likely in the high-value state; a sell is more likely in the low-value state.
3. Competitive zero-profit ask
A risk-neutral competitive dealer sets the ask so that expected profit conditional on a buy order is zero:
A = E[V | Buy].
Bayes’ rule gives:
P(H|Buy) = π P(Buy|H) / [πP(Buy|H)+(1−π)P(Buy|L)].
Then:
A = P(H|Buy)VH + [1−P(H|Buy)]VL.
The ask is above the unconditional expected value because a buyer is more likely to be informed when the asset is high.
4. Competitive zero-profit bid
Similarly:
B = E[V | Sell].
with:
P(H|Sell) = π P(Sell|H) / [πP(Sell|H)+(1−π)P(Sell|L)].
Therefore:
B = P(H|Sell)VH + [1−P(H|Sell)]VL.
The bid lies below the unconditional expected value because a seller is more likely to be informed when the asset is low.
5. The spread is an information-loss insurance mechanism
The dealer loses money when trading against informed traders:
- selling too cheaply to an informed buyer in the high-value state;
- buying too expensively from an informed seller in the low-value state.
Noise traders lose on average to the dealer by crossing the spread.
Competition drives the dealer’s total expected profit toward zero, but the spread remains positive because uninformed order flow subsidizes losses to informed order flow.
6. A symmetric closed-form example
Set:
π = 1/2.
Then:
A = [(1+α)VH + (1−α)VL]/2,
B = [(1−α)VH + (1+α)VL]/2.
Subtracting:
A − B = α(VH−VL).
This simple formula makes the mechanism explicit:
- more informed trading (higher α) → wider adverse-selection spread;
- greater uncertainty about fundamental value (larger VH−VL) → wider spread.
If α=0, the adverse-selection spread disappears in this simplified world.
7. Buy orders update the dealer’s belief
After a buy:
π′ = P(H|Buy).
Because P(Buy|H) > P(Buy|L), we have:
π′ > π
unless the prior is already degenerate.
The dealer therefore raises both bid and ask after a buy sequence.
A sell sequence lowers posterior belief and pushes quotes downward.
8. Transaction prices are informative
Order direction conveys information even though the dealer does not observe whether the trader is informed.
The market therefore learns through trade:
prior belief → trade sign → posterior belief → new quotes.
This is a sequential Bayesian filter.
The original Glosten–Milgrom paper emphasizes that transaction prices themselves reveal information and that adverse selection alone can generate a positive spread.
9. Log-odds make the Bayesian filter transparent
Define posterior odds:
O = π/(1−π).
A buy multiplies odds by the likelihood ratio:
LRB = P(Buy|H)/P(Buy|L) = (1+α)/(1−α).
So:
O′ = O × LRB.
A sell multiplies odds by:
LRS = (1−α)/(1+α) = 1/LRB.
In log-odds form:
log O′ = log O ± log[(1+α)/(1−α)].
Repeated buys add evidence linearly in log-odds space.
10. A miniature sequence
Suppose:
VH=110, VL=90, π=0.5, α=0.2.
Initial symmetric spread:
A−B = 0.2 × 20 = 4.
The unconditional midpoint is 100.
A buy raises posterior odds by:
(1.2)/(0.8)=1.5.
Prior odds are 1, so posterior odds become 1.5 and:
π′ = 1.5/(1+1.5)=0.6.
The dealer now assigns a 60% probability to the high-value state and raises the quote pair.
11. Learning can narrow the spread near certainty
As the dealer becomes nearly certain about V, the informational advantage of a potential informed trader shrinks.
If π approaches 1, both bid and ask approach VH.
If π approaches 0, both approach VL.
The adverse-selection spread therefore tends to shrink as public beliefs converge toward the true value in the simplified model.
This is price discovery through order flow.
12. Why the dealer is not “predicting the next trade”
The dealer is calculating conditional expectations under a model.
A buy does not prove V=VH; a noise trader could have bought.
A sell does not prove V=VL.
Bayesian updating changes probabilities rather than converting uncertain evidence into certainty.
13. Inputs and outputs
Inputs can include:
- prior probability π;
- possible value states or a value distribution;
- informed-trader probability α;
- noise-trader buy/sell probabilities;
- observed order sign;
- public-information events;
- model extension for transaction costs/inventory if used.
Outputs can include:
- posterior value probabilities;
- competitive bid;
- competitive ask;
- adverse-selection spread;
- trade-by-trade posterior path;
- likelihood of observed order sequence;
- estimated informed-trading parameter;
- model-versus-market spread residuals.
14. Estimating α from trade signs
In the simple binary model, the likelihood of a sequence of buys and sells can be written from the Bayesian filter.
Given candidate α and prior parameters:
- compute P(Buy) or P(Sell) from the current prior;
- multiply the sequence likelihood;
- update the posterior after each trade;
- continue through the sample;
- choose α to maximize likelihood or estimate it in a Bayesian framework.
But α is not directly observable and can be confounded with value uncertainty, order-flow clustering and model misspecification.
15. Exposure to public news
A public information event should change the prior π or the distribution of V before the next private-order update.
If a model treats every price movement as evidence from trade signs while ignoring public news, it can falsely attribute information to order flow.
Falsifier: separate scheduled/public event timestamps from private transaction updates.
16. Evidence polarity
Evidence for the Glosten–Milgrom mechanism includes:
- post-buy value estimates rise and post-sell estimates fall;
- spreads widen when information asymmetry is plausibly higher;
- order sequences improve short-horizon inference about efficient value;
- likelihood-based α estimates are stable across comparable samples;
- adverse-selection spread components explain systematic post-trade markouts;
- the model outperforms a zero-information benchmark on held-out order sequences.
Evidence against confidence includes:
- order signs are strongly clustered for liquidity reasons unrelated to information;
- inventory state explains quote movement better than posterior beliefs;
- queue position/tick structure dominates spread variation;
- estimated α changes wildly by small sample changes;
- public news is misclassified as private information;
- order size carries information that the unit-trade model ignores.
17. Counterexample: inventory risk causes the spread
A dealer can widen/shift quotes because inventory is large even when every trader has identical information.
That spread component is outside pure Glosten–Milgrom adverse selection.
Falsifier: condition quote changes on inventory. If spread/skew changes remain after controlling for trade-information signals, a separate inventory model is required.
See Avellaneda–Stoikov market-making algorithms.
18. Counterexample: order-processing cost creates a spread
Exchange fees, clearing costs, technology, capital and operating costs can generate a spread even with no informed traders.
Falsifier: compare observed spreads with explicit non-information costs. Glosten–Milgrom identifies an adverse-selection mechanism, not the entire accounting decomposition of spreads.
19. Counterexample: strategic informed traders
In the simplified model, informed traders trade immediately in the direction of their information.
A strategic trader may split orders, wait, disguise information or choose order size to reduce price impact.
Falsifier: compare the sequential unit-trade model with strategic models such as Kyle when order size and intertemporal strategy are central.
20. Counterexample: order-flow clustering is mistaken for information
Large parent orders are often split into many same-sign child trades.
A Bayesian filter that treats every child trade as independent new evidence can become overconfident.
Falsifier: test conditional sign dependence and compare a clustered/self-exciting order-flow model.
Hawkes-process algorithms own one family of clustered-event models.
21. Counterexample: trade-sign classification is wrong
Historical transaction data may not directly label buyer/seller initiation.
If trade signs are inferred incorrectly, the Bayesian update direction itself can be wrong.
Falsifier: validate sign labels where exchange aggressor flags exist, or quantify Lee–Ready misclassification uncertainty.
See Lee–Ready trade-signing algorithms.
22. Counterexample: order size contains information
The binary model treats each trade as one buy or one sell.
A 100-share buy and a 100,000-share buy produce the same sign update.
Falsifier: test whether post-trade price revisions depend materially on signed size after controlling for sign. If so, the unit-order state is insufficient.
23. Counterexample: the value is continuous, not binary
Real assets do not usually have only two possible fundamental values.
The binary model is educationally useful because Bayes’ rule is transparent.
A continuous-value implementation requires a posterior density rather than one probability π.
Falsifier: if the intended application needs fine-grained value uncertainty, treat the binary model as a benchmark rather than production truth.
24. Counterexample: multiple informed signal qualities
Some informed traders may observe noisy signals rather than the true V.
Then an informed buy is less decisive evidence than in the extreme-information model.
Falsifier: compare posterior calibration using signal-quality mixtures. Overconfident posteriors indicate that “informed” has been modelled too strongly.
25. Markouts as an empirical diagnostic
After an ask trade, compute future efficient-mid movement over horizons such as Δ:
markoutask(Δ) = mid(t+Δ) − execution price
under a consistent sign convention.
If buyers are informed, ask trades may be followed by adverse upward mid moves for the seller.
Similarly, bid trades can be followed by downward moves.
Markouts therefore provide evidence about adverse selection, though they are also affected by inventory, market impact and public news.
26. Spread decomposition
Observed bid–ask spread can conceptually contain:
- adverse-selection component;
- inventory-risk component;
- order-processing/cost component;
- market power/rents;
- tick-size/queue effects.
Glosten–Milgrom proves that the first component alone can be positive even with a risk-neutral competitive specialist.
Later spread-decomposition research studies how transaction-price statistics relate to these components.
27. Glosten–Milgrom versus Roll
Roll algorithms infer an effective spread from transaction-price serial covariance under a bid–ask-bounce model.
Glosten–Milgrom provides a structural information-asymmetry mechanism for why a spread can exist.
28. Glosten–Milgrom versus Kyle’s lambda
Kyle’s lambda algorithms model/measure price impact from signed order flow in a strategic continuous-trading framework.
Glosten–Milgrom instead uses discrete sequential trades and Bayesian zero-profit quotes.
29. Glosten–Milgrom versus general market making
How Bank Market-Making Algorithms Manage Inventory owns the broader operational market-making problem.
This page owns only the adverse-selection Bayesian quote mechanism.
30. Glosten–Milgrom versus Avellaneda–Stoikov
Avellaneda–Stoikov derives quote skew/spread from inventory risk, volatility, risk aversion and fill intensity.
The canonical Glosten–Milgrom dealer is risk-neutral and the spread exists because trade direction reveals private information.
The mechanisms can coexist in a richer model, but they should not be conflated.
31. Alternatives and extensions
Kyle model: strategic informed trading and linear price impact.
Easley–O’Hara / PIN models: likelihood-based information-event and informed-trading estimation.
Glosten–Harris decompositions: empirical spread components using transaction data.
Inventory-control market making: quotes respond to position risk.
Limit-order-book models: queue depth, discrete prices and order placement/cancellation.
Hawkes order-flow models: clustered/self-exciting trade arrivals.
32. Weak links
- binary value approximation;
- unit trade size;
- constant α;
- noise traders assumed symmetric;
- independent sequential arrivals;
- inventory risk omitted;
- order-processing costs omitted;
- public news omitted;
- trade-sign misclassification;
- strategic order splitting ignored.
33. What would falsify confidence?
Confidence should be withdrawn if order signs do not improve efficient-value inference; if spreads are explained almost entirely by inventory/cost/tick structure; if estimated α is unstable; if posterior updates become overconfident because of sign clustering; if post-trade markouts contradict the model’s information direction; or if richer strategic/order-book models materially improve held-out evidence for the intended job.
34. Verification and update triggers
Preserve the prior/value-state definition, α estimate, noise-trader assumptions, trade-sign source, sequence likelihood, public-event filters, posterior path and spread decomposition diagnostics.
Revalidate when:
- market structure changes;
- trade-size distribution changes;
- order-flow clustering changes;
- public-news frequency changes;
- trade-sign methodology changes;
- spread/markout relationship changes;
- the model is extended to inventory or strategic traders.
35. Primary and high-quality references
- Lawrence R. Glosten and Paul R. Milgrom, Bid, Ask and Transaction Prices in a Specialist Market with Heterogeneously Informed Traders, Journal of Financial Economics, 1985.
- Columbia Business School faculty record for the same paper: Bid, Ask, and Transaction Prices in a Specialist Market with Heterogeneously Informed Traders.
- An accessible copy of the original paper is hosted in NYU Stern course materials: Glosten & Milgrom (1985).
- Lawrence R. Glosten, Components of the Bid–Ask Spread and the Statistical Properties of Transaction Prices, Journal of Finance, 1987.
Educational boundary: Glosten–Milgrom isolates one reason spreads exist: the dealer must protect uninformed liquidity provision from losses to better-informed traders. Real spreads combine information, inventory, costs, market design and strategic behavior.

