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

PCR Bollinger breakout

The put-call ratio (PCR) compares open interest in NIFTY puts with that in calls. This strategy treats the PCR like a price chart: it draws a 20-day Bollinger band around it and trades NIFTY futures when the PCR breaks out. A PCR spike above the upper band, read as heavy put writing, is a buy; a drop below the lower band is a sell. The trade ends when the PCR returns to its average or a 1% stop is hit.
Trades NIFTY futures when the daily put-call OI ratio breaks out of its own Bollinger band: long above the upper band, short below the lower, out when it returns to average.
Market viewEither direction (follows the move)
TradesNIFTY near-month futures, 1 lot, positional
RiskOpen-ended (loss not capped by the structure)
CapitalFutures margin
SuitsIntermediate
Trades a month2.7
Typical hold2 days
Profitable months4 of 12
Longest losing run8 trades
Made money inEntries on days other than weekly expiryEntry days when NIFTY closed above its open
Lost money inQuiet sessions with a range under 0.75%Entries on NIFTY weekly expiry daysDays after a normal VIX of 11.5-14.5
Default settings
Symbol
Window
Band sigma
Stop %
Direction
Signal time
Entry 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
09:20 after the 15:20 PCR crosses above (buy) or below (sell) its 20-day 1.5-sigma band
Legs
BUY FUT · Near month · Current month · 1 lotSELL FUT · Near month · Current month · 1 lot
Exits
stop 1% of the entry price against the tradesignal 15:20 PCR back across its 20-day averageroll Closed at 15:15 on futures expiry day and re-opened in the next month
Re-entry
Yes - the next band cross after an exit
PCR
once a day at SIGNAL_TIME, put OI / call OI over every strike of the nearest NIFTY expiry that is not expiring that day (exact as of that second, from the OI change events).
Bands
mean = average of the last WINDOW daily PCR readings (today's included), sigma = their standard deviation; upper = mean + BAND_SIGMA x sigma, lower = mean - BAND_SIGMA x sigma.
Entry
only when flat. PCR crosses UP through the upper band (yesterday at or below its band, today above) -> buy LOTS of the near-month future at ENTRY_TIME of the next session. PCR crosses DOWN through the lower band -> sell. DIRECTION "both" | "long_only" | "short_only".
Stop
STOP_PCT % of the entry price against the trade, counted on the whole trade across rolls.
Exit
at SIGNAL_TIME of a session (the entry session included) when the PCR has crossed back over the mean - a long when PCR is below the mean, a short when it is above.
Roll
on the futures expiry day an open trade is closed at ROLL_TIME ("monthly roll") and re-opened in the new near month at the next session's first tick; the stop keeps counting from the original entry.
Re-entry
yes - the next band cross after an exit.
2

Results

PRE-BUILT · DEFAULTS
NIFTY · 2025-10-01 → 2026-09-30 · 32 trades · before costs
Net P&L−₹18,488
Win rate31%
Max drawdown−₹1,13,318
Avg per trade−₹578
Profit factor0.92
Worst trade−₹20,043
3

Where it made and lost money

The result hinged on whether NIFTY actually moved after the PCR signal. In this test the 5 trades held while NIFTY rose more than 1% made ₹1,35,587, but the 15 held while it stayed within 1% lost ₹95,260: without a real move, the PCR drifted back to its average and the trade closed at a loss or hit the 1% stop. Entries on quiet sessions lost ₹57,389 over 14 trades with a 14% win rate. Entries on NIFTY weekly expiry days lost ₹74,391 over 10 trades, while other days made ₹57,196 over 21: the PCR read on the day after an expiry reflects a new series and is noisier.

Expiry day (NIFTY weekly)
Expiry day−₹74,39110 trades20% won
Other days+₹57,19621 trades38% won
Session direction on the entry day
NIFTY closed above its open+₹34,46512 trades33% won
NIFTY closed below its open−₹51,66019 trades32% won
Day of the week
Monday+₹74,8577 trades57% won
Tuesday−₹89,5299 trades11% won
Wednesday−₹35,0972 trades0% won
Thursday−₹42,3118 trades25% won
Friday+₹74,8855 trades60% won
Kind of session on the entry day
Quiet session (range under 0.75%)−₹57,38914 trades14% won
Trend day (closed near the high or low)+₹54,9127 trades57% won
Choppy day (wide range, closed mid-range)−₹14,71710 trades40% won
India VIX the evening before
VIX below 11.5 (calm)+₹26,4986 trades33% won
VIX 11.5-14.5 (normal)−₹30,53013 trades23% won
VIX above 14.5 (nervous)−₹13,16212 trades42% won
Trend going in
Uptrend (NIFTY above its 20-day average)−₹15,62316 trades25% won
Downtrend (NIFTY below its 20-day average)−₹1,57215 trades40% won
Market while the trade was held
NIFTY rose over 1% while held+₹1,35,5875 trades80% won
NIFTY within ±1% while held−₹95,26015 trades27% won
NIFTY fell over 1% while held+₹23,4143 trades67% won
How the entry day opened
Gap up of 0.4% or more−₹23,1695 trades40% won
Flat open+₹27,69122 trades32% won
Gap down of 0.4% or more−₹21,7164 trades25% won
The same trades, split by the market conditions around each entry, before costs.
4

About this strategy

  1. Each day at 15:20, compute the PCR: total put open interest divided by total call open interest on the nearest NIFTY weekly expiry, skipping a series on its own expiry day.
  2. Draw a band around the last 20 daily readings: the average plus and minus 1.5 standard deviations.
  3. When flat, if the PCR crosses above the upper band, buy one lot of near-month NIFTY futures at 09:20 the next session; if it crosses below the lower band, sell one lot.
  4. Place a stop 1% of the entry price against the trade, counted from the original entry even across rolls.
  5. Exit at 15:20 once the PCR crosses back over its 20-day average: below it for a long, above it for a short.
  6. On futures expiry day, close at 15:15 and re-open in the next month's contract at the next session's first tick.
  7. After an exit, the next band cross can open a new trade.

Why traders use it

PCR is one of the most watched sentiment readings in Indian options. A sharp rise in put open interest often means traders are writing puts, betting the market will hold up, so an unusually high PCR is read as bullish. Measuring 'unusual' against a Bollinger band adapts to whatever PCR level is normal at the time, rather than using fixed thresholds like 1.3 or 0.7.

Works best whenA PCR breakout comes just before a real move in NIFTY. The few trades held through a rise of more than 1% made large gains in this test, and entries away from weekly expiry days were profitable overall.
Struggles whenNIFTY stays flat after the signal, so the PCR slips back to its average and the trade closes at a loss; quiet entry days, weekly expiry days and normal-VIX days all lost in this test.

The year in plain words

On NIFTY futures from 1 Oct 2025 to 30 Sep 2026, the strategy produced 32 trade records and won only 31% of them, losing ₹18,488 before costs (profit factor 0.92). Wins were large, averaging ₹21,332 with one of ₹73,326, but losers averaged ₹10,537 and were more than twice as common. 21 trades ended on the PCR returning to its average, 9 on the 1% stop and 2 at a monthly roll. October and April made ₹68,595 and ₹57,697, but seven of the 11 months traded lost money and the drawdown reached ₹1,13,318. After ₹20 per order and bid-ask slippage the loss is ₹27,796.

What the settings do

WindowHow many daily PCR readings form the average and band. A longer window gives a steadier band and fewer signals.Band sigmaHow many standard deviations the band sits from the average. Wider bands need a more extreme PCR and trade less often.Stop %The stop distance as a percentage of the entry price.DirectionTrade both breakouts, only longs on upper-band breaks, or only shorts on lower-band breaks.Signal timeWhen the daily PCR is read for signals and exits.Entry timeWhen the futures trade is placed on the session after a signal.Roll timeWhen an open trade is closed on futures expiry day before re-opening in the next month.

Risks

  • PCR around weekly expiries is noisy because open interest shifts between series.
  • Reading high PCR as bullish is a contrarian assumption; heavy put buying can also lift PCR before a fall.
  • Positions are held overnight, so the 1% stop can be gapped through.
  • With about 2-3 trades a month, a few large trades decide the year.

Who it suits

Positional futures traders who follow option-chain sentiment, want a rule-based way to use PCR, and have margin for a NIFTY lot through drawdowns of around ₹1 lakh.

5

Questions traders ask

What does a high PCR mean in NIFTY?

A high put-call ratio means there is much more open interest in puts than calls. Many traders read this as put writers expecting the market to hold up, which is mildly bullish, though it can also reflect hedging ahead of a fall.

Why put Bollinger Bands on the PCR?

The normal PCR level drifts over time. A band around its own recent average shows when today's reading is unusually high or low compared with the last 20 days, instead of relying on fixed levels.

Is the PCR Bollinger breakout strategy profitable?

In this backtest on NIFTY futures from 1 Oct 2025 to 30 Sep 2026 it lost ₹18,488 before costs and ₹27,796 after ₹20 per order and bid-ask slippage, with a maximum drawdown of ₹1,13,318 before costs. Past results do not guarantee future results.

Which expiry is the PCR taken from?

From the nearest NIFTY weekly expiry, which falls on Tuesday. On the expiry day itself, the strategy uses the next series instead, because open interest in the expiring series collapses into settlement.

6

Before you rely on it

ADAPTED FOR TODAY'S NSE RULES- The source uses the CBOE S&P 500 put-call ratio; here it is the NIFTY OI PCR of the nearest weekly expiry, skipping the series on its own expiry day (its OI collapses into settlement). - Direction as the source codes it: a PCR spike above its band is read as put writing = bullish (contrarian). - The source's stop bands (+/- 2 sigma further out) are not direction-consistent (a known sign error), so the stop is the spec's interpretation: 1% of price against the trade. The source's 25-point E-mini stop is not NIFTY scale. - The first WINDOW readings before the test start come from one option-chain read per warm-up day (the OI change events start at the test start); in the range the PCR is read from the OI events - the two give the same number on the same day. - The PCR is read at SIGNAL_TIME and the trade is placed the NEXT morning, so no closing value is used early.
WATCH OUTUS data; a sign error in the short-side stop. PCR around weekly expiries is noisy. Gross of costs.
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.