QuantsappFaster in the app: live data, alerts, tradingOpen
Log inStart free
OI · PCR · VIX signalsPositionalNIFTYmedium complexity

NIFTY 50 breadth thrust

A breadth thrust is a sudden shift from most stocks falling to most stocks rising. This strategy tracks the share of NIFTY 50 members that advance each day, smooths it with a 10-day EMA, and buys NIFTY futures when that average jumps from below 40% to above 61.5% within ten sessions. The position is held for 25 trading sessions with no stop or target, rolling to the next contract at each monthly expiry.
Buys NIFTY futures for 25 sessions when the 10-day average share of advancing NIFTY 50 stocks jumps from below 40% to above 61.5%.
Market viewBullish
TradesNIFTY near-month futures, 1 lot, held 25 sessions
RiskOpen-ended (loss not capped by the structure)
CapitalFutures margin
SuitsIntermediate
Trades a month0.2
Typical hold19 days
Profitable months0 of 12
Longest losing run2 trades
Made money inToo few trades to judge (one signal in the year)
Lost money inToo few trades to judge (one signal in the year)
Default settings
Symbol
Universe
EMA days
Thrust low
Thrust high
Window days
Hold sessions
Entry time
Exit time
Roll time
Lots
Backtest this strategy →Change any setting, pick your own period and run it in the Quantsapp web app. Backtesting is part of the Max plan. Pro+ members can use it now as a free trial.
1

How it trades

What it trades
Universe
NIFTY Positional · 1 Oct 25 → 30 Sep 26
Enters
15:15 on the session after the breadth EMA jumps from below 40% to above 61.5%
Legs
BUY FUT · Near month · Current month · 1 lotBUY FUT · Next month at each roll · Next month · 1 lot
Exits
time 15:15 on the 25th trading session after the signalroll Closed at 15:15 on futures expiry day and re-bought in the next month
Re-entry
Only when flat; a new thrust needs a fresh breadth reading below 40%
Breadth
for each session, the advancing share of the NIFTY 50 members = advances / (advances + declines), from bt.breadth("NiftyStocks") (published at the close). EMA_DAYS-day EMA of that share.
Signal
the EMA closes above THRUST_HIGH, having closed below THRUST_LOW at least once in the last WINDOW_DAYS sessions (the Zweig breadth thrust). After a signal, a new one needs a fresh close below THRUST_LOW.
Entry
LOTS of the near-month NIFTY future at ENTRY_TIME on the session after the signal (the breadth of a day is only known at its close). One trade at a time; a signal while long is ignored.
Exit
at EXIT_TIME of the HOLD_SESSIONS-th trading session after the entry. No stop, no target.
Roll
a futures contract cannot be held past its expiry: on the expiry day the long is closed at ROLL_TIME ("monthly roll") and re-bought on the new near month at the next session's first tick, until the exit.
End
anything still open at the end of the test window is closed at its last tick.
2

Results

PRE-BUILT · DEFAULTS
NIFTY · 2025-10-01 → 2026-09-30 · 2 trades · before costs
Net P&L−₹1,80,063
Win rate0%
Max drawdown−₹1,80,063
Avg per trade−₹90,032
Profit factor0
Worst trade−₹1,60,537
3

Where it made and lost money

One signal in the year cannot show which conditions suit the strategy. The single position was split by a monthly roll: the first part lost ₹19,526 and the second, entered on a choppy day with a gap up while NIFTY was below its 20-day average, lost ₹1,60,537. The rules have no stop, so once the rebound behind the thrust failed, the long position took the full fall in March 2026 until the 25-session exit. The episode shows the main exposure of the design rather than a pattern: a breadth thrust that turns out to be a bear-market bounce is held all the way down.

Kind of session on the entry day
Quiet session (range under 0.75%)−₹19,5261 trades0% won
Choppy day (wide range, closed mid-range)−₹1,60,5371 trades0% won
How the entry day opened
Gap up of 0.4% or more−₹1,60,5371 trades0% won
Flat open−₹19,5261 trades0% won
Trend going in
Uptrend (NIFTY above its 20-day average)−₹19,5261 trades0% won
Downtrend (NIFTY below its 20-day average)−₹1,60,5371 trades0% won
Day of the week
Wednesday−₹1,60,5371 trades0% won
Thursday−₹19,5261 trades0% won
The same trades, split by the market conditions around each entry, before costs.
4

