Max Pain and OI Concentration: What the Data Supports, and What It Doesn't
Max pain comes up constantly in Indian options discussion, usually stated as a fact: the market gravitates toward the strike where most options expire worthless. It is worth separating what the calculation actually does from the causal story attached to it, because those are different claims and only one is straightforward.
What it computes
For every candidate settlement level, work out what all outstanding options would pay their holders if the index settled there, and sum it. The level with the lowest total payout is max pain.
def max_pain(chain):
"""chain: [{'strike': int, 'ce_oi': int, 'pe_oi': int}, ...]"""
strikes = [row["strike"] for row in chain]
totals = {}
for settle in strikes:
payout = 0
for row in chain:
k = row["strike"]
payout += max(0, settle - k) * row["ce_oi"] # calls ITM below settle
payout += max(0, k - settle) * row["pe_oi"] # puts ITM above settle
totals[settle] = payout
return min(totals, key=totals.get)
No model, no fitted parameters, nothing to disagree about. Given a chain, two people will compute the same number.
The claim attached to it
The usual story is that option writers — assumed to be better capitalised and more sophisticated — have an incentive to push settlement toward max pain, and enough influence to do it.
Two parts, and they need separating.
The incentive is real. Writers do profit when options expire worthless. Nobody disputes this.
The mechanism is the weak part. It requires that writers coordinate, and that they can move an index whose underlying cash market dwarfs its options market. NIFTY’s constituents trade in volumes that make moving settlement to a chosen strike extremely expensive — and any writer attempting it would be fighting every other participant with a different position.
Why the evidence looks stronger than it is
Spot does often settle near max pain. That much is observable and true.
The problem is that both numbers are near the money, and for structural reasons.
Max pain sits near the money by construction. Open interest concentrates around the current level, because that is where hedging and speculation both happen. A payout-minimising strike computed from a distribution centred near spot will itself land near spot.
Spot tends to stay near spot. Over a week, the index usually does not move far.
So “spot settled near max pain” is largely “two numbers that are both near the money ended up near each other”. That is a shared cause, not evidence of a pull.
The test that would distinguish them: does spot converge toward max pain more than it converges toward where it already was? That is a much harder bar, and it is the one the claim needs to clear.
Testing it properly
Worth doing yourself, because the answer is more nuanced than either the believers or the dismissers suggest.
- Compute max pain per session across a full expiry from the recorded chain, not just once. It moves as open interest changes — a level read on Monday may be different by Thursday, which is itself informative about how much weight it deserves.
- Record the distance between spot and max pain each session, and how it changes into expiry.
- Benchmark against something. Compare convergence to max pain against convergence to a naive baseline — say, the spot level five sessions before expiry. If max pain does not beat the naive benchmark, it is not adding information.
- Run it across many expiries and several regimes. A handful of expiries is noise. Behaviour in a calm quarter tells you little about a volatile one.
- Handle expiry day separately. OI is badly distorted on the final session: worthless contracts are abandoned rather than closed so their OI lingers, while near-the-money strikes unwind fast. Max pain computed from expiry-day OI is computed from a distorted input.
Every input is in the recorded chains — strike-wise call and put open interest per session, which is what an expiry page shows and what the API returns.
What OI concentration is genuinely useful for
Dismissing max pain entirely would be an overcorrection. The underlying observation — that open interest concentrates at particular strikes — carries real information, just not the information usually claimed.
Concentration marks where positions exist. Large OI at a strike means many contracts outstanding there. That is a fact about positioning, and it is useful.
The drift matters more than the level. A max-OI call strike moving from 25,000 to 25,300 over three sessions says more than either reading alone. The level is noisy; the direction of travel is less so.
Unwinding is visible. Watching OI fall at a strike while price moves tells you positions are being closed, which is the four-way price/OI read covered in how to read NIFTY open interest.
None of that requires believing anyone is steering the index.
What to take away
Max pain is a well-defined calculation over the open interest distribution. As a description of where positioning sits, it is fine. As a prediction of where the index will settle, the causal story is weaker than its popularity suggests, and much of the supporting evidence dissolves once you account for both numbers being near the money for independent reasons.
Test it against a fair benchmark on contracts you actually trade. That is more useful than either accepting or rejecting it on principle — and the data to do it is free to browse.
Frequently asked questions
What is max pain in options?
The strike at which the total value of options expiring worthless is greatest — equivalently, where option buyers collectively lose the most. It is computed from the open interest distribution across strikes, not from price, and it moves as open interest changes.
How is max pain calculated?
For each candidate strike, compute what all outstanding calls and puts would be worth if the index settled there, then sum. The strike with the lowest total payout to holders is the max pain point. It is a straightforward sum over the option chain with no model or fitted parameters.
Does the market really move toward max pain at expiry?
Sometimes, and less reliably than the claim suggests. Spot often finishes near max pain, but max pain sits near the money by construction, and spot tends to stay near the money. That shared cause explains much of the apparent relationship without any pinning mechanism.
Is max pain a reliable trading signal?
Not on its own. It is a description of where open interest currently sits, and it moves as open interest moves — so a level read on Monday may differ by Thursday. Treat it as one input among several rather than a target.
How can I test max pain myself?
Compute it from each session's recorded option chain across a full expiry, then compare against where the index actually settled. Doing this over many expiries, and against a fair benchmark rather than against nothing, is the only way to know whether it holds for the contracts you trade.