Max pain is the strike where the total intrinsic payout owed by option writers would be lowest. This assumes expiry happens at that price, and that open interest does not change before then. Both of those are conditions, not facts.
Definition and Formula
The computation walks through every strike listed in the chain and treats it in turn as a possible expiry price. At each test price it adds up what the call writers would owe, and what the put writers would owe. Both use the open interest standing at each strike.
A call writer owes something only when the expiry price is above the strike, and the amount is the gap between them. A put writer owes something only when the expiry price is below the strike. Everything else expires worthless and owes nothing.
The test prices are the listed strikes and nothing between them. That is not a shortcut. The total is a piecewise linear function of price. Such a function reaches its lowest point at one of its bends. Those bends are the strikes themselves.
When two strikes produce the exact same total, this site takes the lower one. Without a stated rule, the same chain could yield two different answers depending on the order the rows arrived in. That difference would then appear on the page as a change, even though nothing had changed.
The word ‘pain’ in the name refers to the payout owed by writers. It is a label, not a description of anyone’s experience. Nothing in the arithmetic knows who wrote the contracts. It does not know what else they hold, or whether the payout would be a loss to them.
The figure also depends on which strikes were supplied. A chain covering a narrow window around the current price, and a full chain, can produce different answers from the same session. Strikes left out of a chain contribute nothing to any of the totals.
Formula: Payout(K) = Σ call OI × max(K − S, 0) + Σ put OI × max(S − K, 0) · Max pain = K with lowest payout
A Worked Example
| Call OI at 24,200 / 24,300 / 24,400 | 12.5 L · 21.0 L · 16.8 L |
|---|---|
| Put OI at 24,200 / 24,300 / 24,400 | 24.5 L · 17.2 L · 9.4 L |
| Payout at 24,200.00 | — |
|---|---|
| Payout at 24,300.00 | — |
| Payout at 24,400.00 | — |
| Max pain strike | — |
Every payout figure and the resulting strike are computed by the same code that runs the max pain calculator on this site.
What This Number Tells You
The figure states which listed strike carries the lowest total intrinsic payout on the open interest standing right now.
The payout numbers are in contracts multiplied by points. Their only use is to compare one strike against another; a single figure on its own carries no meaning.
And What It Does Not Tell You
Max pain is not a forecast of where expiry will settle. Two conditions sit inside the arithmetic: that expiry happens at that price, and that open interest stays unchanged until then. Neither is true today.
The number moves as open interest moves, which is every session and often within a session. A figure read today and one read at expiry are two different measurements.
Nothing in the computation states who would owe the payout or whether they hold anything on the other side. It counts contracts, not positions.
Frequently Asked Questions
Why are only listed strikes tested?
Because the total payout is a piecewise-linear function of price and bends only at the strikes. Its lowest point therefore falls on a strike, never between two of them.
What unit is the payout in?
Contracts multiplied by points, not rupees. It exists to rank strikes against each other, and a single value taken alone says nothing.
What happens when two strikes tie?
This site takes the lower strike. The rule is stated so that the same chain always produces the same answer regardless of the order the rows arrived in.
Does max pain change during the session?
It can, because it rests on open interest and open interest changes through the session. The figure belongs to the moment it was computed.
Does the number of strikes supplied matter?
Yes. Strikes that are not in the chain contribute nothing to any total. Because of this, a narrow window and a full chain can produce different answers from the same session.