Chokepoint Data · the Strait of Hormuz crisis

Nothing moves this market except the market

Attack days move Brent ±3.4% — empty days move ±2.66%. No gap in size survives the arithmetic.

Published 2026-08-17 · analysis · figures through 2026-10-06, recomputed as data arrives

Null resultNothing anyone says or does moves oil more than an empty day of this crisis — the strait itself is the event, and it has already priced everything.

Who moves the price of oil — the ministers, the president, or the men firing the missiles? All 152 crisis trading days since 2026-02-28 sort into six mutually exclusive buckets by what happened into them: a headline event (25 days), an attack on shipping with nothing said (19 days), official statements and no attack (30 days), both at once (44 days), a minor recorded event (7 days), or nothing at all (27 days). Then Brent's next close, measured against the one before.

Days with an attack moved Brent a median ±3.4%. Days when nothing happened moved it ±2.66%. Statement days: ±2.74%, the empty-day number to within a rounding error. Even the 25 headline events — closure declarations, ceasefires, framework deals — print ±3.17%, 1.19× an empty day. Reshuffle the same days at random 20,000 times and gaps this size are routine: p = 0.389 for attacks, 0.941 for statements, 0.475 for the headline events, and those are before correcting for having run 7 such tests against one baseline.

A null result is not proof of no effect: with 19 attack days, an ordinary-sized effect would be invisible here even if it were real. What it does say is that nothing rises above the background — and the background is the finding. A day of this crisis with nothing recorded in it still swings ±2.66%, against ±1.28% across 1796 pre-crisis trading days since 2019. The empty days of this crisis are 2.1× a normal trading day. The strait is the event; the attacks and the announcements are texture on a price that has already repriced for permanent risk.

The largest gap on the page is the 44 days carrying an attack and official statements together: ±3.01%, 1.13× an empty day, p = 0.591. It does not survive being looked at properly. It is the smallest of 7 p-values computed here against the same baseline, and 0.998 once corrected for that — which is roughly what 7 attempts at a null produce. It also rests on very little: at 44 observations the median is a single order statistic, and dropping any one day moves p across 0.495–0.614. Either escalation that is both done and announced is the one thing the tape still notices, or violent days simply generate speeches; this cannot separate them.

Day typeDaysMedian movevs quiet dayp vs quiet
Major curated event25±3.17%1.19×0.47 (adj. 0.99, n.s.)
Attack, no statements19±3.4%1.28×0.39 (adj. 0.97, n.s.)
Statements, no attack30±2.74%1.03×0.94 (adj. 1.00, n.s.)
Both same day44±3.01%1.13×0.59 (adj. 1.00, n.s.)
Minor recorded event7±2.67%1×1.00 (adj. 1.00, n.s.)
Nothing recorded27±2.66%——
Any pre-crisis day (2019–26)1796±1.28%0.48×—

A per-speaker league table is the thing everyone asks for, and building it honestly mostly shows why it cannot exist yet. Attributing a day to an institution needs a clean day: it spoke, nobody else did, nothing was attacked, nothing else was recorded. Across 365 Iranian statements from 33 named individuals, that leaves 2 above the 5-day floor. The rest have one to four observations, which is a number, not a finding; they are greyed out rather than ranked. Every week the crisis runs, this gets less useless.

Institution (clean days only)DaysMedian movevs quiet dayp vs quiet
Trump9±3.28%1.23×0.54 (adj. 1.00, n.s.)
State media5±2.26%0.85×1.00 (adj. 1.00, n.s.)
Parliament (Majlis) (too few days)2±1.87%0.7×—
Government / presidency (too few days)1±0.66%0.25×—

One caveat that cuts against this article's own headline. Everything above measures the SIZE of moves, not their direction, and direction is the one place the data is not flat: on 9 clean Trump days Brent's median move is -2.12% — down on 6 of 9 — against -0.16% on empty days, p = 0.24. That is uncorrected for the several comparisons on this page and would not survive correction, and 9 days is far too few to trade on. It is reported because the same days give p = 0.543 on magnitude, and publishing only the test that agrees with the headline would be choosing the statistic that flatters the story.

† Method: each statement, post, attack and curated event is priced at the first Brent close that could have priced it — the first close on or after its date, or on or after the next day when it is timed at or after the 16:30 London assessment (a close that printed before a post cannot have priced it; items with no time use their date) — so Saturday news prices at Monday’s close and a Tuesday-evening post at Wednesday’s. Days, not utterances, are the unit — two ministers on one day is one observation. Event days are removed from the other classes first, at every tier: six tier-1 events appear in neither the statements nor the incidents file, and leaving them in the baseline would define "an empty day" using the crisis’s largest moves. Medians, not means. p-values are two-sided permutation tests (20,000 reshuffles, fixed seed) versus empty days; "adj." applies a Šidák correction for the number of comparisons run against that same baseline. With these sample sizes only large effects are detectable, so a high p means "not shown", never "not there". This is a conditional distribution of price moves, not a causal claim.

Open in the interactive site → · the feed · email me when something breaks

Computed, not asserted — every number here is derived from public data: official EIA Brent closes via FRED, IMF PortWatch transit counts, Polymarket and Kalshi odds, and source-linked curated events. Method and caveats · Atom feed · llms.txt

https://chokepointdata.com/analysis/words-versus-deeds/