COTVault · COT Research

COT divergence: price versus positioning

Measured on 12 markets · 26 years of CFTC data · weekly bars

Finds momentum divergences and tells you how often they've actually resolved — measured across 12 markets and 26 years of CFTC data, against a base rate. It doesn't tell you to buy or sell. It validates its own claim so you can weigh it against your own system.

1 · Why divergence is measured on the stochastic

The intuitive way to build a COT divergence tool is to look for divergence between price and positioning — and that is how most COT tools would ship it. We built it that way, tested it across 12 markets and 26 years, and it does not work:

Divergence detected on…2 wk lift3 wk4 wkMarkets positive
Positioning (the intuitive build)−2.4−2.5−3.23–5 / 12
Stochastic (what this ships)+7.2+4.8+4.610 / 12

Both rows are the ungated signal, so the two builds are compared like for like. The 2-week column is the window everything else in this guide uses; the 3- and 4-week columns are shown only to make the point that the positioning build is negative at every horizon, not just the one we picked.

Negative lift at every window means that claim is worse than random. So COTVault does it the other way round: divergence is detected on the 9-3-3 stochastic, and COT positioning is the gate rather than the divergence series.

Why we show you the failure. Every number in this guide can be reproduced from public CFTC data. Publishing the approach that failed next to the one that worked is deliberate — a vendor who only ever shows you winning numbers has not told you how many they tried.

2 · The two signals & their numbers

Resolution is defined as: price makes a 4-week extreme in the signal's direction within 2 weekly reports. The base rate is how often that happens from any randomly chosen bar — that's the control, and the difference between them is the only number that means anything.

SignalResolvedBase rateLiftMarketsSample
BEAR — stoch bearish divergence with specs crowded long 54%45%+8.89 / 1287
BULL — stoch bullish divergence, ungated 58%50%+8.011 / 12198

These are the figures the shipped engine earns. The pivot is compared on the high and low of the bar, which is what the Pine does. An earlier study compared closes and produced a different, slightly lower set; those numbers are retired and appear nowhere in this product.

The asymmetry is measured, not assumed

Adding the COT gate helps one side and destroys the other:

UngatedWith COT gateVerdict
Bear divergence+7.2+8.8gate ON by default
Bull divergence+8.0+0.5 (3/9 mkts)gate OFF by default

The bull row's 9 is not a typo against the 12-market universe elsewhere: the backtest drops any market with fewer than five gated signals, and gating the bull side leaves only nine markets with enough to measure. That thinning is itself part of why the gate hurts.

The bull-side gate is published precisely so the failure can be reproduced rather than taken on trust. Applying it makes the result worse — that is the finding, not a tuning knob.

Does it survive out-of-sample?

Split at 2010: fitted before, checked on 2010–2026 untouched.

SignalFull sampleBefore 20102010–2026
BULL, ungated+8.0 (n=198)−2.4 (n=34)+8.2 (n=140)
BEAR, gated+8.8 (n=87)not testable — only 5 gated signals, in a single market
BEAR, ungated (reference)+7.2 (n=250)+12.0+4.8
The bear gate cannot be walk-forward tested, and we are not going to pretend otherwise. The gate is rare: before 2010 it produces five signals in one market, which is not a sample. Its +8.8 rests on the full 26-year run and on breadth — 9 of 12 markets positive — not on an out-of-sample split. The ungated bear signal, which does have the sample for it, holds in both halves. Treat the bear side as the thinner of the two claims.

3 · How to actually use it

This is context, not a trade trigger. It answers one question — "is momentum diverging, and how often does that resolve?" — and hands the entry decision back to you.

  1. Let it flag the condition. A BEAR tag means momentum is fading while price makes new highs, with the crowd already positioned long.
  2. Go to your own chart structure. Where is price relative to your levels? A divergence into resistance is a very different proposition from one in open space.
  3. Use your own entry rules. The published figure says price made a 4-week extreme within 2 reports 54% of the time on the gated bear signal, 58% on the bull. It says nothing about where to enter, how much to risk, or where to exit.
  4. Weight it by the gate. A bear divergence with positioning at 85 carries the tested +8.8 lift. The same divergence with positioning at 50 doesn't fire at all by default — and that's deliberate.

4 · Limitations — read this

These are resolution rates, not returns. "54% resolved" means the price event happened. It says nothing about magnitude, drawdown, spread, or whether a trade built on it would be profitable. A 54% hit rate with poor payoff still loses money.

5 · Methodology

Same report, same mode, same contract codes as the COTVault dashboard — so the study and the live panels never disagree.