BenchmarkWETGRImethodology v2.0

W.E.T. Geopolitical Risk Index

A severity-weighted, cross-venue benchmark of the adverse geopolitical outcomes prediction markets are pricing.

Latest print
110.13
WET Close 2026-09-08
Change
+0.17
vs the prior print
Days settled
32
unattended daily settlement
Constituents
99
all confirmed
Known limitations of the current print
  • Every one of the 99 constituents is priced from a single venue. No cross-venue consolidation takes place in this index today — each consolidated price is one venue's price. The formula below is unaffected; what it consumes is a single-venue mid, not a reconciled one.
Settlement provenance
engine wet-engine/v1
rubric gpr-adapted/v1
classifier severity-rules/v2
methodology v2.0
checksum c65ce059b6c817e71293be62ad58a76e
The thesisBenchmarkDraftv1-draft

Prediction markets are pricing elevated adverse geopolitical outcomes — conflict, escalation and sanction risk — across venues.

When the reading is invalid
  • Fewer than 5 admitted constituents live — the day publishes no value rather than a number (published minimum).
  • Weight coverage below the published 95% floor — a gauge computed over whichever subset the venues served is a differently-composed index wearing the same ticker, and none is printed.
  • Loss of the disclosed venue base: every constituent that classifies as geopolitical under the published rubric lists on Polymarket Global, and the index would not exist without it (published venue-whitelist disclosure).

No defined evaluation event exists in the published methodology — this is a continuous index. Per WET-LOGIC §11.1 it is tracked for movement and never scored as a resolved forecast.

The W.E.T. Geopolitical Risk Index (WETGRI) is a severity-weighted, cross-venue benchmark of the adverse geopolitical outcomes prediction markets are pricing.

Methodology version v2.0 · rubric gpr-adapted/v1

The formula

R = 100 · Σ wᵢ sᵢ pᵢ / Σ wᵢ sᵢ

where pᵢ is the consolidated cross-venue probability of constituent i, sᵢ its severity multiplier, and wᵢ its weight on the two-sided-resting-depth/v1 basis. The 15% cap is enforced on the effective weight eᵢ = wᵢsᵢ / Σ(w·s) — the vector this average is actually taken over — not on wᵢ alone. See What the weights are made of below.

Severity enters both numerator and denominator, which makes R a severity-weighted mean probability rather than a severity-weighted sum. The distinction is load-bearing: a board of only-diplomatic markets all priced at 60% reads 60, not 12. The index reports how much of the risk it watches is priced — not how dangerous its watchlist happens to be.

R is the gauge, and it is not the headline number. R is on a 0–100 scale; the chaining basis is R/100, and the published level is that basis divided by the divisor described under Continuity below — level = (R / 100) / divisor. So a reader who applies the formula above to the published constituents gets the gauge and not the level: on the 2026-09-08 close, 40.4587 against a printed 110.13. (Dividing R by the divisor without first scaling by 100 gives a number a hundred times the level, which is the arithmetic slip this sentence previously made.) Both are now published on every settlement row (gauge beside value), and the section below states which is which and which one to quote. Saying only one of them was a defect in this page, not in the number.

Venue admission — and a disclosure that matters

Eligibility normally requires a CFTC-regulated venue. WETGRI admits one venue beyond that default, under §3.3's "venue whitelist per methodology":

Polymarket Global is admitted by methodology, and it is NOT CFTC-regulated — it is an offshore, on-chain exchange.

The reason is measured, not preferred. Of 4,070 contracts in the politics pool on 2026-08-03, every single one that classifies as geopolitical under the published rubric — 152 of them — is listed on Polymarket Global. Kalshi contributes zero and Gemini zero; their politics coverage is domestic (nominations, impeachment) rather than conflict. A CFTC-only WETGRI is therefore not a thinner index — it is an empty one, and publishing insufficient data in perpetuity would tell a reader less than disclosing the venue does.

The whitelist is recorded on every settlement row, so no reader has to take this page's word for which venues produced a number. It is reviewable through the consultation process, and the honest summary is that WETGRI today measures a market that mostly trades offshore.

Consolidated pricing

Each constituent's probability is the liquidity- and tightness-weighted mean of every eligible venue quoting it, decayed by staleness:

