QuantsappFaster in the app: live data, alerts, tradingOpen
Log inStart free
Calendar & seasonalityPositionalNIFTYmedium complexity

PCR extreme timing

The put-call ratio measures how much traders are buying puts relative to calls. This strategy treats an unusually high or low daily PCR, judged against its own one-year history, as a sign the crowd has leaned too far one way. It then trades NIFTY futures against the crowd and holds for a fixed few sessions, the horizon over which PCR has been found to lead the index.
Buys or sells NIFTY futures against an unusually high or low daily put-call ratio, then holds for three sessions with no stop or target.
Market viewFades moves (mean reversion)
TradesNIFTY near-month futures, 1 lot
RiskOpen-ended (loss not capped by the structure)
CapitalFutures margin
SuitsIntermediate
Trades a month1.6
Typical hold2 days
Profitable months5 of 12
Longest losing run4 trades
Made money inEntries during a 20-day downtrendSignals entered on weekly expiry day
Lost money inEntries during a 20-day uptrend (small sample)Entries on non-expiry days
Default settings
Symbol
PCR type
Sign
Z th
Hold sessions
Window
PCR expiries
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
Next session's open after a daily volume-PCR z-score beyond ±1.5
Legs
BUY FUT · near month · Current month · 1 lotSELL FUT · near month · Current month · 1 lot
Exits
time close of the 3rd session (entry day counts as 1)roll futures expiry inside the hold: roll to next month
Re-entry
Next extreme reading after the trade closes
PCR
at each session's close, over the nearest PCR_EXPIRIES NIFTY option expiries that have data (0 = every listed expiry): PCR_TYPE "volume" = total put volume / total call volume (each contract's traded quantity for the day); "oi" = total put OI / total call OI (bt.oi_changes totals as of the close).
Signal
z = (today's PCR - mean of the last WINDOW sessions' PCR) / their deviation (today included, all known at the close). SIGN "contrarian": z >= +Z_TH -> long (crowd hedged = bullish), z <= -Z_TH -> short. SIGN "momentum" flips both.
Entry
LOTS of the near-month NIFTY future at the first print of the NEXT session.
Exit
at the close of the HOLD_SESSIONS-th session (the entry session counts as 1) - 3 for volume PCR, 12 for OI PCR per the paper's horizons. No stop, no target. A signal while a trade is open is ignored.
Roll
if the futures expiry falls inside the hold the position closes at the expiry close ("expiry") and the rest of the hold is carried in the next month (at the close when the curve lists it, else at the next session's open).
2

Results

PRE-BUILT · DEFAULTS
NIFTY · 2025-10-01 → 2026-09-30 · 19 trades · before costs
Net P&L+₹43,053
Win rate47%
Max drawdown−₹36,601
Avg per trade+₹2,266
Profit factor1.42
Worst trade−₹31,421
3

Where it made and lost money

With only 19 trades, most conditions are too thin to judge, but two splits stand out in this test. Trades entered while NIFTY was below its 20-day average made ₹70,031 over 11 trades: heavy put buying after a fall was often followed by a bounce, which is the contrarian idea at work. The 8 trades in an uptrend lost ₹26,977, when an extreme reading reflected a market that kept going. Trades entered on weekly expiry day made ₹44,349 over 9 trades, while the other 10 lost ₹1,296, possibly because expiry-day option volume exaggerates the PCR extreme before it unwinds.

Trend going in
Uptrend (NIFTY above its 20-day average)−₹26,9778 trades25% won
Downtrend (NIFTY below its 20-day average)+₹70,03111 trades64% won
Expiry day (NIFTY weekly)
Expiry day+₹44,3499 trades67% won
Other days−₹1,29610 trades30% won
Session direction on the entry day
NIFTY closed above its open+₹35,7118 trades50% won
NIFTY closed below its open+₹7,34211 trades45% won
India VIX the evening before
VIX below 11.5 (calm)+₹5,7844 trades25% won
VIX 11.5-14.5 (normal)+₹26,57710 trades50% won
VIX above 14.5 (nervous)+₹10,6925 trades60% won
Kind of session on the entry day
Quiet session (range under 0.75%)−₹27,3926 trades17% won
Trend day (closed near the high or low)+₹41,61110 trades50% won
Choppy day (wide range, closed mid-range)+₹28,8343 trades100% won
Market while the trade was held
NIFTY rose over 1% while held+₹40,0083 trades100% won
NIFTY within ±1% while held+₹31,79511 trades36% won
NIFTY fell over 1% while held−₹4,2122 trades50% won
How the entry day opened
Gap up of 0.4% or more+₹11,1542 trades100% won
Flat open−₹10,21413 trades31% won
Gap down of 0.4% or more+₹42,1134 trades75% won
Day of the week
Monday+₹2,4963 trades33% won
Tuesday+₹41,4317 trades71% won
Wednesday+₹15,1126 trades50% won
Thursday−₹11,8302 trades0% won
Friday−₹4,1551 trades0% won
The same trades, split by the market conditions around each entry, before costs.
4

About this strategy

  1. At each session's close, add up put volume and call volume across the three nearest NIFTY option expiries and divide to get the day's PCR.
  2. Compare it with the last 250 sessions: work out how many standard deviations today's PCR sits from the average (its z-score).
  3. If the z-score is +1.5 or higher, the crowd is heavily hedged: plan to buy one lot of the near-month NIFTY future.
  4. If it is −1.5 or lower, the crowd is complacent: plan to sell one lot.
  5. Enter at the first price of the next session; ignore new signals while a trade is open.
  6. Close at the end of the third session, counting the entry day. If the futures contract expires first, roll into the next month for the rest of the hold.
  7. There is no stop loss and no target.

Why traders use it

PCR is one of the most watched sentiment gauges in Indian markets. The contrarian reading is that when everyone is buying puts, much of the fear is already priced in and the market tends to bounce; when call buying dominates, the opposite. Using a z-score against a year of history adjusts for the PCR's normal level drifting over time, so only genuine extremes trigger. Research has linked volume PCR to moves over a few days and OI PCR to moves over about two weeks.

Works best whenIn this small sample, extreme PCR readings that came after a fall, with NIFTY below its 20-day average, where crowded put buying unwound into a bounce. Signals entered on weekly expiry day also did clearly better than the rest.
Struggles whenExtreme readings during an uptrend, where the trade fought a market that kept moving, and signals on non-expiry days, which roughly broke even. Most other conditions had too few trades to judge.

The year in plain words

On NIFTY from 1 Oct 2025 to 30 Sep 2026 with default settings, the strategy made 19 trades, rolls included, and won 47% of them for ₹43,053 before costs, a profit factor of 1.42. Results were lumpy: average wins of ₹16,143 against average losses of ₹10,223, with January (+₹38,363) and July (+₹32,598) offset by June (−₹36,601). Maximum drawdown reached ₹36,601. Because it trades a single futures lot a handful of times, costs were small and the after-costs result was ₹35,986. With so few trades, the outcome rests on a few large moves.

What the settings do

PCR typeWhether the ratio uses traded volume or open interest. Volume reacts to the day's activity; OI reflects positions that have built up and changes more slowly.SignContrarian trades against an extreme reading; momentum trades with it, to test the opposite idea.Z thHow extreme the PCR must be, in standard deviations from its average, to trigger a trade. Higher values give fewer, more extreme signals.Hold sessionsHow many sessions each trade is held. About 3 suits volume PCR and about 12 suits OI PCR.WindowHow many past sessions the average and spread of PCR are measured over. A shorter window adapts faster to changing conditions.PCR expiriesHow many of the nearest option expiries are included in the ratio; 0 uses all listed expiries. Fewer expiries focus on where most trading happens.

Risks

  • There is no stop loss, so a futures position can lose heavily if the index keeps moving against it for three sessions.
  • Nineteen trades is a very small sample; one or two large moves decide the year.
  • Weekly expiries dominate option volume and can distort the PCR on expiry-heavy days.
  • Holding overnight exposes the position to gaps on global news.

Who it suits

Swing traders who follow sentiment indicators and can carry a NIFTY futures position for a few days without a stop, with enough margin and tolerance for large swings in P&L.

5

Questions traders ask

How is PCR used as a contrarian indicator?

A high put-call ratio means many traders are buying puts, usually out of fear or for protection. Contrarians read that as a crowded bearish view that is likely to unwind, which can lift the market. A very low PCR is read the other way. The signal is about extremes, not everyday readings.

Is the PCR extreme strategy profitable?

In this backtest on NIFTY futures from 1 Oct 2025 to 30 Sep 2026 it made ₹43,053 before costs and ₹35,986 after ₹20 per order and bid-ask slippage (statutory charges not included), from only 19 trades and with a ₹36,601 drawdown. Past results do not guarantee future ones.

What is the difference between volume PCR and OI PCR?

Volume PCR compares the puts and calls traded during the day, so it captures fresh activity. OI PCR compares open positions, which build up over days. Research suggests volume PCR leads the index over a few days and OI PCR over roughly two weeks, which is why the holding period differs.

Why use a z-score instead of a fixed PCR level like 1.3?

The normal PCR level shifts over time as products and participants change. A z-score measures how unusual today's reading is against the last 250 sessions, so the threshold adapts instead of relying on a fixed number that may be ordinary in one year and rare in another.

6

Before you rely on it

WATCH OUTthe sample predates weekly options; predictive causality is not a tradable edge; a 3-session hold is cost-sensitive. Gross of costs.
WHERE THE RULES WERE UNCLEAR · OUR CHOICES- The paper is a frequency-domain causality study (2001-2013): it gives the horizons (~2.5 days for volume PCR, ~12 for OI PCR) but not the sign or a trading rule. The contrarian sign follows the wider literature (Blau and Brough); SIGN lets both be tested. The 250-session estimation window is reused as the z window. - Weekly expiries (absent from the paper's sample) dominate volume and add noise; the spec suggests limiting them, so the nearest 3 expiries with data are used by default (PCR_EXPIRIES 0 = all). - The z window needs WINDOW sessions of PCR before START: they are read from the sessions before START, one chain read per expiry per day (bt.oi_changes has no events before START, gap R2-A12, so OI PCR warms up from chain OI too). Inside the test OI PCR comes from the OI change index (bt.oi_changes totals), falling back to the chain when an expiry has no events.
Also known asput call ratio contrarianPCR extremes
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.