PatternsRadar
Sign in

Volatility stock scanners for NSE

Volatility is the one market property everyone agrees is predictable: it clusters. Quiet sessions bunch together, loud ones follow, and the transitions between the two regimes are where these scans live. The compression side — the Bollinger squeeze, the narrow-range day, NR7 — finds stocks coiled unusually tight against their own history, on the premise that a contracted range marks an argument about to resolve. The expansion side — range-expansion days, gaps held and gaps faded — catches the resolution itself and asks the only question that matters about it: did the move hold by the close? The 52-week extreme scans bracket the whole space, from fresh lows to stocks fallen 15% in a month. None of these scans predicts direction; they predict that something is about to happen, or verify that it just did, and direction is read from how the session closed.

Bands within 8% of the middle — compressed ranges that usually resolve with a move.

where bb().width < 0.08 and close > sma(200)

Top 500 by turnover

Today's range wider than 1.5 ATR, on real turnover.

where high - low > 1.5x atr(14) and turnover > 10cr

Top 250 by turnover

Opened above yesterday's high and closed above the open.

where open > high[-1] and close > open

Top 500 by turnover

Opened below yesterday's low and closed below the open — a gap with follow-through.

where open < low[-1] and close < open

Top 500 by turnover

A decisive one-month advance, still trading above its 50-day.

where close up 15% over 21 bars and close > sma(50)

Top 500 by turnover

The lowest close in a year — the other side of the breakout scan.

where close is lowest in 52w

Top 500 by turnover

Sitting near the yearly low on rising volume — basing, or still falling.

where close within 5% of low_52w and volume > 1.2x avg(volume, 20)

Top 500 by turnover

A day's range under half the stock's own ATR — the coil before the spring.

where true_range < 0.5x atr(14) and close > sma(50)

Top 500 by turnover

Today's high-low span is the tightest of the last seven sessions.

where high - low is lowest in 7 bars and close > sma(50)

Top 500 by turnover

A day twice the stock's normal size, resolved in the buyers' favour.

where true_range > 2x atr(14) and change > 0

Top 500 by turnover

Fallen hard over 21 sessions — the damaged list, for bargain hunters and short sellers alike.

where close down 15% over 21 bars

Top 500 by turnover

Opened more than 2% in the hole and closed green from the open — the morning panic that found buyers.

where open < close[-1] * 0.98 and close > open

Top 500 by turnover

Coiled within 5% of the 52-week high with Bollinger width under 0.08 — the VCP shape, as a scan.

where close within 5% of high_52w
  and bb().width < 0.08
  and close > sma(200)

Top 500 by turnover

Holding within 5% of the 52-week high on barely half its normal volume — supply running out.

where close within 5% of high_52w and rel_volume < 0.6

Top 500 by turnover

Common questions

What is a volatility squeeze?

A period when a stock's trading range contracts well below its own norm — measured here by Bollinger band width or by the day's range against ATR. Squeezes tend to precede directional moves, though they say nothing about which direction.

What is an NR7 day?

The narrowest high-to-low range of the last seven sessions, from Toby Crabel's work on range contraction. NR7 traders bracket the small bar with orders both sides and take whichever way it breaks, on the finding that contraction days precede expansion days.

Are gap-up stocks worth buying?

The gap itself is not the signal — the close is. A gap up that holds its open all session means the overnight buyers were right and got reinforced; a gap that fades below the open trapped them. The scans here condition on the close for exactly that reason.