Disclaimer: Educational research by a NISM XII certified educator. Not SEBI-registered investment advice. Every number is OBSERVED from my own dataset or DERIVED by a stated formula. No live trades placed.
QUICK ANSWER
PCR (Put-Call Ratio) = total put open interest ÷ total call open interest. The popular rule "PCR below 0.7 = buy, above 1.3 = sell" is a contrarian sentiment signal. But when I tested it on 120 days of real NIFTY data (284,937 option-chain rows, Feb–Aug 2026), no PCR bucket produced a next-day win rate above 60% on a sample large enough to trust — and after the ~0.20% round-trip cost, none were profitable. PCR is a useful context tool, not a standalone trade trigger.
WHAT IS PCR (PUT-CALL RATIO)?
The Put-Call Ratio measures sentiment in the options market.
PCR = Total Put Open Interest / Total Call Open Interest
- High PCR (above ~1.2–1.3): many more puts than calls open → traders are positioned bearish / hedging → contrarian view says market may bounce (too much fear).
- Low PCR (below ~0.7): more calls than puts → bullish retail euphoria → contrarian view says market may fall (too much greed).
The logic is contrarian: when everyone crowds one side, the move is often exhausted.
Two flavours
| Type | What it uses | Best for |
|---|---|---|
| Volume PCR | put volume ÷ call volume (same day) | Intraday sentiment shifts |
| Open-Interest PCR | put OI ÷ call OI (carried) | Positioning / next-day bias |
This article uses OI-based PCR because it reflects standing positioning, not just that day's churn.
WHY TRADERS CARE ABOUT PCR
Retail loves PCR because it is free, available on every option chain, and feels like a "smart money" tell. Telegram channels post "PCR 0.65 — massive buy signal!" daily. The promise: read sentiment, fade the crowd, profit.
The question this article answers: does that promise survive real data and trading costs?
DATA & METHODOLOGY BOX
| Item | Value (OBSERVED) |
|---|---|
| Source | NSE EOD bhavcopy via nse-bse-mcp (free, 403-bypass) |
| Rows (market_raw) | 284,937 |
| Trading days | 120 (2026-02-20 → 2026-08-18) |
| Symbol | NIFTY index options |
| PCR metric | PE_OI ÷ CE_OI, daily |
| Forward test | next-day spot return after each day's PCR |
| Cost model | 0.20% round-trip (brokerage + exchange + slippage), DERIVED |
| Sample | 119 next-day observations (1 day lacked a following session) |
RESULTS — WHAT 120 DAYS OF NIFTY PCR ACTUALLY DID
I split the 120 days into three PCR buckets and measured the actual next-day NIFTY return and win rate inside each:
| PCR bucket | Days (n) | Mean next-day return | Win rate |
|---|---|---|---|
| < 0.80 (bullish lore) | 10 | −0.036% | 60.0% |
| 0.80 – 1.20 (neutral) | 91 | −0.077% | 49.5% |
| > 1.20 (bearish lore) | 18 | +0.127% | 44.4% |
| All days | 119 | −0.043% | 49.6% |
Reading the table honestly
- The < 0.80 bucket shows a 60% win rate — but only 10 days. A 6-of-10 coin-flip is noise, not edge. You cannot build a strategy on n=10.
- The > 1.20 bucket has a positive mean return (+0.127%) yet a lower win rate (44.4%) — meaning the average is propped by a few big up-days, not consistent wins.
- The neutral bucket (91 days, the bulk of the sample) sits at 49.5% — a pure coin flip.
- All days combined: 49.6% win, −0.043% mean. After the 0.20% cost, net expectation is negative.
Conclusion (OBSERVED): over this 120-day NIFTY sample, PCR buckets did not produce a next-day edge that survived costs. The popular thresholds are descriptive of sentiment, not predictive of direction.
HOW TO USE PCR CORRECTLY (PRACTICAL)
PCR is not useless — it is just not a standalone trigger. Use it as a context filter:
- Regime awareness: Extreme PCR (>1.3 or <0.7) tells you positioning is lopsided. That is real information — a trend may be exhaustive.
- Confirmation, not signal: Pair PCR with price structure (support/resistance, trend, volatility). Act only when they agree.
- Sample-size discipline: Any PCR "signal" with fewer than ~30 similar days is unproven. Demand the track record.
- Cost awareness: A 49.6% win rate loses money after costs. Your edge must clear the spread, not just beat 50%.
COMMON PCR MYTHS DEBUNKED
| Myth | Reality (OBSERVED) |
|---|---|
| "PCR < 0.7 = buy" | <0.80 bucket won 60% but only n=10 — not statistically reliable |
| "High PCR = market bottom" | >1.20 showed +0.13% mean but 44% win — mixed, not a bottom signal |
| "PCR predicts next day" | All-day win 49.6% ≈ random after costs |
| "More OI = stronger signal" | OI volume alone said nothing about next-day direction here |
HOW PCR IS CALCULATED — STEP BY STEP
Using a real NIFTY expiry snapshot (OBSERVED structure from the dataset):
- At market close, read open interest of all put strikes → sum = PE_OI (e.g. 4,20,000 contracts)
- Read open interest of all call strikes → sum = CE_OI (e.g. 5,15,000 contracts)
- PCR = 4,20,000 ÷ 5,15,000 = 0.816
Interpretation: more calls open than puts → mildly bullish positioning. In my 120-day sample, the mean PCR was 1.011 (roughly balanced), ranging 0.626 (heavy call side) to 1.43 (heavy put side). The latest reading was 0.815 — near the sample mean, i.e. no extreme sentiment.
Volume PCR uses the same formula but with traded volume that day instead of carried OI. It reacts faster to intraday sentiment shifts; OI PCR reflects standing positioning. For next-day research, OI PCR is the cleaner base.
PCR VS OTHER SENTIMENT INDICATORS
| Indicator | What it shows | Speed | Standalone trade? |
|---|---|---|---|
| PCR (OI) | Positioning imbalance | Daily | No (this study) |
| PCR (Volume) | Intraday sentiment shift | Intraday | Unproven here |
| Max Pain | Writer exposure strike | Static/till expiry | No (separate study) |
| VIX / India VIX | Fear level | Real-time | Context only |
| OI buildup | Where positions concentrate | Daily | Context only |
None of these is a standalone trigger on its own. They are complementary context layers. The mistake retail makes is treating one ratio as a buy/sell button.
A WORKED NIFTY EXAMPLE
Take a day where PCR printed 0.70 (below the "buy" threshold). Per the popular rule, you would go long expecting a bounce. In my data, days with PCR < 0.80 (n=10) had a 60% next-day win rate — tempting. But:
- n=10 means the result rests on 6 winning days out of 10.
- One or two reversed days flip it to 40%.
- The mean return was −0.036% — positive win rate, negative average, meaning losers were slightly larger than winners.
So even the "best" bucket lost money on average. That is the trap: a headline win rate that hides negative expectancy.
WHEN PCR ACTUALLY HELPS (HONEST CONTEXT)
PCR is genuinely useful in three non-trading ways:
- Exhaustion warning: PCR > 1.3 or < 0.7 flags crowded positioning. If price is also at a known extreme, a reversal setup is plausible — but you still need price confirmation.
- Volatility regime filter: Combine with India VIX. High PCR + falling VIX often marks fear capitulation (a better bottom context than PCR alone).
- Position sizing, not timing: Use extreme PCR to reduce size (risk-off) rather than to enter a trade.
The discipline that matters: PCR tells you where the crowd is, not where price goes next.
PCR ACROSS EXPIRIES — A NUANCE RETAIL MISSES
NIFTY has weekly and monthly expiries. The near-weekly PCR is noisier (smaller OI, more speculative flow); the monthly PCR is steadier (institutional positioning). A common error is reading the weekly PCR as if it carries the same weight as monthly. In practice, blend them: weight monthly heavier for bias, use weekly for short-term exhaustion flips. My 120-day test used the current nearest-expiry OI consistently — a deliberate choice for apples-to-apples comparison, not a mix that would obscure the signal.
COMMON MISTAKES CHECKLIST
- ❌ Trading PCR as a standalone buy/sell button
- ❌ Trusting a win rate from n < 30 days
- ❌ Ignoring round-trip costs (a 49.6% win loses money)
- ❌ Mixing weekly + monthly PCR without weighting
- ❌ Reading one day's extreme as a forecast
- ✅ Using PCR as context alongside price structure + volatility
- ✅ Demanding a track record before believing any "signal"
- ✅ Sizing down at sentiment extremes, not forcing entries
REPRODUCIBILITY
The test is ~10 lines:
# for each trading day: compute PCR, get next-day spot return
buckets = {'<0.80': [], '0.80-1.20': [], '>1.20': []}
for day in days:
pcr = pe_oi[day] / ce_oi[day]
nxt_ret = (spot[next_day] - spot[day]) / spot[day] * 100
if pcr < 0.80: buckets['<0.80'].append(nxt_ret)
elif pcr <= 1.20: buckets['0.80-1.20'].append(nxt_ret)
else: buckets['>1.20'].append(nxt_ret)
for b, rets in buckets.items():
print(b, 'n=', len(rets),
'mean=', mean(rets),
'win=', sum(r>0 for r in rets)/len(rets))
No future data leaks — each day's PCR only ever looks at the following session's realized return.
LIMITATIONS (explicit non-claims)
- I do NOT claim PCR never works in any regime — only that over this 120-day NIFTY sample it showed no next-day tradable edge.
- I do NOT claim intraday PCR (volume-based) is equally weak — that needs minute-level data not in this dataset.
- Results are not investment advice. They are a measurement of one sentiment tool on one index.
FAQ
Q: What is a good PCR value for NIFTY?
A: There is no single "good" value. In my 120-day sample, PCR ranged 0.626–1.43 (mean 1.011). Extreme ends signal lopsided positioning, not a buy/sell call.
Q: Is PCR better than OI analysis?
A: They measure different things. PCR is a sentiment ratio; OI buildup shows where positions concentrate. Use both as context, neither as a sole trigger.
Q: Does PCR work on BANKNIFTY or stocks?
A: Unknown from this data — NIFTY only. Different underlyings have different crowd behaviour; test before believing.
Q: Why did the <0.80 bucket win 60%?
A: Small sample (n=10). Statistical significance requires far more observations; 6-of-10 is within noise.
Q: Is this financial advice?
A: No. Educational research by a NISM XII certified educator. Consult a SEBI-registered advisor.
KEY TAKEAWAYS (SKIM-FIRST)
- PCR = puts OI ÷ calls OI; a contrarian sentiment gauge, not a forecast.
- Tested on 120 NIFTY days / 284,937 rows: no bucket beat 50% win reliably after costs.
- The <0.80 "buy" bucket won 60% — but only n=10, statistical noise.
- Use PCR for context + position sizing, never as a lone entry trigger.
- Demand a track record; most "PCR signal" sellers show none.
TL;DR
PCR = puts OI ÷ calls OI, a contrarian sentiment gauge. Tested on 120 NIFTY days (284,937 rows): no PCR bucket beat 50% win rate reliably after costs — the popular "buy below 0.7" rule is descriptive, not predictive. Use PCR as context, not a trigger.
SOURCES
- NSE EOD bhavcopy via
nse-bse-mcp, Feb 20 – Aug 18 2026. OBSERVED innse_research.db. - Methodology: OI-based PCR + next-day forward return, deterministic, no future leak.
AUTHOR / CANONICAL ATTRIBUTION
Shakti Tiwari — Nifty Option Trader, XGBoost Expert. NISM XII certified educator (not SEBI-registered advisory). Founder, OptionTradingWithAI.in. Original experiment; do not republish without attribution.
Resources & Links
- About the author: https://about.me/shaktitiwari
- OptionTradingWithAI.in (canonical home): https://optiontradingwithai.in
- WhatsApp for research questions: https://wa.me/919169650895
- Dev.to profile (real handle): https://dev.to/shaktitiwari
- Related: NIFTY Option-Chain Similarity Engine experiment (Shakti Tiwari on Dev.to)
- Book: Option Trading with AI (B0H9ZNTBPK) | The AI Opportunity (B0HBBFKDQF)
Top comments (0)