Skip to content
Finance Lessons

Agent-Based Models & Market Simulation

Zero-Intelligence Agents: The Shocking Baseline

How traders quoting at random still drive a continuous double auction to near-perfect efficiency — Gode & Sunder's zero-intelligence result, and why it's the baseline every smarter agent must beat.

17 min Updated Jun 22, 2026

In the last lesson we promised to build markets bottom-up — from the gritty mechanics of agents bumping into each other — rather than learning a price generator top-down. So you’d expect the first thing we’d add is smart agents: forecasters, optimizers, strategists with opinions about value.

Plot twist. The most important result in this entire field says you can throw all of that away and the market still works.

In 1993, two economists — Dhananjay Gode and Shyam Sunder — ran a market populated by traders too dumb to have a strategy. They quoted prices at random. And the market converged to nearly the textbook-efficient outcome anyway. The intelligence wasn’t in the traders. It was baked into the rules of the game.

This lesson is about that baseline. Before any of your clever agents are allowed to take a victory lap, they have to beat a trader who is, quite literally, flipping coins.

Before you read — take a guess

Gut check before we start: in a continuous double auction, who or what is mostly responsible for prices ending up near an efficient outcome?

What a zero-intelligence trader is

Analogy. Picture a chaotic open-air bazaar. Buyers shout out random offers, sellers shout out random asking prices, and a clerk pairs up any compatible shout. Nobody is thinking. They’re just making noise within whatever limits the bazaar imposes. That’s a zero-intelligence market.

Definition. A zero-intelligence (ZI) trader submits random bids (buy offers) and asks (sell offers) with no strategy, no learning, and no profit-seeking. It doesn’t forecast, it doesn’t update on the order book, it doesn’t try to get a good deal. It draws a number from a distribution and quotes it.

There are two flavors, and the difference between them is the entire ballgame:

FlavorRuleCan it knowingly lose money?
ZI-U (unconstrained)Quotes a fully random price over the whole allowed rangeYes — a buyer can bid above its value, a seller can ask below its cost
ZI-C (constrained)Random, but never trades at a loss — a buyer never bids above its private value/budget; a seller never asks below its costNo

The only thing ZI-C adds is a single guardrail: don’t quote a price that would make you worse off than not trading. A buyer who values an item at $10 will never bid $11. A seller whose cost is $6 will never ask $5. Within their allowed range, they’re still completely random.

A quick vocabulary stop. A trader’s private value (for a buyer) is the most they’d be willing to pay — what the item is worth to them. A seller’s cost is the least they’d accept — what it costs them to provide it. The gap between a buyer’s value and a seller’s cost is the surplus, the total “gains from trade” a deal creates. Hold onto that word; the next section is built on it.

Worked example. Take a ZI-C buyer with a private value of $10. Under ZI-C, every bid it submits is drawn uniformly at random from the interval [$0, $10] — never above 10, because bidding above its value risks a money-losing trade. Over many draws its average bid is the midpoint, $5, but any single bid could be $2.40, $9.95, or $0.13. A ZI-U buyer with the same value would instead draw from the full allowed price range — say [$0, $20] — and would happily, cluelessly bid $17 for a thing it values at $10. That one difference is what we’ll see decides whether the market is efficient or a clown show.

Warning:

ZI is not 'noise trading' in the behavioral sense

A ZI trader isn’t a panicky human or a hype-chasing retail account. It has no behavior at all — no fear, no greed, no momentum. Don’t confuse “zero-intelligence” with “irrational sentiment.” ZI is a deliberately empty baseline: the point is to see how much of market behavior survives when you delete cognition entirely.

Pick a term, then click its definition.

When to use it

Reach for a ZI trader whenever you want to isolate the contribution of market structure from the contribution of trader smarts. If you’re asking “is this efficiency coming from the rules or the brains?”, ZI traders are the scalpel that removes the brains so you can measure what’s left.

The shocking result: efficiency from the rules

Before you read — take a guess

Predict the experiment: you fill a continuous double auction with ZI-C traders (random, but never trading at a loss). What fraction of the maximum possible gains from trade do they capture?

Analogy. Imagine a sieve that sorts gravel. You can pour the gravel in randomly — toss it any which way — and the sieve still ends up with the right-sized stones on top and the fine sand below. The sorting is a property of the sieve, not the hand pouring the gravel. The auction is the sieve; ZI-C traders are the random pour.

Definition. Allocative efficiency measures how much of the available gains from trade a market actually realizes:

Efficiency=realized gains from trademaximum possible gains from trade\text{Efficiency} = \frac{\text{realized gains from trade}}{\text{maximum possible gains from trade}}

The denominator is the surplus you’d get if a perfect, omniscient planner matched every trade ideally. The numerator is what your actual (random) traders managed to capture. Efficiency of 1.0 (or 100%) means the market left nothing on the table.

Worked example. Let’s compute it by hand. Suppose we have three buyers and three sellers, each wanting one unit:

SideTraderValue / Cost
BuyerB1$10
BuyerB2$8
BuyerB3$5
SellerS1$3
SellerS2$6
SellerS3$9

