رفتن به محتوا
همه اسناد کتابخانه

استفاده از موقعیت معامله‌گران CFTC به‌عنوان ویژگی‌های احساسات بازار آتی

مقاله یادگیری ماشین برای معامله‌گری

خلاصه

این راهنما گزارش‌های عمومی تعهد معامله‌گران CFTC را به‌عنوان منبع داده هفتگی موقعیت‌گیری در بازار آتی معرفی می‌کند. گزارش معامله‌گران در قراردادهای آتی مالی را که مشارکت‌کنندگانی مانند معامله‌گران، مدیران دارایی و سرمایه‌گذاران اهرمی را دسته‌بندی می‌کند، از گزارش تفکیک‌شده مورد استفاده برای قراردادهای آتی کالا متمایز می‌کند؛ دسته‌های گزارش دوم شامل فعالان تجاری، سرمایه مدیریت‌شده و معامله‌گران سوآپ است. فایل‌های هر محصول تاریخ گزارش، بهره باز و موقعیت‌های خرید، فروش و خالص معامله‌گران را در بر می‌گیرند. مطالب به تحلیل موقعیت‌گیری، نمره‌های استاندارد، سیگنال‌های خلاف‌روند و ویژگی‌های استراتژی آتی به‌عنوان کاربردهای احتمالی اشاره می‌کنند، اما قاعده معاملاتی آزموده‌شده یا شواهد عملکرد ارائه نمی‌دهند.

نکته اصلی در پیاده‌سازی، زمان انتشار است. هر تصویر لحظه‌ای موقعیت‌ها را در روز سه‌شنبه نشان می‌دهد، اما تا بعدازظهر جمعه منتشر نمی‌شود؛ راهنما برای بک‌تست‌های کندل روزانه تأخیر دسترسی محافظه‌کارانه‌ترِ شش روز تقویمی را توصیه می‌کند. این موضوع برای جلوگیری از سوگیری نگاه به آینده هنگام هم‌ترازکردن گزارش‌ها با داده‌های بازار اهمیت دارد. ستون‌ها میان گزارش‌های مالی و کالایی متفاوت‌اند، بنابراین داده ترکیبی باید این تفاوت‌های ساختاری را در نظر بگیرد. سند شیوه‌های دسترسی و ذخیره‌سازی را توضیح می‌دهد، اما ارزیابی‌ای از قدرت سیگنال، تفسیر دسته‌ها یا بهبود بازده به‌واسطه ویژگی‌های موقعیت‌گیری ارائه نمی‌کند.

ایده‌های کلیدی

  • گزارش‌های CFTC موقعیت‌های هفتگی آتی را بر اساس دسته معامله‌گران ارائه می‌کنند.
  • قراردادهای آتی مالی و کالایی از انواع گزارش و نام‌گذاری دسته‌های متفاوتی استفاده می‌کنند.
  • سنجه‌های موقعیت شامل خرید، فروش، خالص، بهره باز، محصول و تاریخ گزارش‌اند.
  • بک‌تست‌ها باید فاصله میان تصویر سه‌شنبه و انتشار جمعه را در نظر بگیرند.
  • راهنما کاربردهای احتمالی ویژگی‌ها را معرفی می‌کند، اما سودآوری استراتژی موقعیت‌گیری را ثابت نمی‌کند.

برچسب‌ها

متن کامل
# Futures Positioning: CFTC Commitment of Traders


# Futures Positioning: CFTC Commitment of Traders

Weekly positioning snapshots (Tuesday; released Friday at 3:30 PM ET) for
CME / ICE / CBOT futures, broken down by trader category. Free and public
domain. Used in Ch4 NB 10 for sentiment/positioning features and in
Ch8 / Ch16 for futures strategy inputs.

## Dataset

| Report type | Trader categories | Products |
| --- | --- | --- |
| TFF (Traders in Financial Futures) | Dealers, Asset Managers, Leveraged Money | Financial futures (ES, NQ, 6E, ZN, …) |
| Disaggregated | Commercials, Managed Money, Swap Dealers | Commodity futures (CL, GC, ZC, …) |

Product mapping + report-type dispatch live in the `ml4t.data.cot` library
(`ml4t.data.cot.PRODUCT_MAPPINGS`). The downloader here wraps that library
and persists one parquet per product to the local data store.

## Download

```bash
# Default: all products in PRODUCT_MAPPINGS, 2020 through current year
uv run python data/futures/positioning/cot_download.py

# Subset of products + longer history
uv run python data/futures/positioning/cot_download.py --products ES,NQ,CL,GC --start-year 2010

# Override output root
uv run python data/futures/positioning/cot_download.py --data-path /tmp/ml4t-data
```

## Directory Layout

```
$ML4T_DATA_PATH/futures/positioning/cot/
└── {PRODUCT}.parquet    # one parquet per product code (e.g., ES.parquet)
```

## Schema

Columns vary by report type but always include:

| Column | Notes |
| --- | --- |
| `product` | Exchange product code (ES, CL, GC, …) |
| `report_type` | CFTC report that produced the row |
| `report_date` | Tuesday snapshot date |
| `open_interest` | Total open interest |

Per-trader long/short/net columns by report type:

- **Financial (TFF)**: `dealer_long/short/net`, `asset_mgr_long/short/net`, `lev_money_long/short/net`
- **Commodity (disaggregated)**: `commercial_long/short/net`, `managed_money_long/short/net`, `swap_long/short/net`

## Loading

```python
from data import load_cot, list_cot_products

# Everything available locally
df = load_cot()

# Subset + date filter
df = load_cot(products=["ES", "NQ"], start_date="2020-01-01", end_date="2024-12-31")

# Enumerate what's been downloaded
list_cot_products()  # -> ['CL', 'ES', 'GC', 'NQ', ...]
```

`load_cot()` uses `diagonal_relaxed` concat so financial and commodity
products can be combined in one frame despite their different schemas.

## Release Lag

CFTC publishes reports Friday at 3:30 PM ET; the snapshot is as-of
**Tuesday** of the same week (3-day lag). For daily-bar backtests a
conservative +6 calendar-day availability lag from Tuesday is standard.

## Consumers

- **Ch4 NB 10** — positioning analysis, z-scores, contrarian signals
- **Ch8** — futures_features.py (positioning feature family)
- **Ch16** — futures strategies using CoT signals

با ذکر منبع و مطابق مجوز اثر، به‌طور کامل نمایش داده می‌شود. مجوز: MIT

این خلاصه را عامل پژوهشی Stratmill بر پایه متن اصلی نوشته است؛ نسخه‌ای از اثر منبع نیست.