QuantsappFaster in the app: live data, alerts, tradingOpen
Log inStart free
OI · PCR · VIX signalsPositionalNIFTYlow complexity

Max pain call writing

This positional strategy uses the max pain strike as an anchor for monthly NIFTY call writing. About two weeks before the monthly expiry it calculates max pain from open interest, freezes it, and sells one call at least 5% above it. The position is a naked short call held to expiry, on the view that the index rarely runs that far above the level where option writers are most comfortable.
About two weeks before the NIFTY monthly expiry, works out the max pain strike from open interest and sells one call at least 5% above it, held to expiry.
Market viewNeutral / range-bound
TradesNIFTY monthly call, 1 sold
RiskOpen-ended (loss not capped by the structure)
CapitalFull option-selling margin
SuitsAdvanced
Trades a month1
Typical hold15 days
Profitable months12 of 12
Longest losing run0 trades
Made money inMonths when NIFTY drifted lower (small sample)
Lost money inStrong rallies toward the strike (not seen in this test)
Default settings
Symbol
Entry time
Entry cal DTE
Min DTE
Strikes each side
Buffer %
Write puts
Stop mult
Exit time
Lots
Backtest this strategy →Change any setting, pick your own period and run it in the Quantsapp web app. Backtesting is part of the Max plan. Pro+ members can use it now as a free trial.
1

How it trades

What it trades
Universe
NIFTY Positional · 1 Oct 25 → 30 Sep 26
Enters
15:00 on the first session with 15 or fewer (and at least 3) calendar days to monthly expiry
Legs
SELL CE · First strike at or above max pain + 5% · Current monthly · 1 lot
Exits
expiry 15:15 on the monthly expiry daystop None by default (optional: premium reaches a set multiple of the entry price)
Re-entry
None - one call per monthly contract
Entry
ENTRY_TIME on the first trading day with ENTRY_CAL_DTE or fewer calendar days left to the monthly expiry (at least MIN_DTE), once per monthly. Max pain = the strike at which option buyers of that monthly lose the most (call OI x max(K - strike, 0) + put OI x max(strike - K, 0), summed, smallest), using only the ATM +/- STRIKES_EACH_SIDE strikes, from open interest as of that moment - then frozen. Sell the call at the first listed strike at or above max pain x (1 + BUFFER_PCT %). With WRITE_PUTS, also sell the put at the first listed strike at or below max pain x (1 - BUFFER_PCT %). LOTS each.
Stop
none by default (the source has none); STOP_MULT > 0 closes a short when its premium reaches STOP_MULT x its entry price.
Exit
EXIT_TIME on the monthly expiry day. No averaging.
2

Results

PRE-BUILT · DEFAULTS
NIFTY · 2025-10-01 → 2026-09-30 · 12 trades · before costs
Net P&L+₹10,580
Win rate100%
Max drawdown₹0
Avg per trade+₹882
Profit factor–
Worst trade₹0
3

Where it made and lost money

All 12 trades won in this test, so the evidence can only show where the gains were larger, not where it lost. No condition had the 8 trades needed to judge it. In the 7 months when NIFTY fell more than 1% while the call was held, the trades made ₹6,568 in total; the 2 months with a rise of over 1% made ₹862. That fits the mechanism: a falling market drags the far call's value down faster, while a rally lifts it toward the strike. A month with a rally of more than 5% above max pain did not occur in this period, and that is the case the rule has no protection against.

India VIX the evening before
VIX below 11.5 (calm)+₹1,2483 trades100% won
VIX 11.5-14.5 (normal)+₹2,4625 trades100% won
VIX above 14.5 (nervous)+₹5,4543 trades100% won
Kind of session on the entry day
Quiet session (range under 0.75%)+₹2,2705 trades100% won
Trend day (closed near the high or low)+₹2,1193 trades100% won
Choppy day (wide range, closed mid-range)+₹4,7743 trades100% won
Market while the trade was held
NIFTY rose over 1% while held+₹8622 trades100% won
NIFTY within ±1% while held+₹1,7322 trades100% won
NIFTY fell over 1% while held+₹6,5687 trades100% won
How the entry day opened
Gap up of 0.4% or more+₹6501 trades100% won
Flat open+₹5,5397 trades100% won
Gap down of 0.4% or more+₹2,9743 trades100% won
Session direction on the entry day
NIFTY closed above its open+₹6,3917 trades100% won
NIFTY closed below its open+₹2,7724 trades100% won
Trend going in
Uptrend (NIFTY above its 20-day average)+₹4,8687 trades100% won
Downtrend (NIFTY below its 20-day average)+₹4,2944 trades100% won
Expiry day (NIFTY weekly)
Expiry day+₹1,9272 trades100% won
Other days+₹7,2369 trades100% won
Day of the week
Monday+₹8,62710 trades100% won
Tuesday+₹5361 trades100% won
The same trades, split by the market conditions around each entry, before costs.
4

