Methodology
The thesis
Presidential rhetoric and diplomatic headlines are noisy signals — they are cheap to produce and often decoupled from what the parties actually do. Hormuz Signal instead watches the physical and financial plumbing of the conflict: whether commercial shipping still moves through the Strait of Hormuz and the Red Sea, whether China keeps buying discounted Iranian crude, and whether global oil and refined-product inventories keep tightening. These are costly signals — shippers, underwriters, and refiners reveal real expectations through where they send hulls and how they price risk.
How the score is computed
- Each indicator's latest value is converted to a raw stress reading relative to a peacetime baseline. For up-bad indicators (prices, rates, premiums, event counts) stress is
(value − baseline) / span; for down-bad indicators (transits, imports, inventories) it is(baseline − value) / span. - Raw stress is clamped to the 0–1 range and scaled to 0–100, where 0 means calm and 100 means maximum stress.
- The composite score is the weighted average of the normalized stresses. Indicators with no current data are excluded and the remaining weights are renormalized to sum to 1, so a missing feed never silently drags the score toward zero.
- The result is rounded to one decimal and mapped to a risk level.
Risk levels
| Level | Score range | Interpretation |
|---|---|---|
| Low | 0 – 19.9 | Shipping, energy flows, and event tempo near peacetime norms. |
| Guarded | 20 – 39.9 | Isolated stress in one or two series; the system retains ample buffer. |
| Elevated | 40 – 59.9 | Multiple series under stress; markets are pricing a meaningful risk premium. |
| High | 60 – 79.9 | Shipping constrained and inventories tightening; escalation is materially likely. |
| Severe | 80 – 100 | Broad-based disruption across shipping, energy, and conflict indicators. |
Indicators
Nine series, weighted by how directly they measure escalation pressure. Baseline is the peacetime reference value; span is the distance from baseline that maps to maximum stress.
| Indicator | Weight | Direction | Baseline | Span | Source |
|---|---|---|---|---|---|
Hormuz tanker transits Daily commercial vessel transits through the Strait of Hormuz (all vessel types, PortWatch n_total). A sustained drop means shipping is being constrained — the single most direct escalation signal. Baseline reflects the observed pre-war normal (~95-100/day, Feb 2026). transits/day | 22% | ↓ worse | 100.0 | 50.0 | IMF PortWatch (satellite AIS) |
Red Sea / Bab el-Mandeb transits Daily commercial transits through the Bab el-Mandeb strait (all vessel types, PortWatch n_total). Constraints here signal a widening regional shipping crisis (Houthi attacks, rerouting around the Cape). transits/day | 12% | ↓ worse | 55.0 | 30.0 | IMF PortWatch (satellite AIS) |
China imports of Iranian crude Chinese purchases of discounted Iranian crude, proxied by China's officially reported crude imports from Malaysia (the known relabelling channel — direct China–Iran reporting stopped in 2021). If Beijing keeps buying, Tehran retains its revenue lifeline; a collapse signals severe pressure and raises escalation risk. kb/d | 10% | ↓ worse | 1,400 | 700.0 | UN Comtrade public preview (China imports from Malaysia as relabelled-Iran proxy) |
US commercial crude stocks (excl. SPR) US commercial crude inventories. Tightening inventories mean the market has less buffer against a Gulf supply shock. mbbl | 10% | ↓ worse | 450.0 | 60.0 | EIA Weekly Petroleum Status Report |
US distillate fuel oil stocks US distillate (diesel/heating oil) inventories. Refined-product tightness amplifies any crude disruption. mbbl | 6% | ↓ worse | 118.0 | 30.0 | EIA Weekly Petroleum Status Report |
Brent crude front month Brent front-month price. A geopolitical risk premium building into prices reflects trader expectations of supply disruption. Span widened Sep 2026 ($120 → $150 cap) so a full-scale-war price regime still has headroom. USD/bbl | 14% | ↑ worse | 78.0 | 72.0 | Yahoo Finance (BZ=F) |
VLCC rate TD3C (MEG to China) Very Large Crude Carrier earnings on the Middle East Gulf to China route, from the CME-listed TD3C Baltic freight future (front month, Worldscale converted to USD/day). Spiking rates reflect scarcity of willing tonnage and rising risk. USD/day | 8% | ↑ worse | 45,000 | 55,000 | CME TD3C Baltic freight future (NYMEX:TL via TradingView scanner) |
Gulf war-risk insurance premium Additional war-risk premium charged for transiting the Gulf, as % of hull value. No public price series exists (quotes are bilateral), so the level is estimated from the Lloyd's Joint War Committee listed-areas status and war-risk coverage tempo, calibrated to press-reported quotes. Underwriters price danger before headlines do. Recalibrated Aug 2026 to the post-escalation market (quotes of 3–10%). % hull value | 10% | ↑ worse | 0.25 | 9.75 | Lloyd's JWC listed areas + GDELT coverage tempo (modelled estimate) |
Conflict coverage tempo, Gulf (7d) Trailing 7-day count of English-language conflict-related articles about the Gulf / Hormuz / Red Sea (GDELT timelinevolraw). A media-tempo proxy for conflict intensity, not an event count — used because it reacts within hours. Recalibrated Sep 2026 to the measured range (~1.9k calm-week floor, ~8.9k peak, Aug 2026); the original 25/55 calibration pinned the indicator at maximum stress permanently. articles | 8% | ↑ worse | 1,500 | 6,500 | GDELT |
Caveats
- Several series (tanker rates, war-risk premiums, Chinese imports of Iranian crude) have no free real-time public feed; they rely on proxies or periodic reporting and may lag events by days.
- Weights, baselines, and spans are analytical judgments, not fitted parameters. The score is a structured way to read the data, not a forecast.
- A 0–100 score implies false precision. Treat the level band and the trend of the components as the signal, not the decimal.