The

Rogue Wave

The models assumed everything happened independently. The rogue wave, the Texas blackout and the 2008 crash did not. This book measures how wrong that assumption is, the law that governs the size of the error, and how the error builds in calm and collapses in a crisis.

Or read the short version — fifteen minutes, one scroll →
Book Two: The Missing Term — seven corrected formulas →
Six independent waves. Now and then, they line up.
25.6 mThe wave the Draupner platform recorded on New Year's Day 1995, in seas running at twelve.
300 million wintersEven a model that knows Texas cities get cold together, but treats each day as unrelated to the next, expects a freeze like Uri once in 300 million winters. It happened in 2021 and killed 246 people.
113×A model that gets each industry's own behavior right but misses how closely their bad days line up underprices a week of losses across half the market by 113×.

The idea

Every model assumed independence

On New Year's Day, 1995, an instrument on a North Sea oil platform recorded that wave, more than twice the height of the seas around it. The models said the sea does not do that: they treated every swell as independent, and under that assumption such a wave is far rarer than anything the sea was expected to produce.

The cause was not supernatural. Wave trains from different storms came together at the same point at the same time, and the leading explanation is that they interacted nonlinearly, focusing energy in a way a sum of independent waves cannot.

In February 2021 Texas froze for a week. Many of the models behind the grid, disaster planning and insurance treat each weather station, power plant and pipeline as if it operated on its own. The question that mattered was not how cold Dallas gets on average, but how often most of the state's major cities stay in their coldest tenth of winter nights for seven days running.

For a question like that, the independence assumption does not give an answer that is close enough. It gives one that is catastrophically wrong.

The first law

The pricing error grows exponentially with how many things have to go wrong at once.

R
How many times the standard model underprices the risk.
d
How strongly the parts depend on each other, typically 2 to 15.
n
How many things must go wrong together.

A gentle question, like the average temperature, barely notices the error. A severe one, like half the cities in their coldest tenth for a week, is off by about 12 million against a model that treats the cities as fully independent. Even models that capture half the dependence miss badly. One that knows the cities get cold together, but treats each day as unrelated to the next, is off by about 650×. One that knows cold lasts in each city, but treats the cities as unrelated to each other, is off by 40 to 60×. For Uri itself, the independent model expects an event that severe about once in 1034 winters. It happened once in seventy-four.

1 10 100 1,000 10,000 100,000 1M 10M 100M 1 2 3 4 5 6 7 STREAK LENGTH K (DAYS) HOW WRONG THE STANDARD MODEL IS (×, LOG SCALE) ×11 for every extra day
Each extra day of a cold streak multiplies the error by about 11. Texas cold, at least four of eight cities in their own coldest tenth of winter nights, 1990–2019, against a model that keeps each month's climate. The seven-day point rests on three episodes; over 1950–2023 the same test rests on twelve and gives about eight million.

The second law

The error is not constant. It builds during calm and collapses in a crisis.

Define distress as a fixed loss, such as a sector’s worst 10% of days over the whole record. In calm years almost nothing reaches that mark, so the few times sectors do fall together look like a freak coincidence to an independent model, and its error is largest exactly when markets look safest. In a crisis bad days are everywhere, so even independence expects many sectors to be down at once, and the ratio falls to about 1.

Twenty-seven years of S&P 500 sector data show this pattern. Across the three crises in the data (dot-com, 2008, COVID), the higher the ratio had climbed in the calm beforehand, the worse the crash. That is a small sample, and for dot-com the record starts too late to show the climb. Why the sectors keep moving together through calm is still open; one candidate is that calm rewards funds that move with the market. If the ratio were published, investors could respond to it, as long as they don’t all respond the same way.

Not every crash unfolds at the same speed. In 2008 the losses spread from sector to sector over sixty-nine trading days. In COVID every sector fell within a week. The book ties the difference to two ways markets move together, imitation and common knowledge, and argues that sudden crashes give no months-ahead warning in market behavior.

Calm → distress rare → error builds
Crisis → distress everywhere → error collapses
Recovery → calm returns → repeat

What else the data shows

Composition Chapter 7

How fast the error grows is a mix of how much comes from sites moving together and how much from conditions lasting: c = 0.47 + 0.60·cs + 0.51·ct.

It fits eleven domains, from weather and rivers to finance and epidemics (R² = 0.998, on the same data it was fitted to). Tested on eight domains it had never seen, rerun with the seasons held fixed, its predictions follow the measured growth closely (correlation 0.997) but run about 0.2 too high: the shape of the equation holds, the constant does not.

