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 lift
3 wk
4 wk
Markets positive
Positioning (the intuitive build)
−2.4
−2.5
−3.2
3–5 / 12
Stochastic(what this ships)
+7.2
+4.8
+4.6
10 / 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.
Signal
Resolved
Base rate
Lift
Markets
Sample
BEAR — stoch bearish divergence with specs crowded long
54%
45%
+8.8
9 / 12
87
BULL — stoch bullish divergence, ungated
58%
50%
+8.0
11 / 12
198
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:
Ungated
With COT gate
Verdict
Bear divergence
+7.2
+8.8
gate 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.
Signal
Full sample
Before 2010
2010–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.
Let it flag the condition. A BEAR tag means momentum is fading while price makes new highs, with the crowd already positioned long.
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.
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.
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.
Pivots confirm late. A peak isn't known until pivot right reports after it forms — three weeks at the default. This lag is inherent to pivot detection and cannot be removed by any indicator.
Weekly only. Every figure was measured on weekly bars. On daily charts the signals still draw, but the statistics don't transfer.
Futures prices, not spot. Resolution was measured on futures weekly OHLC. On a spot FX chart the reading is transferred, not measured.
On a cross the gate is much harder to arm. A cross has no CFTC contract, so positioning is a two-leg synthetic and the rescaling halves the scale — the same 80/20 gate fires far less often than on a major, and no cross was in the tested twelve. Use a major or a futures contract for the gated bear signal.
Sample sizes are modest. The gated bear signal rests on 87 events across 12 markets and 26 years. Real, but not enormous — expect single markets to vary widely.
Breadth is not universal. Bear works in 9 of 12 markets, bull in 11 of 12. Some markets simply don't cooperate.
The bear side is the thinner one. Its gate is rare — 87 signals in 26 years, and only five of them before 2010, so it cannot be walk-forward tested. The bull side has both the sample and the split. Tops and bottoms form differently and the research reflects that rather than pretending to symmetry, but do not read the bear gate as the stronger claim just because its lift is larger.
5 · Methodology
Data — CFTC Legacy, futures-only, pulled from the CFTC's own public API. 12 markets: 7 FX majors, US Dollar Index, gold, silver, WTI crude, corn. The CFTC series reaches back to 1986, but the measured sample is bounded by the weekly price join: 2000–2026 for ten markets, 2003 for NZD — 16,284 market-weeks, about 26 years.
Price — weekly continuous futures, aligned to each report date.
Divergence — pivot highs/lows on %K, compared with the BAR HIGH at each pivot high and the BAR LOW at each pivot low. Signals are stamped at the confirmation bar, never the pivot bar, so nothing uses information that didn't exist yet.
Base rate — the same resolution event measured across all bars in the same market. Every published figure is conditional-minus-base.
Walk-forward — split at 2010 with no adjustment. The bull signal holds (+8.2 after, on 140 signals). The gated bear signal has only five pre-2010 signals in one market, so no honest split exists and none is claimed; see §4.
Sensitivity — pivot settings swept 2/2 through 5/5; all positive, so the result isn't a single-setting artifact.
Publication lag — CFTC reports Tuesday positions on Friday. Signals were also tested with a full extra week of delay; the edge held.
Same report, same mode, same contract codes as the COTVault dashboard — so the study and the live panels never disagree.