Chokepoint Data · the Strait of Hormuz crisis

Nothing moves this market except the market

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

Published 2026-08-17 · analysis · figures through 2026-09-29, 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 147 crisis trading days since 2026-02-28 sort into six mutually exclusive buckets by what happened into them: a headline event (20 days), an attack on shipping with nothing said (18 days), official statements and no attack (48 days), both at once (27 days), a minor recorded event (5 days), or nothing at all (29 days). Then Brent's next close, measured against the one before.

Days with an attack moved Brent a median ±3.65%. Days when nothing happened moved it ±2.75%. Statement days: ±2.61%, the empty-day number to within a rounding error. Even the 20 headline events — closure declarations, ceasefires, framework deals — print ±3.36%, 1.22× an empty day. Reshuffle the same days at random 20,000 times and gaps this size are routine: p = 0.355 for attacks, 0.823 for statements, 0.342 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 18 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.75%, 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 27 days carrying an attack and official statements together: ±3.88%, 1.41× an empty day, p = 0.289. It does not survive being looked at properly. It is the smallest of 7 p-values computed here against the same baseline, and 0.908 once corrected for that — which is roughly what 7 attempts at a null produce. It also rests on very little: at 27 observations the median is a single order statistic, and dropping any one day moves p across 0.297–0.405. 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 event20±3.36%1.22×0.34 (adj. 0.95, n.s.)
Attack, no statements18±3.65%1.33×0.35 (adj. 0.95, n.s.)
Statements, no attack48±2.61%0.95×0.82 (adj. 1.00, n.s.)
Both same day27±3.88%1.41×0.29 (adj. 0.91, n.s.)
Minor recorded event5±2.67%0.97×1.00 (adj. 1.00, n.s.)
Nothing recorded29±2.75%——
Any pre-crisis day (2019–26)1796±1.28%0.47×—

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 299 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.19×0.52 (adj. 0.99, n.s.)
State media21±2.41%0.88×0.72 (adj. 1.00, n.s.)
Parliament (Majlis) (too few days)2±1.87%0.68×—
Government / presidency (too few days)1±0.66%0.24×—

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.04% on empty days, p = 0.241. 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.519 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/