Bollinger Band Strategy: Backtest Results on NSE Stocks
The short answer
Can a bollinger band strategy generate net profits on Indian stocks? Across 15 large NSE liquid stocks, the 15-minute mean reversion bounce test took 1,663 trades, won 44.5% of them, and finished at -39.2% after all Indian statutory charges and slippage. Both bounce and breakout setups on intraday and daily timeframes ended in net losses once transaction costs were subtracted.
View data
| Item | Value |
|---|---|
| 5m Bounce | -71.1% |
| 15m Bounce | -39.2% |
| Daily Bounce | -20.3% |
| 15m Breakout | -30.8% |
| Daily Breakout | -17.7% |
What are Bollinger Bands and how do they work?
Bollinger Bands are a technical volatility indicator developed by John Bollinger in the 1980s. They consist of three distinct lines plotted directly on top of price action on a stock chart: a middle baseline, an upper band, and a lower band.
The middle line is a standard 20-period simple moving average (SMA). The upper band is positioned two standard deviations above that moving average, while the lower band sits two standard deviations below it. Because standard deviation measures statistical dispersion, the width of the bands widens automatically when market volatility surges and contracts when prices settle into tight consolidation ranges.
Most closes fall inside these outer boundaries, so a close outside them is unusual. In practical Indian stock trading across the National Stock Exchange (NSE), traders attempt to exploit this mathematical structure using two opposite philosophies: mean reversion (the bounce) and momentum expansion (the breakout).
Middle Band: 20-period SMA of closing prices.
Upper Band: 20 SMA plus 2 times 20-period standard deviation.
Lower Band: 20 SMA minus 2 times 20-period standard deviation.
Bounce versus breakout: two competing philosophies
Retail traders generally approach a bollinger band strategy through one of two distinct mechanics:
- The Mean Reversion Bounce: Assumes that prices touching or dipping below the lower band are statistically oversold and must snap back toward the mean. The system enters long when the candle crosses back above the lower band and exits when price reaches the 20-period middle SMA.
- The Volatility Breakout: Assumes that a sharp candle piercing above the upper band represents explosive institutional momentum. The trader buys on the upper band close and attempts to ride an extended trend until momentum exhausts.
Both approaches sound logical in theory, but theory ignores the heavy transaction costs of the Indian market. Below, we examine the quantitative reality across thousands of executed trades.
| Strategy Type | Entry Trigger | Exit Target | Theoretical Assumption |
|---|---|---|---|
| Mean Reversion | Close crosses back above lower band | Close touches 20-period middle band | Prices revert toward the historical mean |
| Breakout | Close breaks out above upper band | Fixed target or reversal back inside band | Volatility expansion indicates institutional trend |
Backtest results across all five variations on NSE
We backtested both mean reversion and breakout strategies on a portfolio of 15 highly liquid NIFTY constituents, including Reliance Industries, HDFC Bank, ICICI Bank, Infosys, and TCS. The testing period ran across one complete year with an account of ₹1,00,000, putting 20% of the account into each trade, with at most 5 trades open at once. Every test applied exact Indian market statutory levies including STT, exchange transaction fees, SEBI charges, stamp duty, GST, and execution slippage.
| Strategy Variant | Candles | Trades | Won % | Price moves | Slippage | Charges | After all costs | Return |
|---|---|---|---|---|---|---|---|---|
| Mean Reversion (5-minute) | 5m | 4,374 | 36.6% | -₹12,526 | -₹9,276 | -₹49,283 | -₹71,085 | -71.1% |
| Mean Reversion (15-minute) | 15m | 1,663 | 44.5% | -₹7,799 | -₹4,972 | -₹26,414 | -₹39,185 | -39.2% |
| Mean Reversion (Daily) | 1d | 103 | 37.9% | -₹14,457 | -₹352 | -₹5,478 | -₹20,287 | -20.3% |
| Volatility Breakout (15-minute) | 15m | 1,831 | 40.4% | +₹5,518 | -₹5,752 | -₹30,565 | -₹30,800 | -30.8% |
| Volatility Breakout (Daily) | 1d | 69 | 21.7% | -₹13,631 | -₹247 | -₹3,796 | -₹17,674 | -17.7% |
15m Bounce Exits
View data
| Part | Count |
|---|---|
| Exit rule | 948 |
| Square-off time | 619 |
| Stop hit | 95 |
| Target hit | 1 |
15m Breakout Exits
View data
| Part | Count |
|---|---|
| Square-off time | 1,208 |
| Stop hit | 364 |
| Opposite signal | 165 |
| Target hit | 94 |
Multi-year event study: what happens after a band touch?
To strip away arbitrary stop losses and profit targets, we conducted a massive historical event study on all NIFTY 100 constituent stocks from July 2017 to October 2026. This study measured close-to-close forward returns exactly 1, 5, and 10 trading sessions following two specific signals: closing back above the lower band (bounce trigger) and closing above the upper band (breakout trigger).
The benchmark baseline shows the chance of any random NIFTY 100 stock being higher over 1, 5, and 10 days during the exact same historical period.
| Signal | Times seen | Up after 1 day | Up after 5 days | Up after 10 days | Average move in 5 days |
|---|---|---|---|---|---|
| Close Back Above Lower Band (Bounce) | 5,134 | 50.7% | 52.6% | 52.1% | +0.15% |
| Close Above Upper Band (Breakout) | 6,727 | 51.0% | 53.2% | 55.1% | +0.65% |
| Every day, same stocks | 193,939 | 50.8% | 52.7% | 53.7% | +0.41% |
The data reveals a critical insight: following a close back above the lower band, stocks were positive 5 days later only 52.6% of the time, compared to 52.7% for all random trading days. In contrast, closing above the upper band saw stocks up 5 days later 53.2% of the time, slightly outperforming random days. However, as demonstrated in our backtest, this modest edge is completely overwhelmed once friction is deducted.
Why friction and statutory charges destroy profitability
When trading mechanical setups on lower timeframes like 5-minute or 15-minute candles, the sheer volume of trades creates an insurmountable hurdle. For example, on the 15-minute mean reversion bounce strategy alone, the system executed 1,663 trades over the course of 12 months.
Before charges, the raw price moves generated -₹7,799. However, statutory friction—including Securities Transaction Tax (STT), brokerage, exchange transaction fees, SEBI turnover fees, stamp duty, GST, and execution slippage—consumed ₹26,414 in cash. This turned a modest gross loss into a severe net deficit of -₹39,185.
View data
| Step | ₹ |
|---|---|
| Price moves | -₹7,799 |
| Slippage | -₹4,972 |
| Charges | -₹26,414 |
| Net | -₹39,185 |
If you plan to utilize Bollinger Bands in your trading, you must avoid automated, high-frequency signal execution. Bands should be used as secondary context filters—such as identifying volatility compression before an earnings announcement or gauging extremes alongside volume—rather than standalone execution triggers.
How we tested
- Period
- 2025-10-07 to 2026-10-07
- Stocks
- 15 stocks: RELIANCE, HDFCBANK, ICICIBANK, INFY, TCS, SBIN, BHARTIARTL, ITC, LT, AXISBANK, KOTAKBANK, HINDUNILVR, MARUTI, SUNPHARMA, BAJFINANCE
- Candle size
- 15m
- Account
- ₹1,00,000 in one account, 20.0% per trade, up to 5 open trades
- Product
- intraday
- Exits
- stop 1.5%, target 3.0%, trailing 0.0%, intraday square-off by the engine
- Slippage
- 0.01% per fill
- Charges counted
- brokerage, STT, exchange transaction fee, SEBI fee, stamp duty and GST
- Engine
- LeadFinn backtest engine (files backtest_engine 68ab8514c88d, account 26450af3ec14, india_charges 272d6186e093; repo commit unknown)
- Run date
- 2026-10-09 (IST)
More on how we test: How we test.
Bollinger band bounce: every timeframe, intraday and swing
Data updated: 11 Oct 2026, 01:49 IST
The same rules on every candle size, the way the Run button gives them: the strategy's own stop loss and target, no tuning, every result shown. 15 NIFTY 50 stocks, ₹1,00,000 in one account, 20% per trade, up to 5 trades open, India charges and 0.01% slippage, 9 Oct 2023 to 9 Oct 2026.
Stop loss 1.5% and target 3% (its own).
Intraday: closed the same day
| Candle | Result after charges | Trades | Won | Charges | Biggest fall |
|---|---|---|---|---|---|
| 1 min | −₹98,703 −98.7% | 20,864 | 16.6% | −₹84,182 | −98.7% |
| 5 min | −₹94,348 −94.3% | 12,431 | 38.9% | −₹74,242 | −94.3% |
| 15 min | −₹72,519 −72.5% | 4,957 | 46.6% | −₹54,443 | −72.5% |
| 1 hour | −₹28,804 −28.8% | 1,704 | 39.7% | −₹28,898 | −28.9% |
Swing: held overnight (delivery, buy side only)
| Candle | Result after charges | Trades | Won | Charges | Biggest fall |
|---|---|---|---|---|---|
| 1 min | −₹98,732 −98.7% | 3,004 | 0.6% | −₹94,555 | −98.7% |
| 5 min | −₹98,733 −98.7% | 2,986 | 6.3% | −₹94,431 | −98.7% |
| 15 min | −₹98,706 −98.7% | 2,944 | 20.7% | −₹92,586 | −98.7% |
| 1 hour | −₹65,734 −65.7% | 1,587 | 50.2% | −₹66,522 | −66.5% |
| 4 hours | −₹24,574 −24.6% | 552 | 42.2% | −₹29,690 | −26.8% |
| 1 day | −₹26,837 −26.8% | 298 | 30.2% | −₹15,387 | −27.3% |
Past results on past prices, not advice. Every number is from LeadFinn's backtest engine. Tap a candle size to run that test yourself.
Frequently asked questions
Is the bollinger band strategy profitable on intraday timeframes?
No. In our 12-month backtest across 15 liquid NSE stocks, both 5-minute and 15-minute bounce and breakout rules lost money after accounting for Indian statutory charges and slippage.
How many trades did the 15-minute bounce test execute?
The 15-minute mean reversion bounce took 1,663 trades across the 12-month test period, winning 44.5% of them.
What happened to stocks after closing above the upper Bollinger Band?
In our multi-year NIFTY 100 event study since 2017, stocks were positive 5 days later 53.2% of the time, slightly higher than the baseline rate of 52.7%.
Why did the daily Bollinger Band breakout fail?
On daily candles, the breakout test generated -17.7% after charges. Choppy periods caused false breakouts that hit stop losses before any sustained trend could develop.
What standard settings were used in the backtest?
The standard settings were a 20-period simple moving average and 2 standard deviations for the upper and lower bands, which is the default setting across most charting platforms.
Keep going
This is education, not investment advice. These are tested results on past data; they do not promise future returns. Trading can lose money. See our disclaimer.