Every commodity scored weekly on two axes — speculator pressure (who is crowded, which leg is pressing) and hedger stance (are the commercials confirming, or quietly taking the other side). Six signals, all mechanical, all backtested after cost on 6 years of release-aligned data. What isn't validated isn't shown.
Generated mechanically from the data; a market can carry several tags — take one position per market, best-signal precedence (S1 › S2 › S3 › S4 › S5). Enter at/after the Friday release while the chart still looks broken — waiting for technical confirmation historically consumes the entire edge.
All 23 markets, sorted crowd-short → crowd-long. Bar = spec net vs its own 1-yr extreme (rel). The hedger column is the second crowd: LIGHT = commercials are not backing the specs' story.
| Market | Class | Spec positioning · rel | Spec state | Hedgers | Px · wk | Signal |
|---|---|---|---|---|---|---|
| Sugar | Softs | -78 | CUTTING LONGS @ CROWDED SHORT | NEUTRAL · CUTTING HEDGES | +2.9% | LONG |
| Cocoa | Softs | -78 | COVERING @ CROWDED SHORT | HEAVY · CUTTING HEDGES | +20.3% | SHORT |
| Palladium | Metals | -71 | CUTTING LONGS @ CROWDED SHORT | LIGHT · CUTTING HEDGES | −5.3% | LONG |
| NatGas | Energy | -62 | QUIET @ CROWDED SHORT | NEUTRAL · QUIET | +1.4% | — |
| Wheat SRW | Grains | -62 | PRESSING SHORTS @ CROWDED SHORT | LIGHT · CUTTING HEDGES | −4.0% | LONG |
| Corn | Grains | -39 | PRESSING SHORTS @ MID | NEUTRAL · CUTTING HEDGES | −1.1% | — |
| Wheat HRW | Grains | -1 | PRESSING SHORTS @ MID | NEUTRAL · CUTTING HEDGES | −4.9% | LONG |
| Soybean Meal | Grains | +9 | PRESSING SHORTS @ MID | NEUTRAL · CUTTING HEDGES | +0.4% | LONG |
| Heating Oil | Energy | +15 | CUTTING LONGS @ MID | NEUTRAL · CUTTING HEDGES | +0.5% | — |
| Soybeans | Grains | +16 | CUTTING LONGS @ MID | NEUTRAL · CUTTING HEDGES | +1.2% | — |
| Silver | Metals | +26 | CUTTING LONGS @ MID | NEUTRAL · CUTTING HEDGES | −10.7% | — |
| Brent | Energy | +31 | PRESSING SHORTS @ MID | HEAVY · CUTTING HEDGES | −9.8% | — |
| Platinum | Metals | +41 | COVERING @ MID | NEUTRAL · CUTTING HEDGES | −3.5% | SHORT |
| Coffee | Softs | +42 | BUILDING LONGS @ MID | NEUTRAL · CUTTING HEDGES | +2.0% | SHORT |
| WTI | Energy | +47 | CUTTING LONGS @ MID | LIGHT · CUTTING HEDGES | −8.7% | — |
| Cotton | Softs | +59 | COVERING @ MID | HEAVY · CUTTING HEDGES | −4.1% | — |
| Soybean Oil | Grains | +61 | CUTTING LONGS @ CROWDED LONG | HEAVY · CUTTING HEDGES | +2.0% | LONG |
| Gold | Metals | +71 | BUILDING LONGS @ CROWDED LONG | LIGHT · CUTTING HEDGES | −3.5% | — |
| RBOB | Energy | +72 | BUILDING LONGS @ CROWDED LONG | HEAVY · CUTTING HEDGES | −2.6% | — |
| Copper | Metals | +88 | CUTTING LONGS @ CROWDED LONG | HEAVY · CUTTING HEDGES | −3.8% | — |
Every rule's after-cost record, plus the graveyard. Standards: one-vote-per-week t, persistence-aware 0.5% entry cost, by-year stability, drop-top-name, threshold wiggles, adversarial controls. Net numbers only.
| Rule | Side · hold | Net | Stability | Status | The kill-tests |
|---|---|---|---|---|---|
| S1 Squeeze Fuel | LONG 1–2wk | +0.52%/wk | t 2.2 · 6/7 yrs | LIVE | control (hedgers adding) collapses to t 1.0 — the hedger axis is real |
| S2 Pressing-Shorts | LONG 2wk | +0.43%/wk | t 2.2 · 7/7 yrs | LIVE | survives drop-Cocoa, halves, drop-best-year; better WITHOUT a VIX gate |
| S3 Deep-Short Tilt | LONG rolling | +0.62%/wk | t 2.7 · 7/7 yrs | LIVE | monotone in depth (−85 t 3.8 · −95 t 3.0); drop-Palladium t 3.1 |
| S4 Unconfirmed Short Crowd | LONG 1wk | +0.41%/wk | t 2.3 · 7/7 yrs | LIVE | overlaps S2/S3 — one position per market, best-signal precedence |
| S5 Pressure Spread | LONG+SHORT 1wk | +0.24%/wk | t 2.4 · 7/7 yrs | LIVE | gross t 6.3; short leg +0.41%/wk gross, stable halves, top name 16% |
| S6 Cover-Rally Fade | SHORT 1wk | +0.26%/wk gross | t 2.2 → 1.4 ex-NatGas | CANDIDATE | control flips sign (mechanism real) but concentration kills it — probation |
Data: CFTC Disaggregated futures-only (Managed Money = specs; Producer/Merchant = hedgers), self-pulled weekly; prices are release-aligned weekly closes (bars close on the Friday release, so every return is tradeable release→release). rel = spec net vs its trailing 52-week same-side extreme, signed −100…+100; flows are weekly changes in gross legs as % of open interest. Backtest window: Oct-2020 → Jun-2026, 299 release weeks. Full framework spec, research log and the 272-cell search: COT v2 project (FRAMEWORK.md · BACKTEST_FINDINGS.md · research_cells.csv).