17 — Decision Traps

Gambler's Fallacy#

Statistical1 min read
◆ The PatternBelieving that past random events affect future probabilities.

The gambler's fallacy — believing past random events affect future probabilities.

Classic example: Monte Carlo, 1913 — black came up 26 times in a row. Gamblers bet massively on red, believing it was "due."

In markets:
• "It's fallen 5 days — it's due for a bounce" (each day is largely independent)
• "This strategy has lost 3 times — the next one must win"
• Confusing statistical expectation over many trials with the next single event

Independent events have no memory. Previous outcomes don't affect future outcomes.

Worked example

100,000 independent up/down days, each a coin flip. After five down days in a row (3,153 cases) the next day is up 50.5% of the time — no bounce is due. A twist: flip a coin four times and record the share of heads right after a head. Averaged over many four-flip samples it is 0.41, not 0.5 (Miller & Sanjurjo 2018). In short samples even a fair coin looks as if it avoids streaks.

Where it misleads
  • Markets are not coins. Daily returns show weak short-term reversal and medium-term momentum, so “independent” is an approximation.
  • The famous hot-hand “fallacy” study (Gilovich, Vallone & Tversky 1985) used the very statistic Miller & Sanjurjo showed is biased; corrected, some hot-hand effect reappears.
  • A strategy losing several times in a row is information about the strategy, not about the next trade’s odds.
In code
rng = np.random.default_rng(0)
up = rng.random(100_000) < 0.5                   # independent up and down days
after_5_down = [up[i] for i in range(5, len(up)) if not up[i - 5:i].any()]
bounce = np.mean(after_5_down)                   # P(up | five down days in a row)

# Miller & Sanjurjo: in short samples, the average share of heads right after a head is below 1/2
flips = rng.random((100_000, 4)) < 0.5
after_h = flips[:, :-1]
shares_hh = (flips[:, 1:] & after_h).sum(1)[after_h.any(1)] / after_h.sum(1)[after_h.any(1)]
Python, in your browser — edit the code and run it again

Assumes import numpy as np and import pandas as pd. Each snippet carries its own example numbers; the comments say which are made up.

Sources
  • A. Tversky & D. Kahneman, “Belief in the Law of Small Numbers”, Psychological Bulletin 76(2), 1971
  • T. Gilovich, R. Vallone & A. Tversky, “The Hot Hand in Basketball: On the Misperception of Random Sequences”, Cognitive Psychology 17(3), 1985
  • J. B. Miller & A. Sanjurjo, “Surprised by the Hot Hand Fallacy? A Truth in the Law of Small Numbers”, Econometrica 86(6), 2018

Last reviewed October 2026 · How this site checks its content · Report a mistake

Check yourself

1. A roulette wheel has come up red five times in a row. The chance of black on the next spin is…

Show answer

A. The wheel has no memory. Believing black is “due” is the gambler’s fallacy; believing red is “hot” is its mirror image.

2. “The stock fell five days in a row, so it must bounce.” What is wrong with that reasoning?

Show answer

C. Daily stock returns are close to independent. Patterns must be tested, not assumed from a streak.

3. What does the law of large numbers actually say?

Show answer

A. After 10 extra reds, the proportion still tends to 50% because the 10 become a vanishing share of thousands of spins.

Pattern bridge: Expecting past outcomes to influence independent future ones. In statistics, this is misunderstanding independent probability. In ML, each cross-validation fold is an independent trial.
Linked from 1
← Previous
Sunk Cost Fallacy
Open in the full reader, with the topic sidebar