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) andbbo_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 theseriesof thepolymarket_l2andpolymarket_tradesfiles and thetickerofpolymarket_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
incidentsand 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_sideintradessays 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_riskinpolymarket_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_l2records. - 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_l2file opens with a snapshot at 00:00 UTC, andbook_snap_1shas 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
marketsfile 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
- Data dictionary: every column of every dataset.
- Kalshi vs Polymarket data: how the two venues' data differs.