Rolling market statistics
This dataset includes fields such as last price, rolling price change, high/low, and base or quote volume when published by the venue.
Rolling Ticker Statistics Dataset
Exchange-published rolling price and volume statistics normalized across supported spot and derivatives venues. This is ticker history, not best bid/ask quote data.
The sample is one real hourly Parquet/Zstd file. No API key is required on the rate-limited free tier; file size varies with venue, symbol, and market activity.
Dataset fit
Use this dataset for historical rolling market statistics. Choose tick trades for executions or reconstruct the L2 order book for best bid, best ask, spread, and depth.
This dataset includes fields such as last price, rolling price change, high/low, and base or quote volume when published by the venue.
A ticker update summarizes market state. It does not identify every execution; use historical tick trades for that job.
View dataset →The normalized ticker schema does not include quote fields. Derive top of book from sequence-safe L2 replay instead.
View dataset →Coverage
Coverage is organized by exchange, market type, and hourly object path. Live symbol counts are shown when the symbols API responds during page generation.
| Venue | Exchange ID | Market | History start | Ticker symbols |
|---|---|---|---|---|
| Binance Futures | binance_futures | Futures | 2025-06-28 | 860 |
| Binance Spot | binance_spot | Spot | 2025-06-28 | 1,998 |
| Bybit Futures | bybit | Futures | 2025-06-28 | 1,318 |
| Bybit Spot | bybit_spot | Spot | 2025-06-28 | 831 |
| OKX Futures | okx_futures | Futures | 2025-06-28 | 559 |
| OKX Spot | okx_spot | Spot | 2025-06-28 | 1,475 |
| Bitget Futures | bitget_futures | Futures | 2025-07-15 | 1,083 |
| Bitget Spot | bitget_spot | Spot | 2025-07-15 | 1,655 |
| Kraken Futures | kraken_derivatives | Futures | 2025-06-28 | 629 |
| Kraken Spot | kraken_spot | Spot | 2025-06-28 | 1,632 |
| Aster Futures | aster_futures | Futures | 2025-09-29 | 570 |
| BitMEX | bitmex | Futures | 2025-09-29 | 156 |
| Lighter Perpetuals | lighter | Perpetuals | 2025-12-30 | 221 |
Schema
Each row is an exchange-published ticker update with rolling price, volume, and trade-count fields when the venue supplies them. Nullable fields reflect venue differences and incremental messages.
| Field | Type | Nullable | Description |
|---|---|---|---|
| received_time | INT64 | No | Unix timestamp (nanoseconds) when our system received the ticker event |
| event_time | INT64 | No | Unix timestamp (exchange dependent on timescale) when the exchange generated the ticker |
| symbol | STRING | No | Trading pair symbol (e.g., 'BTCUSDT') |
| price_change | STRING | Yes | Absolute price change over 24h period (stored as string for precision) |
| price_change_percent | STRING | Yes | Percentage price change over 24h period |
| weighted_average_price | STRING | Yes | Volume-weighted average price over 24h period |
| last_price | STRING | Yes | Most recent trade price |
| last_quantity | STRING | Yes | Quantity of the most recent trade |
| open_price | STRING | Yes | Opening price at start of 24h period |
| high_price | STRING | Yes | Highest price during 24h period |
| low_price | STRING | Yes | Lowest price during 24h period |
| base_asset_volume | STRING | Yes | Total volume in base asset (e.g., BTC in BTCUSDT) |
| quote_asset_volume | STRING | Yes | Total volume in quote asset (e.g., USDT in BTCUSDT) |
| statistics_open_time | INT64 | Yes | Unix timestamp when the 24h statistics period started |
| statistics_close_time | INT64 | Yes | Unix timestamp when the 24h statistics period ended |
| first_trade_id | INT64 | Yes | ID of the first trade in the 24h period |
| last_trade_id | INT64 | Yes | ID of the last trade in the 24h period |
| total_trades | INT64 | Yes | Total number of trades executed during 24h period |
Access
The sample below downloads BTCUSDT from Binance Futures for 2025-08-01, hour 20. The REST example uses the rate-limited free tier; set CRYPTOHFTDATA_API_KEY for authenticated SDK access and higher limits.
import os
import cryptohftdata as chd
client = chd.CryptoHFTDataClient(
api_key=os.getenv("CRYPTOHFTDATA_API_KEY")
)
df = client.get_ticker(
symbol="BTCUSDT",
exchange=chd.exchanges.BINANCE_FUTURES,
start_date="2025-08-01",
end_date="2025-08-01",
)
print(df.head())
print(f"Ticker updates: {len(df):,}")curl --fail --location \
"https://api.cryptohftdata.com/download?file=binance_futures/2025-08-01/20/BTCUSDT_ticker.parquet.zst" \
-o BTCUSDT_ticker_20.parquet.zstCaveats
These details are important for accurate backtests, replay pipelines, and microstructure features.
Ticker rows are rolling market-statistics updates, not individual trade executions and not fixed-interval bars.
The normalized ticker schema does not include best bid or best ask. Reconstruct the L2 order book when you need top-of-book quotes or spread.
Fields are nullable because venues publish different statistics and some incremental ticker messages omit values that did not change.
Rolling-window definitions, event frequency, volume units, and timestamp units can differ by exchange; do not compare fields across venues without checking semantics.
This page starts on 2025-06-28 based on the earliest stored hourly files for its covered exchange IDs and grows as new hourly files are published.
Next
Validate the free sample first. Then use an API key for larger downloads and move between the SDK reference, tutorial, and data explorer as needed.