Methodology · method v0.1-test

How the numbers are made

Every price, fee and value on this site comes from the steps below. The method is the same for every viewer, and it is published so anyone can check it.

What Dodona Value is

Dodona Value is an estimate of what the remaining GPU-hours on a contract are worth to the holder today. It compares the contract price with the market price expected over the rest of the term, after region, hardware and the provider's credit. A positive value means the contract is cheaper than the market.

It is an estimate. It is not an appraisal, an offer to buy or sell, advice, or a rating. Every viewer sees the same number for the same inputs.

Inputs

Price index
The Ornn daily GPU rental index, about 90 days of daily points per GPU. Used here for demonstration only; not licensed for commercial valuation.
Forward price
Today's index grown at a drift, which is the average daily log return, annualised, clamped to ±30% and halved, because 90 days is weak evidence of a trend.
Volatility
Sampled weekly, taking every 7th index point back from the latest and the log returns between them, annualised with √52. The daily index mean-reverts, so daily returns would overstate term risk.
Basis
A multiplier for region (US East 1.00, US West 1.00, Europe 1.04) and hardware configuration (SXM with InfiniBand 1.00, PCIe 0.85). These are placeholders, not fitted values.
Provider credit
Worked out from the provider's bond price, where spread = (100 − price in cents) / 100 × 0.5 a year and hazard = spread / (1 − 40% recovery).
Discount rate
5% a year, continuously compounded.

The formula

The remaining window, from today or the start date to the end date, is cut at month boundaries. Each slice m has hours Hm (GPU count × hours in the slice) and a tenor tm in years to its midpoint.

F(t)  = S0 · e^(μ·t)                  forward from today's index S0
b     = region factor × config factor  basis
D_m   = e^(−0.05·t_m)                  discounting
Q_m   = e^(−h·t_m)                     provider survival
V     = Σ_m H_m · (F(t_m)·b − K) · D_m · Q_m

K is the contract price per GPU-hour. When the holder can cancel, each monthly term is floored at zero, because the holder walks away when the market is below K. The range shown beside a value recomputes V with the forward scaled down and up by eσ√t at the middle of the remaining window.

Cents on the dollar is (C + V) / C × 100, where C = Σ Hm · K is the cost still owed. Above 100 means the locked price beats the market. The 90-day history repeats the calculation on each past index date with that day's index, holding volatility and drift at today's values.

Lender marks on GPU fleets use the income approach. Rent at today's index × 24 × 30 hours × utilisation for each month of useful life left (48 months by default), discounted, plus a 10% residual. Loan-to-value is watched at 60% and flagged at 75%.

How caps are priced

A price cap is a call on the GPU-hour price over a window. The fee is priced with Black-76 on the forward for the window, with an adjustment for paying the average price over the window rather than a single day's price.

A cap settles on the average of the daily index over its window, not on any single day's price. This is an average-price option (traders call it an Asian option), the same basis as Kalshi's monthly markets and the planned ICE/Ornn monthly-average futures. For each GPU-hour, the holder pays the lower of the window average and the cap.

F     = S0 · e^(μ·t_mid)               forward at the window midpoint
t_eff = t_start + (t_end − t_start)/3  average-price adjustment, at least 1/52
d1    = [ln(F/K) + σ²·t_eff/2] / (σ·√t_eff)
d2    = d1 − σ·√t_eff
Call  = e^(−r·t_end) · [F·N(d1) − K·N(d2)],   r = 5%
Floor = Call − e^(−r·t_end) · (F − K)       put-call parity

The fee per GPU-hour is rounded up to the cent, with a one-cent minimum. A fixed price (a lock) is the forward plus a 2% provider margin, with no fee. The quote also shows a $2 booking fee, the most you would pay if you use the hours (cap price × hours) and the window average above which the cap pays off (cap price + fee). Dodona's platform fee is 15% of the cap fee and is shown inside it. Volatility and drift come from the same series and the same steps as Dodona Value, so a quote and a valuation agree on the market.

Public pages show the Ornn index and the status of compute futures only. Inside the signed-in dashboard, a market strip also shows what Kalshi's public prices imply for the monthly average B200 and H100 price in three views. One is a bracket from bids and asks at 50 cents, another a median from quotes with a bid-ask spread of 20 cents or less, and the third a median from last trades with their trade date. Each view reads an "above $X" price as the chance the month settles above X, keeps that chance from rising with X, and interpolates where it crosses 50%. The figures are fetched live, held in memory for ten minutes, never stored, and not used in any value or quote.

Versioning

Each number states its method version (today v0.1-test for values and black76-asian-v0 for caps) and the index as-of date. Before launch, each published number will also carry a hash of its inputs, so the same inputs always reproduce the same number. Method changes get a new version and are announced on this page before they apply. Past numbers are not restated silently.

Limits

Data rights

Ornn index data and Kalshi public prices are used here for demonstration only. Neither is licensed to Dodona for commercial valuation. A data licence is needed from each source before any of these numbers are sold, published commercially or used to settle a contract.

Contact

Questions about the method, or a number that looks wrong? Send us a message. dodonamarkets@gmail.com