p = Σ_v (w_v · mid_v) / Σ_v w_v,   w_v = f(depth, volume, spread) · e^(−Δt/λ)

depth is an argument of that weight function that is EMPTY on every published value. The settlement path supplies no resting size, so the depth term contributes nothing and the weight that has actually executed on every close is the volume-and-tightness one. This is disclosed in full, with the divergence worked from the engine, under Parameters in force → What the weights are made of below; it is flagged here because this is the section a reader stops at, and a formula naming an input the desk does not supply is the same defect as a formula with the wrong constant in it.

A quote with no two-sided book, or a spread beyond the quality threshold, is excluded rather than down-weighted — it is not a price. Venues far from the consensus are trimmed by median absolute deviation. A price that moved hard on trivial size is rejected as a thin-book anomaly before weighting, so a manipulated venue with deep historical volume cannot arrive pre-trusted. Constituents priced from a single venue are flagged on every settlement row.

The severity rubric

Fixed, published and versioned. Changeable only through the consultation process — never by editorial discretion at compute time. Adapted from the eight-category taxonomy of the Geopolitical Risk index of Caldara & Iacoviello (Federal Reserve Board, Measuring Geopolitical Risk, American Economic Review 2022) and their split between threats and realised acts. We take their category structure; we do not take their inputs — GPR counts newspaper mentions, this reads market prices.

Class s Label Adapted from Scope
act-war 1.00 Act of war GPR "Beginning of War" + "Escalation of War" A state-on-state armed conflict beginning, widening, or a named territory changing hands by force. The reference class the scale is anchored to.
nuclear 0.90 Nuclear GPR "Nuclear Threats" Nuclear use, testing, or explicit deployment/alert changes. Weighted near the top even when only threatened, because the severity distribution has no comparable tail.
act-terror 0.85 Act of terror GPR "Terror Acts" A realised mass-casualty attack by a non-state actor.
act-military 0.70 Military action GPR acts family, below declared war Realised force short of a war beginning: airstrikes, incursions, blockades, naval interdiction, drone strikes, hostage seizure.
threat-war 0.50 War threat GPR "War Threats" Explicit threat or credible imminence of armed conflict, including ultimatums and troop-movement deadlines, before any force is used.
buildup 0.40 Military buildup GPR "Military Buildups" Mobilisation, force concentration, basing changes, major armament transfers.
threat-terror 0.35 Terror threat GPR "Terror Threats" Credible threatened attack by a non-state actor, absent a realised event.
sanctions 0.30 Economic coercion GPR-adjacent; policy-uncertainty lineage (Baker–Bloom–Davis EPU) Sanctions, export controls, asset seizure, tariffs imposed as geopolitical instruments.
diplomatic 0.20 Diplomatic rupture GPR-adjacent, below the threat tiers Treaty withdrawal, expulsions, recognition changes, collapse of negotiations.

De-escalation is an orientation, not a class. A ceasefire market is included oriented 1−p and carries the severity of the conflict it would end. Giving it its own low multiplier would shrink the index every time peace became likelier — when a collapsing ceasefire should raise the gauge with the full weight of the war it fails to stop.

Classification

Deterministic and published: given the same market text the classifier returns the same class forever, which is what lets a past settlement be challenged. Rules are evaluated most-severe first, and ambiguity resolves upward by design — under-weighting a realised act is a worse error for a risk gauge than over-weighting a threat. A market matching no rule is not classified and therefore not eligible; guessing would put an arbitrary multiplier into a published formula.

Each constituent records the rule that classified it, so the decision is challengeable rather than asserted.

Continuity

Event contracts resolve and vanish, and a benchmark cannot jump when they do. Composition changes adjust the divisor, never the printed level:

L_t = V_t / D_t,   D_new = D_old · V_new / V_old

At a reconstitution the prior composition is valued at today's prices, so the divisor absorbs only the composition change and never a market move. V_t here is R/100 — the gauge above is the basis the level is chained from, and there is exactly one place a level can come from.

There is no factor of 100 in the level formula, because V_t already carries it. The scaling happens once, where the gauge becomes the chaining basis (V_t = R/100), and applying it a second time here is the same hundred-fold slip the Construction section above warns about — stated twice on one page, it would have been wrong in one of the two places. Worked from the live row below, and from the engine: levelFrom(value, divisor) = value / divisor, with value handed to it as rawValue / 100.

