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). All signals mechanical, backtested after cost on six 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 › S5). Enter at the Friday release while the chart still looks broken; waiting for technical confirmation historically consumes the edge. Skip longs in deep contango (the carry gate does this for you).
All markets, sorted crowd-short → crowd-long. The bar is spec net vs its own 1-yr extreme. Px · wk = the price move over the COT week (into the release); · since = from the print's release to the latest available close (bars refreshed at build; freshness can vary a day per market). Hedgers are the second crowd: LIGHT = commercials not backing the specs' story.
| Market | Class | Spec positioning · rel | Spec state | Hedgers | Px · wk | · since | Signal |
|---|---|---|---|---|---|---|---|
| Lean Hogs | Livestock | -100 |
PRESSING SHORTS @ DEEP SHORT | LIGHT · CUTTING HEDGES | −0.2% | +2.3% | LONG |
| Sugar | Softs | -78 |
CUTTING LONGS @ CROWDED SHORT | NEUTRAL · CUTTING HEDGES | +2.9% | +2.1% | — |
| Cocoa | Softs | -78 |
COVERING @ CROWDED SHORT | HEAVY · CUTTING HEDGES | +20.3% | −1.9% | — |
| Palladium | Metals | -71 |
CUTTING LONGS @ CROWDED SHORT | LIGHT · CUTTING HEDGES | −5.3% | −0.7% | LONG |
| NatGas | Energy | -62 |
QUIET @ CROWDED SHORT | NEUTRAL · QUIET | +1.4% | −2.5% | — |
| Wheat SRW | Grains | -62 |
PRESSING SHORTS @ CROWDED SHORT | LIGHT · CUTTING HEDGES | −4.0% | −0.3% | — |
| Corn | Grains | -39 |
PRESSING SHORTS @ MID | NEUTRAL · CUTTING HEDGES | −1.1% | +0.2% | — |
| Rough Rice | Grains | -18 |
CUTTING LONGS @ MID | LIGHT · CUTTING HEDGES | +8.3% | −2.5% | LONG |
| Cocoa London | Softs | -8 |
COVERING @ MID | HEAVY · ADDING HEDGES | +16.0% | −1.9% | — |
| Wheat HRW | Grains | -1 |
PRESSING SHORTS @ MID | NEUTRAL · CUTTING HEDGES | −4.9% | +0.8% | LONG |
| Soybean Meal | Grains | +9 |
PRESSING SHORTS @ MID | NEUTRAL · CUTTING HEDGES | +0.4% | −0.6% | LONG |
| Heating Oil | Energy | +15 |
CUTTING LONGS @ MID | NEUTRAL · CUTTING HEDGES | +0.5% | +1.7% | — |
| Soybeans | Grains | +16 |
CUTTING LONGS @ MID | NEUTRAL · CUTTING HEDGES | +1.2% | −0.9% | — |
| Silver | Metals | +26 |
CUTTING LONGS @ MID | NEUTRAL · CUTTING HEDGES | −10.7% | −0.7% | — |
| Brent | Energy | +31 |
PRESSING SHORTS @ MID | HEAVY · CUTTING HEDGES | −9.8% | +1.9% | — |
| Platinum | Metals | +41 |
COVERING @ MID | NEUTRAL · CUTTING HEDGES | −3.5% | −2.8% | — |
| Coffee | Softs | +42 |
BUILDING LONGS @ MID | NEUTRAL · CUTTING HEDGES | +2.0% | +1.0% | SHORT |
| Feeder Cattle | Livestock | +43 |
BUILDING LONGS @ MID | LIGHT · ADDING HEDGES | +0.9% | −2.5% | SHORT |
| WTI | Energy | +47 |
CUTTING LONGS @ MID | LIGHT · CUTTING HEDGES | −8.7% | +1.1% | — |
| Gasoil | Energy | +53 |
QUIET @ MID | NEUTRAL · ADDING HEDGES | −2.6% | +7.1% | — |
| Cotton | Softs | +59 |
COVERING @ MID | HEAVY · CUTTING HEDGES | −4.1% | +1.1% | — |
| Soybean Oil | Grains | +61 |
CUTTING LONGS @ CROWDED LONG | HEAVY · CUTTING HEDGES | +2.0% | +0.2% | — |
| Gold | Metals | +71 |
BUILDING LONGS @ CROWDED LONG | LIGHT · CUTTING HEDGES | −3.5% | −1.0% | — |
| RBOB | Energy | +72 |
BUILDING LONGS @ CROWDED LONG | HEAVY · CUTTING HEDGES | −2.6% | +1.6% | — |
| White Sugar | Softs | +77 |
BUILDING LONGS @ CROWDED LONG | HEAVY · ADDING HEDGES | +5.3% | +4.6% | — |
| Copper | Metals | +88 |
CUTTING LONGS @ CROWDED LONG | HEAVY · CUTTING HEDGES | −3.8% | +0.7% | — |
| Live Cattle | Livestock | +91 |
BUILDING LONGS @ CROWDED LONG | HEAVY · QUIET | −0.3% | −2.7% | — |
| Robusta | Softs | +100 |
COVERING @ CROWDED LONG | HEAVY · ADDING HEDGES | −0.4% | +2.6% | SHORT |
| LME BASE METALS · Investment Funds vs Commercial Undertakings · as-of Fri 2026-06-26 (offset week) · tested on all 73 published weeks: directionally consistent, underpowered — WATCH, not signals | |||||||
| Lead (LME) | LME | -76 |
PRESSING SHORTS @ CROWDED SHORT | LIGHT · CUTTING HEDGES | −2.6% | −1.8% | WATCH · LONG |
| Nickel (LME) | LME | +42 |
PRESSING SHORTS @ MID | NEUTRAL · CUTTING HEDGES | −5.0% | −2.8% | WATCH · LONG |
| Aluminium (LME) | LME | +74 |
CUTTING LONGS @ CROWDED LONG | NEUTRAL · QUIET | −6.7% | −2.9% | — |
| Zinc (LME) | LME | +81 |
CUTTING LONGS @ CROWDED LONG | NEUTRAL · CUTTING HEDGES | −2.0% | +0.5% | — |
Every rule's after-cost record. Standards: one-vote-per-week statistics, persistence-aware costs, roll-drag-corrected returns, by-year stability, adversarial controls, out-of-family replication. The full method and research log live in the project archive — this page carries only the verdicts.
| Rule | Side · hold | Net | Stability | Status | Why it stands |
|---|---|---|---|---|---|
| S1 Squeeze Fuel | LONG 1–2wk | +0.50%/wk | t 4.3 · 6/7 yrs | LIVE | hedger control collapses to t 1.0 — the second crowd is real; stronger on the expanded pool (top name 14%) |
| S2 Pressing-Shorts | LONG 2wk | +0.42%/wk | t 3.5 · 7/7 yrs | LIVE | replicated on 5 never-seen markets (+0.50%/wk net, t 2.0, 7/7 yrs out-of-family) — the validation star |
| S3 Deep-Short Tilt | LONG rolling | +0.62%/wk | t 2.4 · 6/7 yrs | LIVE | monotone in depth (−97 nets +0.74) — size bigger the deeper the extreme; carry gate removes the dead slice |
| S5 Pressure Spread | LONG+SHORT 1wk | +0.26%/wk | t 6.0 · 7/7 yrs | LIVE | two-crowd rank, k=3 · 28 names · carry-neutral · survives ex-Palladium |
| S4 Unconfirmed Short Crowd | LONG 1wk | −0.24%/wk out-of-family | t 1.8 expanded | CANDIDATE | demoted 04-Jul-26 — negative on the 5 new counters; the expansion test did its job |
| S6 Cover-Rally Fade | SHORT 1wk | +0.26%/wk gross | t 1.4 ex-NatGas | CANDIDATE | the only outright-short candidate; mechanism real (control flips), concentration fails it — on probation |
| Combined book (S1›S2›S3 + S5) | ~9 positions/wk | +0.59%/wk | t 6.9 · 7/7 yrs · max DD −9% | LIVE | in-sample upper bound — Sharpe ≈ 2.9 on backtest assumptions; the live record is the real test |