Glossary & Methodology
How the Bullion Dashboard calculates its metrics and how to interpret them.
What Is the Percentile?
The futures market is not one monolithic crowd — it's a colosseum of distinct players, each with completely different motivations, time horizons, and risk tolerances. Every week, the CFTC forces them to show their cards. That disclosure is the Commitments of Traders (COT) report — and learning to read it is like being handed a map of where the armies are positioned before the battle begins.
Where the Data Comes From
Every Tuesday at close of business, large institutional traders are required to report their futures positions to the CFTC — but only if they breach a minimum size threshold. Small traders don't make the cut. The CFTC then verifies and publishes this data every Friday at 3:30 PM ET, giving the world a weekly X-ray of exactly how many contracts each category of player holds net long or net short. By the time you read it Friday afternoon, the data is already 3 days old — a known quirk professionals simply factor in.
The Players in the Disaggregated COT
This dashboard uses the CFTC Disaggregated report, which splits the market into distinct trader categories. The old Legacy report bundled producers and swap dealers into a single “Commercial” bucket — the Disaggregated report separates them for clearer signals:
- Producer/Merchant: The physical hedgers — real-world businesses with actual exposure to the commodity. Gold miners, oil refineries, wheat farmers, airline companies. They use futures to lock in prices and protect their business. A gold miner selling futures is saying: “I don’t care where gold goes — I just need to guarantee my production price.” Producers are almost always net short in commodity markets, because they’re selling forward production. They are the “smart money” on fundamentals — they know their industry better than anyone.
- Managed Money: The category traders care about most. Hedge funds, CTAs (computer-driven trend-following algorithms), and large asset managers with zero physical exposure. They own no gold mine, no oil refinery, no wheat field. They are purely in the market to profit from price movement. They chase trends, pile into momentum, and capitulate in herds — which makes their positioning data powerful as a contrarian signal. When they’re at the 90th percentile long, the trade is crowded. When they’re at the 2nd percentile, they’ve given up — and the spring is coiled.
- Swap Dealers: Large financial institutions — investment banks, JPMorgan, Goldman Sachs — that act as intermediaries. They sell commodity exposure to their clients (pension funds, endowments) via swaps and hedge that exposure in the futures market. Their positioning reflects client demand rather than their own directional view. In the old Legacy report they were bundled with producers as “Commercials”; the Disaggregated report exposes them separately.
- Other Reportables: Everyone else above the reporting threshold who doesn’t fit the other three categories. Often a smaller share of open interest.
- Non-Reportables: Small traders — retail participants and small funds whose positions fall below the CFTC’s minimum reporting threshold. The CFTC calculates their aggregate position by subtracting all reportable categories from total open interest. They’re the background noise of the market — relevant in aggregate, invisible individually. Professionals largely ignore this category for signal purposes.
What the Percentile Tells You
The percentile is what you build from this data over time. Take 105 consecutive Tuesday snapshots (~2 years), calculate the net position for Managed Money each week (longs minus shorts), and sort all 105 readings from smallest to largest. Where today’s reading lands in that sorted list — that’s your percentile. Hit the 2nd percentile? Managed Money is nearly as bearish as it’s been in 2 years. Hit the 90th? Nearly as bullish. Simple, powerful, and endlessly useful.
What Does “Washed Out” Mean?
When a percentile is very low (roughly below the 10th percentile), traders say positioning is washed out. It means Managed Money have exited almost all of their long positions — the trade is abandoned, the crowd has given up. This is a contrarian signal: historically, when everyone has already sold, there is very little selling pressure left. The path of least resistance flips to the upside. A washed-out reading doesn’t guarantee a rally, but it tells you the crowding risk is minimal and the asymmetry favours the long side.
105-Week vs 52-Week Percentile
Why 105 Weeks (2 Years) Is the Standard
The 2-year window is the most common COT lookback for one core reason: it captures a full macro cycle — typically one tightening phase and one easing phase, one risk-on and one risk-off period. It gives you enough data points (105 observations) for the statistics to be meaningful. A Z-score and percentile calculated on fewer than ~52 points becomes statistically fragile.
The Case FOR Adding a 1-Year (52-Week) Column
1. Regime Sensitivity
Markets change regimes. The 2-year window might include a completely different macro environment that distorts the reference point. If 2024 was a dollar bull market and 2025–2026 is a dollar bear market, including 2024 COT data in your percentile calculation anchors your baseline to a regime that no longer exists.
2. Momentum Context
A 1-year percentile tells you something the 2-year doesn’t: where positioning stands within the current trending environment. If Managed Money has been building gold longs all year and is at the 80th percentile of the last 52 weeks, but only the 60th percentile of 2 years — the 1-year number better reflects how stretched the current crowd is.
3. A Tale of Two Signals
| Scenario | 2-Year %ile | 1-Year %ile | Interpretation |
|---|---|---|---|
| Gold today | 2nd | 8th | Both say washed out — high conviction |
| Copper hypothetical | 90th | 45th | 2yr: crowded. 1yr: moderate — suggests the 2yr crowding was the NEW normal |
| Crude hypothetical | 60th | 95th | 2yr: looks moderate. 1yr: actually extreme — 1yr catches it, 2yr misses it |
When the two percentiles agree → very high conviction signal. When they diverge → a regime shift is likely underway, and you need to investigate which baseline is more relevant.
The Case AGAINST Replacing 2 Years With 1 Year
1. Statistical Fragility
52 data points is the bare minimum for a meaningful percentile distribution. Small sample sizes mean one or two outlier weeks can dramatically distort the percentile. With 105 weeks, a single extreme reading smooths out. With 52 weeks, it dominates.
2. Loses the Full-Cycle Anchor
The whole point of a COT percentile is to know when positioning is historically extreme. If your window is only 52 weeks, you might miss that today’s “extreme” is actually quite normal in a longer context. Gold at the 2nd percentile of 105 weeks is a much stronger signal than the 2nd percentile of just 52 weeks — because the longer window has seen more full market cycles.
3. Recency Bias Trap
A 1-year window tends to normalize recent extremes. If the last 12 months were unusually bullish (like gold in 2025), the 1-year percentile recalibrates its “normal” upward — making current levels look moderate when they’re actually stretched on a full-cycle basis. This is exactly the kind of recency bias that causes traders to be bullish at tops.
The Professional Solution: Use Both as a “Percentile Pair”
The institutional standard is not to replace 2 years with 1 year — it’s to run both and compare them. The divergence between the two is itself a signal.
| 52-wk | 105-wk | Reading | Implication |
|---|---|---|---|
| Low | Low | Both washed out | Very high conviction contrarian signal |
| High | High | Both crowded | Very high conviction crowd-risk warning |
| Low | High | 1yr washed out, 2yr elevated | Regime is softening but not fully reset — cautious |
| High | Low | 1yr crowded, 2yr moderate | New bullish regime forming — crowd growing but history says room to run |
The last two rows are the most interesting and most actionable, because they reveal transition states that a single window would completely miss.
What Is the Z-Score?
What It Measures
The Z-Score is a statistical measure that tells you how many standard deviations the current reading is away from the historical average. It answers a simple question: how unusual is this reading relative to the last 105 weeks?
How to Read the Scale
- Z = 0: Normal, right at the average.
- Z = +1 or -1: Unusual but not rare (about 16 percent of readings).
- Z = +2 or -2: Very rare (about 2.5 percent of readings).
- Z = +3 or -3: Extreme outlier, historically almost never happens.
Why Z-Score Beats Raw Numbers
Raw contract counts are meaningless without context. If funds hold 160,000 contracts, you do not know if that is high or low. The Z-Score tells you instantly how extreme that reading is relative to a full cycle of history.
What Is Crowd Risk?
What It Measures
Crowd Risk is the trading risk that emerges from everyone being on the same side of a trade. It answers the question: if the market moves against the crowd, how violent will the exit be? It is derived from the percentile and Z-Score together. High percentile plus high Z-Score means a crowded trade. Low percentile plus negative Z-Score means the crowd has already left.
The Washed-Out Trade
Now imagine Gold at the 2nd percentile. The crowd has already left. If positive news hits, funds rush back in, but there is little overhead supply. The price can rip higher because the crowd has to buy back from almost nothing. That is a washout reversal and is why extremely low crowding can be asymmetrically bullish.
Summary Table
| Column | What it answers | Fire alarm analogy |
|---|---|---|
| Percentile | How crowded is this trade vs history? | How full is the nightclub vs the past 2 years? |
| Z-Score | How statistically extreme is it? | How many degrees above or below normal temperature? |
| Crowd Risk | What happens if the crowd is wrong? | How bad is the stampede when everyone exits? |
The key insight: percentile and Z-Score measure the size of the crowd. Crowd Risk measures the consequence of the crowd being wrong. High percentile plus high Z-Score means the trade is fragile, not strong.
Seasonality Signal
What It Is
The Seasonality Signal tells you whether the current calendar week has historically been favorable, unfavorable, or neutral for a given commodity. It is a purely calendar-driven metric — no fundamental or positioning data is involved. It answers the question: when I look at 20 years of price history, does this specific week of the year tend to go up or down?
How It Is Calculated
For each of the 20 tracked commodities, we use 20 years of weekly closing prices sourced from public market data. The calculation for each ISO calendar week (1–52) works as follows:
- Average Return: The mean week-over-week percentage price change for that specific week across all available years. For example, if Gold rose +0.3%, +0.5%, and -0.1% in Week 10 over three separate years, the average return would be +0.23%.
- Win Rate: The percentage of years in which the commodity posted a positive return during that week. Continuing the example: 2 out of 3 years were positive, so the win rate is 66.7%.
Signal Classification
The raw numbers are classified into a three-tier label using configurable thresholds:
| Label | Criteria | Interpretation |
|---|---|---|
| Strong | Avg return > +0.5% AND win rate ≥ 65% | This week has historically been reliably positive — a seasonal tailwind |
| Weak | Avg return < −0.5% AND win rate ≤ 40% | This week has historically been reliably negative — a seasonal headwind |
| Neutral | Everything in between | No reliable seasonal pattern for this week |
The Three Dashboard Columns
- Seasonal Ret: The average weekly price return for the current ISO week, shown as a percentage. Green means historically positive; red means historically negative.
- Seasonal Win%: The percentage of years (out of ~20) that showed a positive return during this week. Higher is better for longs.
- Seasonal Bias: The composite label — Strong, Weak, or Neutral — derived from the thresholds above.
Commodity Detail Page
Each commodity’s detail page includes a full Seasonality section with:
- A 52-week bar chart showing the average historical return for every week of the year. The current week is highlighted in blue so you can see where you are relative to the full seasonal cycle.
- The 3 strongest and 3 weakest seasonal weeks of the year for that commodity, listed as reference points.
- A seasonal narrative — a brief explanation of the real-world drivers behind that commodity’s seasonal patterns (e.g., natural gas injection/withdrawal seasons, grain planting and harvest windows, gold wedding-season demand).
Why Seasonality Matters Alongside COT
Seasonality and COT positioning are independent signals that reinforce each other when they align:
| COT Signal | Seasonality | Combined Reading |
|---|---|---|
| Washed out (low %ile) | Strong (seasonal tailwind) | High-conviction bullish setup — positioning is light AND calendar favors upside |
| Crowded long (high %ile) | Weak (seasonal headwind) | High-conviction risk — crowded positioning AND calendar favors downside |
| Washed out | Neutral | Positioning favors upside, but no seasonal confirmation — moderate conviction |
| Mid-range | Strong | Seasonality is favorable but positioning is unremarkable — wait for a better entry |
The most powerful setups occur when an extreme COT reading coincides with a matching seasonal signal. A Managed Money washout during a historically strong seasonal week is a materially better setup than either signal alone.
Important Caveats
- Seasonality is a tendency, not a guarantee. Even weeks with 80% historical win rates fail 20% of the time. Always use seasonality as one input among many, never as a standalone trading signal.
- Seasonal patterns can break down during macro shocks (pandemics, wars, central bank interventions). The 2020 oil crash obliterated normal seasonal patterns for energy commodities for months.
- The signal uses end-of-week closing prices and updates weekly alongside the COT data refresh. It is not designed for intra-week or intra-day timing.
- Commodities with fewer than 10 years of price data are marked as N/A rather than given a directional label, because the sample size is insufficient for reliable seasonal inference.
Macro Overlay
What It Is
The Macro Overlay adds economic context to every COT positioning signal. It answers the question a trader asks immediately after reading a COT extreme: “Is the macro environment confirming or fighting this positioning?” A short squeeze signal on gold means something very different when the dollar is collapsing versus when it is surging. The macro overlay closes that interpretive gap.
Indicators by Category
Each commodity category has four key macro indicators, sourced from public market data and updated weekly:
| Category | Indicators |
|---|---|
| Metals | DXY (USD Index), US 10Y Yield, 13-Week T-Bill Rate, VIX |
| Energy | DXY, Brent-WTI Spread, VIX, US 10Y Yield |
| Agriculture | DXY, USD/BRL (Brazil export proxy), Soybean/Corn Ratio, VIX |
| Livestock | Corn Price (feed cost proxy), Feeder/Live Cattle Spread, DXY, VIX |
What Each Indicator Measures
- DXY (USD Index): The trade-weighted value of the US dollar against a basket of major currencies. A rising dollar is generally bearish for commodities priced in USD, as it makes them more expensive for foreign buyers.
- US 10Y Yield: The yield on the US 10-year Treasury note, a proxy for real interest rates and growth expectations. Rising yields increase the opportunity cost of holding non-yielding assets like gold.
- 13-Week T-Bill Rate: A proxy for the effective Fed Funds rate. Higher short-term rates signal tighter monetary policy, which historically pressures precious metals.
- VIX: The CBOE Volatility Index, measuring implied volatility of S&P 500 options. Elevated VIX reflects market fear and drives safe-haven demand into gold, while low VIX reflects risk-on sentiment.
- Brent-WTI Spread: The price difference between Brent crude and WTI crude oil. A widening spread signals tighter global supply relative to US supply.
- USD/BRL: The US dollar to Brazilian real exchange rate. Brazil is a dominant exporter of sugar, coffee, and soybeans. A stronger real makes Brazilian exports more expensive globally, supporting prices.
- Soybean/Corn Ratio: The price of soybeans divided by corn. A high ratio incentivizes more soybean planting (and less corn), affecting future acreage allocation and supply dynamics.
- Corn Price (WoW): Week-over-week change in corn futures. Rising corn prices increase feed costs for livestock producers, squeezing margins.
- Feeder/Live Cattle Spread: The difference between feeder cattle and live cattle prices. A widening spread signals improving feedlot margins.
Composite Signal Scoring
Each indicator is scored as +1 (bullish for that category), −1 (bearish), or 0 (neutral) based on configurable thresholds applied to either the indicator’s current level or its week-over-week change. The scores are then averaged to produce a normalized composite score between −1 and +1.
| Label | Score Range | Interpretation |
|---|---|---|
| Supportive | ≥ +0.3 | Majority of macro indicators are aligned bullishly for this category |
| Headwind | ≤ −0.3 | Majority of macro indicators are aligned bearishly |
| Mixed | Between −0.3 and +0.3 | Indicators are split or neutral — no clear macro direction |
COT × Macro Alignment
On each commodity’s detail page, a COT × Macro Alignment callout combines the current COT positioning signal with the macro composite. This is the highest-conviction reading on the dashboard:
| COT Signal | Macro | Combined Reading |
|---|---|---|
| Washed out (low %ile) | Supportive | High-conviction bullish — positioning is light AND macro favors upside |
| Crowded long (high %ile) | Headwind | High-conviction risk — crowded positioning AND macro is adverse |
| Washed out | Mixed | Positioning favors upside but macro is ambiguous — moderate conviction |
| Mid-range | Supportive | Macro is favorable but positioning is unremarkable — no edge |
Important Caveats
- Macro indicators are weekly end-of-period snapshots, not real-time. They update on the same cycle as the COT data refresh.
- The composite label is a simple majority vote across 4 indicators. It is a directional guide, not a precise forecast. A “Supportive” reading does not guarantee prices will rise.
- Scoring thresholds are configurable and may be refined over time as market regimes evolve.
- If a data source is temporarily unavailable, the previous week’s value is retained and flagged as stale with a visual indicator on the commodity page.
- The macro overlay is designed to be extensible. Additional indicators (e.g., EIA inventory data, FRED economic series) can be added in future versions as data sources expand.
Price Context
What It Is
The Price Context feature anchors every COT positioning signal to the current price reality. COT data tells you where speculators are positioned, but without knowing where price is relative to its own history, that information is incomplete. A crowded long position means something very different when price is at a 52-week high versus when it is mid-range. Price Context closes that gap.
Current Price and WoW Change
The dashboard shows the most recent weekly closing price of the front-month futures contract for each commodity. Below it, the week-over-week (WoW) change is displayed in both absolute and percentage terms. Green indicates the price rose, red indicates it fell, and grey indicates a negligible change (within ±0.1%).
52-Week Range Bar
The 52-Week Range Bar shows where the current price sits within its trailing one-year trading range. It is calculated as:
- 0%: Price is at the 52-week low — historically the cheapest it has been all year.
- 50%: Price is exactly midway between its yearly high and low.
- 100%: Price is at the 52-week high — historically the most expensive it has been all year.
On the dashboard, the bar is color-coded: blue for mid-range, green when above 75% (near highs), and red when below 25% (near lows). Hovering over the bar reveals the actual 52-week high and low prices.
Divergence Flag
The Divergence Flag auto-detects cases where price and COT positioning are moving in opposite directions — a historically significant leading indicator of trend reversals.
| Flag | Condition | Interpretation |
|---|---|---|
| Bear Div | Price in top 25% of range AND Managed Money percentile below 40% | Price is near highs but Managed Money is underpositioned — potential distribution or failed breakout |
| Bull Div | Price in bottom 25% of range AND Managed Money percentile above 60% | Price is near lows but Managed Money is overpositioned — potential accumulation or contrarian bullish setup |
| — | All other combinations | No divergence detected — price and positioning are directionally aligned |
All divergence thresholds (price range position: 25%/75%, COT percentile: 40%/60%) are configurable parameters that can be adjusted without changing the display logic.
Price × COT Alignment Callout
On each commodity’s detail page, a Price × COT Alignment callout generates a plain-language sentence that combines the current price range position with the COT positioning percentile. These sentences are template-driven, covering all major combinations of price position (low/mid/high) and COT signal (bullish extreme/neutral/bearish extreme). This makes the relationship between price and positioning immediately readable without requiring the user to cross-reference multiple columns.
Price vs. COT Dual-Axis Chart
The commodity detail page includes a dual-axis chart showing the last 52+ weeks of front-month futures prices (left axis, gold line) overlaid with the Managed Money net position (right axis, blue line). This visualization makes divergences and confirmations between price and positioning visually obvious over time. The chart includes a zoom slider for navigating the time range.
Important Caveats
- Price data uses end-of-week closing prices of the front-month (most actively traded) futures contract. Intraday moves are not captured.
- The 52-week range is a trailing calculation that updates weekly. A commodity can be at “100%” if this week’s close is the highest of the past year.
- Divergence is a probabilistic signal, not a guarantee. Many divergences resolve without a reversal, especially during strong trending environments.
- Curve structure analysis (contango/backwardation) using front-month vs. second-month futures is planned for a future update and is not yet included.
Disclaimer
All content on this site — including data, charts, metrics, labels, and commentary — is provided strictly for informational and educational purposes. Nothing on this site constitutes financial advice, investment advice, trading advice, or any other form of professional advice. No content should be interpreted as a recommendation to buy, sell, or hold any commodity, futures contract, or financial instrument.
Past performance does not guarantee future results. Historical seasonal patterns, positioning percentiles, Z-Scores, and all derived signals reflect what happened in the past and may not repeat. Markets are influenced by countless unpredictable factors — geopolitical events, central bank policy, natural disasters, technological disruption — that can override any historical tendency at any time.
The data presented here is sourced from publicly available CFTC Commitments of Traders reports and public market price data. While we make reasonable efforts to ensure accuracy, we do not warrant that the data is complete, current, or error-free. Calculations, classifications, and labels are generated programmatically and may contain errors or reflect stale data.
You should always consult a qualified financial advisor before making any investment or trading decisions. The creators and operators of this site accept no liability for any losses, damages, or consequences arising from the use of or reliance on any information presented here. Use this site at your own risk.