Estimated

Divergence Chapter 7

As the event you ask about gets rarer (its probability, q, falls), the error grows like q−γ, and γ is above 3 in every domain tested.

A Texas scan with the seasons held fixed confirms it. At five days the ratio is 6.5× when “extreme” means a city’s coldest quarter, about 100,000× for its coldest tenth and about 2.5 billion for its coldest 5%: an exponent of about 10 (about 15 at seven days).

Estimated

Dominance Chapter 7

Where stations move together more than days follow each other, the togetherness tends to drive the error; elsewhere persistence does.

As a strict rule it gets 5 of 9 domains right. As a ranking it works better: the rank correlation is 0.89 across eighteen domains and 0.79 on eight rerun with the seasons held fixed. A guide, not a verdict.

Estimated

Steady growth Chapter 7

With the seasons held fixed, each extra day multiplies the error by a nearly constant factor: across six weather settings the long-streak and short-streak growth rates agree within about 10%.

So d measured on short streaks predicts week-long ones within a factor of two. The speed-up seen in the first, season-blind runs came mostly from the seasons themselves.

Measured

Where the law stops. For switching costs, like ramping a plant up and down, independence overestimates and the ratio falls below 1 (the sign boundary, Chapter 6). And a model only has to be right over a window as long as the event being priced: a week for a week-long freeze, a season for a drought (the floor, Chapter 7).

Test it yourself

Forty lines. Your data. Two minutes.

The book's entire method fits in one short script. Point it at any matrix — weather stations, portfolio returns, sensor readings, hospital admissions — and it tells you how wrong the independence assumption is for your data. If the ratio is near 1, independence is fine. If it exceeds 10, your model is not adequate for severe questions. Copy this, paste it, and run it.

Python
import numpy as np, pandas as pd

def streak_cost(X, threshold, K, M):
    extreme = (X <= threshold).astype(int)
    bad_day = (extreme.sum(axis=1) >= M).astype(int)
    cost, run = 0, 0
    for t in range(len(bad_day)):
        if bad_day[t]: run += 1
        else:
            if run >= K: cost += run
            run = 0
    if run >= K: cost += run
    return cost

def shuffle_independence(X):
    X_null = X.copy()
    for j in range(X.shape[1]):
        np.random.shuffle(X_null[:, j])
    return X_null

def pricing_ratio(X, threshold, K, M, shuffle_fn, B=1000):
    real_cost = streak_cost(X, threshold, K, M)
    if real_cost == 0: return float('nan')
    null_costs = np.array([streak_cost(shuffle_fn(X), threshold, K, M) for _ in range(B)])
    mean_null = null_costs.mean()
    if mean_null == 0: return float('inf')
    return real_cost / mean_null

# --- Run it on public data (Fama-French 10 industry portfolios) ---
url = ("https://mba.tuck.dartmouth.edu/pages/faculty/"
       "ken.french/ftp/10_Industry_Portfolios_daily_CSV.zip")
df = pd.read_csv(url, skiprows=9, nrows=25000)
dates = df.iloc[:, 0]
df = df[(dates >= 19900101) & (dates <= 20191231)]
X = df.iloc[:, 1:].values / 100

threshold = np.quantile(X, 0.25, axis=0)
K, M = 5, 5  # 5 consecutive days, 5+ industries down

R = pricing_ratio(X, threshold, K, M, shuffle_independence)
print(f"Independence ratio: {R:.1f}x")

for K in [1, 2, 3, 5, 7]:
    R = pricing_ratio(X, threshold, K, M, shuffle_independence)
    print(f"K={K}: {R:.1f}x")

This downloads thirty years of daily returns for ten industry portfolios and asks: how often are at least five industries in their worst quarter simultaneously, for five or more consecutive days? The independent model says almost never. The data says hundreds of times more often.

Replace the data with yours. Change K and M. If your ratio climbs into the thousands, your model has the same error that put Texas in the dark.

Chapter 10 has the full version with persistence and synchronization ratios →

Inside the book

Five parts. Sixteen chapters.

Before

The prologue

  1. —How to Read This Book

    The argument in three sentences, four ways through the book (the short way, to test your own data, to check the claims, for the mathematics), and what the status tags on each section mean: Measured, Estimated, Derived, Hypothesis, Prediction.

    Read this chapter →
  2. —Prologue

    A 25.6-metre wave that the standard ocean models treated as far rarer than the sea should produce, and a week-long freeze in Texas that caught the grid unprepared. Both raise the same question about the assumption of independence, and that assumption is what this book sets out to test.

    Read this chapter →
