Skip to main content
The prediction_markets.ohlcv_hourly table provides hourly OHLCV bars across Polymarket and Kalshi, including Polymarket Combos (multi-leg parlays, keyed by the combo condition ID; is_parlay = TRUE in the markets dimension). Grain: one row per (venue, hour, market_id, outcome). Prices are in probability space [0, 1]. Polymarket emits Yes and No bars; Kalshi emits Yes only (No can be derived as 1 - Yes). Hours without trades are a flat bar at the carried close and are flagged via is_forward_filled. A settled market pins at its settlement-hour bar — the on-chain resolution hour for Polymarket, the actual settlement time (clamped to the scheduled expiration) for Kalshi. Settlement lands as that bar’s final tick: close pins to the settlement value (1/0; 0.5 on Polymarket 50/50 markets; Combos to their exact per-side payout), high/low widen to include it, open keeps the last traded price. Polymarket series end there (forward-fill is bounded at resolution); Kalshi series keep forward-filling flat at the settled value until the scheduled expiration. Bars with real post-settlement trades keep their actual OHLC on both venues.

Table Schema

Table sample

Query performance

block_month is the partition key. Always include a block_month or hour filter.

Example query