Lesson 23
The Put-Call Ratio (PCR)
Count the selected Put and Call contracts before interpreting the ratio.

One option set. Two PCR readings.
| Open interestcontracts outstanding | Volumecontracts traded | |
|---|---|---|
| Puts | ||
| Calls |
Hypothetical NIFTY · expiry E · three strikes · contract counts, not live NSE data · not a directional signal
Read the counts before the signal
Let’s find out what the ratio actually measures, then test the stories attached to it with one clearly labelled NIFTY example.
By the end you will be able to answer
- What do OI PCR and volume PCR count?
- Why can the same NIFTY chain give different PCRs?
- What can make PCR rise or stay unchanged?
You open a NIFTY options dashboard and see "PCR 1.50". Another view shows 0.50. Which one describes the market? Before you read either, ask what was counted. Open contracts or traded contracts? Which expiries and strikes? At what time? Two different measurements can both be calculated correctly.
The put-call ratio (PCR) is the selected Put count divided by the selected Call count. It tells you how many Puts there are for every Call in that measurement. It does not count bullish and bearish people, show their portfolios, or say whether an option trade will make money. This lesson follows one made-up NIFTY example to keep the arithmetic apart from the interpretation.
Updated
What do OI PCR and volume PCR count?
Learn what each version of the ratio counts.
MayaMr. Chartist, one dashboard says PCR 1.50 and another says 0.50. Which one is right?
Maybe both. Ask what was counted. OI PCR counts open contracts. Volume PCR counts contracts traded in a period.
And if the numbers match, are they the same thing?
Not unless the scope matches too: the expiry, the strikes and the time. Change the selection and the ratio changes, with no new trade.
So PCR above 1 does not mean the market is bearish?
It states one fact: 1.5 open Puts for each open Call. Every option has a holder and a writer, so the count cannot show fear or intention.
Add the Put counts, add the Call counts, then divide. Never average ratios.
Mr. ChartistOpen interest (OI) is the number of contracts still outstanding at a stated time. OI PCR compares outstanding Puts with outstanding Calls. Volume is the number of contracts traded in a stated period, such as the session so far. Volume PCR compares Put volume with Call volume over that same period. Use the same units on both sides. Every number in our example is a count of contracts.
One open contract links a long and a short, but OI counts it once. Say two traders both open a new position: OI rises by one. Both close: OI falls by one. One opens and one closes: OI does not change. Each executed trade adds one contract to volume. So repeated trading can add plenty of volume without adding the same amount of OI. Lessons 21 and 22 work through this in detail.
The figure uses made-up NIFTY options, a teaching expiry E and only three strikes: 24,800, 25,000 and 25,200. Assume every OI value is from one moment, and both volume columns cover the same session up to that moment. To get either PCR, add up the Put counts, add up the Call counts, and divide the Put total by the Call total. Keep the two measures apart all the way through.
One option set, two different count ratios
The same three strikes, counted two ways: what is open, and what traded. The bars add up the strike rows below.
NIFTY options, expiry E, strikes 24,800, 25,000 and 25,200, snapshot A
Both panels share one scale, 0 to 2,00,000 contracts.
OI PCR
Outstanding contracts at snapshot A
- Call / CE
- 1,20,000contracts
- Put / PE
- 1,80,000contracts
- Put ÷ Call
- 1.50
More Puts open than Calls.
Volume PCR
Contracts traded in the same session interval ending at A
- Call / CE
- 80,000contracts
- Put / PE
- 40,000contracts
- Put ÷ Call
- 0.50
Fewer Puts traded than Calls.
| Strike / total | Call OI | Put OI | Call volume | Put volume |
|---|---|---|---|---|
| 24,800 | Call OI20,000 | Put OI90,000 | Call volume10,000 | Put volume15,000 |
| 25,000 | Call OI40,000 | Put OI60,000 | Call volume30,000 | Put volume15,000 |
| 25,200 | Call OI60,000 | Put OI30,000 | Call volume40,000 | Put volume10,000 |
OI PCR is 1.50 and volume PCR is 0.50. Both are right. The set holds more open Puts per Call, and fewer Puts traded per Call.
OI is read at snapshot A. Volume covers the session up to A. Nothing here is live. Each contract is counted once. Counts are not people and not rupees. This is the whole three-row example, not the NSE chain.
For this three-strike window, OI PCR is 1.50. That is 1.5 outstanding Puts for each outstanding Call. Volume PCR is 0.50: half as many Puts as Calls traded in the stated period. The two readings differ because one counts what is open and the other counts what traded. The gap, or a crossing of 1, does not show a change in market direction.
These counts do not say who started a trade, or whether a contract is a hedge, part of a spread or a stand-alone position. They also do not show how easy it is to trade at a fair price. For that you need the bid and ask sizes and the spread. You do not need a lot size here. Multiply every count by the same number and it cancels out of the ratio.
On a real dashboard, read the field definitions and the actual observation times. Refreshing the page does not prove each field was just updated. OI is not always slow and volume is not always noise. Which one is useful depends on the question you are asking, not on a fixed ranking.
Why can the same NIFTY chain give different PCRs?
See how the selection of contracts changes the ratio.
Scope is the set of contracts in the calculation. "NIFTY PCR" leaves most of it unsaid: the expiry or expiries, the strikes, OI or volume, the units and the time all belong in the label. Our three rows are a selected strike window, not the full NIFTY chain. A full-chain figure would need every other listed strike too.
Keep expiry E and the same moment, but include only 24,800 and 25,000. That gives 1,50,000 Put OI and 60,000 Call OI, so PCR is 2.50. Add 25,200 and you get the earlier 1.50. No contract changed. Only the selection did. This two-strike window is also not balanced around 25,000, so its label should name the strikes and not suggest even coverage.
Change the included contracts, change the answer
Made-up NIFTY OI at snapshot A, in contracts. E and F are two expiries with the same three strikes.
- E · first two strikes only2.50
Put OI 1,50,000 ÷ Call OI 60,000 contracts
- E · all three strikes1.50
Put OI 1,80,000 ÷ Call OI 1,20,000 contracts
- F · all three strikes0.50
Put OI 40,000 ÷ Call OI 80,000 contracts
- E + F · all three strikes in each1.10
Put OI 2,20,000 ÷ Call OI 2,00,000 contracts
1.00 · as many open Puts as open Calls
Combined PCR is 2,20,000 ÷ 2,00,000 = 1.10. The simple mean of E’s 1.50 and F’s 0.50 is 1.00; it does not give the combined count ratio.
Add the Puts, add the Calls, then divide once. The first choice uses 24,800 and 25,000 only, so it is not balanced around the index. "All three" means this example, not every NSE strike.
Check the expiry aggregation
E has more Call contracts than F, so the two expiry ratios have different weights in the combined ratio.
(1,80,000 + 40,000) ÷ (1,20,000 + 80,000) = 1.10Call-count weights: E = 1,20,000 ÷ 2,00,000 = 0.60; F = 0.400.60 × 1.50 + 0.40 × 0.50 = 1.10
Now add a separate later expiry F across the same three strikes, at the same OI moment. Its totals are 40,000 Puts and 80,000 Calls, so PCR is 0.50. E and F together have 2,20,000 Puts and 2,00,000 Calls: PCR 1.10. The simple average of the two ratios is 1.00, and it is wrong. E has more Calls than F, so equal weights ignore the different sizes. Add the counts first, then divide.
The same rule applies across strikes. Averaging each strike's PCR gives every row the same weight, even when their Call counts differ. A row with zero Calls has no PCR of its own, but its verified Puts still belong in the Put total. Keep them whenever the total Call count is positive. Dropping the row quietly changes the calculation.
When you compare over time, keep the selection rule fixed. A fixed strike window follows the same named strikes. A window that moves with the index changes its members as NIFTY moves. An automatic switch from the near expiry to the next one changes the contracts too. Either can move PCR with no new activity in the old contracts. Record the new scope before you read the move.
Keep the units the same across the group. A count of contracts gives every contract equal weight, even if expiries carry different multipliers. Converting to underlying units is a different measure and must be labelled. Do not put contracts on one side and units on the other. And an all-expiry ratio is not interchangeable with a near-expiry ratio.
What can make PCR rise or stay unchanged?
Read both totals before you explain a move.
The Put total is the top of the fraction and the Call total is the bottom. A higher PCR can come from more Puts, fewer Calls, or both changing. The ratio alone cannot say which. Read both totals before you call a move fresh Put buying, fresh Put writing or a change in mood.
Go back to expiry E and the original three strikes. In a later made-up snapshot, Put OI stays at 1,80,000 while Call OI falls from 1,20,000 to 90,000. PCR rises from 1.50 to 2.00 only because the bottom of the fraction shrank. Put OI did not rise. Fewer Calls are open, and the number does not say who closed them or why.
A rising PCR need not mean more Puts
Made-up NIFTY, expiry E, strikes 24,800, 25,000 and 25,200, counted in contracts. Two separate what-ifs, both starting from snapshot A.
- Starting snapshot A1.50
Put OI 1,80,000 ÷ Call OI 1,20,000 contracts
- Case B · fewer Calls; Puts unchanged2.00
Put OI 1,80,000 ÷ Call OI 90,000 contracts
- Case C · both starting totals doubled1.50
Put OI 3,60,000 ÷ Call OI 2,40,000 contracts
1.00 · as many open Puts as open Calls
In B, Put OI stays at 1,80,000 and Call OI falls to 90,000, so PCR rises from 1.50 to 2.00. In C, both sides double and PCR stays 1.50.
B and C are separate what-ifs, not a sequence and not a forecast. A change in PCR does not show Put buying, Put writing or why Calls closed. Read both totals.
Now the reverse limit. Double both totals to 3,60,000 Puts and 2,40,000 Calls and PCR is still 1.50, though the count of open contracts has doubled. So an unchanged PCR does not mean nothing happened. It also cannot measure the market's total risk in money. Contracts differ in strike, expiry and sensitivity, and the count leaves out the rest of each portfolio.
Does a high PCR mean fear, Put writing or a reversal?
Test the stories attached to a high reading.
In our made-up scope, OI PCR of 1.50 states one fact: there are 1.5 outstanding Puts for each outstanding Call. It does not show fear, confidence, fresh Put writing or a bearish majority. A ratio of counts carries no labels for intention, number of traders or full portfolios. Read the fact first. State any interpretation afterwards, as a hypothesis.
Every option has a holder and a writer. On its own, a bought Put is bearish exposure and a sold Put is bullish exposure, with other pricing inputs unchanged. A bought Call is bullish and a sold Call is bearish. These labels describe the leg. They do not promise a profit or describe the whole portfolio. Blue and beige mark the contract type. They do not give everyone counted a market view.
One open Put connects two counterparties
An open Put has a holder and a writer. Put OI counts it once, not once per person.
Put holder
- Bought Put leg
- Bearish exposure
With other pricing inputs unchanged, a falling underlying favours the leg’s value. A holder might be protecting an existing long portfolio; PCR does not reveal that purpose.
Put writer
- Sold Put leg
- Bullish exposure
Selling reverses the leg’s directional exposure. The writer might hold other legs or hedges; PCR does not reveal the complete portfolio.
The same 1,80,000 Put OI and 1,20,000 Call OI give 1.50. That does not show who started the trades, how many traders took part, or whether anyone is bullish or bearish overall.
Exposure of a leg is not a promised profit. The purposes shown are possibilities, not facts. Two traders opening a new Put add one contract to OI. Other trades have other effects.
A Put holder may be protecting a stock portfolio and still be bullish overall. A Put writer may hold other options or hedges. Both sit in the same contract, which OI counts once. Public Put totals do not say which purpose applies. Even if Put OI rose, that would not show buyers got fearful or writers got confident. The new contracts have both sides.
A contrarian reading says an unusually high Put-to-Call figure goes with too much worry, and prices may then turn up. A directional reading says it goes with a decline that continues. Neither follows from the count alone. To test one, first fix the data, the scope, the timing, what "unusual" means, the outcome and the horizon. A familiar 0.7 or 1.3 is not a universal NSE threshold, and this lesson gives no NIFTY band.
This is a point about evidence. It is not a claim that every option ratio is useless. Pan and Poteshman studied historical US stock-option volume, picking out buyer-initiated trades that opened positions, using P/(P + C). That is a different dataset and ratio from our unsigned public-chain P/C. It cannot prove that this NIFTY OI figure predicts a reversal. The contrary-reading examples from OIC are US teaching examples, not tested Indian signals.
What if Calls are zero or a count is missing?
Handle zero counts and missing data honestly.
A normal PCR needs a positive Call total. If the whole scope has ten Calls and a verified zero Puts, PCR is zero. If Calls are zero, PCR is undefined, whether Puts are positive or also zero. Show "undefined" or "not calculable". Do not swap in zero, and do not treat infinity as a trading signal.
Missing is not the same as zero. A blank, a dash or a failed download may mean the data is unavailable, so check the provider's definition. Do not fill an unknown count with zero. Do not drop the row and keep calling the result the full-scope PCR. Mark the figure unavailable, or label the smaller group honestly. A stale timestamp needs a freshness note, not a new look.
Zero, undefined and missing are different
Small separate examples. The scope is complete unless a field is marked missing.
1 Verified zero Puts
0.00OI PCR
- Call OI
- 10
- Put OI
- 0
Valid ratio
2 Verified zero Calls
UndefinedOI PCR status
- Call OI
- 0
- Put OI
- 10
Call total is zero
3 Both verified zero
UndefinedOI PCR status
- Call OI
- 0
- Put OI
- 0
Call total is zero
4 Put count unavailable
UnavailableOI PCR status
- Call OI
- 10
- Put OI
- Missing
Incomplete data
Separate sensitivity case · positive Call denominator
- 10 Puts / 1 Call
- 10.00
Both counts are verified, so this is a valid finite ratio.
- 10 Puts / 2 Calls
- 5.00
One additional Call halves PCR while Put OI stays unchanged.
A verified zero Put total over positive Calls gives PCR zero. Zero Calls give no ordinary ratio. A missing count is unknown, not zero.
A small Call total makes the ratio jump with a few contracts. No count is a universal minimum. Show the counts and the data status. Do not turn any of these into a signal.
A tiny bottom number is a third case. The ratio can be calculated but is very sensitive. Ten Puts and one Call give 10.00. One more Call and it is 5.00, with no change in Puts. Look at the totals beside the result before you call a big move market-wide sentiment. No minimum count is universal here, and the example proves no reversal. Completeness, the size of the denominator and comparability are separate checks.
How do you compare PCR through a trend?
Record and compare readings over time.
A high reading can stay while NIFTY rises, falls or goes sideways. Plotting PCR beside the index gives context, but an overlay does not show what caused either line or what comes next. Compare a reading with its own earlier history, measured the same way, before you call it unusual. One cutoff, a few recent sessions or a neat turning point cannot give a repeatable forecast.
Start with a record that lets someone rebuild the number. The figure keeps the example's measurement and interpretation together without turning them into a trade. For real records, write the actual expiry date in place of E, list every strike or the exact selection rule, and keep the source data. If you convert contracts to units, record the lot multiplier and its effective date, and label the converted measure.
Keep the measurement beside the interpretation
A short record for the made-up expiry E example. A real one needs the source's time and field definitions.
1 Source and units
- What belongs in it
- Provider / exchange coverage; contracts; completeness and known delay
2 Contract scope
- What belongs in it
- NIFTY; expiry E; strikes 24,800, 25,000 and 25,200
3 Measurement clocks
- What belongs in it
- OI snapshot A; matched volume interval start → A; timezone; provider receipt time
4 OI counts and PCR
- What belongs in it
- Call 1,20,000; Put 1,80,000; OI PCR 1.50
5 Volume counts and PCR
- What belongs in it
- Call 80,000; Put 40,000; volume PCR 0.50
6 Interpretation before outcome
- What belongs in it
- More open Puts per Call; less traded Put volume per Call. Intent remains unknown.
7 Later outcome, recorded separately
- What belongs in it
- If testing a hypothesis: predeclare price reference, horizon and what would contradict it
Compare records only after checking the measure, units, strikes, expiry and clocks. A new selector or an expiry roll changes what is counted.
Each session-volume reading is a running total. Use one, never add them. A journal builds consistent measuring. A few readings prove no forecasting skill, and an index move is not an option trade's profit.
Use the exchange time and timezone if given, and keep them apart from the provider's receipt time and the time you fetched the page. Keep OI snapshots apart from volume periods. Session volume is a running total, so a refreshed total replaces the earlier one. Never add them. Compare equal elapsed times, or a clearly matched start and end. Note any known delay.
When an expiry rolls, or a moving strike window changes its members, mark the boundary. Check that the historical baseline uses the same instrument, units, expiry and strike policy, measure and clocks before you blame a jump on new positioning. Keep both the Put and Call totals so a shrinking bottom number stays visible. A single "high PCR" label hides exactly these choices.
Write your hypothesis before you see the result. If you study direction, fix a price reference, a horizon, and the outcome that would prove the idea wrong. Keep the index move apart from the profit of an option position, which has its own contract, entry, exit and costs. A short journal builds consistent observation. It does not prove an edge. A forecast claim needs broader comparable data, fixed rules, and a test on data that did not choose them.
Lesson 24 asks a different question: it uses open contracts across strikes and an assumed settlement price at expiry. Carry forward the expiry, the strikes, the units and the time. PCR summarises relative counts. Max pain adds a made-up settlement calculation. Neither makes the contracts pull the price, and neither says where NIFTY will finish.
Before you go
Check yourself
5 questions from this lesson. Pick an answer to see why, then slide on to the next.
Question 1 of 5
01For the declared hypothetical scope, Put OI is 1,80,000 and Call OI is 1,20,000. What does OI PCR measure?
02The same scope has OI PCR 1.50 and volume PCR 0.50. Which explanation is correct?
03Expiry E has Put/Call OI of 1,80,000/1,20,000; expiry F has 40,000/80,000. What is the combined PCR?
04The complete selected scope has ten Put contracts and zero Call contracts. How should PCR be described?
05An opening Put buyer and opening Put writer create one matched contract. What can you conclude?

