Torch-Trade/btcusdt_perp_1m_05_2021_to_02_2026
收藏Hugging Face2026-03-02 更新2026-03-29 收录
下载链接:
https://hf-mirror.com/datasets/Torch-Trade/btcusdt_perp_1m_05_2021_to_02_2026
下载链接
链接失效反馈官方服务:
资源简介:
---
license: mit
task_categories:
- time-series-forecasting
- reinforcement-learning
tags:
- finance
- cryptocurrency
- bitcoin
- trading
- ohlcv
- perpetual-futures
- derivatives
- binance
size_categories:
- 1M<n<10M
---
# BTCUSDT Perpetual Futures 1-Minute OHLCV (1 2021 - Mar 2026)

## Overview
1-minute OHLCV candlestick data for the **BTC/USDT USDT-margined perpetual futures** contract on Binance, covering **May 1, 2021** to **February 28, 2026**.
- **Rows**: 2,541,592
- **Completeness**: ~100% (only 7 single-bar month-boundary gaps from data packaging)
## Why futures OHLCV?
Perpetual futures are the most actively traded crypto instruments, with volume typically **3-10x higher** than spot. This dataset provides several signals not available in spot data:
- **Futures volume**: Higher liquidity and more representative of actual trading interest
- **Taker buy/sell ratio**: `taker_buy_base_volume / volume` shows whether aggressive buyers or sellers dominate each candle (>0.5 = buyer-dominated)
- **Number of trades**: Trade count as a proxy for market activity independent of order size
- **Quote volume**: Notional value traded, useful for comparing activity across price levels
## Columns
| Column | Type | Description |
|--------|------|-------------|
| `timestamp` | `datetime64[ns]` | Candle open time (UTC) |
| `open` | `float64` | Opening price (USDT) |
| `high` | `float64` | Highest price in the candle |
| `low` | `float64` | Lowest price in the candle |
| `close` | `float64` | Closing price (USDT) |
| `volume` | `float64` | Trading volume (base asset) |
| `quote_volume` | `float64` | Trading volume (USDT notional) |
| `num_trades` | `int64` | Number of trades |
| `taker_buy_base_volume` | `float64` | Taker buy volume (base asset) |
| `taker_buy_quote_volume` | `float64` | Taker buy volume (USDT notional) |
## Statistics
| Metric | Value |
|--------|-------|
| Start price | $57,550.00 |
| End price | $66,937.10 |
| Min price | $15,502.00 |
| Max price | $126,086.80 |
| Return | +16.3% |
| Avg daily volume | 345,284 BTC |
| Mean taker buy ratio | 0.4971 |
| Mean trades/candle | 2,600 |
## Data Quality
The only gaps are single missing bars at month boundaries (23:59 -> 00:01, missing the 00:00 candle). This is a Binance data packaging artifact, not actual missing trading data. Completeness is effectively 100%.
## Joining with spot OHLCV
This dataset complements the spot OHLCV dataset [`Torch-Trade/btcusdt_spot_1m_05_2021_to_03_2026`](https://huggingface.co/datasets/Torch-Trade/btcusdt_spot_1m_05_2021_to_03_2026). To join at training time:
```python
from datasets import load_dataset
import pandas as pd
# Load both
spot = load_dataset("Torch-Trade/btcusdt_spot_1m_05_2021_to_03_2026")["train"].to_pandas()
spot["timestamp"] = pd.to_datetime(spot["timestamp"])
futures = load_dataset("Torch-Trade/btcusdt_perp_1m_05_2021_to_02_2026")["train"].to_pandas()
futures["timestamp"] = pd.to_datetime(futures["timestamp"])
# Merge — rename futures columns to avoid clash
futures = futures.rename(columns={
"open": "fut_open", "high": "fut_high", "low": "fut_low", "close": "fut_close",
"volume": "fut_volume", "quote_volume": "fut_quote_volume",
"num_trades": "fut_num_trades",
"taker_buy_base_volume": "fut_taker_buy_volume",
"taker_buy_quote_volume": "fut_taker_buy_quote_volume",
})
df = spot.merge(futures, on="timestamp", how="left")
# Derive taker buy ratio
df["taker_buy_ratio"] = df["fut_taker_buy_volume"] / df["fut_volume"]
```
## Usage
```python
from datasets import load_dataset
import pandas as pd
ds = load_dataset("Torch-Trade/btcusdt_perp_1m_05_2021_to_02_2026")
df = ds["train"].to_pandas()
df["timestamp"] = pd.to_datetime(df["timestamp"])
print(df.shape) # (2541592, 10)
print(df.head())
```
## License
MIT -- data sourced from [Binance Data Collection](https://data.binance.vision/).
提供机构:
Torch-Trade