Worked on the 2026-09-08 close, from that row:

V_t = R / 100 = 40.4587 / 100 = 0.404587
L_t = V_t / D_t = 0.404587 / 0.0036735599704578546 = 110.1349
published level:                                    110.13

A formula carrying a second factor of 100 would return 11013.49 on this same row — a hundred times what was published.

Gauge and level — two numbers, and which one to quote

Every settlement row publishes both, because they answer different questions and only one of them is quotable as "the index".

value — the level gauge — the spot reading
What it is R chained through the divisor R itself, index points on a 0–100 scale
Base 100 at inception none — it is a level-free reading
Reads as "risk priced is x% above where it stood at inception" "this share of the severity-weighted risk we watch is priced"
Comparable across a reconstitution yes — that is what the divisor is for no — it moves for price and membership at once
Recomputable from one row no — needs the divisor's whole history yes — from that row's own constituents

Do not substitute one for the other. The gauge is not the level and the level is not a probability. value is the divisor-chained level (base 100 at inception) and is the number to cite: it is the only one of the two comparable across a change of composition. gauge is the spot severity-weighted mean probability R = 100·Σwᵢsᵢpᵢ / Σwᵢsᵢ that the level is chained from — recomputable from this row's own constituents, but it moves for both price and membership reasons at once and cannot say which. Neither number is the probability of a geopolitical event.

The two are also related by an identity a reader can check: R = 100 · value · divisor. It is worked below from the live row, not from a remembered constant:

100 × 110.13 × 0.0036735599704578546 = 40.456916
stored gauge: 40.4587

The gap is 0.001784, inside the 0.001837 that the level's two-decimal rounding allows (±0.005 on value scales to ±0.5 · divisor on R). The identity holds.

Do not apply this identity across the re-inception. The rows of the retired v1 series archived at content/indices/benchmarks/retired-v1-2026-08-05/ were produced by a construction this page no longer describes, and one of them — the superseded 2026-08-03 print — chained off a functional that was not the severity-weighted gauge at all, so the identity returns a third number on it that is neither the level nor any gauge. Those rows are kept as the record of what was published, not as inputs to a check the current construction defines. See The 2026-08-05 re-inception below.

The gauge is additive disclosure, not a change to the number: the checksum covers slug, date, value, divisor, composition digest and the previous checksum, and a row field outside that set cannot reach it. Publishing a quantity the engine already computed is not a material change and did not require the 14-day consultation. The level's primacy is part of that undertaking — if the gauge were ever moved into the headline slot, that would change the interpretation of every quoted value and would be material.

Adapted from PMF Finance, Stability Index Methodology §11, which publishes a spot gauge beside a continuity level and tells readers not to substitute one for the other.

Governance

This is a benchmark, not a slate — the governed class. It carries versioned methodology, a published rulebook and an immutable track record.

Standing disclosure: the independent committee seat is currently vacant, so the administrator is the sole decision-maker on methodology changes. This is stated here rather than omitted.

Parameters in force

Every threshold in the three sections below was already binding on every print in the ledger. Each is read at render time from the constant the settlement code imports — eligibility/v1 defaults, the consolidation policy, this benchmark's own definition — so this page cannot describe a number the engine does not enforce, and a constant that moves moves here on the next render.

Disclosure expanded 2026-08-11. No computed value changed, and none could. What changed is that these parameters are now printed rather than left to be inferred from prose. Publishing a rule that was already in force is a disclosure improvement, not a methodology change: methodology version stays v2.0, no value in the track record moves, and no consultation was required. Changing any VALUE below would be the opposite — material, published 14 days before it takes effect with backtested impact, applied prospectively, and carrying a version bump on every row settled after it.

Admission — every eligibility threshold, with its units

Admission policy eligibility/v1. Every rule is evaluated and every failure is recorded — not just the first — so a refusal can be reviewed on its whole picture rather than on whichever gate happened to fire earliest.

