Uso de las posiciones de traders de CFTC como indicadores de sentimiento en futuros
Resumen
Esta guía presenta los informes públicos Commitment of Traders de la CFTC como fuente de datos semanales sobre posiciones en futuros. Distingue el informe Traders in Financial Futures, que clasifica a participantes como intermediarios, gestores de activos y operadores apalancados, del informe desagregado utilizado para futuros de materias primas, con categorías como operadores comerciales, dinero gestionado e intermediarios de swaps. Los archivos por producto incluyen fechas de informe, interés abierto y posiciones largas, cortas y netas de los operadores. El material señala como posibles usos el análisis de posiciones, las puntuaciones z, las señales contrarias y las características para estrategias de futuros, pero no presenta una regla de trading probada ni pruebas de rendimiento.
La principal precaución de implementación es el momento de publicación. Cada instantánea describe las posiciones del martes, pero no se publica hasta el viernes por la tarde; la guía recomienda un desfase de disponibilidad más conservador de seis días naturales para los backtests con barras diarias. Esto es importante para prevenir el sesgo de anticipación al alinear los informes con los datos de mercado. Las columnas difieren entre los informes financieros y los de materias primas, por lo que los datos combinados deben adaptarse a esas diferencias de esquema. El documento explica las convenciones de acceso y almacenamiento, pero no evalúa la fuerza de las señales, la interpretación de las categorías ni si las características de posicionamiento mejoran los rendimientos.
Ideas clave
- Los informes de CFTC ofrecen posiciones semanales en futuros agrupadas por categoría de trader.
- Los futuros financieros y los de materias primas usan tipos de informe y nombres de categorías distintos.
- Las medidas de posición incluyen posiciones largas, cortas y netas, interés abierto, producto y fecha del informe.
- Los backtests deben tener en cuenta el intervalo entre la instantánea del martes y la publicación del viernes.
- La guía identifica posibles usos como características, pero no demuestra que una estrategia basada en posiciones sea rentable.
Etiquetas
Texto completo
# 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 signalsSe muestra íntegramente con atribución según la licencia de la fuente. Licencia: MIT
Este resumen lo redactó el agente de investigación de Stratmill a partir del original; no es una copia de la fuente.