Quant Memo
Advanced

The Glosten-Milgrom Model

The canonical model of how a spread arises from pure adverse selection, competitive quotes set as Bayesian conditional expectations, updated trade by trade, with the bid and ask derived explicitly.

Prerequisites: Bayes' Theorem, Expectation, Variance & Moments

Glosten and Milgrom (1985) gave the first fully-specified model in which a bid-ask spread emerges from nothing but information asymmetry, no inventory cost, no processing cost, no market power. It is the theoretical backbone of Adverse Selection, and its central move, quote the conditional expectation of value given the order you just received, is one of the most reusable ideas in all of trading.

Setup

A single risky asset has an unknown liquidation value VV. To keep the algebra clean, take two states:

V{VH,VL},Pr(V=VH)=θ,Pr(V=VL)=1θ,V \in \{V_H,\, V_L\}, \qquad \Pr(V = V_H) = \theta,\quad \Pr(V = V_L) = 1 - \theta,

with VH>VLV_H > V_L. Traders arrive one at a time and trade one unit. Each is, independently:

  • Informed with probability μ\mu: they observe VV and act on it, buy if V=VHV = V_H, sell if V=VLV = V_L.
  • Uninformed (noise) with probability 1μ1 - \mu: they buy or sell with equal probability 12\tfrac12, for exogenous reasons.

A competitive, risk-neutral market maker posts an ask aa and a bid bb. Competition drives expected profit to zero on each side, which pins the quotes to conditional expectations.

The zero-profit (regret-free) quotes

Because the maker is risk-neutral and competition removes any margin, the ask must equal the expected value given that the incoming order is a buy, and the bid the expected value given a sell:

a=E[Vbuy],b=E[Vsell].a = \mathbb{E}[V \mid \text{buy}], \qquad b = \mathbb{E}[V \mid \text{sell}].

Everything reduces to applying Bayes' Theorem to the order. Work out the likelihoods of a buy in each state:

Pr(buyVH)=μ1+(1μ)12=1+μ2,Pr(buyVL)=μ0+(1μ)12=1μ2.\Pr(\text{buy} \mid V_H) = \mu\cdot 1 + (1-\mu)\tfrac12 = \frac{1+\mu}{2}, \qquad \Pr(\text{buy} \mid V_L) = \mu\cdot 0 + (1-\mu)\tfrac12 = \frac{1-\mu}{2}.

An informed trader buys for sure in the high state and never in the low state; the noise trader buys half the time regardless. Bayes then gives the posterior after a buy:

Pr(VHbuy)=θ1+μ2θ1+μ2+(1θ)1μ2.\Pr(V_H \mid \text{buy}) = \frac{\theta\,\frac{1+\mu}{2}}{\theta\,\frac{1+\mu}{2} + (1-\theta)\,\frac{1-\mu}{2}}.

The ask is the posterior-weighted value:

a=θ(1+μ)VH+(1θ)(1μ)VLθ(1+μ)+(1θ)(1μ).\boxed{\,a = \frac{\theta(1+\mu)V_H + (1-\theta)(1-\mu)V_L}{\theta(1+\mu) + (1-\theta)(1-\mu)}.}

By the symmetric argument (Pr(sellVH)=1μ2\Pr(\text{sell}\mid V_H) = \tfrac{1-\mu}{2}, Pr(sellVL)=1+μ2\Pr(\text{sell}\mid V_L) = \tfrac{1+\mu}{2}), the bid is

b=θ(1μ)VH+(1θ)(1+μ)VLθ(1μ)+(1θ)(1+μ).\boxed{\,b = \frac{\theta(1-\mu)V_H + (1-\theta)(1+\mu)V_L}{\theta(1-\mu) + (1-\theta)(1+\mu)}.}

The spread is adverse selection, quantified

Take the symmetric prior θ=12\theta = \tfrac12 for transparency. The denominators become 12\tfrac12 and everything simplifies. The unconditional mean is Vˉ=12(VH+VL)\bar V = \tfrac12(V_H + V_L), and

a=Vˉ+μ2(VHVL),b=Vˉμ2(VHVL).a = \bar V + \frac{\mu}{2}(V_H - V_L), \qquad b = \bar V - \frac{\mu}{2}(V_H - V_L).

So the spread is

s=ab=μ(VHVL).s = a - b = \mu\,(V_H - V_L).

