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 | -84 |
PRESSING SHORTS @ CROWDED SHORT | LIGHT · CUTTING HEDGES | +1.3% | 0.0% | LONG |
| Palladium | Metals | -83 |
PRESSING SHORTS @ CROWDED SHORT | LIGHT · CUTTING HEDGES | +5.8% | 0.0% | LONG |
| NatGas | Energy | -53 |
COVERING @ MID | NEUTRAL · ADDING HEDGES | +4.1% | −0.4% | — |
| Cocoa | Softs | -45 |
PRESSING SHORTS @ MID | HEAVY · QUIET | +10.2% | 0.0% | — |
| Wheat SRW | Grains | -12 |
BUILDING LONGS @ MID | HEAVY · ADDING HEDGES | +12.1% | −0.7% | — |
| Cocoa London | Softs | -8 |
PRESSING SHORTS @ MID | HEAVY · CUTTING HEDGES | +11.6% | 0.0% | LONG |
| Brent | Energy | +32 |
QUIET @ MID | HEAVY · ADDING HEDGES | −6.7% | +2.8% | — |
| Feeder Cattle | Livestock | +32 |
CUTTING LONGS @ MID | LIGHT · CUTTING HEDGES | −2.2% | 0.0% | LONG |
| Silver | Metals | +36 |
BUILDING LONGS @ MID | NEUTRAL · ADDING HEDGES | −2.5% | −1.5% | — |
| Heating Oil | Energy | +42 |
COVERING @ MID | HEAVY · ADDING HEDGES | −3.1% | +1.7% | — |
| Live Cattle | Livestock | +43 |
PRESSING SHORTS @ MID | NEUTRAL · CUTTING HEDGES | −2.8% | 0.0% | — |
| Platinum | Metals | +49 |
BUILDING LONGS @ MID | NEUTRAL · ADDING HEDGES | −2.2% | −1.6% | — |
| Soybean Oil | Grains | +51 |
PRESSING SHORTS @ MID | HEAVY · CUTTING HEDGES | +2.1% | +0.0% | LONG |
| Coffee | Softs | +62 |
PRESSING SHORTS @ CROWDED LONG | HEAVY · CUTTING HEDGES | −3.0% | 0.0% | — |
| Robusta | Softs | +63 |
CUTTING LONGS @ CROWDED LONG | NEUTRAL · CUTTING HEDGES | −1.9% | 0.0% | LONG |
| Soybean Meal | Grains | +73 |
COVERING @ CROWDED LONG | HEAVY · QUIET | +7.1% | −0.7% | — |
| Gasoil | Energy | +74 |
CUTTING LONGS @ CROWDED LONG | NEUTRAL · ADDING HEDGES | −2.4% | +1.7% | — |
| RBOB | Energy | +80 |
BUILDING LONGS @ CROWDED LONG | HEAVY · ADDING HEDGES | +0.1% | +0.9% | — |
| WTI | Energy | +84 |
QUIET @ CROWDED LONG | LIGHT · ADDING HEDGES | −4.2% | +1.1% | — |
| Soybeans | Grains | +86 |
BUILDING LONGS @ CROWDED LONG | HEAVY · ADDING HEDGES | +3.9% | +0.3% | SHORT |
| Gold | Metals | +89 |
BUILDING LONGS @ CROWDED LONG | NEUTRAL · ADDING HEDGES | −3.2% | −1.2% | — |
| Corn | Grains | +92 |
BUILDING LONGS @ CROWDED LONG | HEAVY · ADDING HEDGES | +10.9% | +0.6% | SHORT |
| Copper | Metals | +97 |
PRESSING SHORTS @ CROWDED LONG | HEAVY · ADDING HEDGES | +1.1% | −0.7% | — |
| Wheat HRW | Grains | +100 |
BUILDING LONGS @ CROWDED LONG | HEAVY · ADDING HEDGES | +9.3% | −0.5% | — |
| Sugar | Softs | +100 |
BUILDING LONGS @ CROWDED LONG | HEAVY · ADDING HEDGES | −0.3% | 0.0% | — |
| Cotton | Softs | +100 |
BUILDING LONGS @ CROWDED LONG | HEAVY · ADDING HEDGES | +3.4% | +0.2% | SHORT |
| Rough Rice | Grains | +100 |
COVERING @ CROWDED LONG | HEAVY · ADDING HEDGES | +2.6% | +0.2% | — |
| White Sugar | Softs | +100 |
BUILDING LONGS @ CROWDED LONG | HEAVY · ADDING HEDGES | −6.7% | 0.0% | — |
| LME BASE METALS · Investment Funds vs Commercial Undertakings · as-of Fri 2026-08-21 (offset week) · tested on all 73 published weeks: directionally consistent, underpowered — WATCH, not signals | |||||||
| Lead (LME) | LME | -100 |
CUTTING LONGS @ DEEP SHORT | LIGHT · CUTTING HEDGES | +0.3% | +0.9% | WATCH · LONG |
| Nickel (LME) | LME | +37 |
QUIET @ MID | NEUTRAL · CUTTING HEDGES | +1.7% | −1.1% | — |
| Aluminium (LME) | LME | +72 |
COVERING @ CROWDED LONG | NEUTRAL · CUTTING HEDGES | −0.7% | +0.3% | — |
| Zinc (LME) | LME | +99 |
PRESSING SHORTS @ CROWDED LONG | HEAVY · QUIET | +2.2% | +3.4% | — |
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 |