Rule In force here Fleet default What it tests
Liquidity floor ≥ 250 250 the greater of the venue's traded-volume field and open interest where a venue reports one, in venue-native units and never a dollar figure. Summed over every mapped venue listing, including any listing consolidation later refuses, because the sum is taken before consolidation and independently of it. No venue currently supplies open interest through this path, so in practice the test binds on volume alone — stated because a rule that reads on two inputs and runs on one should say which. The basis of that volume field is not the same on all three venues, and a reader reproducing the roster needs the difference: on Kalshi (volume_fp/volume) and Polymarket (volumeNum/volume) it is a CONTRACT-level cumulative lifetime total — every trade since that contract listed, never a trailing window. On Gemini it is the parent EVENT's volume, attached to each of that event's contracts, and it falls back to the venue's 24-hour figure when the event document omits the lifetime one — so a Gemini listing can enter this sum on a trailing basis, and an event's volume is counted once per mapped contract of that event. A cumulative total only ever rises and says nothing about whether the contract trades today; that is a known weakness of this gate, and it is the reason the WEIGHTS moved off volume onto resting depth (below) while the ADMISSION floor did not
Maximum spread ≤ 0.1 0.1 the WIDEST bid–ask spread among every mapped venue listing, in probability points — measured before consolidation and independently of it, so a listing that consolidation later drops as spread-too-wide still fails the whole canonical event here rather than being quietly excluded from a price the rest of the venues form. A constituent with no measurable spread fails this rule — it does not pass it by default
Price band 0.02 – 0.98 0.02 – 0.98 the ORIENTED consolidated probability — 1−p on a de-escalation market — so the band is applied to the number the index actually averages, not to the venue-side quote
Horizon 1 – 730 days 1 – 730 days days from the close to the EARLIEST venue settlement time across the mapping. A constituent with no readable settlement time fails rather than passes
Cross-venue merge confirmation staged — not enforced staged — not enforced whether an unreviewed cross-venue merge is REFUSED or admitted-and-disclosed. Staged during bring-up: unreviewed merges are published as provisional and counted on every row, so the ledger states the gap rather than the index hiding it. A single-venue mapping owes nothing here — there is no merge to review
Reference-price settlement refused refused whether a structurally-matched price contract whose venue publishes no rules text may be admitted. Failing closed is the default: an unverifiable settlement authority is not a benchmark input

This benchmark applies the fleet defaults unchanged — there is no override to justify.

Two gates are not numeric, and they refuse more constituents than the numbers do.

Venue tier. At least one contributing venue must be benchmark-eligible — CFTC-regulated, with a feed we may redistribute — or named on this benchmark's published venue whitelist. A data-only venue may inform the consolidated price of an already-admitted event; it can never be the sole basis for one.

Resolution source. The settlement authority is classified from the venue's own rules text by a deterministic, published rubric, and the bottom tier is ineligible. Absent or unreadable rules text classifies as venue-discretion and therefore fails closed — defaulting an unknown settlement authority to "probably fine" is precisely the assumption a benchmark cannot make.

Tier Rank Eligible Scope
government 4 yes BLS, BEA, the Federal Reserve, an election authority, a statutory filing, an official government announcement.
court 3 yes A judgment, a sentencing, a regulatory determination — adversarial process, written record.
major-outlet 2 yes Named wire services or a stated multi-outlet standard. Acceptable, and the weakest tier that is.
reference-price 2 yes A structurally-parsed price claim — subject, relation, strike, settlement day — where the venue does not publish rules text. The settlement authority is a market price feed by construction, but WHICH feed may differ between venues. Admitted only by a methodology that says so, and only by WETFRAG, where differing feeds are part of the phenomenon being measured rather than a contaminant of it.
venue-discretion 1 no The venue decides, with no external authority named. INELIGIBLE: a benchmark whose constituent can be resolved at the counterparty’s discretion is not measuring the world, it is measuring the venue.

Consolidation consolidation/prob-v1 — and the full exclusion cascade

The engine aggregates in probability space, and this page says so. Each constituent's price is a weighted mean of the surviving venue mids, taken in probability space and stamped consolidation/prob-v1 — the label for the space the arithmetic runs in. The settlement rows stamp the policy version the close ran under on their consolidation axis (consolidation/v1 today); the two describe the same executed pipeline from two angles, and both are printed so neither has to be inferred.

q = Σ_v (w_v · mid_v) / Σ_v w_v

w_v = (1 + 2·ln(1 + depth_v) + ln(1 + volume_v)) · tightness_v · e^(−Δt_v / λ)
tightness_v = max(0.05, 1 − spread_v / 0.1)
λ = 1500 s

