Kraken Market Data
Real-time and historical market data from Kraken exchange, optimized for ML/AI trading research.
π Latest Update (June 2026)
- Added SPCXx/USD (SpaceX) - Tokenized SpaceX stock, newly listed on Kraken
- Real-time OHLC data captured via WebSocket from listing date
Previous Updates
January 2025
- Added PAXG (PAX Gold) - Tokenized gold data for Gold vs Bitcoin analysis
- New pairs: PAXG/BTC, PAXG/USD, PAXG/EUR, PAXG/ETH
- Historical OHLC data across multiple timeframes
Dataset Structure
data/
βββ crypto/
β βββ ticker/ # Real-time price snapshots
β βββ book/ # Order book depth (100 levels)
β βββ ohlc/ # OHLC candlestick data
β βββ trade/ # Individual trade executions
βββ ohlc_1m/ # 1-minute candles
βββ ohlc_5m/ # 5-minute candles
βββ ohlc_15m/ # 15-minute candles
βββ ohlc_1h/ # 1-hour candles
βββ ohlc_4h/ # 4-hour candles
βββ ohlc_1d/ # Daily candles
Available Pairs
Cryptocurrencies
| Pair | Description | Data Since |
|---|
| BTC/USD | Bitcoin / US Dollar | Feb 2024 |
| BTC/EUR | Bitcoin / Euro | Feb 2024 |
| ETH/USD | Ethereum / US Dollar | Feb 2024 |
| ETH/EUR | Ethereum / Euro | Feb 2024 |
| SOL/USD | Solana / US Dollar | Feb 2024 |
| SOL/EUR | Solana / Euro | Feb 2024 |
| DOT/USD | Polkadot / US Dollar | Feb 2024 |
| DOT/EUR | Polkadot / Euro | Feb 2024 |
| POL/USD | Polygon / US Dollar | Feb 2024 |
| POL/EUR | Polygon / Euro | Feb 2024 |
PAX Gold (Tokenized Gold)
| Pair | Description | Data Since |
|---|
| PAXG/BTC | PAX Gold / Bitcoin | Feb 2024 |
| PAXG/USD | PAX Gold / US Dollar | Feb 2024 |
| PAXG/EUR | PAX Gold / Euro | Feb 2024 |
| PAXG/ETH | PAX Gold / Ethereum | Feb 2024 |
Note: PAXG represents 1 troy ounce of London Good Delivery gold stored in Brink's vaults.
Tokenized Stocks (xStocks)
| Pair | Description | Data Since |
|---|
| SPCXx/USD | SpaceX / US Dollar | Jun 2026 |
| AAPLx/USD | Apple / US Dollar | Dec 2025 |
| MSFTx/USD | Microsoft / US Dollar | Dec 2025 |
| NVDAx/USD | NVIDIA / US Dollar | Dec 2025 |
| TSLAx/USD | Tesla / US Dollar | Dec 2025 |
| COINx/USD | Coinbase / US Dollar | Dec 2025 |
| MSTRx/USD | MicroStrategy / US Dollar | Dec 2025 |
| SPYx/USD | S&P 500 ETF / US Dollar | Dec 2025 |
| QQQx/USD | Nasdaq 100 ETF / US Dollar | Dec 2025 |
| GLDx/USD | Gold ETF / US Dollar | Dec 2025 |
Note: xStocks are tokenized representations of real-world stocks traded 24/7 on Kraken.
Data Schema
OHLC Data (Parquet)
| Column | Type | Description |
|---|
timestamp | datetime64 | Candle open time (UTC) |
open | float64 | Opening price |
high | float64 | Highest price |
low | float64 | Lowest price |
close | float64 | Closing price |
vwap | float64 | Volume-weighted average price |
volume | float64 | Trading volume |
count | int64 | Number of trades |
Ticker Data (Parquet)
| Column | Type | Description |
|---|
ts | int64 | Timestamp (ms since epoch) |
pair | string | Trading pair |
bid | float64 | Best bid price |
ask | float64 | Best ask price |
last | float64 | Last trade price |
volume_24h | float64 | 24h volume |
vwap_24h | float64 | 24h VWAP |
Order Book Data (Parquet)
| Column | Type | Description |
|---|
ts | int64 | Timestamp (ms since epoch) |
pair | string | Trading pair |
bids_json | string | Bid levels as JSON [[price, volume], ...] |
asks_json | string | Ask levels as JSON [[price, volume], ...] |
Usage Examples
Load OHLC Data with Pandas
import pandas as pd
from datasets import load_dataset
# Load daily PAXG/BTC data
ds = load_dataset("Abraxasccs/kraken-market-data", data_files="data/ohlc_1d/PAXG_BTC*.parquet")
df = ds['train'].to_pandas()
# Calculate returns
df['returns'] = df['close'].pct_change()
print(df.tail())
Load Multiple Timeframes
import pandas as pd
# Load from HuggingFace
base_url = "hf://datasets/Abraxasccs/kraken-market-data/data"
btc_1d = pd.read_parquet(f"{base_url}/ohlc_1d/BTC_USD_1d_history.parquet")
btc_4h = pd.read_parquet(f"{base_url}/ohlc_4h/BTC_USD_4h_history.parquet")
print(f"Daily candles: {len(btc_1d)}")
print(f"4H candles: {len(btc_4h)}")
Gold vs Bitcoin Analysis
import pandas as pd
base_url = "hf://datasets/Abraxasccs/kraken-market-data/data"
# Load PAXG/BTC ratio
paxg_btc = pd.read_parquet(f"{base_url}/ohlc_1d/PAXG_BTC_1d_history.parquet")
paxg_btc.set_index('timestamp', inplace=True)
# Calculate z-score for mean reversion
mean = paxg_btc['close'].rolling(50).mean()
std = paxg_btc['close'].rolling(50).std()
paxg_btc['zscore'] = (paxg_btc['close'] - mean) / std
# Find extreme readings
overbought = paxg_btc[paxg_btc['zscore'] > 2]
oversold = paxg_btc[paxg_btc['zscore'] < -2]
Data Collection
- Source: Kraken Exchange WebSocket API v2 & REST API
- Update Frequency: Real-time (WebSocket) + Hourly (REST OHLC)
- Storage: Apache Parquet format
- Timezone: UTC
License
MIT License - Free for commercial and non-commercial use.
Citation
@dataset{kraken_market_data_2025,
author = {Lugo Munoz, German Gregorio},
title = {Kraken Market Data},
year = {2025},
publisher = {HuggingFace},
url = {https://huggingface.co/datasets/Abraxasccs/kraken-market-data}
}
Related Projects