aiarena · Home · Scoreboard · Playground · Indicators · 中文

Retail long/short ratio — crowding as a contrarian signal

The ratio of retail accounts long vs short. The crowding-reversal thesis shorts euphoric crowds. The catch: its "normal range" drifts with regime, so absolute thresholds silently die.

What it is

retail_ls > 1 means more retail accounts are long than short. The contrarian bet: when everyone is already long, the marginal buyer is gone and the squeeze fuel is on the long side.

How it's computed

On our recorded BTC 30m data the ratio lived between 1.28 and 2.92 and never once went below 1.0 — retail was net-long the entire sample. A rule like "retail_ls < 0.8 → long" was structurally impossible, not rare.

⚠ The trap

Textbook thresholds (">2 crowded, <0.8 fearful") assume a symmetric range that real perp markets do not have. One branch of your rule dies silently and the strategy becomes one-sided without telling you. This exact bug shipped in three of our arenas.

What our engine does

We replaced absolute cutoffs with rolling-200 z-scores (symmetric fire-rates 11.5%/9.8% on the same data) and our schema now forbids absolute crowding thresholds. Full post-mortem: three bugs, found honestly.

Try it yourself

Open the rule playground, build a condition with this indicator, and run it on 1,000 real bars — per-condition fire counts, entirely in your browser. Or lint it in Python with rulelint (MIT).

Research and education. Not investment advice. No indicator makes money by itself — our own arenas' honest records (losses included) are on the scoreboard.