Home/Schema
Data Schema

47-Column Orderbook Depth Schema

Every row represents a 5-minute aggregated perpetual futures orderbook snapshot. 10-level bid/ask depth with volume and distance-from-mid-price metrics.

Ready for Pandas, DuckDB, Apache Spark, and any analytics tool.

47
Total Columns
7
Core + OHLCV
10
Bid Volume Levels
10
Ask Volume Levels
20
Distance Metrics

Core

2 columns
#Column NameData TypeDescription
1timestamp_utcDateTimeISO 8601 UTC timestamp of bar open
2instrument_symbolStringTrading pair (e.g., BTC-USDT)

OHLCV

5 columns
#Column NameData TypeDescription
3open_priceFloatMid-price at bar open
4high_priceFloatHighest mid-price in bar
5low_priceFloatLowest mid-price in bar
6close_priceFloatMid-price at bar close
7interval_traded_volumeFloatTaker flow volume proxy

Bid Volume

10 columns
#Column NameData TypeDescription
8bid_volume_level_1FloatCumulative passive bid volume at depth level 1
9bid_volume_level_2FloatCumulative passive bid volume at depth level 2
10bid_volume_level_3FloatCumulative passive bid volume at depth level 3
11bid_volume_level_4FloatCumulative passive bid volume at depth level 4
12bid_volume_level_5FloatCumulative passive bid volume at depth level 5
13bid_volume_level_6FloatCumulative passive bid volume at depth level 6
14bid_volume_level_7FloatCumulative passive bid volume at depth level 7
15bid_volume_level_8FloatCumulative passive bid volume at depth level 8
16bid_volume_level_9FloatCumulative passive bid volume at depth level 9
17bid_volume_level_10FloatCumulative passive bid volume at depth level 10

Ask Volume

10 columns
#Column NameData TypeDescription
18ask_volume_level_1FloatCumulative passive ask volume at depth level 1
19ask_volume_level_2FloatCumulative passive ask volume at depth level 2
20ask_volume_level_3FloatCumulative passive ask volume at depth level 3
21ask_volume_level_4FloatCumulative passive ask volume at depth level 4
22ask_volume_level_5FloatCumulative passive ask volume at depth level 5
23ask_volume_level_6FloatCumulative passive ask volume at depth level 6
24ask_volume_level_7FloatCumulative passive ask volume at depth level 7
25ask_volume_level_8FloatCumulative passive ask volume at depth level 8
26ask_volume_level_9FloatCumulative passive ask volume at depth level 9
27ask_volume_level_10FloatCumulative passive ask volume at depth level 10

Bid Distance

10 columns
#Column NameData TypeDescription
28bid_distance_level_1FloatDistance from mid-price in basis points (bid, level 1)
29bid_distance_level_2FloatDistance from mid-price in basis points (bid, level 2)
30bid_distance_level_3FloatDistance from mid-price in basis points (bid, level 3)
31bid_distance_level_4FloatDistance from mid-price in basis points (bid, level 4)
32bid_distance_level_5FloatDistance from mid-price in basis points (bid, level 5)
33bid_distance_level_6FloatDistance from mid-price in basis points (bid, level 6)
34bid_distance_level_7FloatDistance from mid-price in basis points (bid, level 7)
35bid_distance_level_8FloatDistance from mid-price in basis points (bid, level 8)
36bid_distance_level_9FloatDistance from mid-price in basis points (bid, level 9)
37bid_distance_level_10FloatDistance from mid-price in basis points (bid, level 10)

Ask Distance

10 columns
#Column NameData TypeDescription
38ask_distance_level_1FloatDistance from mid-price in basis points (ask, level 1)
39ask_distance_level_2FloatDistance from mid-price in basis points (ask, level 2)
40ask_distance_level_3FloatDistance from mid-price in basis points (ask, level 3)
41ask_distance_level_4FloatDistance from mid-price in basis points (ask, level 4)
42ask_distance_level_5FloatDistance from mid-price in basis points (ask, level 5)
43ask_distance_level_6FloatDistance from mid-price in basis points (ask, level 6)
44ask_distance_level_7FloatDistance from mid-price in basis points (ask, level 7)
45ask_distance_level_8FloatDistance from mid-price in basis points (ask, level 8)
46ask_distance_level_9FloatDistance from mid-price in basis points (ask, level 9)
47ask_distance_level_10FloatDistance from mid-price in basis points (ask, level 10)
Quick Start

Load & Explore in 3 Lines

Python (Pandas)
import pandas as pd

df = pd.read_parquet('btc_l2_depth_5m.parquet')
print(df.columns.tolist())
print(f"Shape: {df.shape}")
print(df[['timestamp_utc', 'close_price',
          'bid_volume_level_1',
          'ask_volume_level_1']].head())
SQL (DuckDB)
-- Explore the schema
DESCRIBE SELECT * FROM
  read_parquet('btc_l2_depth_5m.parquet');

-- Compute bid-ask imbalance
SELECT timestamp_utc,
  close_price,
  bid_volume_level_1 / NULLIF(
    bid_volume_level_1 + ask_volume_level_1, 0
  ) AS bid_ask_imbalance
FROM read_parquet('btc_l2_depth_5m.parquet')
LIMIT 10;
Pro

1m Pro Schema — 121 Columns

The Pro dataset uses 1-minute bars with 30 depth levels. Raw price and size at each level (not normalized to basis points). Schema: bid_1_px..bid_30_px, bid_1_sz..bid_30_sz, ask_1_px..ask_30_px, ask_1_sz..ask_30_sz + timestamp.

View 1m Pro Dataset Details →

Ready to Start Your Research?

Download the free 7-day sample to explore the full 47-column schema with real data.