We Tested Our Own Contrarian Thesis. It Failed.
Almost every forex sentiment site, this one included until today, tells you the same thing: when the retail crowd piles into one side of a trade, take the other side. The crowd is wrong at extremes. Fade them.
We had been repeating that claim on our heatmap, extremes and per-pair pages without ever having tested it. So we tested it, against our own data. It did not hold.
What we tested
The rule is simple enough to state precisely: when retail positioning in a pair reaches an extreme, open a position in the opposite direction and hold it for a fixed period. If the contrarian claim is true, that should make money.
We ran it across three thresholds (70/30, 80/20 and 90/10 percent long) and four holding periods (4 hours, 24 hours, 3 days and a week), against hourly price data, on 28 currency pairs. Gold was excluded because the only free price series available for it is a futures contract, which carries a basis over spot.
The mistake almost everyone makes
Our first attempt produced 12,045 observations and a result that looked meaningful. It was wrong, and the reason is worth spelling out because it is easy to repeat.
Sentiment moves slowly. A pair can sit above 90 % short for a fortnight. If you treat every hourly reading during that fortnight as a separate observation, one episode becomes several hundred near-identical rows, all of which resolve into roughly the same price move. The sample size looks enormous and the statistics look convincing, but you have measured one event several hundred times.
Counting only the moment sentiment crosses into an extreme, and requiring it to leave before it can trigger again, turns 47,751 raw extreme hours into 474 actual entries. That is a hundredfold difference, and it is the difference between a real test and a comfortable illusion.
The result
Every configuration lost money. Not most — every one.
| Threshold | Hold | Trades | Win rate | Mean return | t-stat |
|---|---|---|---|---|---|
| 70 / 30 | 4h | 678 | 41.3% | −0.030% | −4.16 |
| 70 / 30 | 24h | 554 | 50.2% | −0.017% | −0.96 |
| 80 / 20 | 4h | 577 | 44.7% | −0.024% | −3.49 |
| 80 / 20 | 24h | 474 | 46.0% | −0.048% | −2.53 |
| 80 / 20 | 1 week | 584 | 48.8% | −0.149% | −4.29 |
| 90 / 10 | 3 days | 120 | 39.2% | −0.163% | −3.38 |
Eight of the twelve configurations we ran were statistically significant at the conventional threshold — in the opposite direction to the thesis. Twenty of twenty-five pairs with enough trades to measure were negative. A two basis point round-trip cost is included; adding it back does not change the sign.
Read plainly: over this sample, the retail crowd at extremes was more often right than wrong, and fading it was a losing strategy.
What this does not prove
We would rather state the limits ourselves than have someone else point them out.
- Seven months is not long. Our sentiment history begins in late January 2026. That is one market regime, and 2026 has been a trending year across the majors, with several central banks hiking. Mean-reversion strategies do badly in trends. A longer sample spanning a range-bound period could look different.
- The trades are not fully independent. Pairs share currencies. When retail is crowded short every yen cross at once, those are not eight separate bets on eight separate ideas. The true statistical significance is therefore weaker than the t-statistics above suggest.
- Hourly closes are not fills. Real execution involves slippage that a backtest of closing prices does not capture, and that cost works against any strategy.
- One rule is not the whole idea. We tested a mechanical threshold rule. Sentiment combined with price structure, or used to size positions rather than trigger them, is a different proposition and we have not tested it.
What we changed
We have removed the contrarian trading advice from the heatmap, extremes and pair pages. Those pages now describe what the positioning is, without telling you what to do about it. Extreme sentiment still tells you something genuinely useful — where the crowd is concentrated, and therefore where stops are likely clustered. That is worth knowing. It is just not the same as a signal that price is about to turn.
The data on this site has always been free and unedited. It seemed inconsistent to keep publishing an interpretation of it that the data itself does not support.
You can check our working: the extremes log lists every historical instance, the heatmap shows current positioning, and the API gives you the raw numbers to test whatever rule you prefer.