Backtest · modelled clearing prices

What a hedge would have done

69 weeks of H100 prices, hedged and unhedged. Clearing prices are modelled; the rule is set out below the chart.

Weeks whose average stayed inside the band68 of 69Modelled
Surprise per week, unhedged → hedged (std dev)$184.72 → $32.37Modelled
Surprise variance removed96.9%Modelled

A buyer of 1,344 GPU-hours a week, 2025-04-14 to 2026-11-02, at a clearing price equal to the anchor (modelled; nobody traded these weeks).

Hedged and unhedged, per GPU-hour, week by week

A band of 15% either side of the anchor, clearing at the anchor (modelled)

Average stayed inside the band in 68 of 69 weeks

What hedging changed, for a buyer of 1,344 GPU-hours a week

Std dev of the surprise, unhedged$184.72/weekModelled
Std dev of the surprise, hedged$32.37/weekModelled
Surprise variance removed96.9%Modelled
Hedged minus unhedged, whole sample-$2,624.19Modelled
Dollars locked per week, mean$601.55Modelled

The surprise is the part of a week’s bill not known when the auction opened. All figures are modelled at a clearing price equal to the anchor; the sensitivity table below moves it.

Not covered: 2026-06-01 (average $3.250, band $2.256 to $3.050). Above the cap the buyer paid the market again.

The rule