Part I

The Error

  1. 1A Cold Week in Texas

    Eight Texas cities, thirty winters of daily lows, and one question: how often are half of them in their coldest tenth for days on end? Against a model that knows the seasons but treats the cities as independent, the answer is off by about 840× at three days, 100,000× at five and twelve million at seven. Forty earlier winters give the same orders of magnitude. Uri itself is something independence expects about once in 1034 winters; the 74-winter record has one.

    Read this chapter →
  2. 2Seven Days

    Duration is the weapon. One cold day is a nuisance, but seven in a row freeze pipes, drain gas pressure and take down power. A second shuffle test isolates how much of the error comes from cold days following cold days.

    Read this chapter →
  3. 3All at Once

    When one driver hits every part of a system at the same time, as the polar vortex did to Texas and Omicron did to American hospitals, the slack that was meant to be somewhere else is nowhere. A third test isolates that synchronization, and a diamond of four ratios splits the total error into factors.

    Read this chapter →
  4. 4Everything Breaks

    The Texas freeze was a weather event that became a power event, a gas event, a water event and a medical event. A model that prices each risk separately and adds them misses that the risks multiply.

    Read this chapter →
Part II

The Law

  1. 5dⁿ

    The law The same model and method give a pricing error anywhere from 1× to more than ten million, depending on the question and the data. It grows exponentially with how many things must go wrong at once. That is the law, R ≈ dⁿ. The chapter gives the arithmetic behind the exponent and ends with the law on an index card.

    Read this chapter →
  2. 6Where the Law Bends

    Edge cases The law has an edge and a worse side. For switching costs, like ramping a plant up and down, independence overestimates and the ratio falls below 1. Where the law holds, the dependence is stronger in the extreme than in the everyday, so the error grows faster than a single d predicts, and it has separate parts that a model fixing only one of them still misses. Copulas, the standard repair, fix the pairwise part and leave the rest.

    Read this chapter →
  3. 7Inside the Exponent

    What sets d? The growth rate is roughly a mix of a spatial part and a persistence part. The fit has R² of 0.998 across eleven domains, but it was fitted on those same domains, so the chapter also tests it on data it never saw. It then covers how the error diverges as events get rarer, which source dominates, why growth is nearly constant once the seasons are held fixed, and the “floor”: a model must be right over a window as long as the event being priced.

    Read this chapter →
  4. —The Product

    Why does the same law keep working? Independence means a product; a shared cause makes each factor wrong; and the product of n wrong factors is wrong by about dⁿ. The interlude gives the arithmetic, a lattice-cryptography case with the physical confounds stripped away, and the negative case: earthquakes on separate plates share no cause, and the ratio there is about 1.

    Read this chapter →
Part III

The Cost

  1. 8246

    Counting the cost. A risk assessed as 100,000 times too low makes any spending on winterization look pointless, and for an event as severe as Uri an independent model assigns, in effect, zero probability. The chapter asks, as an illustration, how much of the 246 deaths and $195 billion could be traced back to the pricing error, and shows that an insurer pricing with the independent model collects only a fraction of the real cost.

    Read this chapter →
  2. 9Where the Money Went

    Given $10 billion, what should a regulator fix first? The shuffles split the error into duration and spatial spread, so each part can be matched to a physical mechanism and a kind of fix. The Netherlands treats compound flooding as a planning problem.

    Read this chapter →
Part IV

