داده معاملات آتی CME برای پژوهش ساختار سررسید و کری
خلاصه
این سند مجموعهداده معاملات آتی CME را با میلههای ساعتی و روزانه، قراردادهای پیوسته سررسید نزدیک و دو سررسید مؤخر در چند گروه محصول توصیف میکند. پوشش، فیلدها، گزینههای بارگیری مجموعهداده و دادههای هفتگی موقعیتگیری CFTC مرتبط با آن را توضیح میدهد. ساختار سررسیدها از تحلیل ساختار زمانی و پژوهش بازده ناشی از نگهداری قرارداد پشتیبانی میکند؛ برای بازسازی و بررسی انتقال سررسیدها، سوابق قراردادهای منفرد لازماند.
این محتوا در درجه نخست راهنمای مجموعهداده است، نه پژوهش معاملاتی: نتیجه استراتژی یا شواهدی از سودآوری رویکردی خاص ارائه نمیکند. سابقه بازار به منبع داده پولی و کلید API نیاز دارد و بهروزرسانی کامل میتواند هزینه قابلتوجهی داشته باشد. قراردادهای پیوسته از پیش انتقال سررسید داده شدهاند؛ بنابراین بهتنهایی نشان نمیدهند این انتقال چگونه ساخته شده است. داده CFTC موقعیتگیری گروههای معاملهگر را اضافه میکند، اما هفتگی و با تأخیر منتشر میشود. بازتوزیع داده خام طبق مجوز منبع محدود است.
ایدههای کلیدی
- این مجموعهداده میلههای ساعتی و روزانه معاملات آتی CME را برای سررسید نزدیک و دو سررسید مؤخر فراهم میکند.
- مقایسه سررسیدها میتواند از تحلیل ساختار زمانی و بازده ناشی از نگهداری قرارداد پشتیبانی کند.
- چون سریهای پیوسته از پیش انتقال سررسید داده شدهاند، برای بازسازی این انتقالها به داده قراردادهای منفرد نیاز است.
- گزارشهای هفتگی CFTC، نماهایی با تأخیر انتشار از موقعیتگیری گروههای معاملهگر ارائه میکنند.
- داده بازار به منبع پولی API نیاز دارد و منبع، بازتوزیع سری زمانی خام را محدود میکند.
برچسبها
متن کامل
# CME Futures (Databento)
# CME Futures (Databento)
30 CME futures products — continuous front-month contracts plus the next
two tenors — for term-structure analysis, carry strategies, and the
`cme_futures` case study. Daily and hourly bars available.
## Dataset
- **Source**: Databento via the `GLBX.MDP3` CME dataset.
- **Coverage**: 2011-01-01 → present, hourly OHLCV with daily aggregation.
- **Products**: 30 (equity index, energy, metals, grains, softs, rates,
currencies).
- **Tenors**: V0 (front month), V1, V2 for each product.
- **Size on disk**: ~400 MB total (hourly hive partitions + daily
aggregate).
- **Runtime**: ~20-40 minutes for a full refresh (Databento API is fast;
the bottleneck is download volume, not rate limiting).
- **API key**: `DATABENTO_API_KEY` required.
- **Cost**: ~$0.05-0.10 per product per year. A full 30-product × 15-year
refresh runs ~$20-50. **Always** run `--estimate-only` first — new
Databento accounts receive $125 free credit which is enough for the
default ES + NQ + CL demo slice but not for a full fetch.
- **License / attribution**: Databento's standard license permits
personal research and analytics. Redistribution of the raw time
series as a product is prohibited; derived analytics are fine. See
https://databento.com/terms.
## Products
| Group | Symbols (30) |
| ------------- | --------------------------------------------------------- |
| Equity Index | ES, NQ, RTY, YM |
| Energy | CL, NG, RB, HO, BZ |
| Metals | GC, SI, HG, PL |
| Grains | ZC, ZW, ZS, ZM, ZL, ZO |
| Softs | KC, CT, SB, CC, OJ |
| Interest Rates| ZB, ZN, ZF, ZT |
| Currencies | 6E, 6J |
## Download
```bash
# === Market (Databento — paid, always estimate cost first) ===
uv run python data/futures/market/download.py --estimate-only
uv run python data/futures/market/download.py # full
uv run python data/futures/market/download.py --product ES --product NQ
uv run python data/futures/market/download.py --start-date 2020-01-01 --end-date 2023-12-31
# Individual contracts (ES and CL), needed by 02_futures_continuous to
# reconstruct the roll. download.py fetches only the continuous series, which
# have already been rolled, so the roll cannot be taught from them.
uv run python data/futures/market/databento_individual.py --estimate
uv run python data/futures/market/databento_individual.py # ES and CL
uv run python data/futures/market/databento_individual.py --product ES
# === Positioning (CFTC CoT — free, weekly) ===
uv run python data/futures/positioning/cot_download.py # all products, 2020-current
uv run python data/futures/positioning/cot_download.py --products ES,NQ,CL,GC --start-year 2010
```
Output layout under `$ML4T_DATA_PATH/futures/`:
```
market/
├── continuous/
│ ├── hourly/product=<PROD>/year=<YYYY>/data.parquet # raw from Databento
│ └── daily/continuous_daily.parquet # session-aligned daily
├── individual/{PRODUCT}/data.parquet # individual contract roll demo
└── config.yaml # product list, tenors, Databento codes
positioning/
└── cot/{PRODUCT}.parquet # CFTC Commitment of Traders
```
## CFTC Commitment of Traders (free)
Weekly positioning snapshots (Tuesday; released Friday) broken down by
trader category. Used in Ch4 NB 10 for sentiment/positioning features.
```python
from data.futures.loader import load_cot
df = load_cot(products=["ES"], start_date="2020-01-01", end_date="2024-12-31")
df = load_cot() # everything available locally
```
Schema includes `product`, `report_type`, `report_date`, `open_interest`,
and per-trader long/short/net columns (financial: `dealer_*`, `asset_mgr_*`,
`lev_money_*`; commodity: `commercial_*`, `managed_money_*`, `swap_*`).
## Loading
```python
from data import load_cme_futures
df = load_cme_futures() # daily, all products, front + 2 tenors
df = load_cme_futures(frequency="hourly") # hourly panel
df = load_cme_futures(products=["ES", "NQ", "CL"])
df = load_cme_futures(tenors=[0]) # front month only
```
Schema (canonical — note `product` instead of `symbol` for CME per the
book's naming convention):
| Column | Type | Description |
| ----------- | -------- | ------------------------------------- |
| `product` | String | CME product code (e.g., ES) |
| `tenor` | Int | 0 = front month, 1 = next, 2 = after |
| `timestamp` | Datetime | Bar timestamp (daily or hourly) |
| `open` | Float | Opening price |
| `high` | Float | High price |
| `low` | Float | Low price |
| `close` | Float | Closing price |
| `volume` | Int | Trading volume |
## Consumers
- **Ch2**: `05_futures_session_aggregation.py`, `06_cme_futures_eda.py`.
- **Ch6**: `03_cme_futures_setup.py` (carry strategy definition).
- **Ch12-17**: modelling and backtesting.
- **`case_studies/cme_futures/`**: full pipeline from `01_feasibility_analysis.py`
through `17_strategy_analysis.py`.با ذکر منبع و مطابق مجوز اثر، بهطور کامل نمایش داده میشود. مجوز: MIT
این خلاصه را عامل پژوهشی Stratmill بر پایه متن اصلی نوشته است؛ نسخهای از اثر منبع نیست.