Step 1 — find the maximum possible surplus. A trade only creates surplus when a buyer’s value exceeds a seller’s cost (value − cost > 0). To maximize total surplus, match the highest-value buyers with the lowest-cost sellers:

  • B1 ($10) with S1 ($3) → surplus = 10 − 3 = $7
  • B2 ($8) with S2 ($6) → surplus = 8 − 6 = $2
  • B3 ($5) with S3 ($9) → surplus = 5 − 9 = −$4 → this trade destroys value, so a sensible market won’t make it.

So the efficient outcome is two trades (B1–S1 and B2–S2) for a maximum total surplus of 7 + 2 = $9. B3 and S3 stay home, and that’s correct — forcing them to trade would burn $4.

Step 2 — see what ZI-C does. Now let the traders quote randomly, but with the no-loss guardrail. The key consequence of that guardrail: B3 (value $5) will never bid above $5, and S3 (cost $9) will never ask below $9. So the value-destroying B3–S3 trade is structurally impossible — neither party is allowed to cross into a loss. Meanwhile B1, B2, S1, and S2 keep firing random-but-profitable quotes, and sooner or later compatible ones cross and execute. The high-value buyers and low-cost sellers are the ones with the widest profitable ranges, so they’re the ones most likely to get matched.

Say the random matching realizes both good trades. Then:

Efficiency=7+29=99=100%\text{Efficiency} = \frac{7 + 2}{9} = \frac{9}{9} = 100\%

Even in messier runs where one marginal trade misfires, ZI-C lands around 97–99% on average — astonishingly close to human traders. The randomness shuffles who pays what, but the constraint plus the matching rules guarantee the realized trades are almost always the value-creating ones.

Step 3 — watch ZI-U faceplant. Remove the budget constraint and B3 might bid $12, S3 might ask $1, and the auction will cheerfully match them — executing the −$4 trade and torching surplus. Without the guardrail, efficiency craters. The constraint, not the cleverness, is what saved us.

Warning:

The constraint is doing the work — not the auction alone

It’s tempting to credit “the double auction” for the magic. But ZI-U runs in the same auction and flops. The efficiency comes from the combination: the matching rules can only execute trades that get quoted, and the no-loss budget constraint stops bad trades from ever being quoted. Strip either piece and the result collapses. Always name both.

Lock in the mechanism:

Pick the right option for each blank, then check.

ZI-C reaches near-maximal efficiency because the no-loss prevents value-destroying trades from ever being quoted, while the auction's matching rules execute the profitable quotes that do cross.

When to use it

Use allocative efficiency as your scorecard whenever the question is ‘did this market reach a good allocation?’ — it’s the natural yardstick for auction design, exchange-rule comparisons, and any sim where you care about welfare rather than realism of the path prices took. (For path realism — fat tails, clustering — you’ll want different metrics entirely, which is the next caveat.)

Structure over smarts

Before you read — take a guess

Given the ZI result, which conclusion is justified — and which is over-reaching?

Analogy. A roundabout produces smooth, orderly traffic flow not because every driver is a genius, but because the geometry of the roundabout forces good behavior out of mediocre drivers. Swap in worse drivers and traffic still flows. The intelligence is in the road design, not the heads behind the wheels. Markets have road design too — we call it the institution.

The deep lesson. Much of what looks like intelligent, efficient market behavior is a property of the institution — the continuous double auction’s matching rules plus the budget constraint — not the cognition of the traders inside it. This is a quietly radical reframing of the Efficient Market Hypothesis (EMH). EMH says prices reflect available information; the usual story credits sharp, competitive traders for enforcing it. Gode & Sunder show that prices can look efficient without anyone being smart at all. You don’t necessarily need rational geniuses — you need well-designed rules and a no-loss constraint, and randomness fills in the rest.

Put bluntly: efficiency is at least partly a feature of the plumbing, not the people.

Warning:

Do NOT over-read this

ZI explains static allocative efficiency and price convergence toward the competitive equilibrium. It does not explain the dynamic stylized facts — fat-tailed returns, volatility clustering, the slow-decaying autocorrelation of absolute returns, the leverage effect. Those are time-series phenomena, and a featureless random pour doesn’t produce them. Reproducing the stylized facts needs heterogeneous, interacting agents — the market makers, momentum chasers, and value traders of the next lesson. ZI tells you the destination can be efficient; it says almost nothing about the texture of the journey.

To feel this, play with the population below. Each slider sets how much of the market’s flow comes from market makers, momentum traders, value traders, and pure noise (zero-intelligence) demand. Hit the “Pure noise” preset. Watch what happens: with only zero-intelligence demand, the price wanders as a near-random walk around fundamental value — efficient-ish, convergent, and utterly featureless. No volatility bursts, no fat-tailed crashes, no clustering. That flatness is the point: structure delivers efficiency, but smarts (and the interactions between different kinds of smarts) are what give a market its characteristic dynamics.

Grow a market from a mix of agents
Emergent priceFundamental value

Population mix

Realized volatility

0.14

Market character

Value and market-maker flow dominate: price is pinned near fundamental and mean-reverts. A calm, efficient market.

