Financial Markets Microstructure — Egor Starkov, University of Copenhagen

Lecture 3: Information and Prices / The Glosten-Milgrom Model

This is the lecture Lecture 1's algo-callouts kept pointing forward to. Two parts, one video each: first, why prices move at all and what "efficient" actually means; then the first formal model in the course — Glosten and Milgrom's dealer facing an unknown mix of informed and noise traders — which derives the bid-ask spread from first principles instead of just asserting it exists.

Source
Real transcripts, both parts, verified via yt-dlp captions
Textbook chapter
Foucault/Pagano/Röell, Ch. 3 — the lecturer notes almost all of it is devoted to this model
Course structure note
This opens Part 1 of the course (~5 lectures building models), used in Part 2 to study fragmentation/transparency/liquidity value, before Part 3 goes beyond the textbook into HFT, public information, and bubbles
01

Three reasons to trade — only one of them moves prices

The lecture opens by asking why stock prices move at all, and dismisses financial-news "explanations" as often just plausible-sounding stories after the fact (the lecture cites a Twitter account that randomly pairs stock directions with unrelated headlines — "serial killer let loose" or "city installs new traffic lights" — to make exactly this point). It then gives three genuine reasons anyone trades:

Risk — rebalancing your exposure (a worker in a counter-cyclical industry buying pro-cyclical stocks to hedge their income). Funding liquidity — needing cash now, or having excess cash to invest (the same concept from Lecture 2). Information — believing the asset is mispriced given what you know.

The key distinction: risk and funding-liquidity trades are idiosyncratic — specific to you, uninformative about the asset's actual value. If the market knew you were selling purely to buy a house, it wouldn't revise its valuation. Information-based trades are different: if you're selling because you know something the market doesn't, the market should revise its valuation once it figures that out — which is exactly why you'd rather it didn't figure that out. This asymmetry is what the rest of the lecture, and the whole model to follow, is built on.

02

Public vs. private information — and the course's specific interpretation

Public information: known to everyone, and — crucially — a public announcement moves everyone's valuation by the same amount simultaneously, so it doesn't need any trading to get incorporated into prices. Private information: known to some, not others — this is what generates the asymmetry that makes trades informative to observe.

The lecture is explicit that "private information" here does not mean insider information in the legal sense (trading on non-public company secrets, illegal in most jurisdictions). Instead it adopts what it calls the "academic interpretation": all information is technically publicly available, but some traders are simply better at analyzing it and extracting its implications — the same public facts, better processed. This is the working definition the rest of the course uses for "informed trader," and it's the one worth keeping in mind whenever "informed" comes up later.

03

The Efficient Markets Hypothesis, and why it breaks in three specific ways

Hayek: prices coordinate dispersed knowledge. Fama's EMH pushes this further — prices should fully reflect available information — in three increasingly strong versions: weak form (prices reflect past price history), semi-strong form (prices reflect all public information), strong form (prices reflect all public and private information, instantly).

The lecture walks through why the strong form specifically can't be right, using three real problems:

Three problems with assuming strong-form market efficiency
ProblemThe logic
No-trade theoremIf any desire to trade instantly reveals your information and moves the price against you, informed trading becomes unprofitable — so no one should ever trade on information. Real markets trade constantly.
Grossman-Stiglitz paradoxIf prices already reflect all private information perfectly, there's no profit in acquiring information — so no one has an incentive to analyze anything, so nothing gets analyzed, so prices can't actually become efficient. Self-contradicting.
Excess volatilityReal intraday prices move far more, far more often, than any plausible stream of genuine public news could explain.

The lecture's conclusion isn't "efficiency is wrong" — it's that the course won't assume strong-form efficiency; instead it'll build models and see whether, and how much, efficiency emerges as a result. This is exactly the approach the Glosten-Milgrom model (§06 onward) takes.

04

Formalizing it: market valuation as a martingale

Let Ωₜ be the public information set at time t (cumulative — nothing is forgotten). The market's valuation μₜ = E(V|Ωₜ), the expectation of the true fundamental value V given current public knowledge. Semi-strong efficiency means price pₜ = μₜ.

