SimpleFunctions
polymarketYield curve4 markets

Iran Agrees to Surrender Enriched Uranium Stockpile

event base · iran-agrees-to-surrender-enriched-uranium-stockpile

24h volume
$315.6K
Constituents
4
Distinct tenors
4
3d – 7mo
Avg P(YES)
25.5%

Term structure

YES probability across 4 tenors

25%50%3d8w4mo5mo7mo
τ days →P(YES) on left axis

Analysis

The Iran Agrees to Surrender Enriched Uranium Stockpile family contains 4 contracts spread across 4 tenors (3d – 7mo). The average implied YES probability is 25.5%.

A bespoke narrative analysis is generated by an LLM on a 24h cron when the constituent set changes. If this paragraph is showing instead, the curve has either just appeared in the index or has not yet been queued.

Constituent markets

4 polymarket contracts

Related event families

How to read this page

A term structure plots the implied YES probability of each constituent market against its days-to-resolution. Steepening upward = the market prices the event as becoming more likely with time. Flat = stable expectations. Inverted = a near-term catalyst raises odds early then they fade.

Curve construction: each constituent contract is identified by its venue event_id (iran-agrees-to-surrender-enriched-uranium-stockpile on polymarket). Tenor is computed from the contract’s close_time minus snapshot time, rounded to days. We do not interpolate between tenors — every plotted point is a real, traded contract. Outcome-slate pages show price-as-probability for mutually-exclusive contracts; term-structure pages show price-as-probability vs days-to-resolution for the same underlying event.

How we compute these odds

SimpleFunctions aggregates live prediction-market contracts from Kalshi and Polymarket. Each slug groups contracts that resolve on the same underlying event, identified by venue event_id.

For binary slugs, the headline probability is the liquidity-weighted mid-price across all bound contracts. For multi-outcome slugs (e.g. elections with 3+ candidates), the headline is the leader’s price; we never arithmetically average disjoint outcomes — that would produce a number with no real-world meaning.

Snapshots refresh every 5 minutes during market hours; daily aggregates are computed at 04:00 UTC. The 30-day sparkline is drawn from per-ticker daily means stored in market_indicator_daily; 24h delta and movement events are derived from the same source.