Utiliser les positions des traders CFTC comme indicateurs du sentiment sur les contrats à terme
Résumé
Ce guide présente les rapports publics CFTC Commitment of Traders comme source de données hebdomadaires sur le positionnement sur les contrats à terme. Il distingue le rapport Traders in Financial Futures, qui catégorise les participants tels que les courtiers, les gestionnaires d’actifs et les traders spéculatifs à effet de levier, du rapport désagrégé utilisé pour les contrats à terme sur matières premières, avec des catégories comme les opérateurs commerciaux, les fonds gérés et les courtiers en swaps. Les fichiers par produit contiennent les dates des rapports, l’open interest (encours des positions ouvertes) et les positions longues, courtes et nettes des traders. Le document évoque l’analyse du positionnement, les scores z, les signaux à contre-courant et les caractéristiques de stratégies sur contrats à terme comme usages possibles, mais ne présente ni règle de trading testée ni preuve de performance.
La principale précaution de mise en œuvre concerne le calendrier de publication. Chaque instantané décrit les positions au mardi, mais n’est publié que le vendredi après-midi ; le guide recommande un décalage de disponibilité plus prudent de six jours calendaires pour les backtests sur données quotidiennes. Cela permet d’éviter le biais d’anticipation lors de l’alignement des rapports sur les données de marché. Les colonnes diffèrent entre les rapports financiers et ceux sur les matières premières ; les données combinées doivent donc tenir compte de ces différences de schéma. Le document explique les conventions d’accès et de stockage, mais n’évalue ni la force du signal, ni l’interprétation des catégories, ni l’amélioration éventuelle des rendements par les caractéristiques de positionnement.
Idées clés
- Les rapports CFTC fournissent des positions hebdomadaires sur les contrats à terme, regroupées par catégorie de trader.
- Les contrats à terme financiers et ceux sur matières premières utilisent des types de rapports et des noms de catégories différents.
- Les mesures de positionnement comprennent les positions longues, courtes et nettes, l’intérêt ouvert, le produit et la date du rapport.
- Les backtests doivent tenir compte du délai entre l’instantané du mardi et sa publication le vendredi.
- Le guide indique des usages possibles comme caractéristiques, sans établir qu’une stratégie fondée sur le positionnement soit rentable.
Étiquettes
Texte intégral
# 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 signalsReproduit dans son intégralité avec attribution, conformément à la licence de la source. Licence: MIT
Ce résumé a été rédigé par l’agent de recherche de Stratmill à partir de la source originale ; il n’en est pas une copie.