thomaswmitch/kalshi-prediction-markets-markets
Kalshi Prediction Markets — Markets Metadata & Quotes Per-market snapshot data for Kalshi markets spanning Aug 2023–Aug 2025.Includes tickers, lifecycle timestamps, status/result fields, rules, liquidity/open interest, and top-of-book quotes (YES/NO bid/ask + last/previous prices) with integer and dollar-scaled variants. Rows: ~10,016 markets (single split)Schema stability: stablePrivacy: public market metadata Dataset Structure Split train —… See the full description on the dataset page: https://huggingface.co/datasets/thomaswmitch/kalshi-prediction-markets-markets.
Kalshi Prediction Markets — Markets Metadata & Quotes
Per-market snapshot data for Kalshi markets spanning Aug 2023–Aug 2025. Includes tickers, lifecycle timestamps, status/result fields, rules, liquidity/open interest, and top-of-book quotes (YES/NO bid/ask + last/previous prices) with integer and dollar-scaled variants.
Rows: ~10,016 markets (single split) Schema stability: stable Privacy: public market metadata
Dataset Structure
Split
- train — one row per market snapshot/record
Feature Schema
Identifiers & Types
ticker(string) — contract/series symbol (unique at market level)event_ticker(string) — parent event symbolmarket_type(string) — exchange-defined market class/categorycategory(float64) — numeric category code (if provided by source)
Lifecycle Timestamps (UTC ISO-8601 strings)
open_time,close_time— scheduled open/closeexpected_expiration_time,latest_expiration_time,expiration_time— scheduled/updated/actualsettlement_timer_seconds(int64) — post-close timer threshold before settlement
Status & Outcome
status(string) — e.g.,open,closed,settled,voidresult(string) — exchange outcome label (e.g.,yes/no/void)expiration_value(string) — exchange’s reported expiration value (if applicable)settlement_value(int64),settlement_value_dollars(float64) — outcome value in ticks and dollarscan_close_early(bool) — true if early close conditions may trigger
Top-of-Book Quotes (YES/NO)
- YES:
yes_bid,yes_ask,yes_bid_dollars,yes_ask_dollars - NO:
no_bid,no_ask,no_bid_dollars,no_ask_dollars - Last/Previous trade marks:
last_price,last_price_dollarsprevious_price,previous_price_dollarsprevious_yes_bid,previous_yes_ask,previous_yes_bid_dollars,previous_yes_ask_dollars
Liquidity & Activity
volume(int64) — all-time volume (units/contracts)volume_24h(int64) — trailing 24-hour volumeopen_interest(int64)liquidity(int64),liquidity_dollars(float64) — exchange-reported liquidity metric
Economic/Units
response_price_units(string) — price unit label (e.g.,cents)notional_value(int64),notional_value_dollars(float64) — notional at market levelrisk_limit_cents(int64) — per-market risk limit
Strikes & Rules
strike_type(string) — e.g.,none,custom,rangecustom_strike(string) — custom strike text/number if applicabletick_size(int64) — price tick increment (in integer units)floor_strike,cap_strike(float64) — lower/upper bound for ranged strikesrules_primary,rules_secondary,early_close_condition(string) — market resolution rules and early-close logictitle,subtitle,yes_sub_title,no_sub_title(string) — display text
Units: Integer price fields are “ticks” (typically cents). The *_dollars columns are already scaled to USD floats.Usage
Load with datasets
from datasets import load_dataset
ds = load_dataset("thomaswmitch/kalshi-prediction-markets") # update if your repo name differs
print(ds)
print(ds["train"].features)