About this strategy

  1. Each day, take the number of NIFTY 50 stocks that advanced and declined, and compute the advancing share: advances divided by advances plus declines.
  2. Smooth that share with a 10-day EMA.
  3. A signal fires when the EMA closes above 61.5% after having closed below 40% at some point in the last ten sessions. A fresh close below 40% is needed before the next signal.
  4. Breadth is only known after the close, so buy one lot of near-month NIFTY futures at 15:15 on the following session.
  5. Hold for 25 trading sessions and sell at 15:15. There is no stop loss and no target.
  6. On each monthly futures expiry day, close at 15:15 and buy the next month's contract at the next session's first tick.
  7. Signals that appear while a position is open are ignored.

Why traders use it

When almost every stock in an index goes from falling to rising within two weeks, it often marks a washout followed by broad buying. Historically such thrusts have been rare and have tended to come near the start of a recovery, which is why the indicator has a strong following among breadth-focused traders. It uses only advance and decline counts, so it is easy to compute from daily data.

Works best whenA broad sell-off ends with a sharp, market-wide rebound that marks the start of a lasting recovery, so the following five weeks keep rising.
Struggles whenThe thrust is a short-lived bounce inside a continuing decline, as in this test, leaving a long futures position with no stop exposed to the next leg down.

The year in plain words

From 1 Oct 2025 to 30 Sep 2026, the NIFTY 50 breadth thrust fired once, in February 2026. That single position appears as two trade records because it was rolled at the monthly expiry. Both parts lost: ₹19,526 before the roll and ₹1,60,537 after it, as NIFTY fell sharply in March while the strategy held long with no stop. The total was a ₹1,80,063 loss before costs and ₹1,80,552 after ₹20 per order and bid-ask slippage. One signal says almost nothing about whether the thrust works, but it shows how large an unprotected 25-session futures hold can lose.

What the settings do

UniverseWhich group of stocks the breadth is measured on: NIFTY 50 members (default), BANKNIFTY members, or all stocks.EMA daysThe length of the EMA applied to the daily advancing share. A shorter EMA reacts faster and produces more thrusts.Thrust lowThe level the smoothed advancing share must have fallen below, marking a washout.Thrust highThe level it must then close above to confirm the thrust. Lowering it makes signals more frequent but less extreme.Window daysThe maximum number of sessions allowed between the low reading and the high one. A thrust must be fast.Hold sessionsHow many trading sessions the long futures position is held.Entry timeThe time of day the position is bought on the session after the signal.Exit timeThe time of day the position is sold on the final session.Roll timeThe time on futures expiry day when the expiring contract is closed before rolling.

Risks

  • There is no stop loss, so a long futures position is fully exposed for about five weeks.
  • Signals are rare; one bad signal decided the entire year here.
  • Overnight gaps and global events over a 25-session hold can move NIFTY by thousands of points.
  • The holding period was chosen on past data, so it may not suit a different market phase.

Who it suits

Positional traders who follow market breadth and can hold a NIFTY futures lot for several weeks with enough margin for deep drawdowns, accepting very few trades a year.

5

Questions traders ask

What is a breadth thrust?

It is a rapid change in market breadth: the share of stocks advancing goes from very low to very high within about two weeks. Here the 10-day average of advancing NIFTY 50 stocks must move from under 40% to over 61.5% within ten sessions.

Is the breadth thrust strategy profitable on NIFTY?

In this test it fired once and lost ₹1,80,063 before costs and ₹1,80,552 after ₹20 per order and bid-ask slippage, from 1 Oct 2025 to 30 Sep 2026. A single trade proves nothing either way, and past results do not guarantee future ones.

Why is one trade shown as two?

NIFTY futures expire monthly, so a 25-session hold usually crosses an expiry. The expiring contract is closed and the next month's is bought, which appears as two trade records for the same position.

Why not use other breadth measures like new highs?

Measures such as the share of stocks at a four-week high need each stock's own daily prices. This test only has daily advance and decline counts, so it uses the thrust built from those counts.

6

Before you rely on it

WATCH OUTthe holding periods were chosen on the same history the hit rates are quoted on; a thrust is rare (a handful a year at most), so a one-year test holds very few trades. Gross of costs.
Also known asbreadth thrust niftyzweig thrust india
Backtests run on historical NSE data with fills at the last traded price. "Before costs" excludes brokerage, taxes and slippage. Quantsapp is not recommending any strategy; it is just a backtesting utility. Past results are not a promise of future returns.

Log in or sign up

Enter your mobile number. New to Quantsapp? The same OTP creates your free account.

+91

By continuing you agree to the Terms of Use and Privacy Policy.