SimpleFunctions

← 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.

12

Indicators

Live

Markets covered

60 s

Refresh cadence

CC-BY-4.0

Public-tier license

FamiliesYieldRiskEdgeLiquidityVolatilityCross-venueRegime

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.

Glossary

The twelve indicators.

01IY

Implied Yield

Yield

Annualised 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.

02Adj-IY

Risk-Adjusted IY

Yield

IY 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.

03CRI

Cliff Risk Index

Risk

Probability 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), τ-weighted

How to use

Screen out CRI > 6 unless you have an explicit thesis covering the cliff.

04EE

Expected Edge

Edge

Cents 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 available

How to use

EE > 5 with LAS < 1 is the bread-and-butter long-tail entry condition.

05LAS

Liquidity-Adjusted Spread

Liquidity

Effective 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) / mid

How to use

Combine with EE: EE − LAS is the after-cost edge.

06RV

Realized Volatility

Volatility

Annualised 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.

07VR

Volatility Ratio

Volatility

RV 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.

08IAR

Information Arrival Rate

Volatility

Price changes per hour. A microstructure proxy for how quickly the market is processing new information.

Formula

Δprice events / hour

How to use

High IAR + low RV = noise. High IAR + high RV = real news. Use to triage alerts.

09Res-VR

Residual VR

Volatility

Volatility ratio with the contribution of scheduled catalysts subtracted out. Residual movement that the calendar does not explain — often private information.

Formula

VR − VR_calendar

How to use

Res-VR > 0.4 + EE > 0 is the asymmetric-info long entry.

10CVR

Cross-Venue Ratio

Cross-venue

Price ratio between Kalshi and Polymarket on matched events. The first stop for cross-venue arb candidates.

Formula

kalshi_price / polymarket_price

How to use

CVR ≠ 1 with low LAS on both sides is the pure arb pattern.

11CVR-Δ

CVR Delta (6h)

Cross-venue

Change 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.

12Regime

Market Regime

Regime

Classification 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.

01

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"
02

Single market

Every indicator on a single ticker, including the 12-value indicators object.

curl simplefunctions.dev/api/public/market/KXFED-26JUN18-T3.50
03

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.

01

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.

02

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.

03

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.

04

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.

05

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