For Agents
The verified, FREE, no-auth IMF PortWatch dataset that settles every Hormuz ship-count market (see hormuz-bet-resolution-mechanics). ArcGIS FeatureServer with daily transit counts by vessel type for the Strait of Hormuz (portid = chokepoint6) from 2019-01-01 to present. This is the primary data source for the whole project (Phase 1 models this series directly). Refreshed roughly weekly (Tuesdays); ~4-day processing lag. Verified live as of 2026-06-07.
The settlement data source. IMF PortWatch publishes the daily ship-transit count for the Strait of Hormuz that these markets resolve on, and the same series is queryable for free with full history back to 2019.
The Endpoint (verified live, free, no auth)
ArcGIS FeatureServer query endpoint:
https://services9.arcgis.com/weJ1QsnbMYJlCHdG/arcgis/rest/services/Daily_Chokepoints_Data/FeatureServer/0/query
- Filter the Strait of Hormuz with
portid = chokepoint6(itsportnameis “Strait of Hormuz”). - Standard ArcGIS query params apply:
where,outFields,orderByFields,resultOffset,resultRecordCount,f=json(orf=geojson). - No API key / no auth required. Verified returning live data on 2026-06-07.
- Also exportable as CSV / GeoJSON from the dataset id
42132aa4e2fc4d41bdaf9a445f688931.
Fields
Daily counts by vessel type, plus capacity (tonnage) proxies and date parts.
| Field | Meaning |
|---|---|
portid | chokepoint6 for the Strait of Hormuz |
portname | ”Strait of Hormuz” |
date | daily timestamp (plus year, month, day parts) |
n_total | total ships transiting that day (the headline count) |
n_tanker | tankers |
n_cargo | cargo (aggregate) |
n_container | container ships |
n_dry_bulk | dry bulk carriers |
n_general_cargo | general cargo |
n_roro | roll-on/roll-off |
capacity_* | tonnage-capacity proxies per the same vessel-type breakdown |
ObjectId | ArcGIS row id |
Which field settles the market
The markets resolve on transit calls = the daily total ship count (
n_total-equivalent). The per-type splits and capacity fields are useful covariates for modelling/nowcasting but are not themselves the settlement quantity.
History and Pagination
- History: daily from 2019-01-01 to present. This is what makes the backtest possible (see hormuz-bet-backtesting).
- Pagination: the layer caps 1000 records per call. Page through history with
resultOffset(andresultRecordCount), ordering bydate. - For a single chokepoint, ~6.5 years of daily data is a few thousand rows, so a handful of paged calls pulls the entire Hormuz series.
Publication Cadence and Lag
Cadence is high-confidence, NOT verbatim from the source
The refresh schedule below is secondary-sourced, not read verbatim from the JS-rendered PortWatch page. Treat as high-confidence-but-unverified and re-confirm empirically by polling the FeatureServer
date/max(date)over a few weeks before trusting it for execution timing.
- Refreshed roughly WEEKLY, around Tuesdays ~09:00 ET.
- ~4-day processing lag between a calendar day and its value appearing.
- A given date is treated as finalized once the NEXT day value publishes (the last available day can still revise).
Why cadence matters for the strategy
Phase 1 (model the published series) only needs the history. Phase 2 (predict the number before publication) lives or dies on this schedule: the edge is nowcasting Tuesday number on Monday. The weekly publication boundary is the event the Phase-2 play trades around. See hormuz-bet-ais-providers for the leading-indicator feed.
Provenance
- Built by the IMF in partnership with the University of Oxford (Environmental Change Institute).
- Derived from satellite + terrestrial AIS covering ~90,000 ships.
- UN Global Platform lineage is likely but unconfirmed verbatim — flag before citing as fact.
PortWatch itself warns the counts can be distorted
PortWatch documentation cautions that counts may be affected by AIS jamming, spoofing, and dark vessels — which is exactly the Strait of Hormuz situation right now. This is a property of the settlement series itself, not just of third-party feeds. See hormuz-bet-basis-risk.
Current Regime (as of 2026-06)
The series is highly non-stationary right now. In the current wartime regime, n_total runs roughly 3-10 ships/day (May 2026) versus ~55-75/day in 2019. Any model or backtest must treat this as a structural regime break, not noise; do not blend pre-war and wartime data naively.
The March-2026 collapse may be partly a DATA-FEED degradation, not a real event (flag, 2026-06-09)
n_totaldropped ~90% on 2026-03-01 (from ~90–130/day to 3–17/day) and stayed low through May. But independent Global Fishing Watch vessel-presence did NOT collapse the same way over that window. So PortWatch’s recent very-low counts may be partly artifactual — an AIS-ingestion / feed degradation, not a fully real transit collapse. This (a) muddies the “wartime low-count regime” framing above and in hormuz-bet-basis-risk, and (b) makes the settlement target even noisier to predict (you’d be partly modelling a feed artifact). Discovered while testing GFW as a proxy — re-check before trusting any historical low-count window. Detail in hormuz-bet-strategy-c-shelved.
Related
- hormuz-bet — project index.
- hormuz-bet-resolution-mechanics — how this series settles each market.
- hormuz-bet-basis-risk — settlement-series distortions (jamming/spoofing/dark vessels); why this IS the right source despite them.
- hormuz-bet-backtesting — using the 2019-to-present history to reconstruct past resolutions.
- hormuz-bet-ais-providers — Phase-2 leading-indicator feeds to nowcast the next published number.