The lecture proves, using the law of iterated expectations, that if this holds, the best forecast of tomorrow's valuation is today's valuation: E[μₜ₊₁|Ωₜ] = μₜ. This is the defining property of a martingale — price changes are unpredictable from current information, not because nothing is knowable, but because anything knowable is already priced in. It's the formal version of "you can't beat the market using only information the market already has."

05

The Glosten-Milgrom setup: a dealer who can't tell who they're trading with

Every period, one trader arrives. With probability π they're a speculator (informed — they know the true value V exactly, and trade to maximize profit). With probability 1−π they're a noise trader (trades for the risk/liquidity reasons from §01, buying with probability β_b, selling with probability β_s, for reasons unrelated to value). The dealer is risk-neutral, competitive (zero expected profit in equilibrium — real competition drives out any margin), and — critically — cannot tell which type just walked in. The dealer only knows the probabilities π and 1−π.

Because the dealer must quote before knowing which side will be hit, they quote both a bid and an ask, always, on one unit at a time (a multi-unit order is just modeled as several one-unit orders in sequence, with the dealer free to reprice between them).

Real market-maker obligations, quoted directly from exchange rulebooks

The lecture cites NASDAQ's own rulebook: a registered market maker "shall be willing to buy and sell such security for its own account on a continuous basis... and shall enter and maintain a two-sided trading interest." And from Helsinki Exchange: quotes must be live at least 85% of the time, with a bid-ask spread capped at 4%, and a minimum order size of €4,000 — specifically so a dealer can't technically comply by quoting one share at $0 bid / $1 billion ask. The model's abstract "dealer always quotes both sides" assumption is a real regulatory requirement, not just a modeling convenience.

06

Solving the binary case — the actual spread formula

Simplify: the true value V is either high (v_H) or low (v_L). Before any trade, the dealer's belief is θ (probability V=v_H), so the unconditional estimate is μ = θv_H + (1−θ)v_L. A speculator who knows V=v_H will only ever buy; one who knows V=v_L will only ever sell. So a buy order is more likely to have come from an informed trader specifically when the value is actually high — the order itself is evidence.

Setting the dealer's expected profit to zero (competition) and working through Bayes' rule on the very first trade of the day (θ=1/2, so μ₀ = (v_H+v_L)/2):

⚙ Algo-trading angle
Context
The lecture's own closed-form result for the first spread of the day: S₁ = π(v_H − v_L) — the entire quoted spread, derived, not assumed.
Algo-relevant?
Yes — this is the actual formula behind the "adverse selection" component every earlier lesson gestured at without deriving.
What's applied
ask = μ₀ + (π/2)(v_H−v_L); bid = μ₀ − (π/2)(v_H−v_L). Spread widens linearly in π (more informed traders → wider spread) and linearly in the value range v_H−v_L (more uncertainty about fundamentals → wider spread).
Action
A market-making algorithm calibrating its own quotes can use this exact structure: estimate π (the likely fraction of informed flow in a given name/venue/time-of-day) and the plausible value range, and set the half-spread proportional to their product — not a fixed number, not a guess.
Why
Every extra informed trader raises the dealer's expected loss on the next trade, one-for-one, in proportion to how much value is actually at stake — that's why both terms enter multiplicatively, not additively.
Worked example — using the true book/lecture parameters from Ch. 3's own exercise (a small risky stock, θ=½)
v_H = $20, v_L = $10, π = 0.1 (1 in 10 traders is informed)
QuantityFormulaValue
Unconditional value μ₀(20+10)/2$15.00
Ask15 + (0.1/2)(20−10)$15.50
Bid15 − (0.1/2)(20−10)$14.50
Spread S₁ = π(v_H−v_L)0.1 × 10$1.00

