TheDocumentation Index
Fetch the complete documentation index at: https://docs.dune.com/llms.txt
Use this file to discover all available pages before exploring further.
kalshi.ohlcv_hourly table provides hourly OHLCV (Open-High-Low-Close-Volume) candles per Kalshi market. Grain: one row per (hour, market_id, outcome). Kalshi candles are built on the Yes side (No can be derived as 1 - Yes). Hours without trades carry the previous close forward and are flagged via is_forward_filled. Resolved markets are pinned to 1.0 / 0.0 after expiration.
Table Schema
| Column | Type | Description |
|---|---|---|
block_month | DATE | UTC month partition derived from hour |
hour | TIMESTAMP | UTC hour bucket for the candle |
market_id | VARCHAR | Kalshi market ticker |
market_name | VARCHAR | Market question text |
outcome | VARCHAR | Always Yes for Kalshi |
yes_outcome_name | VARCHAR | Human-readable label of the Yes side |
category | VARCHAR | Market category |
open | DOUBLE | Opening price in the hour |
high | DOUBLE | High price in the hour |
low | DOUBLE | Low price in the hour |
close | DOUBLE | Closing price in the hour |
vwap | DOUBLE | Volume-weighted average price. NULL when no trades |
volume_contracts | DOUBLE | Total contracts traded in the hour |
volume_usd | DOUBLE | Total USD notional in the hour |
trade_count | BIGINT | Number of trades in the hour |
market_end_time | TIMESTAMP | Market expiration time |
market_outcome | VARCHAR | Settled outcome (yes, no, scalar). NULL while unresolved |
event_market_name | VARCHAR | Parent event title |
is_forward_filled | BOOLEAN | TRUE when the bar has no trades and was carried forward |
_updated_at | TIMESTAMP | When this row was last written by the pipeline |
Table sample
Query performance
block_month is the partition key. Always include a block_month or hour filter for time-series queries.