Chokepoint Data · the Strait of Hormuz crisis

Nothing moves this market except the market

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

Published 2026-08-11 · analysis

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? Every crisis trading day since 2026-02-28 is classified here by what happened into it: a headline event (19 days), an attack on shipping with nothing said (13), official statements and no attack (25), both at once (21), a minor recorded event (5), or nothing at all (30). Then Brent's next close, measured against the one before.

Days with an attack moved Brent a median ±2.04%. Days when nothing happened moved it ±2.45%. Statement days: ±2.52%, the empty-day number to within a rounding error. Even the 19 headline events — closure declarations, ceasefires, framework deals — print ±3.54%, 1.44× an empty day. Reshuffle the same days at random 20,000 times and gaps this size are routine: p = 0.878 for attacks, 0.927 for statements, 0.278 for the headline events, and those are before correcting for having run 6 such tests against one baseline.

A null result is not proof of no effect: with 13 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.45%, against ±1.28% across 1796 pre-crisis trading days since 2019. The empty days of this crisis are 1.9× 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 21 days carrying an attack and official statements together: ±4.78%, 1.95× an empty day, p = 0.083. It does not survive being looked at properly. It is the smallest of 6 p-values computed here against the same baseline, and 0.405 once corrected for that — which is roughly what 6 attempts at a null produce. It also rests on very little: at 21 observations the median is a single order statistic, and dropping any one day moves p across 0.02–0.2. 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 event19±3.54%1.44×0.28 (adj. 0.86, n.s.)
Attack, no statements13±2.04%0.83×0.88 (adj. 1.00, n.s.)
Statements, no attack25±2.52%1.03×0.93 (adj. 1.00, n.s.)
Both same day21±4.78%1.95×0.08 (adj. 0.41, n.s.)
Minor recorded event5±3.46%1.41×0.54 (adj. 0.99, n.s.)
Nothing recorded30±2.45%
Any pre-crisis day (2019–26)1796±1.28%0.52×

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 53 Iranian statements from 33 named individuals, that leaves exactly one 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
Trump10±3.5%1.43×0.44 (adj. 0.97, n.s.)
Parliament (Majlis) (too few days)2±1.87%0.76×
Government / presidency (too few days)1±0.66%0.27×

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 10 clean Trump days Brent's median move is -2.64% — down on 7 of 10 — against -0.1% on empty days, p = 0.099. That is uncorrected for the several comparisons on this page and would not survive correction, and 10 days is far too few to trade on. It is reported because the same days give p = 0.444 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 on or after its date, so Saturday news prices at Monday’s close. 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 this piece in the interactive site (charts, timeline, related events) →

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/