The full positioning picture
Call and put open interest, payout curves, volume, and clearly labeled gamma estimates.
This deployment uses synthetic demo data, not market prices.
For a selected expiration, call payout at settlement price S is max(S − strike, 0) × open interest × contract multiplier, and put payout is max(strike − S, 0) × open interest × contract multiplier. We sum both across every listed strike for each candidate settlement price, then select the price with the lowest total payout as the modeled max pain.
Two strikes, one expiration. Strike $100 has 10 call contracts and 5 put contracts of open interest; strike $105 has 4 call contracts and 12 put contracts; the contract multiplier is 100.
The $105 settlement produces the lower total payout, so it is the modeled max pain for this two-strike example.
Use the workspace to inspect how open interest is distributed around a ticker’s max-pain strike for a single expiration, alongside put/call ratios and the full payout curve, before reading it as one part of a broader picture.
MORE THAN A SINGLE NUMBER
Start with max pain, then look at the positioning around it. Keep the data, the assumptions, and the limits in the same view.
How max pain worksCall and put open interest, payout curves, volume, and clearly labeled gamma estimates.
Compare max pain and concentration across expirations instead of mixing different contracts.
Compare tickers, save a browser-local watchlist, and share the exact expiration you are viewing.
Readable methodology, visible source timestamps, chart data tables, and complete CSV exports.
BUILD YOUR UNDERSTANDING
Understand the calculation without turning it into a prediction.
Read guide 02Read call walls, put walls, and put/call ratios with their limitations.
Read guide 03Compare a max-pain gap with the options-implied move.
Read guideMax pain minimizes a hypothetical expiration payout. It does not tell you where a stock must trade. Price can move well beyond option concentrations.