Skip to content
Kalshi Eye

Prediction market data glossary

The terms you meet in prediction market data, each in a sentence or two: the order book, how Kalshi and Polymarket name markets, the files, and the mistakes backtests make.

Updated October 24, 2026.

Ask (offer)
The lowest price anyone is offering to sell at. A buy that crosses the spread fills here. On Kalshi the YES ask is 1 minus the best NO bid.
ASOF join
A join that matches each row to the latest row of another table at or before its time. Backtests use it to take the quote standing when an order would have been sent. DuckDB, pandas (merge_asof) and Polars (join_asof) all have one.
Backtest
Running a trading rule over recorded history, at prices that were really available then, to estimate how it would have done. See How to backtest Kalshi markets.
BBO (top of book)
Best bid and offer: the highest bid and lowest ask, with their sizes. Kalshi's are in bbo (every change) and bbo_1m (minute bars).
Bid
The highest price anyone is offering to buy at. A sell that crosses the spread fills here.
Binary contract
A contract that pays a fixed amount if an outcome happens and nothing if it does not: $1 on Kalshi, 1 USDC on Polymarket. Its price reads as the market's probability of the outcome.
Calibration
Whether outcomes priced at p happen about p of the time. In a calibrated market, contracts bought at 30¢ win about 30% of the time.
CLOB (central limit order book)
One book per market where limit orders rest and incoming orders match against them by price, then time. Kalshi and Polymarket both run one; Polymarket matches orders off-chain and settles trades on Polygon.
Condition id
Polymarket's id for a market, a 0x… hash. It is the series of the polymarket_l2 and polymarket_trades files and the ticker of polymarket_markets.
Delta (book update)
An update that changes the size at one price instead of restating the whole book. Kalshi's deltas carry the signed change in size; Polymarket's carry the new size.
Depth
The size resting at each price beyond the best one: what a large order eats into. L2 data shows it.
Event (Kalshi)
A group of Kalshi markets on one question and close time, such as every strike of one 15-minute bitcoin window. Its id is the event ticker, e.g. KXBTC15M-26OCT121545.
Fill
The execution of all or part of an order. Polymarket's on-chain fill records are in polymarket_fills.
Hive partitioning
A folder layout that puts column values in folder names (date=2026-10-21/series=KXBTC15M/), so DuckDB, Polars, Spark and pyarrow skip the files a filter rules out.
Incident (recorder gap)
An hour in which the recorder was not connected, missed sequence numbers or dropped messages, with the share of the hour it did see. Listed in incidents and on Data coverage.
L1, L2 and L3 data
L1 is the top of the book. L2 is the total size at every price level. L3 is every individual order. Kalshi's and Polymarket's public feeds are L2.
Lookahead bias
Using information in a backtest before it was available, such as a minute bar's closing price at the start of the minute, or a market's result as a signal.
Maker and taker
The maker's order was resting on the book; the taker's order arrived and matched it. Kalshi charges takers, and makers too on some series. taker_side in trades says which side crossed.
Market ticker (Kalshi)
The id of one Kalshi contract, e.g. KXBTC15M-26OCT121545-45: the event ticker plus a suffix for the market within the event.
Mid price
The average of the best bid and best ask. Good for charts and signals, but not a price anyone traded at.
Neg risk (Polymarket)
Polymarket markets in a multi-outcome event where only one outcome can win, linked so that a No share in one market converts into Yes shares in all the others. Flagged by neg_risk in polymarket_markets.
Order book
Every resting buy and sell order in a market, totaled by price.
Outcome token
On Polymarket, each outcome of a market is a token with its own id and order book. One share pays 1 USDC if that outcome wins.
Parquet
A columnar file format read by DuckDB, pandas, Polars, Spark and most data tools. The archive's daily files are Parquet compressed with zstd.
Queue position
Where a resting order stands among the orders at its price; earlier orders fill first. Estimating it needs every size change at that price, which is what book_l2 records.
Resolution (settlement)
Deciding a market's outcome and paying out. Kalshi's settlements, with the value each market settled on, are in settlements.
Scalar market
A Kalshi market whose payout varies within a range instead of being 0 or 1. Its settlement_value holds the payout.
Series (Kalshi)
A recurring family of Kalshi events with the same rules, such as KXBTC15M, a bitcoin market every 15 minutes. Kalshi files hold one series each per day. See Kalshi series with historical data.
Settlement value
Dollars paid per YES contract when a Kalshi market settles: 1 or 0 for a binary market.
Slippage
The gap between the price a strategy expected and the average price it got, from crossing the spread, walking the book or latency.
Snapshot (book)
The full state of a book at one instant. Each Kalshi book_l2 file opens with a snapshot at 00:00 UTC, and book_snap_1s has the top ten levels at the end of every second.
Spread
The ask minus the bid: what trading in and straight back out costs, before fees.
Survivorship bias
Testing only on markets that traded, settled or still exist, which drops the rest without saying so. The markets file lists every market open at any time each day.
Tick size
The smallest price step. 1¢ on most Kalshi markets, with 0.1¢ bands on some; set per market on Polymarket (tick_size).
ts_recv and ts_venue
The two timestamps on every row: when the recorder received the message, and when the venue sent it. Both are nanoseconds UTC. Order by ts_recv, the time you could have acted.
UTC day
The span of one daily file: 00:00 to 24:00 UTC, which is 8 PM to 8 PM Eastern during daylight saving time.
Void
A Kalshi market settled with no yes or no result. Leave it out of win rates and P&L.
YES and NO
The two sides of a Kalshi contract. A YES contract pays $1 if the market settles yes, a NO contract if it settles no, so their prices add up to about $1.

More