Read every term: the spread is the product of how likely the flow is informed (μ\mu) and how much is at stake (VHVLV_H - V_L, the fundamental uncertainty). Two limiting cases confirm the intuition. If no one is informed (μ=0\mu = 0), the spread collapses to zero, a competitive maker facing only noise quotes a single price. If everyone is informed (μ=1\mu = 1), the spread widens to the full value range VHVLV_H - V_L and no uninformed trade can occur profitably, the market can shut. This is the market breakdown Glosten and Milgrom warn of.

Prices are a martingale that learns

The model is dynamic: after each trade the maker updates θ\theta to the posterior and re-quotes. Because quotes are conditional expectations of the same terminal VV, the sequence of mid-prices is a martingale, the price today equals the expected price tomorrow given today's information. Over many trades, order flow reveals VV and the price converges to it. Each transaction moves the price permanently in the direction of the trade (a buy raises the posterior, so the next quotes rise); this permanent, information-driven move is precisely Market Impact. Glosten–Milgrom is thus simultaneously a spread model and an impact model.

Worked example

Let VH=101V_H = 101, VL=99V_L = 99 (so VHVL=2V_H - V_L = 2, and Vˉ=100\bar V = 100), symmetric prior θ=12\theta = \tfrac12, informed fraction μ=0.4\mu = 0.4. Then

Pr(buyVH)=1.42=0.7,Pr(buyVL)=0.62=0.3.\Pr(\text{buy}\mid V_H) = \tfrac{1.4}{2} = 0.7, \quad \Pr(\text{buy}\mid V_L) = \tfrac{0.6}{2} = 0.3.

Ask numerator =0.5(0.7)(101)+0.5(0.3)(99)=35.35+14.85=50.20= 0.5(0.7)(101) + 0.5(0.3)(99) = 35.35 + 14.85 = 50.20; denominator =0.35+0.15=0.5= 0.35 + 0.15 = 0.5; so a=100.4a = 100.4. Symmetrically b=99.6b = 99.6. The spread is s=0.8=μ(VHVL)=0.4×2s = 0.8 = \mu(V_H - V_L) = 0.4 \times 2, centered on the fair value 100. Now suppose a buy actually arrives: the maker's posterior jumps to Pr(VH)=0.35/0.5=0.7\Pr(V_H) = 0.35/0.5 = 0.7, the mid moves up to E[Vbuy]=100.4\mathbb{E}[V\mid\text{buy}] = 100.4, and the next quotes are re-centered there, the trade moved the price permanently, an impact of $0.40 from a single unit.

Failure modes and caveats

  • Two-state caricature. Real value is continuous and multidimensional; the two-state version is for intuition. The continuous version keeps the conditional-expectation logic but needs a full filtering problem.
  • Fixed informed fraction. Treating μ\mu as constant is the model's biggest simplification; in reality toxicity is bursty (news, open, close), and makers must estimate μ\mu live and pull quotes when it spikes.
  • No strategic informed trader. Here informed traders are price-takers who trade one unit. When the informed trader is strategic, hiding size and spreading trades to avoid revealing information, you need The Kyle Model, which is the complementary classic.
  • Competition assumption. Zero-profit quoting assumes perfect maker competition; with market power the maker adds a margin on top of the adverse-selection spread.

In interviews

This is a rite-of-passage derivation. Set up two value states and informed/noise traders, write the ask as E[Vbuy]\mathbb{E}[V \mid \text{buy}], apply Bayes to get the posterior, and simplify (under θ=12\theta = \tfrac12) to the clean result s=μ(VHVL)s = \mu(V_H - V_L). Be ready to explain both limits, why μ=0\mu = 0 gives a zero spread and why μ1\mu \to 1 can shut the market, and to note that the price sequence is a martingale, so each trade's permanent effect on the quote is market impact. The natural contrast question is "how does this differ from Kyle?", Glosten–Milgrom has non-strategic unit-size informed traders and gives a spread; The Kyle Model has one strategic informed trader who optimizes size and gives a linear price-impact coefficient.

Related concepts

Practice in interviews

Further reading

  • Glosten & Milgrom (1985), Bid, Ask and Transaction Prices in a Specialist Market
  • O'Hara, Market Microstructure Theory
  • Bouchaud, Bonart, Donier & Gould, Trades, Quotes and Prices
ShareTwitterLinkedIn