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. The LME band at the bottom (aluminium · zinc · nickel · lead, Investment Funds vs Commercial Undertakings) runs on an OFFSET week (Fri as-of, Tue release) and only 73 weeks of history — its ~S tags are the same rules applied by analogy, unverified by backtest: watch-list, not signals.
| Market | Class | Spec positioning · rel | Spec state | Hedgers | Px · wk | Signal |
|---|---|---|---|---|---|---|
| Lean Hogs | Livestock | -100 | PRESSING SHORTS @ DEEP SHORT | LIGHT · CUTTING HEDGES | −0.2% | LONG |
| Sugar | Softs | -78 | CUTTING LONGS @ CROWDED SHORT | NEUTRAL · CUTTING HEDGES | +2.9% | — |
| Cocoa | Softs | -78 | COVERING @ CROWDED SHORT | HEAVY · CUTTING HEDGES | +20.3% | — |
| 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% | — |
| 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% | — |
| Coffee | Softs | +42 | BUILDING LONGS @ MID | NEUTRAL · CUTTING HEDGES | +2.0% | SHORT |
| Feeder Cattle | Livestock | +43 | BUILDING LONGS @ MID | LIGHT · ADDING HEDGES | +0.9% | 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% | — |
| 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% | — |
| Live Cattle | Livestock | +91 | BUILDING LONGS @ CROWDED LONG | HEAVY · QUIET | −0.3% | — |
| LME BASE METALS · Investment Funds vs Commercial Undertakings · as-of Fri 2026-06-26 (offset week) · signals by ANALOGY — unverified, no backtest yet | ||||||
| Lead (LME) | LME | -76 | PRESSING SHORTS @ CROWDED SHORT | LIGHT · CUTTING HEDGES | — | WATCH · LONG |
| Nickel (LME) | LME | +42 | PRESSING SHORTS @ MID | NEUTRAL · CUTTING HEDGES | — | WATCH · LONG |
| Aluminium (LME) | LME | +74 | CUTTING LONGS @ CROWDED LONG | NEUTRAL · QUIET | — | — |
| Zinc (LME) | LME | +81 | CUTTING LONGS @ CROWDED LONG | NEUTRAL · CUTTING HEDGES | — | — |
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.53%/wk | t 3.7 · 6/7 yrs | LIVE | control (hedgers adding) collapses to t 1.0; number is roll-drag corrected + carry-gated |
| S2 Pressing-Shorts | LONG 2wk | +0.40%/wk | t 2.9 · 7/7 yrs | LIVE | survives drop-Cocoa, halves, drop-best-year, roll-drag correction; no VIX gate needed |
| S3 Deep-Short Tilt | LONG rolling | +0.66%/wk | t 2.3 · 6/7 yrs | LIVE | monotone in depth; drop-Palladium ok; carry gate removes the dead deep-contango slice (−0.03 net) |
| S4 Unconfirmed Short Crowd | LONG 1wk | +0.32%/wk | t 2.4 · 5/7 yrs | LIVE | overlaps S2/S3 — one position per market; weakest LIVE signal after drag correction |
| S5 Pressure Spread v2 | LONG+SHORT 1wk | +0.26%/wk | t 5.3 · 7/7 yrs | LIVE | two-crowd rank, k=2; carry-neutral; ex-Palladium at spread level t 4.8 · 7/7 |
| 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. Returns are roll-drag corrected: continuation series are spliced without back-adjustment, silently crediting contango roll yield — all published numbers subtract the arithmetic drag (carry × 7/contract-gap). The uncorrected data faked a spectacular "long contango" edge (t 7.7) that is pure artifact; term structure itself, properly measured, is efficiently priced (carry factor ≈ 0, tested and dead). 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).