← DataIndicators
Twelve numbers,
every market.
Implied yield. Cliff risk. Expected edge. Liquidity-adjusted spread. Volatility ratio. Cross-venue ratio. Regime classification. Twelve quantitative indicators computed live across Kalshi and Polymarket contracts — the same numbers that power /screen, /hot, and /odds.
{
"iy": 412.3,
"adjIy": 287,
"cri": 1.6,
"ee": 7.4,
"las": 0.9,
"rv": 34.1,
"vr": 0.74,
"iar": 11,
"residualVr": 0.18,
"cvr": null,
"regime": "taker"
}12
Indicators
Live
Markets covered
60 s
Refresh cadence
CC-BY-4.0
Public-tier license
API fields
The field names agents should use.
The glossary names are human-readable. Public JSON uses camelCase fields, while /api/public/screen query params use snake_case filters and sort keys.
iyYes / iyNoiy_min, iy_max, sort=iy/api/public/screen, /api/public/market/{ticker}02Adj-IYadjIyadj_iy_min, adj_iy_max, sort=adj_iy/api/public/screen, /api/public/market/{ticker}03CRIcricri_min, cri_max, sort=cri/api/public/screen, /api/public/market/{ticker}04EEeeee_min, sort=ee/api/public/screen, /api/public/market/{ticker}05LASlaslas_max, sort=las/api/public/screen, /api/public/market/{ticker}06RVrvrv_min, rv_max, sort=rv/api/public/screen, /api/public/market/{ticker}/history07VRvrvr_min, vr_max, sort=vr/api/public/screen, /api/public/market/{ticker}/history08IARiariar_min, iar_max, sort=iar/api/public/screen, /api/public/market/{ticker}/history09Res-VRresidualVrsort=residual_vr/api/public/screen, /api/public/market/{ticker}/history10CVRcvrcross-venue reads/api/public/market/{ticker}, /api/public/cross-venue/pairs11CVR-ΔcvrDeltacross-venue reads/api/public/market/{ticker}, /api/public/cross-venue/pairs12Regimeregimesingle-market reads/api/public/market/{ticker}, /api/agent/inspect/{ticker}Glossary
The twelve indicators.
Implied Yield
YieldAnnualised return if the market resolves at the current price. Higher IY means more potential return per unit of time held.
Formula
(payout / price − 1) × 365 / τHow to use
Rank short-tau, high-yield candidates first. Combine with CRI for the risk view.
Risk-Adjusted IY
YieldIY penalised by realized volatility and friction (LAS). The return you can actually capture after slippage and chop.
Formula
IY × calibration / (1 + LAS + RV penalty)How to use
Sort the screener by Adj-IY for the practical opportunity ladder.
Cliff Risk Index
RiskProbability of sudden mark-to-market collapse based on time decay and event proximity. High CRI flags positions that face a binary on a known clock.
Formula
max(p, 1−p) / min(p, 1−p), τ-weightedHow to use
Screen out CRI > 6 unless you have an explicit thesis covering the cliff.
Expected Edge
EdgeCents of expected value per contract relative to either a thesis-derived fair value or a regime-derived baseline. The headline number on /screen and /hot.
Formula
(fair − price), thesis-derived where availableHow to use
EE > 5 with LAS < 1 is the bread-and-butter long-tail entry condition.
Liquidity-Adjusted Spread
LiquidityEffective cost to enter and exit a position accounting for order-book depth on both sides. Lower means cheaper to round-trip.
Formula
(half-spread + impact at typical size) / midHow to use
Combine with EE: EE − LAS is the after-cost edge.
Realized Volatility
VolatilityAnnualised volatility from observed price changes over a rolling window. High RV means the market is actively repricing.
Formula
σ(log returns) × √(observations / year)How to use
Pair with IY for the carry-vs-vol view; high RV markets often need shorter holds.
Volatility Ratio
VolatilityRV divided by the theoretical maximum vol given the current price and tau. VR > 1 means the market is moving more than its bracket should allow.
Formula
RV / σ_max(p, τ)How to use
VR > 1.2 is a regime-shift candle.
Information Arrival Rate
VolatilityPrice changes per hour. A microstructure proxy for how quickly the market is processing new information.
Formula
Δprice events / hourHow to use
High IAR + low RV = noise. High IAR + high RV = real news. Use to triage alerts.
Residual VR
VolatilityVolatility ratio with the contribution of scheduled catalysts subtracted out. Residual movement that the calendar does not explain — often private information.
Formula
VR − VR_calendarHow to use
Res-VR > 0.4 + EE > 0 is the asymmetric-info long entry.
Cross-Venue Ratio
Cross-venuePrice ratio between Kalshi and Polymarket on matched events. The first stop for cross-venue arb candidates.
Formula
kalshi_price / polymarket_priceHow to use
CVR ≠ 1 with low LAS on both sides is the pure arb pattern.
CVR Delta (6h)
Cross-venueChange in CVR over the last 6 hours. Positive means venues are diverging, negative means converging — the early-warning for stale legs.
Formula
CVR(t) − CVR(t − 6h)How to use
|CVR-Δ| > 0.05 with persistent CVR is a fading-arb signal.
Market Regime
RegimeClassification of the active microstructure: taker (momentum-dominated), maker (mean-reverting), or transition. Determines which side of the book pays.
Formula
classifier on (RV, VR, IAR, queue imbalance)How to use
Maker regime → sell the wings. Taker regime → buy the breakout. Transition → sit out.
Access
Three calls to use the indicators.
Same surfaces, three sizes — bulk filter the universe with /screen, inspect a single market with all twelve indicators in one read, or pull the rolling 7-day history for back-testing.
Bulk filter
Filter every active market by indicator constraints. Returns paginated JSON or rendered HTML.
curl "simplefunctions.dev/api/public/screen?iy_min=200&tau_max_days=30&sort=adj_iy"
Single market
Every indicator on a single ticker, including the 12-value indicators object.
curl simplefunctions.dev/api/public/market/KXFED-26JUN18-T3.50
History
Rolling 7-day price + indicator history per ticker. Drop-in for back-testing.
curl "simplefunctions.dev/api/public/market/KXFED-26JUN18-T3.50/history"
FAQ
Frequently asked.
Where do the prediction-market indicators come from?
Each indicator is computed on top of the live order-book and trade tape from Kalshi + Polymarket. Pricing inputs refresh every 60 seconds; the indicator pipeline runs on the same cadence and powers /screen, /hot, /odds, and the public API.
How do I access the indicators?
All twelve indicators are exposed on every public market read via REST, MCP, and CLI. Definitions and formulas on this page are CC-BY-4.0.
Which indicator is the most useful for a beginner?
Implied Yield (IY) is the easiest to reason about: it is annualised return at the current price. Pair it with Cliff Risk (CRI) to filter out positions that face a binary cliff, and Liquidity-Adjusted Spread (LAS) to approximate after-cost edge. /hot uses Adj-IY = IY adjusted for risk and friction as its default sort.
How accurate is the indicator pipeline?
The pipeline is tested against the public calibration view. Markets ranked by Adj-IY have produced the Brier and hit-rate documented on /calibration. The methodology is open in /papers and the per-row inputs are exposed via the API so external researchers can reproduce.
Can I get historical indicator values?
Yes. The 7-day rolling indicator history is available per market at /api/public/market/{ticker}/history. For longer windows, the daily R2 archive (granted on request) ships full indicator-history dumps; the public dataset SimpleFunctions/sf-index-history mirrors the index-level rollups.
Adjacent surfaces
Live screener →
Filter the universe by IY, CRI, EE, LAS, RV, VR, IAR.
Hot markets →
Adj-IY-sorted feed of the day's opportunities.
Odds aggregator →
Cross-venue probabilities by topic.
Historical data →
Brier scorecards and 7-day price history.
Real-time feeds →
World state, RSS, MCP — live, no signup.
Methodology →
How each indicator is computed.