About this strategy

  1. Wait for the first session with 15 or fewer calendar days (and at least 3) left to the NIFTY monthly expiry.
  2. At 15:00, take the open interest of every call and put within 12 strikes either side of ATM on that monthly contract.
  3. Find max pain: the strike where the total payout to option buyers at expiry would be smallest. Freeze it for the month.
  4. Sell one lot of the first call strike at or above max pain plus 5%.
  5. Optionally also sell a put 5% below max pain; this is off by default.
  6. There is no stop by default; hold to the monthly expiry and close at 15:15 that day.

Why traders use it

Max pain marks the strike where option sellers as a group would keep the most premium, and some traders believe the index tends to settle near it into expiry. Writing a call well above that level, with a 5% cushion, aims to collect premium on strikes the market seldom reaches within two weeks. Writing calls rather than puts reflects a common view that markets fall faster than they rise, so upside spikes are less frequent than crashes.

Works best whenIn this test, months when NIFTY drifted lower or sideways after entry, so the call 5% above max pain lost value quickly. With only 12 trades, the sample is too small to rank conditions with confidence.
Struggles whenNo month lost in this test, but rallies lifted the call's value and earned least; a strong rally toward or past the sold strike is the scenario that would hurt, and with no stop the loss grows point for point.

The year in plain words

On NIFTY from 1 Oct 2025 to 30 Sep 2026 with default settings, all 12 monthly calls expired out of reach and every trade made money, for ₹10,580 before costs and no drawdown at all. The catch is the size of each gain: the average was ₹882 per month, and the best, in March, was ₹2,964. With only two orders a month, costs were light, leaving ₹9,990 after ₹20 per order and bid-ask slippage. A perfect record over twelve trades says little about the rare month when NIFTY rallies more than 5% above max pain, and a naked call has no cap on that loss.

What the settings do

Entry timeWhen max pain is calculated and the call sold on entry day.Entry cal DTEThe trade is placed on the first session with this many calendar days or fewer left to monthly expiry. Earlier entries collect more premium but hold the risk longer.Min DTEThe fewest days to expiry allowed at entry, so the trade is skipped if the first eligible session is too close to expiry.Strikes each sideHow many strikes either side of ATM are used to calculate max pain. A wider band includes more far strikes with thin interest.Buffer %How far above max pain, in percent, the sold call must be. A smaller buffer brings more premium and more risk of being tested.Write putsWhen on, also sells a put the same distance below max pain, turning the trade into a short strangle.Stop multZero means no stop. A value above 1 closes a short option once its premium reaches that multiple of the entry price.Exit timeWhen the position is closed on the monthly expiry day.

Risks

  • A naked short call has unlimited loss if the market rallies sharply, and there is no stop by default.
  • The small premium per month means one bad month could wipe out years of gains.
  • Max pain changes as open interest shifts during the month, but here it is frozen at entry.
  • Naked call writing needs full margin, which is large compared with the premium collected.

Who it suits

Experienced option sellers with ample margin who understand naked call risk and want a once-a-month, low-maintenance trade. It suits those comfortable earning small, steady amounts while accepting a rare but potentially large loss.

5

Questions traders ask

What is max pain in options?

Max pain is the strike at which option buyers would lose the most, and sellers keep the most, if the index expired there. It is worked out from the open interest at each strike. Some traders expect the index to move toward it near expiry.

Is max pain call writing profitable?

In this backtest on NIFTY from 1 Oct 2025 to 30 Sep 2026 it won all 12 months, making ₹10,580 before costs and ₹9,990 after ₹20 per order and bid-ask slippage. The gains were small and the position is a naked call. Past results do not guarantee future ones.

Why sell only calls and not puts?

The idea behind the original rule is that markets tend to fall faster than they rise, so a far call is less likely to be breached than a far put in two weeks. Switching “Write puts” on adds the put side so you can test that view.

Can I add a stop loss to the short call?

Yes. Set “Stop mult” above 1, for example 3, and the call is bought back if its premium triples. The default has no stop, which is why the backtest shows no drawdown but also no protection against a big rally.

6

Before you rely on it

ADAPTED FOR TODAY'S NSE RULESNIFTY monthly options (last Tuesday; holiday shifts from the expiry list). Sized in lots.
WATCH OUTA naked short call: unlimited upside risk, untested by its author, who stopped trading it.
WHERE THE RULES WERE UNCLEAR · OUR CHOICESThe author wrote calls only ("panic spreads faster than greed"); puts are an optional setting, off. The optional stop (3x premium in the merged variant) is off by default. ATM for the band is the chain's own forward (the month's future). Max pain is built from bt.oi_changes(monthly) with the OI of every strike as of the entry moment - no per-strike chain scan.
Also known asmax pain call writingkarthik max painMax-pain band call writing: freeze max pain ~15 days before monthly expiry, write calls beyond max pain + 5%, hold to expirymodified max pain
Backtests run on historical NSE data with fills at the last traded price. "Before costs" excludes brokerage, taxes and slippage. Quantsapp is not recommending any strategy; it is just a backtesting utility. Past results are not a promise of future returns.

Log in or sign up

Enter your mobile number. New to Quantsapp? The same OTP creates your free account.

+91

By continuing you agree to the Terms of Use and Privacy Policy.