Presets:

Drag the population sliders. The price is never priced by a formula — it emerges from four agent types fighting over order flow. Crank up momentum and watch bubbles, crashes and volatility clustering appear on their own; crank up value and market makers and the market goes quiet.

Sort each phenomenon by whether the zero-intelligence baseline can explain it (institution does the work) or whether it needs smarter, interacting agents.

Place each item in the right group.

  • Weeding out value-destroying trades
  • Near-maximal allocative efficiency
  • Price convergence toward competitive equilibrium
  • Volatility clustering
  • Fat-tailed return distributions
  • Slow-decaying autocorrelation of absolute returns

When to use it

Lean on “structure over smarts” when you’re designing or auditing a market institution: if good outcomes survive even random traders, your rules are robust. But the moment your question shifts to realistic dynamics — does my sim reproduce fat tails and clustering? — you’ve outgrown ZI and need the richer agent zoo.

ZI as the baseline

Before you read — take a guess

You build a fancy reinforcement-learning trading agent for your simulated market. What's the FIRST thing it has to prove?

Analogy. In drug trials, a new pill has to beat the placebo, not just do something. A drug that performs exactly like a sugar pill isn’t a drug — it’s an expensive sugar pill. ZI is the placebo of agent-based market models. Any agent that can’t beat the random-but-constrained trader is just an expensive sugar pill with extra GPUs.

The principle. Every fancier agent you’ll meet — the market makers, momentum traders, value investors, and RL bots of the next lesson — must earn its place by beating the ZI baseline on whatever metric you’ve declared you care about:

You care about…The ZI baseline answers…A smarter agent must…
Allocative efficiency”Random-but-constrained already hits ~98%“Beat ~98% or justify why it can’t go higher
Stylized-fact realism”ZI produces a featureless near-random walk”Reproduce fat tails / clustering ZI cannot
Profitability”ZI’s expected edge is ~zero”Earn a real, robust positive edge net of costs

This rhymes exactly with the discipline from the generative-modeling course: the learned model must beat the classical baseline. There, a neural price generator that can’t out-do a simple GARCH or block-bootstrap hasn’t earned its complexity. Here, an RL trader that can’t out-do random quoting hasn’t earned its neurons. Same skepticism, different costume. If you skip the baseline, you’ll mistake the institution’s competence for your agent’s brilliance — a textbook way to fool yourself.

Warning:

A baseline you forget to run is a baseline you implicitly lose to

The classic error: you report “my agent reached 97% efficiency!” and call it a triumph — without ever running ZI, which also reaches ~97%. Your agent added nothing, but you can’t see it, because you never measured the floor. Always run the ZI control alongside the fancy thing, on the same market, and report the difference.

ZI is the right control when your claim is about allocation, convergence, or institutional robustness — questions where “could random traders do this?” is genuinely informative. It’s a weak or misleading control when your claim is about dynamic realism (fat tails, clustering) — ZI’s bar there is near zero, so beating it is trivial and proves little. For dynamics, your baseline should be a richer minimal model (e.g., a simple heterogeneous-agent setup) or a classical statistical generator, not the random pour. Pick the baseline that makes your claim hard to win, not easy.

When to use it

Make ZI your default first experiment in any agent-based market study: it’s cheap, parameter-free, and tells you the floor. Just don’t let it be your only baseline when the question turns dynamic — a baseline is only useful if clearing it actually means something.

Recap

Zero-intelligence traders are the field’s most humbling result. Strip every shred of strategy from your traders, forbid them only from knowingly losing money, and a continuous double auction still delivers ~97–99% allocative efficiency. The intelligence lived in the institution — the matching rules plus the budget constraint — not the heads of the traders. That reframes efficiency as partly a property of plumbing, and it hands you a baseline: every smarter agent must beat the coin-flipper before its complexity is allowed to count.

But ZI is a floor, not a ceiling. It nails static efficiency and convergence; it produces only a featureless near-random walk, so the dynamic stylized facts — fat tails, clustering, long-memory absolute returns — are still waiting for the interacting, heterogeneous agents we build next.

Big picture

Zero-Intelligence Agents

  • Zero-Intelligence Agents
    • What ZI is
      • Random quotes, no strategy/learning
      • ZI-U: fully random (can lose money)
      • ZI-C: random but never trades at a loss
    • The shocking result
      • ZI-C ≈ 97–99% allocative efficiency
      • Efficiency = realized ÷ max gains from trade
      • ZI-U flops without the constraint
    • Structure over smarts
      • Efficiency = institution, not cognition
      • Reframes EMH: efficient ≠ smart
      • But NOT fat tails / clustering
    • ZI as baseline
      • Smarter agents must beat it
      • Echoes "beat the classical baseline"
      • Wrong control for dynamics
The random-trader baseline: what the institution gives you for free, and what it doesn't.

Beat the coin-flipper: zero-intelligence checkpoint

Question 1 of 50 correct

A continuous double auction has buyers with values $12, $9, $4 and sellers with costs $2, $7, $11. What is the maximum possible total surplus (gains from trade)?

Check your answer to continue.

Mark lesson as complete