How the signals are made

Methodology version 2

Where the numbers come from

Prediction markets run rolling “Up or Down” markets for each coin: will the price at the end of a 5-minute, 15-minute, 1-hour, 4-hour or 1-day window be higher than at its start? Each market has an “Up” share that trades between $0 and $1; its price is the crowd’s implied probability that the window closes up. PolySignals reads these markets on Polymarket, Kalshi and Limitless about twice a minute.

From one market to one reading

  • Up probability is the midpoint between the best bid and best ask for the Up share. If the spread is wider than 0.10, the last traded price is used instead. If there is neither, the reading is empty.
  • Score rescales the probability to −100…+100: (prob_up − 0.5) × 200. A 50/50 market scores 0; 80% up scores +60.
  • Direction buckets the score: strong up at +60 and above, up from +20, neutral in between, down from −20, strong down at −60 and below.
  • Quality (0 to 1) says how much a single market’s price can be trusted: spread_score × volume_score, where spread_score is 1 at a zero spread and 0 at a spread of 0.10, and volume_score is the square root of volume ÷ $10,000, capped at 1. Markets without an order book use liquidity ÷ $20,000 instead of the spread score. Derived readings are multiplied by 0.8; a stale or empty reading has quality 0.

Derived readings from strike ladders

Kalshi’s hourly markets are not a single Up/Down question but a ladder of strikes: “will the price be above $83,700?”, “above $83,800?” and so on. PolySignals turns that into an Up probability by taking the two strikes that bracket the window’s reference price and interpolating between their prices. The reference is the price at the start of the window: Kalshi publishes it for its 15-minute markets, and the one that opens at the top of the hour is used; failing that, our own spot price captured when the window opened. These readings are marked derived and count a little less.

Matching windows across venues

Two venues are only blended when they are pricing the very same window: start and end must match within 5 seconds. Windows with different boundaries (for example daily markets that roll at different hours) are never mixed. When a coin and timeframe has more than one window in play, the one quoted by the most venues is shown; ties go to the window that includes Polymarket. A cell with a single source is still a valid signal, just less certain.

The combined signal

The combined Up probability is the quality-weighted mean of the venue probabilities, so a thin market pulls the number less than a deep one, and a market with quality 0 is left out entirely. Score and direction follow the same mapping as a single reading. Divergence is the gap between the highest and lowest probability among sources with quality of at least 0.2.

The confidence score

Every combined reading carries a 0–100 confidence made of three parts, all shown in the API:

  • Depth = 1 − the product of (1 − quality) over the sources. One good source gives a fair depth; several good sources push it toward 1.
  • Agreement = 1 − divergence ÷ 0.20, floored at 0. With a single source it is fixed at 0.7, because nothing corroborates it.
  • Timing = 0.5 when less than 20% of the window remains, else 1.

confidence = round(100 × depth × agreement × timing). Labels: high at 70 and above, medium from 40, low below. A single venue reading’s confidence is simply 100 × quality × timing.

The late-window caveat

Late in a window the market mostly reflects the move that has already happened, not what comes next: a 15-minute market at minute 13 prices whether the last two minutes will undo a move, not whether the coin is trending. Late readings are shown faded, halved in confidence, and excluded from the overall score.

Overall score per coin

The overall score is the confidence-weighted average of the combined current-window scores across timeframes; its own confidence is the same weighted average of the cell confidences. Late and empty readings are skipped. If nothing qualifies there is no overall score.

Staleness

If a venue cannot be refreshed, its previous value is kept, marked stale, and given quality 0 so it no longer influences the blend. If the whole feed is older than 3 update intervals, the page shows a “data delayed” badge.

What this is not

A prediction-market price is a snapshot of what traders are willing to pay, often in thin markets, over very short horizons. Blending several of them makes the snapshot steadier; it does not make it a forecast. Nothing on this site is financial advice. PolySignals is not affiliated with Polymarket, Kalshi or Limitless.