depth_v IS ZERO ON EVERY PUBLISHED VALUE, AND HAS ALWAYS BEEN. The settle path supplies no resting-depth figure to the consolidation — depth is passed as null for every venue quote on every basis — so ln(1 + depth_v) evaluates to ln 1 = 0 and the doubled depth term contributes nothing. The weight this desk has actually executed on every close is therefore:

w_v = (1 + ln(1 + volume_v)) · tightness_v · e^(−Δt_v / λ)

The general form is printed above it because it is the expression baseWeight evaluates and the one a future close would run under if depth were ever supplied — but a third party reproducing a published number must use the reduced form, and any check against the general form with real depths will disagree. The disagreement is not small, and the figures below are produced by running the consolidation twice rather than by being typed here. Two venues quoting 0.40/0.42 and 0.50/0.52 on equal lifetime volume and equal staleness consolidate to q = 0.4600 on the executed weight (shares 0.5000 / 0.5000); hand the same two books resting depths of 5,000 and 100 and the general form returns q = 0.4507 (shares 0.5927 / 0.4073) — 0.93 probability points, entirely from a term the engine has never had an input for. This disclosure follows the same rule as the open-interest note in the admission table above: a rule that reads on two inputs and runs on one has to say which.

Why the field is empty is a weighting decision, not an oversight, and it is stated here rather than left to be inferred. One of the mapped venues publishes resting size at the touch and the others publish none. Populating depth_v today would hand a doubled depth term to that venue and zero to the others, tilting every cross-venue consolidation toward it for a reason that is an artefact of which venue documents a size field rather than of which book is deeper. Wiring it in is a change to the weighting scheme: it needs the other venues measured first, and it would arrive as a versioned change with its own consultation and backtested impact, never as a quiet population of an already-printed term.

Cross-venue dispersion is preserved beside the consolidated price, never folded inside it.

A log-odds aggregation is a declared migration target and is deliberately not printed here — not the formula, not its weight decomposition. It has never produced a published value on this desk, and a methodology page that prints arithmetic the engine does not run is worse than one that prints less. When it is enacted it arrives as a versioned change with its own consultation, and this section will state the space it aggregates in on the day it does so and not before.

The exclusion cascade, in the order it is evaluated. The venue-local guards run per quote, first match wins; the consensus trim runs afterwards, on what survived them.

Refused as Tier Threshold in force What it means
no-two-sided-book A — no price exists a bid and an ask are both required there is no mid, so there is no price to include. Excluded from everything, necessarily
crossed-book A — no price exists ask < bid the book is inconsistent with itself; a mid taken across it is arithmetic, not a price
spread-too-wide B — venue-local quality ask − bid > 0.1 a mid inside a book this wide is not a price anyone is defending. Excluded, never down-weighted — a bad price scaled down is still a bad price
degenerate-price A — no price exists mid not strictly inside (0, 1) a mid at or beyond the bounds of probability is not a probability
stale-beyond-horizon B — venue-local quality age > 21,600 s (6 h) past this age the quote is dropped outright rather than decayed toward zero
thin-book-anomaly B — venue-local quality |last − mid| > 0.15 while venue volume < 100 a venue that printed a large move on trivial size has told us its book is not defended. Checked BEFORE weighting, so deep historical volume cannot launder it
mad-outlier C — consensus |mid − median| > 3 × MAD, and only where ≥ 3 venues survived the gates above decided only by comparison with the other venues. Median absolute deviation, not standard deviation: with three or four venues one bad print moves a standard deviation enough to hide inside it. Skipped entirely when the MAD is zero

The tiers are not decoration. A Tier A refusal is forced — no mid exists. A Tier B refusal is a JUDGEMENT about what counts as a defended price, decided without looking at any other venue, which is what makes excluding it non-circular. Tier C is decided only by comparison with the other venues, which is right for a consolidated price and fatal for a measurement of disagreement — so the fragmentation reading is frozen before the consensus trim runs and the trimmed venue is still in it.

A constituent whose every venue quote is refused publishes no price and is counted, by reason, in the settlement log. Constituents priced from a single venue are flagged on every settlement row.

Coverage, cap and concentration

