AlphaTRADER Academy
Commitment of Traders
Every Friday at 15:30 ET the CFTC publishes who is positioned how in every regulated US futures market. Not opinions, not surveys — actual contract counts on the books of the biggest hedgers, hedge funds, and retail. Wyckoff's "Composite Operator" stops being a metaphor here. The COT report is the receipt.
"The man who is right always has two forces working in his favor — basic conditions and the men who are wrong." — Jesse Livermore
The Three Reporting Groups
CFTC splits every futures market into three categories. The relationship between them is the entire signal.
Smart Money. Producers, processors, end-users hedging real exposure. Farmers selling future harvest. Refiners locking crude. Banks hedging FX flow. They KNOW the asset.
- Behaviour: contrarian — buy when retail panics, sell into euphoria
- Edge source: physical knowledge + balance-sheet patience
- Watch: extreme net long at lows, extreme net short at highs
Hedge funds, CTAs, managed money. Speculators with size, no underlying exposure. Trend-followers by mandate.
- Behaviour: momentum — pile in late, exit late
- Edge source: liquidity + leverage
- Watch: crowded extremes mark exhaustion turning points
Dumb Money. Below CFTC reporting threshold. Statistically wrong at turning points — buy tops, sell bottoms.
- Behaviour: chase the move, capitulate at extremes
- Edge source: none — they're the exit liquidity
- Watch: retail extreme = contrarian buy/sell signal
Mathematical identity: in every futures market, total long = total short (for every buyer there's a seller). So if Commercials are net short −300k and Specs are net long +250k, Retail must be net long +50k. The three groups always sum to zero net. Reading any two tells you the third.
Net Positioning — The Only Number That Matters
Don't read long contracts. Don't read short contracts. Read the difference.
Per-Group Net
net_commercials = long_C − short_C net_non_commercials = long_NC − short_NC net_retail = long_R − short_R
Positive net = group is bullish (more longs than shorts). Negative = bearish. Magnitude = conviction.
Open Interest Context
OI = total open contracts in market OI ↑ + price ↑ = strong uptrend OI ↑ + price ↓ = strong downtrend OI ↓ + price ↑ = weak rally (short-cover) OI ↓ + price ↓ = weak decline (long-cover)
OI tells you whether the move is conviction or unwind. Always cross-reference net positioning with OI direction.
Long / Short Percentage
commercial_long_pct = long_C / (long_C + short_C) × 100 commercial_short_pct = 100 − commercial_long_pct
Useful when comparing groups across different markets — normalizes for size differences. Commercial long_pct > 70% = leaning bullish. < 30% = leaning bearish. Both extremes carry weight.
COT Index — Normalised Extremes (0–100)
Raw net numbers vary by market and over time — gold has different magnitude than EUR/USD. The COT Index normalises each group's net to its own 52-week range.
Formula
cot_index = (current_net − min_net_52w) / (max_net_52w − min_net_52w) × 100
100 = group at most-bullish positioning of last 52 weeks
50 = neutral
0 = group at most-bearish positioning of last 52 weeks
Reset annually. Always relative — what's "extreme" for one market may be normal for another.
Reading Levels
| COT Index | Commercials | Specs / Retail | Trade Bias |
|---|---|---|---|
| ≥ 95 | Smart-money capitulation buy | Crowded long — exhaustion | A+ long signal |
| 85–95 | Strong accumulation | Specs leaning bullish | Tilt long |
| 35–65 | Neutral | Neutral | No directional edge from positioning |
| 5–15 | Strong distribution | Specs leaning bearish | Tilt short |
| ≤ 5 | Smart-money capitulation sell | Crowded short — exhaustion | A+ short signal |
Critical: the COT Index for Commercials runs INVERSE to Specs. Commercials hit 95% (very long) at price LOWS; Specs hit 95% (very long) at price HIGHS. Same gauge, opposite reading. Don't confuse them.
FX Cross Pairs — The Two-Symbol Problem
CFTC reports COT for each currency vs USD — there's no native EUR/AUD or GBP/CHF report. To read a cross pair correctly you have to combine TWO COT reports.
Major Pairs (vs USD)
EUR/USD, GBP/USD, USD/JPY, AUD/USD etc. — single COT report covers the pair.
USD is implicit — when EUR commercials are net long, they're long EUR vs USD = long the pair. Read the single report and you have your bias.
Cross Pairs (no USD)
EUR/AUD, GBP/CHF, EUR/JPY — both legs trade against USD; the cross is the spread between them.
For EUR/AUD long bias you need both legs to align: EUR commercials bullish AND AUD commercials bearish. One leg alone is half the signal.
Worked Example — EUR/AUD Long Bias
If only ONE leg shows extreme positioning while the other is neutral, the cross signal is weaker — wait for both, or trade the major (single-leg) version instead.
Smart vs Dumb — Divergence Reading
A single group's positioning is half the signal. The DIVERGENCE between Commercials and Specs is the full thesis.
| Commercials | Specs / Retail | Setup | Conviction |
|---|---|---|---|
| Net long extreme | Net short extreme | Smart money accumulation while crowd capitulates — premium long entry zone | A+ |
| Net short extreme | Net long extreme | Smart money distribution while crowd FOMOs in — premium short entry zone | A+ |
| Slowly accumulating | Neutral / mildly bearish | Early-stage Wyckoff Phase B — smart money quietly building before crowd notices | A |
| Net long | Net long | Both bullish — markup phase, easier trend trade but past the optimal entry | B |
| Neutral | Neutral | No edge from positioning alone — defer to other signals | C |
| Aligned WITH retail | Aligned WITH commercials | Rare — usually means market is in genuine, structural transition. Treat with caution. | B− |
Counter-intuitive truth: commercials are NOT trying to "predict" price. They're hedging real exposure. The reason their positioning works as a contrarian signal is selection bias — they hedge MORE aggressively when they perceive better risk/reward in the underlying. The signal is a byproduct of their cost-of-capital math, not a market call.
COT = Wyckoff Composite Operator With a Receipt
Wyckoff taught us "Smart Money accumulates in Phase B and distributes near the top." COT data lets us SEE that accumulation in actual contract counts. The two frameworks aren't separate — they're the same theory at different resolution.
| Wyckoff Phase | COT Signature (Commercials) | COT Signature (Specs) | What This Confirms |
|---|---|---|---|
| Phase A (SC, AR, ST) | Net long building rapidly | Net short extreme — capitulation | Selling climax = retail purge. Commercials buying the panic. |
| Phase B (TR + tests) | Slow steady accumulation | Neutral / drifting bearish | "Cause" period. Quiet absorption before the move. |
| Spring (Phase C) | Spike to extreme net long | Pushed to short extreme by stop-hunt | Final shake-out. Commercials buy the false break. |
| Phase D (LPS, JAC) | Holding net long, distributing slowly | Specs flipping from short to long | Trend confirmation — momentum traders join |
| Phase E (markup) | Reducing net long, locking gains | Net long extreme — euphoria | Distribution beginning. Commercials selling INTO retail demand. |
| UTAD / top reversal | Net short extreme | Long extreme — peak crowded | Mirror image of Spring. Sell the false breakout. |
Operating principle: a Wyckoff schematic with confirming COT positioning is conviction territory. A Wyckoff schematic without COT confirmation might be valid but lacks the "receipt" — treat as standard probability. A Wyckoff schematic CONTRADICTED by COT (e.g., apparent Spring but commercials still net short) is a yellow flag — pattern may be a fake.
Smart Money Flip — The Highest-Value Signal
Static extremes are common. What's rarer and more actionable: the WEEK Commercials reverse direction across zero net.
Bullish Flip
previous_week: net_commercials < 0 (net short) current_week: net_commercials ≥ 0 (net long)
- ▸Commercials cross from net short to net long
- ▸Strongest interpretation: hedgers who were selling now buying
- ▸Combined with COT Index spike → highest-conviction long
Bearish Flip
previous_week: net_commercials > 0 (net long) current_week: net_commercials ≤ 0 (net short)
- ▸Commercials cross from net long to net short
- ▸Strongest interpretation: producers locking in tops
- ▸Combined with COT Index drop → highest-conviction short
Why flips matter more than extremes: a market can sit at COT Index 90 for weeks without a turn. But the WEEK commercials cross zero net is a discrete, dateable event — gives you a clean trigger and a defined invalidation (next-week reversal of the flip).
Failure Modes — When COT Lies
COT is a lagging report with structural quirks. Knowing where it fails is half the alpha.
Reporting Lag
Tuesday close → Friday 15:30 ET release. Three-day blind spot.
- ▸ A Friday news event can invalidate the report before you read it
- ▸ During fast moves (CPI, FOMC, NFP), positioning can flip mid-week
- ▸ Treat fresh COT as "as of Tuesday", not "now"
Hedge ≠ Directional
Commercial net short isn't always "bearish view" — sometimes pure hedging.
- ▸ Gold miner sells forward to lock production cost = net short, no view
- ▸ Airline buys jet fuel futures to hedge = long crude, no view
- ▸ Read changes in net, not absolute level — that's the signal
Low-Volume Markets
Some COT markets have ~5k contracts open interest.
- ▸ One large hedge fund can swing the percentages alone
- ▸ Statistical extremes mean less in thin markets
- ▸ Always check open_interest_all before trusting the index
Crowded ≠ Imminent
Extremes can persist for weeks before reversal.
- ▸ COT Index 95 doesn't mean "turn this week"
- ▸ Use as bias filter, not entry trigger
- ▸ Always pair with price action / Wyckoff for timing
Operational Cheatsheet
When you open the COT widget on Friday afternoon, run this checklist.
| Read | Confirm With | Action |
|---|---|---|
| Commercials COT Index ≥ 95 | Specs / Retail at < 10 + price near multi-month low | Premium long bias — wait for Wyckoff Spring/Phase C |
| Commercials COT Index ≤ 5 | Specs / Retail at > 90 + price near multi-month high | Premium short bias — wait for UTAD / topping |
| Smart Money Flip (this week) | Net direction change crosses zero | Highest-conviction signal — trade WITH commercials |
| FX cross both legs aligned | e.g. EUR/AUD: EUR comm long extreme + AUD comm short extreme | Clean cross signal — both reports confirm |
| FX cross only one leg extreme | Other leg neutral / contradictory | Trade the major (single-leg) version, not the cross |
| All three groups neutral (35–65) | No extremes anywhere | No COT edge — defer to other signals |
| Wyckoff Spring + Commercials still net short | Smart money NOT confirming the apparent reversal | Yellow flag — likely fake schematic, skip or scale down |
| Fresh COT release after major news | Tuesday-close data, Friday news already happened | Discount the report — wait next Friday |
Closing principle: COT is bias, not timing. It tells you which side of the trade has structural advantage. Pair it with Wyckoff schematics for the WHEN, with pattern engine for the WHERE, and you have the full alignment.
Connect the Dots
Test Your Understanding
4 questions — instant feedback, no scoring stored.