What this means: even with only 1-in-10 traders informed, the dealer needs a full $1.00 spread (6.7% of the $15 midpoint) just to break even — not to profit, to break even against the adverse-selection risk. This isn't a cost imposed by the dealer's greed; it's the minimum compensation competition allows them to charge and still survive contact with informed order flow. Raise π and the spread widens linearly — this is the direct, quantified version of "more insider trading risk → less liquidity" that earlier lessons only stated qualitatively.

07

Price discovery: the market actually learns V over time

In a multi-period version with persistent V, every single order — informed or not — nudges the dealer's belief θₜ a little. Over enough trades, θₜ converges to 1 (or 0), and the price converges to the true value — strong-form efficiency emerges as a long-run result, not an assumption. The lecture's own simulation (v_H=102, v_L=98, θ₀=0.5) shows exactly how fast, for different values of π:

Simulated speed of price discovery, by fraction of informed traders π (lecture's own numbers)
π (share informed)Trades to full price discovery
0.1 (10% informed)Barely any progress even after 100 trades
0.5 (50% informed)~15 trades, on average
0.9 (90% informed)~5 trades, on average

What this means: this is the liquidity/price-discovery trade-off made concrete — the same π that widens the spread (§06, bad for traders) is exactly what speeds up how fast the market learns the true value (good for informational efficiency). A regulator (or a market designer) tuning insider-trading enforcement is, whether they realize it or not, choosing a point on this exact curve — there's no policy that improves both at once by changing π alone.

08

What the model deliberately leaves out

The lecture is candid about three simplifications: (1) it's a pure dealer model with no market clearing — aggregate demand and supply need not balance in any period, since the dealer absorbs the imbalance; (2) only fundamental value matters to traders — no resale motive, no consideration that a trader buying today might need to sell into an illiquid market later; (3) informed traders are all-or-nothing (know V exactly) in the base model, though the textbook's own exercises extend this to a noisy signal with accuracy ρ, which changes the spread smoothly rather than in the binary case above.

09

Before the next lecture

  1. 1

    Textbook Ch. 3, Exercise 2: a small stock worth $10 or $20 with equal probability. Compute the bid/ask with no informed trading, then with π=0.1 — then compute the average trading cost to an uninformed trader and the average gain to an informed one.Nearly all of Ch. 3's exercises are on this model — lecturer's own pointer

  2. 2

    Textbook Ch. 3, Exercise 3: extend the model so the informed trader's signal is only accurate with probability ρ (not perfectly informed) — derive how the spread changes as a function of ρ.

  3. 3

    Find a real stock's bid-ask spread right after an earnings announcement vs. mid-session on an ordinary day — the model predicts the spread should be wider exactly when the odds of facing an informed trader are higher.

idiosyncratic vs. informative tradepublic / private informationEMH (weak/semi-strong/strong)no-trade theorem Grossman-Stiglitz paradoxmartingaleGlosten-Milgrom modeladverse selection price discoveryinformed / noise trader
10

This model is a market-making algorithm's actual pricing engine

Every earlier lesson's algo-callouts referenced "the adverse-selection component of the spread" without deriving it. This lecture is where it comes from — and it's directly implementable:

// Glosten-Milgrom-derived quoting engine — the formulas from §06, live
pi_hat   = estimate_informed_share(recent_flow, venue, time_of_day)  // §06 — π
v_range  = estimate_value_uncertainty(vol, upcoming_news_calendar)   // §06 — (v_H − v_L)

half_spread = (pi_hat / 2) * v_range                 // §06 — the closed-form result, not a guess
mu = current_belief_estimate()                        // §04/§07 — μ_t, updated after every fill

bid = mu - half_spread
ask = mu + half_spread

// on fill: Bayesian update to mu using the fact that THIS side got hit —
// exactly the §07 belief-update loop, run one trade at a time
mu = bayesian_update(mu, filled_side, pi_hat)

The pi_hat estimation step is where real market-making systems spend serious engineering effort — it's exactly the problem of telling informed flow from noise flow in real time, the same problem the dealer faces in the model, just automated. Everything downstream of that estimate is the closed-form math this lecture derived.

Built from the actual lecture transcripts, both parts (auto-captions, cleaned and verified). Not a reconstruction from the course title alone.