The Fix

  1. 10Forty Lines

    The whole method as forty lines of Python, plus a short version that holds the seasons fixed and computes the independent model's expectation exactly. It computes the independence, persistence and synchronization ratios for any table of data and any cost function. If the ratio exceeds 10, the book says the independent model is not adequate. If you do not program, skip to the output.

    Read this chapter →
  2. 11What Else Is Mispriced

    The same code on twenty-eight datasets, from weather and rivers to finance, commodity futures, housing prices, traffic congestion, epidemics, earthquakes and drought, with the weather domains rerun so the seasons cannot inflate them: California heat reaches about fifty million at seven days. Commodity markets with independent supply fundamentals are mispriced by 2,300× at seven simultaneous drops. Housing across nineteen cities is mispriced by 2,000× at nine cities declining together. In about 33 hours of NYC traffic across twenty highway segments, simultaneous congestion runs up to 400× above independence, on thin data at that extreme. And earthquake co-occurrence across twelve distant seismic regions gives R ≈ 1, confirming the test does not manufacture dependence where none exists. Six further domains, from cybersecurity to schools, are labelled as predictions, not measurements.

    Read this chapter →
  3. 12Does It Hold Up?

    Could the result be an accident of the period, the seasons or the sample? Forty earlier winters reproduce the orders of magnitude, and the seasons inflate the light questions but not the severe ones. The dependence itself moves: over seventy-four winters the per-day growth of the Texas cold error roughly doubled (part of that may be better observations after 1979), while for equities it fell across decades. The chapter ends with where the framework stops.

    Read this chapter →
  4. 13The Next Model

    Not yet computed An AI safety evaluation is also a matrix. Each dangerous capability is tested on its own, but the risk is several at once for several turns in a row. The law predicts the independent check underestimates it by dⁿ. The chapter says plainly that the computation has not been done.

    Read this chapter →
Part V

The Cycle

  1. 14Charge and Discharge

    Measured against a fixed distress line, the pricing error builds during calm and collapses in crisis. Calm makes each sector’s distress rare while the sectors keep moving together, so the independence error is largest exactly when markets look safest. Across the three crises in 27 years of S&P 500 sector data, the higher the ratio had climbed in the preceding calm, the worse the crash, though the sample is small and the record starts too late to show the dot-com climb. Competitive selection for synchronized strategies is a candidate cause, not yet tested. A visible R gives the cycle a chance to break.

    Read this chapter →
  2. 15How Fast

    The discharge from Chapter 14 can take sixty-nine trading days or one. In the 2008 crisis, sectors cascaded one by one over three months; in COVID, all eleven sector ETFs hit their worst week within six days. The book traces the difference—roughly 20× in crash-timing dispersion—to two coupling channels: imitation (local, sequential) and common knowledge (global, simultaneous). Crash concentration—the fraction of total decline packed into the worst five days—separates gradual from sudden transitions with an effect size of 1.88 across twenty events in five domains, including Wikipedia pageviews. The chapter ends with a limit: no single early-warning system can catch every transition, because sudden ones give no months-ahead warning in behavior.

    Read this chapter →
  3. 16The Independence Trap

    Why does every institution rebuild the same wrong model after every disaster? Four interlocking forces maintain the independence assumption: the habit of decomposing risks into independent parts, which every quantitative training teaches, institutional structure that assigns each risk to a separate department, selection pressure that favors cheap O(n) models over expensive O(2n) ones, and ninety-one years of statistical methodology built on Fisher and Markowitz. Each force would be sufficient alone. Together they form a self-repairing trap: after every compound disaster, reform targets one force while the other three hold. The chapter closes with the legal doctrine of willful blindness: once dn has a number, continuing to use the independent model starts to look like a choice, not an accident.

    Read this chapter →
After

The reckoning

  1. —Epilogue

    Falsifiable prediction Why the law hid for ninety-one years, from Fisher's p-value in 1935 to Markowitz's choice of variance in 1952, and a prediction that can fail: if the next compound infrastructure failure shows the independent model off by less than 100×, the law is wrong. Then a harder finding: measured against fixed losses, the error builds during calm and collapses in crisis, and for sudden crashes market behavior gives no months-ahead warning. The cure the book proposes is one number on a screen.

    Read this chapter →
  2. —Notes on Sources

    Where the events, data and figures in each chapter come from.

    Read this chapter →
  3. —References

    The full reference list.

    Read this chapter →
  4. —Notation

    Every symbol in the book, in one table.

    Read this chapter →
  5. —The Ratios at a Glance

    The five ratios in one table: how each is computed, what its null keeps, what it destroys, and how they fit together in the diamond.

    Read this chapter →
  6. —Key Numbers

    The figures the book returns to most, with where each is established.

    Read this chapter →
  7. —Glossary

    Plain definitions of the book's terms, such as column shuffle, row shuffle, lag shift, pricing ratio, persistence and dependence strength, each with the chapter where it appears.

    Read this chapter →

Beyond the book

Policy briefs

Two short briefs apply the independence pricing error to real policy. The first tests it on fifty-four years of GDP data across twenty OECD countries. The second applies the coupling framework to a decade of Canadian governance and four historical parallels.

Read it here. It is free.

The whole book opens in this page, with search and a contents list, so there is nothing to download. Or take it with you.

The short version — the whole argument in one fifteen-minute scroll.