Parameter Symbol In force Where it binds
Weight-basis coverage floor κ_min 95.00% the share of the admitted roster that must carry an OBSERVED two-sided resting depth before any level is printed. The roster is counted AFTER term-structure families and complement pairs collapse to one share each, so κ is measured over questions rather than listings. Below the floor the benchmark publishes insufficient_data and the close exits non-zero — a shortfall is a venue-delivery incident, not a quiet reprice over whoever answered
Maximum single-constituent weight c 15.00% the effective weight eᵢ = wᵢsᵢ / Σ(w·s) — the vector the published average is taken over, not the depth weight alone. Enforced by cap-and-redistribute on eᵢ, iterated to a fixpoint. Where the cap is mathematically unreachable — c·n < 1 + 1e-12 (the engine's own test, tolerance included), which on this cap means a roster of fewer than 7 constituents — no valid capped vector exists and this ceiling is NOT enforced. The gauge does not fall back to equal weights there: equal EFFECTIVE weights would flatten the severity axis and turn R into a plain mean of p, which is not the formula this page publishes. It falls back to severity-tilted equal depth weights, eᵢ = sᵢ / Σs, and that vector can and does exceed c — on a 6-name board holding one act-war name against five diplomatic ones the top constituent carries 50.00% of the published number, against this table's 15.00% and against the 16.67% an equal-weight fallback would give. That figure is measured by running the weighting, not asserted here. The row carries degenerateReason saying the ceiling is unenforced on every print where this happens, and this page renders that reason verbatim below rather than restating it
Minimum constituents 5 how many constituents must carry an observed weight basis. Below it the day publishes no value rather than a number computed over a board too thin to carry one

Measured on the 2026-09-08 close — read from that row's own weighting block, which is the same object this section renders and the same object a reader of the published JSON gets.

Reading Value
Weight basis two-sided-resting-depth/v1
Admitted constituents 99
Carrying an observed two-sided depth 99
Served with at least one side empty 0 — a real observation of a one-sided book, weighted 0
No ladder served by any venue 0 — nothing was observed, so nothing was weighted
Coverage κ 100.00% against a 95.00% floor
Maximum single-constituent weight c 15.00% — the cap the row itself carries
Σ lifetime traded volume over the same roster 143,436,827 venue-native units, never a dollar figure — the OLD basis, published as context so the change of basis is re-derivable from the row. It is not the weight, and nothing in the engine reads it

The weight vector on this print is the basis vector, not the equal-weight fallback: no degeneracy was recorded.

Concentration — how many names this number is actually made of. HHI is Σwᵢ² over the published vector and effective N is 1/HHI: the count of equally-weighted constituents this weighting is worth. A roster of ninety names with an effective N of thirty is a thirty-name index that lists ninety, and the gap between those two counts is the thing a cap exists to bound.

Vector n HHI Effective N Top 1 Top 5 Top 10 Bottom half
Effective risk weight eᵢ = wᵢsᵢ / Σ(w·s) — what the published number averages over 99 0.078379 12.76 15.00% 54.78% 76.84% 1.70%
Capped resting depth wᵢ — what the basket was WEIGHTED by 99 0.076997 12.99 15.00% 53.90% 76.57% 2.02%

Both readings are carried on the 2026-09-08 row. They are published side by side and never merged: how concentrated is the liquidity we weighted by and how concentrated is the number are different questions, and severity multiplies between them.

What the weights are made of

Weight basis two-sided-resting-depth/v1. One unit of the basis is:

claim units of resting depth near touch — the lesser of the bid-side and ask-side visible resting size within the published band of the best quote on that side, summed over venues. One unit pays $1 on YES on every venue indexed. Never a dollar figure, and never an execution claim: W.E.T. handles no order fulfilment.

This replaced cumulative lifetime volume, which only ever rose, said nothing about whether a contract can be traded today, and could be accumulated for the cost of a spread. Resting depth near touch is capital committed right now, re-posted daily and exposed to being traded through. It is read off the venues' own two-sided books, taken as the lesser of the two sides within each venue before venues are summed — a resting bid on one venue does not fill a missing offer on another for anyone who has to trade on one venue. No concavity transform is applied to it.

The cap is enforced where the gauge averages. R = 100·Σ(wᵢsᵢpᵢ)/Σ(wᵢsᵢ) is an average over the effective weights eᵢ = wᵢsᵢ / Σ(w·s) — severity multiplies the depth weight before the gauge sees it — so a ceiling applied to wᵢ alone is not the ceiling this page advertises. The 15% cap is applied to eᵢ, the vector the published number is an average over. In the retired v1 series it was applied to wᵢ instead and the effective top share measured 17.2% against a published 15% ceiling; that is one of the corrections behind the re-inception below.

Weights are frozen at the close and carried on the row, so a departure re-chains on the weights the close used rather than on weights that drifted after it.

Publication & the close

The official daily print is the WET Close. Every settlement row stamps how that close was actually taken — closeBasis and closeObservations — so the basis of a print is read off the print rather than assumed from this page.

The most recent WETGRI row says, in its own words:

This close is ONE instantaneous observation, not a settlement window. The mark tape stores one observation per contract per day (marks is keyed by marketRef), so a window cannot be built from it — it holds 604 contracts and covers 6/99 of this composition. A settlement window needs repeated intraday samples of the SAME contract. A single-read close can be moved by one trade at the final second, and that exposure is published rather than described away.

2026-09-08 · closeBasis: single-observation · closeObservations: 1

That is one instantaneous read, not a volume-weighted settlement window. This page claimed the opposite until 2026-08-05, and the claim was false in the direction that flatters us — it denied the exact exposure the row records.

The window is unavailable by construction, not by accident. The row's own sentence above gives this benchmark's reason — they differ between constructions and the row is the one that knows which applies. The shape is the same in every case: the record settlement reads from cannot hold a second observation of the same input on the same date, so there is nothing for a window to average, and no settlement cadence run against it produces one.

What it would take is a data-collection change, not a formula change: the same input would have to be sampled more than once inside the close period and stored so both samples survive — which for a contract-priced benchmark means a tape keyed by marketRef and timestamp rather than by marketRef alone. That collection does not exist on this desk today, for any benchmark. Until it does, the stamp on the row is the whole truth about the print.

The exposure, stated rather than described away: a close taken from a single observation can be moved by one trade at the final second. That vulnerability is real for this print today. It is disclosed because it is true — not mitigated, and not written around.

The track record

Every settlement row records the engine, rubric, classifier and methodology versions that produced it, and a checksum chained to the previous day's. Altering any historical value invalidates every checksum after it, so a third party who recorded yesterday's checksum can prove today whether history moved underneath them. That is the difference between a published record and an auditable one.

A day with insufficient data publishes no value — yesterday's number is never carried forward to keep a chart continuous.

The 2026-08-05 re-inception

This series was re-incepted on 2026-08-05; its first close printed on 2026-08-06. The chain starts there — the ledger's first row carries previousChecksum: null — and nothing precedes it in the live record.

There was an earlier series. It ran three days and it has been retired, not restated. An adversarial review found the arithmetic sound but several published rules unimplemented by the code: constituents that should have entered oriented 1−p entered at p, weights ran on cumulative lifetime volume rather than resting depth, the weight cap was enforced in the wrong space, departures landed in the level instead of the divisor, quotes were priced off a fabricated band rather than real books, and dated legs of one question each held a separate share. Every one of those corrections changes every value in the series.

Why retired rather than restated. The restatement policy is for correcting a series readers hold. This one was three days old, had never been quoted, cited or licensed, and no value in it survived correction — restating it would have been ceremony over a history nobody was carrying. Re-inception on corrected logic is the honest answer, and it is stated here rather than left for a reader to infer from the length of a ledger.

The record is kept, not deleted. The retired ledgers are archived byte for byte at content/indices/benchmarks/retired-v1-2026-08-05/, including as-published-on-master/ — the copies exactly as they were served — so the first construction can be read and diffed against this one.

What is not claimed. The retired values are not comparable to these, and no continuity is asserted across the break. A re-inception starts a new series; this page says so rather than implying an unbroken one.

What this is not

A benchmark reading of market prices. Not a W.E.T. forecast, not advice, and not a performance claim. Where an accuracy scorecard is published it reports calibration — how well the priced probabilities matched outcomes — never returns.

A benchmark reading of prediction-market prices. Free to quote with attribution and the “as of” date. Data, not advice.