0 of 5
Some questions are still open: go back and answer them.
Questions readers ask
Common questions
01What is the difference between OI PCR and volume PCR?
OI PCR divides open Puts by open Calls at one moment. Volume PCR divides traded Puts by traded Calls over a stated period. One counts what is open and the other what traded, so they can differ for the same contracts.
02Does PCR above 1 mean the NIFTY market is bearish?
No. It means the Put count is higher than the Call count. The totals do not show who started the trades or what the portfolios are. A lone long Put is bearish and a lone short Put is bullish, and one contract has both sides.
03Is 0.7 or 1.3 a reliable PCR buy or sell threshold?
No. Neither is a universal NSE rule in the sources we reviewed. Calling a level high or low needs a history measured the same way. An unusual reading can start a hypothesis. Proving a rule needs its own study. This lesson tests no signal.
04Can PCR rise without new Put buying or Put writing?
Yes. In our example Put OI stays at 1,80,000 while Call OI falls from 1,20,000 to 90,000, and PCR goes from 1.50 to 2.00. Even a rise in Put OI would not show intent, since each new contract has a holder and a writer.
05How do you combine PCR across strikes or expiries?
Add the Puts, add the Calls, divide once. Do not average the ratios. Expiries E and F give 2,20,000 over 2,00,000, which is 1.10. Averaging 1.50 and 0.50 would wrongly give 1.00.
06What does zero PCR mean, and what if Call OI is zero?
A verified zero Put total over positive Calls gives PCR zero. Zero Calls make PCR undefined, even when Puts are also zero. Missing data is unknown, not zero. Show the counts and the status.
07Why do two dashboards show different NIFTY PCRs?
They may use OI or volume, different expiries or strikes, different units or times, or different handling of missing data. Read each provider’s definition before comparing. NSE once described a volume-based PCR, but that is not one current rule for every product.
08Can I compare PCR before and after an expiry rollover?
Only after you list the contracts on each side of the roll. Moving from the near expiry to the next changes what is counted and can move PCR with no new activity. Mark the roll and keep the totals.
