> ## Documentation Index
> Fetch the complete documentation index at: https://docs.allium.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Candlesticks

> Per-minute OHLC candlesticks for Kalshi perpetual markets, with price, bid, ask, volume, and open interest.

The `common.perpetuals.kalshi_candlesticks` table provides per-minute candlestick data for Kalshi perpetual markets. Each row represents one minute of activity for a market, with open/high/low/close for trade price, bid, and ask, plus volume and end-of-period open interest.

Use this table for technical analysis, charting, volatility studies, and tracking intraday open interest.

### Table Columns

**Data Notes:**

* One row per market per minute (`period_interval` = 1).
* `price_*` and `bid_*`/`ask_*` are per-contract in US dollars. `underlying_price_*` is the per-underlying-asset equivalent (`price / contract_size`).
* Coarser intervals (hourly, daily) can be built from this minute-level data.
* `partition_date` is the event date of the candle (date of `period_end_ts`).

Unique Key: `unique_key`

| Column Name                              | Data Type         | Description                                                |
| ---------------------------------------- | ----------------- | ---------------------------------------------------------- |
| project                                  | VARCHAR           | Project identifier, always 'kalshi'.                       |
| protocol                                 | VARCHAR           | Protocol identifier, always 'kalshi'.                      |
| unique\_key                              | VARCHAR           | Unique identifier for the candlestick record.              |
| market\_ticker                           | VARCHAR           | Perp market ticker.                                        |
| period\_interval                         | NUMBER            | Candle interval in minutes (1 for per-minute candles).     |
| end\_period\_ts                          | NUMBER            | End of the candle period as a Unix epoch (seconds).        |
| period\_end\_ts                          | TIMESTAMP\_NTZ(9) | End of the candle period as a timestamp.                   |
| price\_open                              | FLOAT             | Opening trade price for the minute (USD).                  |
| price\_high                              | FLOAT             | Highest trade price during the minute (USD).               |
| price\_low                               | FLOAT             | Lowest trade price during the minute (USD).                |
| price\_close                             | FLOAT             | Closing trade price for the minute (USD).                  |
| price\_mean                              | FLOAT             | Mean trade price during the minute (USD).                  |
| price\_previous                          | FLOAT             | Closing trade price of the previous minute (USD).          |
| contract\_size                           | FLOAT             | Units of the underlying asset represented by one contract. |
| underlying\_price\_open                  | FLOAT             | Opening underlying-asset price for the minute (USD).       |
| underlying\_price\_high                  | FLOAT             | Highest underlying-asset price during the minute (USD).    |
| underlying\_price\_low                   | FLOAT             | Lowest underlying-asset price during the minute (USD).     |
| underlying\_price\_close                 | FLOAT             | Closing underlying-asset price for the minute (USD).       |
| bid\_open                                | FLOAT             | Opening best bid for the minute (USD).                     |
| bid\_high                                | FLOAT             | Highest best bid during the minute (USD).                  |
| bid\_low                                 | FLOAT             | Lowest best bid during the minute (USD).                   |
| bid\_close                               | FLOAT             | Closing best bid for the minute (USD).                     |
| ask\_open                                | FLOAT             | Opening best ask for the minute (USD).                     |
| ask\_high                                | FLOAT             | Highest best ask during the minute (USD).                  |
| ask\_low                                 | FLOAT             | Lowest best ask during the minute (USD).                   |
| ask\_close                               | FLOAT             | Closing best ask for the minute (USD).                     |
| volume                                   | FLOAT             | Number of contracts traded during the minute.              |
| volume\_notional\_value\_dollars         | FLOAT             | Notional USD value of volume traded during the minute.     |
| open\_interest                           | FLOAT             | Open interest at the end of the minute (contracts).        |
| open\_interest\_notional\_value\_dollars | FLOAT             | Notional USD value of open interest at end of minute.      |
| partition\_date                          | DATE              | Event date of the candle (used for partitioning).          |
| ingested\_at                             | TIMESTAMP\_NTZ(9) | Timestamp the record was ingested into Allium's database.  |

***

### Sample Query

```sql theme={null}
select
  market_ticker,
  period_end_ts,
  price_open,
  price_high,
  price_low,
  price_close,
  volume,
  open_interest
from common.perpetuals.kalshi_candlesticks
where market_ticker = 'KXBTCPERP'
  and partition_date >= current_date - interval '1 day'
order by period_end_ts asc
```