Index
H100 on-demand composite, USD per GPU-hour
Data
2025-04-01 to 2026-11-10; 536 days with an index value, 204 without (never filled)
Weeks
69 kept of 82 candidate Mondays; 13 dropped (8 stale anchor, 5 few prints)
Band
15% of the anchor either side. anchor = last daily index print; mid = anchor rounded down to tick; half = anchor * the band's share rounded down to tick; floor = mid - half; band = 2 * half; cap = floor + band
LONG price p
LONG price p = half, so the forward floor + p equals mid (the anchor on the tick grid). This is modelled: nobody traded these weeks.
Cost
unhedged weekly cost = fixing * the hours used a week (the buyer pays the index every hour, so the week's average price is the fixing); hedged = (fixing - LONG payout + p) * the hours used a week Usage: 1,344 GPU-hours a week.
Not modelled
no real order flow; asks and rate cards, not trades; sample length; provider survivorship and composition; gaps; daily prints, not the on-chain cadence; usage and fees; hyperscalers are excluded from the index. Caveats in full

Coverage by band width

Share of weeks whose average stayed inside the band, with a 95% Wilson interval
Band, either sideInsideAbove capBelow floorShare95% interval
10%64 of 695092.8%84.1% to 96.9%
15%68 of 691098.6%92.2% to 99.7%
20%68 of 691098.6%92.2% to 99.7%
25%69 of 6900100.0%94.7% to 100.0%
30%69 of 6900100.0%94.7% to 100.0%
40%69 of 6900100.0%94.7% to 100.0%

If the auction had cleared elsewhere

Forward price set at the anchor times (1 + shift). Positive: buyers paid up to hedge.
Forward vs anchorBuyer hedged totalHedged minus unhedgedSurprise sd, hedged
-5.0%$263,417.28-$16,445.89$43.07
-2.0%$271,716.48-$8,146.69$34.92
0.0%$277,238.98-$2,624.19$32.37
+2.0%$282,761.47$2,898.30$32.85
+5.0%$291,121.15$11,257.98$38.80

Every week

Table of 69 weeks
USD per GPU-hour. Hedged is modelled at a clearing price equal to the anchor.
WeekAnchorFloorCapAverageHedgedDiffBand
2025-04-14$2.970$2.525$3.415$2.970$2.970noneinside
2025-04-28$2.970$2.525$3.415$2.970$2.970noneinside
2025-05-05$2.970$2.525$3.415$2.970$2.970noneinside
2025-05-12$2.970$2.525$3.415$2.970$2.970noneinside
2025-05-19$2.970$2.525$3.415$2.970$2.970noneinside
2025-05-26$2.970$2.525$3.415$2.970$2.970noneinside
2025-06-02$2.970$2.525$3.415$2.970$2.970noneinside
2025-06-09$2.970$2.525$3.415$2.970$2.970noneinside
2025-06-16$2.970$2.525$3.415$2.970$2.970noneinside
2025-06-30$2.970$2.525$3.415$2.970$2.970noneinside
2025-07-14$2.970$2.525$3.415$2.746$2.970$0.224inside
2025-07-21$2.820$2.397$3.243$2.727$2.820$0.093inside
2025-08-04$2.820$2.397$3.243$2.733$2.820$0.087inside
2025-08-18$2.690$2.287$3.093$2.746$2.690-$0.056inside
2025-09-01$2.820$2.397$3.243$2.788$2.820$0.032inside
2025-09-08$2.690$2.287$3.093$2.716$2.690-$0.026inside
2025-09-22$2.690$2.287$3.093$2.801$2.690-$0.111inside
2025-09-29$2.820$2.397$3.243$2.764$2.820$0.056inside
2025-10-06$2.820$2.397$3.243$2.746$2.820$0.074inside
2025-10-13$2.690$2.287$3.093$2.712$2.690-$0.022inside
2025-10-20$2.820$2.397$3.243$2.764$2.820$0.056inside
2025-10-27$2.690$2.287$3.093$2.746$2.690-$0.056inside
2025-11-03$2.820$2.397$3.243$2.764$2.820$0.056inside
2025-11-10$2.690$2.287$3.093$2.709$2.690-$0.019inside
2025-11-17$2.820$2.397$3.243$2.734$2.820$0.086inside
2025-11-24$2.690$2.287$3.093$2.780$2.690-$0.090inside
2025-12-01$2.670$2.270$3.070$2.714$2.670-$0.044inside
2025-12-08$2.820$2.397$3.243$2.721$2.820$0.099inside
2025-12-15$2.690$2.287$3.093$2.712$2.690-$0.022inside
2025-12-22$2.820$2.397$3.243$2.682$2.820$0.138inside
2025-12-29$2.690$2.287$3.093$2.639$2.690$0.051inside
2026-01-05$2.690$2.287$3.093$2.639$2.690$0.051inside
2026-01-12$2.670$2.270$3.070$2.690$2.670-$0.020inside
2026-01-19$2.670$2.270$3.070$2.655$2.670$0.015inside
2026-01-26$2.653$2.256$3.050$2.634$2.653$0.019inside
2026-02-02$2.390$2.032$2.748$2.658$2.390-$0.268inside
2026-02-09$2.690$2.287$3.093$2.743$2.690-$0.053inside
2026-02-16$2.653$2.256$3.050$2.682$2.653-$0.029inside
2026-02-23$2.690$2.287$3.093$2.687$2.690$0.003inside
2026-03-02$2.671$2.271$3.071$2.669$2.671$0.002inside
2026-03-16$2.671$2.271$3.071$2.820$2.671-$0.149inside
2026-03-30$2.820$2.397$3.243$2.777$2.820$0.043inside
2026-04-06$2.820$2.397$3.243$2.881$2.820-$0.061inside
2026-04-13$2.820$2.397$3.243$2.964$2.820-$0.144inside
2026-04-20$2.970$2.525$3.415$2.959$2.970$0.011inside
2026-05-04$2.970$2.525$3.415$2.690$2.970$0.280inside
2026-05-18$2.801$2.381$3.221$2.674$2.801$0.127inside
2026-05-25$2.653$2.256$3.050$2.929$2.653-$0.276inside
2026-06-01$2.653$2.256$3.050$3.250$2.853-$0.397outside
2026-06-08$2.950$2.508$3.392$3.259$2.950-$0.309inside
2026-06-15$3.250$2.763$3.737$3.267$3.250-$0.017inside
2026-06-22$3.250$2.763$3.737$3.253$3.250-$0.003inside
2026-06-29$3.270$2.780$3.760$3.256$3.270$0.014inside
2026-07-13$3.270$2.780$3.760$3.273$3.270-$0.003inside
2026-07-27$3.290$2.797$3.783$3.231$3.290$0.059inside
2026-08-03$3.250$2.763$3.737$3.324$3.250-$0.074inside
2026-08-10$3.250$2.763$3.737$3.373$3.250-$0.123inside
2026-08-17$3.290$2.797$3.783$3.331$3.290-$0.041inside
2026-08-24$3.570$3.035$4.105$3.364$3.570$0.206inside
2026-08-31$3.290$2.797$3.783$3.379$3.290-$0.089inside
2026-09-07$3.270$2.780$3.760$3.413$3.270-$0.143inside
2026-09-14$3.370$2.865$3.875$3.461$3.370-$0.091inside
2026-09-21$3.370$2.865$3.875$3.470$3.370-$0.100inside
2026-09-28$3.670$3.120$4.220$3.651$3.670$0.019inside
2026-10-05$3.520$2.992$4.048$4.023$3.520-$0.503inside
2026-10-12$3.913$3.326$4.500$4.139$3.913-$0.226inside
2026-10-19$4.048$3.441$4.655$4.183$4.048-$0.135inside
2026-10-26$4.193$3.565$4.821$4.259$4.193-$0.066inside
2026-11-02$4.090$3.477$4.703$4.178$4.090-$0.088inside

What this does not show

  • No real order flow. Nobody traded these weeks. The clearing price is assumed (at the anchor, or shifted ±2% and ±5%); a real auction could clear further away, or not at all in a quiet week.
  • Asks and rate cards, not trades. The index is the median of providers' posted on-demand prices. Posted prices are sticky: a provider can keep a list price for months while discounts, availability and negotiated deals move underneath. Low measured volatility partly reflects that stickiness, not a calm market. Where it overlaps (91 days from 2026-08-12) the composite sits on average 28% above Ornn's transaction-based H100 index (data/derived/validation.json): this is a list-price index, and a fixing on transaction prices would sit elsewhere and might move differently.
  • Sample length. The sources reach back to 2024-11-01, but before 2025-04-01 fewer than 4 market providers are in the data, so the index (and the backtest) covers 2025-04-01 to 2026-11-10: 69 usable weeks, one gentle decline and one sharp rise. The 2024 to early-2025 price fall is not in the sample. Tail estimates (the 95% band) rest on a handful of weeks.
  • Provider survivorship and composition. The composite uses whoever is in the sources on a day: the set changed on 243 index days. Providers enter (Akash from 2025-07, Cudo and Vast.ai from 2026-01, others in 2026-10) and change their SKU mix; the median can step when the set changes, without any provider changing price. Providers that left the market before or during the window are not represented.
  • Gaps. Days without at least 4 providers have no index value and are never filled. Weeks with fewer than 4 daily values or a stale anchor are dropped, and dropped weeks may not be random (scrapes fail more often when things change).
  • Daily prints, not the on-chain cadence. The contract may print more often than once a day; one daily snapshot is a coarse stand-in, taken at whatever hour the source ran.
  • Usage and fees. Flat usage of 8 GPUs every hour; no auction fees or forfeits, no cost of locked capital. Weeks with too few prints are dropped, not settled as void (spec 0.5 unwinds a void series at its auctions' average traded price, and there are no trades here to compute one).
  • Hyperscalers are excluded from the index. and appear only in the basis-risk table.

Figures from Weir’s backtest of its own index on public provider prices, as of Fri 13 Nov, 08:08 UTC, when this page was published; the rule is set out above.