Pular para o conteúdo
Todos os documentos da biblioteca

Posições de operadores CFTC como características de sentimento em futuros

Artigo Machine Learning for Trading

Resumo

Este guia apresenta os relatórios públicos Commitment of Traders da CFTC como fonte de dados semanais sobre posições em futuros. Distingue o relatório Traders in Financial Futures, que classifica participantes como dealers, gestores de ativos e fundos alavancados, do relatório desagregado usado para futuros de commodities, com categorias como comerciais, fundos geridos e swap dealers. Os arquivos por produto contêm datas dos relatórios, contratos em aberto e posições compradas, vendidas e líquidas dos operadores. O material aponta a análise de posições, escores z, sinais contrários e características para estratégias de futuros como usos possíveis, mas não apresenta uma regra de trading testada nem evidências de desempenho.

O principal cuidado de implementação é o horário de divulgação. Cada registro descreve posições de terça-feira, mas só é publicado na sexta à tarde; o guia recomenda uma defasagem conservadora de seis dias corridos antes de considerar os dados disponíveis para backtests com barras diárias. Isso ajuda a evitar viés de antecipação ao alinhar os relatórios aos dados de mercado. As colunas diferem entre os relatórios financeiros e de commodities, portanto dados combinados precisam acomodar essas diferenças de esquema. O documento explica convenções de acesso e armazenamento, mas não avalia a força dos sinais, a interpretação das categorias ou se características de posicionamento melhoram os retornos.

Ideias principais

  • Os relatórios CFTC fornecem posições semanais em futuros agrupadas por categoria de operador.
  • Futuros financeiros e futuros de commodities usam tipos de relatório e nomes de categorias diferentes.
  • As medidas de posição incluem posições compradas, vendidas e líquidas, contratos em aberto, produto e data do relatório.
  • Os backtests devem considerar o intervalo entre o registro de terça-feira e a divulgação na sexta-feira.
  • O guia identifica usos possíveis como características, mas não demonstra uma estratégia de posicionamento lucrativa.

Tags

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 signals

Exibido na íntegra, com atribuição conforme a licença da fonte. Licença: MIT

Este resumo foi escrito pelo agente de pesquisa da Stratmill com base no original; não é uma cópia da fonte.