StrikeATM

Backtest Lab · Nifty · 19 January 2023 to 26 May 2026

Nifty hero zero on expiry day: a 3.5-year backtest

Not SEBI-registered. Educational content only. Every figure on this page is from a backtest on historical data, 19 January 2023 to 26 May 2026. It is not investment advice, a recommendation, or a forecast.

The short answer

StrikeATM backtested hero zero, the strategy of buying very cheap options late on expiry day and hoping one of them becomes a hundred-rupee option, on 3.5 years of Nifty data: every expiry day from 19 January 2023 to 26 May 2026, 175 in all, with ₹65 of costs on every trade. 9 of 337 trades made money. The winners are real, but they are rare, and everything in between cost more than they paid: −₹46,628 on one lot. Booking profits, trailing stops and 4,05,000 smarter entries did not fix it.

Key numbers from the StrikeATM backtest

  • Hero zero as it is usually taught (buy the ₹1–3 out-of-the-money call and put at 14:05, hold to 15:15): 337 trades, 9 made money, −₹46,628 after costs.
  • It still lost with zero costs: −₹24,723.
  • It lost in every year tested: 2023, 2024, 2025 and the first five months of 2026.
  • Booking a 25% profit hit the target on 59% of trades, and not one made money after costs.
  • StrikeATM Score: 1.5 out of 10.

What is hero zero?

Hero zero is one of the most talked-about option strategies in India. On expiry day, late in the afternoon, you buy options that cost almost nothing: one rupee, two rupees. Most of them go to zero. But once in a while, one of them goes to a hundred, and that one trade, the story goes, pays for everything. You have probably seen the screenshots. So we backtested it properly: not one screenshot, but every expiry day.

The rules we tested

Exactly the way it is usually taught:

  • When: on expiry day, at 14:00, look at the five-minute candle that has just closed.
  • What: the out-of-the-money call and the out-of-the-money put trading between ₹1–3. If there are several, take the one nearest the money.
  • Buy: both, at the open of the next candle (14:05), one lot each. No stop-loss and no target.
  • Sell: whatever is still held, at the close of the 15:15 candle.

Costs. In our other backtests we charge ₹100 for every trade, entry and exit together. These options are cheap, so the brokerage and taxes on them are lower, and here we assume ₹65 a trade. The real cost may be a little higher; we took the lower number to give the strategy its best chance, and we added no slippage.

First, prove the code trades the rules

Before running the rules on every expiry day, we checked them on real days from the backtest, one chart at a time: every entry and every exit where the rules put it.

16 May 2024: the hero. At 14:00, the 22,300 call was trading at about ₹1.60. We bought it at 14:05 for ₹1.60. Nifty rallied hard into the close; the option touched ₹119.90, and we sold at ₹105.55 at 15:15. ₹6,692 on one lot, after costs, from an option that cost ₹1.60. This is the trade the whole strategy is sold on, and it really happened.
7 September 2023: the one that got away. The 19,750 call, bought at ₹1.60. Within half an hour it was at ₹35.05, 22 times what we paid. But the rules say hold to 15:15, and by then it was back to ₹0.10: a 22x winner, sold for almost nothing.
8 June 2023: a winner on the put side. The 18,650 put, bought at ₹2.55 and sold at ₹20.95: ₹1,131 after costs.
27 February 2025: an ordinary day. The call bought at ₹2.15, the put at ₹2.60. Nifty drifted and neither side ever got going. At 15:15 the call was sold for ₹0.10 and the put for ₹0.20: −₹198 and −₹221 after costs. This is what most days look like.

Every entry and exit lands where the rules say. Only after days like these is it worth trusting the code with all of them.

The result

Across 3.5 years of our backtest, 175 expiry days, the rules took 337 trades. 9 of them made money after costs.

−₹40k−₹30k−₹20k−₹10k₹0k202420252026Hero zero, as taught
Cumulative profit and loss after costs, expiry day by expiry day, one lot. Backtest, 19 January 2023 to 26 May 2026.

Where the money went

Premium paid₹45,526
Costs, ₹65 a trade₹21,905
Options sold for ₹0.10 or less253 of 337
Net, after costs−₹46,628
Even with zero costs−₹24,723

Not one bad year. Every year.

YearNet, one lot
2023−₹12,304
2024−₹10,514
2025−₹17,251
2026 (Jan–May)−₹6,558

The longest run without a single winning trade lasted 46 expiry days in a row.

All 9 winners

They are real, and some of them are big. The biggest is 16 May 2024, the one above. But together, 9 winners cannot pay for 328 losers: ₹16,874 won against −₹63,502 lost. That is the whole problem with this strategy.

Expiry dayOptionBoughtSoldNet
4 May 202318,250 call₹1.40₹9.30₹448
25 May 202318,300 call₹1.50₹27.75₹1,641
8 June 202318,650 put₹2.55₹20.95₹1,131
16 November 202319,750 put₹1.25₹2.70₹29
16 May 202422,300 call₹1.60₹105.55₹6,692
12 September 202425,350 call₹1.45₹41.15₹2,516
7 August 202524,550 call₹2.00₹39.10₹2,346
25 November 202525,900 put₹2.20₹15.40₹793
20 January 202625,250 put₹1.45₹22.10₹1,277

Maybe the timing is wrong?

Maybe 14:00 is too early, or ₹1–3 is too cheap. So we tested every combination: four entry times (13:30, 14:00, 14:30, 15:00), five price ranges from ₹0.5–1 to ₹10–20, and calls, puts and both together. 60 combinations. 4 made money; 56 lost.

Calls

₹0.5–1₹1–3₹3–6₹6–10₹10–20
13:30−₹76−₹22−₹24−₹99₹124
14:00−₹109−₹108−₹120₹66−₹149
14:30−₹86−₹94₹27−₹150₹236
15:00−₹97−₹126−₹77−₹77−₹315

Puts

₹0.5–1₹1–3₹3–6₹6–10₹10–20
13:30−₹114−₹188−₹225−₹271−₹508
14:00−₹112−₹169−₹161−₹317−₹173
14:30−₹101−₹122−₹163−₹216−₹372
15:00−₹86−₹82−₹164−₹375−₹420

Calls and puts

₹0.5–1₹1–3₹3–6₹6–10₹10–20
13:30−₹95−₹104−₹124−₹193−₹196
14:00−₹111−₹138−₹142−₹116−₹161
14:30−₹94−₹108−₹68−₹183−₹89
15:00−₹91−₹101−₹124−₹226−₹353

Net per trade after costs, held to 15:15. Rows: entry time. Columns: option price at that time.

More expensive options win more often

There is a pattern. The more you pay, the more often the option wins: options under ₹1 made money 0.7% of the time, ₹1–3 options 3.3%, and ₹10–20 options 18.8%. But every price range still loses money overall. Across all 4,097 trades, the loss is −₹5,07,084.

Option priceTradesMade moneyNet
₹0.5–11,1230.7%−₹1,11,040
₹1–31,1103.3%−₹1,28,141
₹3–67997.8%−₹92,534
₹6–1051612.2%−₹85,936
₹10–2054918.8%−₹89,434

The heroes are real, and rare

The biggest winners in the whole grid are genuinely spectacular: an option bought at ₹2.25 and sold at ₹191.00, and moves of up to 99x. But look at the dates. 11 of the 12 biggest winners came on just three days: 16 May 2024, 12 September 2024, 22 February 2024. A handful of days in 3.5 years, and you cannot know in advance which expiry will be one of them. On every other expiry, you pay.

Expiry dayAtOptionBoughtSoldPeakNet
12 September 202413:3025,050 call₹16.55₹341.6523x₹21,066
12 September 202413:3025,100 call₹9.70₹291.7533x₹18,268
16 May 202413:3022,150 call₹18.75₹255.5014x₹15,324
16 May 202414:0022,150 call₹19.15₹255.5014x₹15,298
12 September 202413:3025,150 call₹5.00₹241.3055x₹15,294
22 February 202413:3022,000 call₹14.90₹222.4515x₹13,426
16 May 202414:0022,200 call₹8.45₹205.2526x₹12,727
16 May 202414:3022,200 call₹14.85₹205.2515x₹12,311
12 September 202413:3025,200 call₹2.25₹191.0099x₹12,204
7 August 202513:3024,400 call₹12.70₹188.5015x₹11,362
22 February 202413:3022,050 call₹6.90₹173.0526x₹10,735
16 May 202414:0022,250 call₹3.60₹155.4547x₹9,805

But it was in profit

Here is what surprised us. Most of these trades were in profit at some point. Of the 337 trades, 59% went up at least 25% after we bought them, 43% went up at least 50%, and 29% doubled. Only 2.7% were still in profit at 15:15. So the obvious question: why not just take that profit?

Book the profit

So we tested exactly that: sell as soon as the option is up by the target, and if it never gets there, hold to 15:15. With a 25% target, the target was hit on 59% of trades, and not one trade made money after costs.

Book atTarget hitMade moneyNet
+25%59%0−₹33,364
+50%43%71−₹37,438
2x29%97−₹40,141
No target–9−₹46,628

Here is why. A 25% gain on a ₹2 option is ₹0.50. On one lot, that is ₹32.50, and every trade pays ₹65 in costs. Even a 50% gain, ₹65 on one lot, only just covers them.

The 73% strategy

Book 25% on more expensive options, ₹10–20, and the picture changes completely: 73% of trades make money after costs. That is the kind of accuracy you see advertised. And the total is still a loss: −₹79,122 over 549 trades. The average win is ₹166; the average loss is −₹984. It takes many small wins to pay for one full loss, and the market does not give you enough of them.

So the next time you see a high win rate, ask one more question: how big are the wins, and how big are the losses?

Then trail it: 16 ways, all lost

Then a trailing stop should fix it: let the winners run, and protect the gains. We started the trail once the option was up 25%, 50%, 2x or 3x, and exited if it fell 25%, 33% or half from its peak, or back to our entry price. All 16 lost money. The best still lost −₹33,325.

Start at25% off peak33% off peakhalf off peakback to entry
+25%−₹33,325−₹34,366−₹39,091−₹37,902
+50%−₹37,620−₹38,559−₹41,595−₹44,307
2x−₹41,289−₹42,464−₹45,118−₹48,357
3x−₹49,034−₹49,793−₹51,111−₹44,535

Why trailing doesn't save it

  1. Most trades never get going. 57% never reach +50%. They still go to zero, and a trailing stop cannot help them.
  2. What the trail locks in is smaller than the costs. 50% of a ₹2 option is ₹1: ₹65 on one lot, exactly what the costs take.
  3. The trail cuts the real winners early. A 20x or 50x move does not go up in a straight line; it shakes, falls back, then runs, and the trail sells on the shake. Held to 15:15, 16 May 2024 made ₹6,692. 15 of our 16 trailing stops sold it for ₹471 or less, and that is exactly the trade hero zero depends on.

Targets and stops

What about a bigger target, 3x, 5x or 10x what you paid? All three did worse than simply holding to 15:15. A 50% stop-loss lost the least, −₹35,043, but it still lost.

ExitMade moneyNet
Hold to 15:159−₹46,628
Target 3x49−₹46,852
Target 5x26−₹48,981
Target 10x13−₹50,573
50% stop-loss6−₹35,043

A smarter entry?

Maybe buying blindly at 14:00 is too simple. What if you only buy when the option shows strength, for example when its price closes above its 12-candle moving average? We did not test that once. We tested 4,05,000 variations: moving-average crosses on the option's own price, new highs for the day, the option doubling from its low, Nifty breaking out or moving towards the strike, filters for trending, gap and quiet days, five start times, and ten ways to exit, including trailing stops.

45 entry signals × 5 price ranges × 12 day filters × 5 start times × 3 sides × 10 exits = 4,05,000

With that many variations, some will look amazing by luck alone. So we used the one test that separates luck from an edge: we chose the best rules using only 2023 and 2024, then tested them, unchanged, on 2025 and 2026, data they had never seen.

The moving-average idea

Buy the ₹1–3 option when it closes above its 12-candle average, from 14:00, and hold. In 2023–24 it made a small profit, ₹35 a trade. It looked promising. In 2025–26 it lost −₹121 a trade. We tested 1,600 versions of that idea on cheap options; not one made money in both periods.

The best ten

Then we took the ten best rules from 2023–24, out of all 4,05,000. Not one was a cheap option: all ten bought options costing ₹10–20. 97% of their 2023–24 profit came from the same three days. On the data they had never seen they averaged ₹47 a trade, close to zero, and 10 of 10 lost money in 2026.

#Option price2023–24 per tradeShare from 3 days2025–26 per trade2026 net
1₹10–20₹1,49398%−₹91−₹1,664
2₹10–20₹1,43798%−₹92−₹1,778
3₹10–20₹1,34686%₹120−₹1,632
4₹10–20₹1,30084%₹119−₹5,356
5₹10–20₹1,258100%−₹17−₹318
6₹10–20₹1,24684%₹150−₹2,984
7₹10–20₹1,216115%₹179−₹7,270
8₹10–20₹1,215120%−₹380−₹2,512
9₹10–20₹1,201104%₹136−₹2,412
10₹10–20₹1,17088%₹346−₹2,070

No better than random

And for cheap options, one more check: we compared the clever entries against simply buying at a random moment, 200 times over. On data they had not seen, the clever entries lost −₹124 a trade; random entries lost −₹127 to −₹137. No better than random.

The StrikeATM Score

Finally, the same ten-question check we use for every strategy in our course: costs, slippage, concentration, sample size, every year, tested or fitted. Hero zero, as it is taught, scores 1.5 out of 10.

QuestionResultWhat we found
Look-ahead biasPassAll 11,706 strike choices replayed with every candle after the decision removed: 11,706 identical, 0 changed.
CostsFailBefore costs, the average trade lost ₹73; each trade then pays ₹65 more in costs.
Slippagen/aNot scored: only 9 winning trades, too few to judge.
The curveFailThe worst drawdown was 31.0% of the capital.
Trade concentrationn/aNot scored: there is no overall profit to check.
Calendar spreadn/aNot scored: there is no overall profit to check.
Tested, or fitted?WarningPer trade: −₹40 in the first half of the data, −₹107 in the second.
Enough tradesFailt-statistic −5.59 on 337 trades: the loss is not bad luck.
Return per unit of wobbleFailSharpe ratio −3.04.
Every year countsFailNo year made money: every calendar year lost, and the worst, 2025, lost ₹17,251.

So, does hero zero work?

On 3.5 years of Nifty data, in our backtest: no. The heroes are real; 16 May 2024 was real. But they are rare, they come on a few days you cannot pick in advance, and everything in between costs more than they pay. Booking profits did not fix it. Trailing did not fix it. Smarter entries did not fix it. A strategy is only as good as the questions it survives, and this one does not survive the first few.

The same score, for the strategies we teach

For comparison, here are the option-selling strategies we build in the course, scored on the same card. They were tested on the same years, with higher costs than we gave hero zero: ₹160 a round trip against ₹65.

StrategyScoreAverage month (backtest)SharpeWorst drawdownCapital
Foundation I8.54.2%2.1−14%₹4,40,000
Foundation II8.54.3%2.5−13%₹4,40,000
Steady I96.0%3.4−13%₹4,40,000
Steady II96.6%3.6−13%₹4,40,000
Steady III8.57.0%3.4−22%₹4,40,000
Steady IV8.56.7%3.1−22%₹4,40,000
Shield I88.8%3.2−21%₹3,00,000
Shield II8.58.2%3.4−18%₹3,20,000
Shield III97.5%3.4−14%₹3,50,000
Shield IV8.56.9%3.4−15%₹3,80,000
Sprint813.2%2.9−53%₹2,20,000
0%100%200%300%400%500%202420252026SprintShield ISteady IIFoundation I
Cumulative return on capital, backtest, week by week.

None scores ten, and the course shows where each one loses its points. These are backtest figures on historical data, not a promise of future returns; each has its own drawdown and needs its own capital.

Watch the full test

Frequently asked questions

Does the hero zero strategy work on Nifty?

Not in StrikeATM's backtest. StrikeATM tested hero zero, buying ₹1–3 out-of-the-money options at 14:05 on expiry day and holding to 15:15, on every Nifty expiry day from 19 January 2023 to 26 May 2026 (175 expiry days) with ₹65 costs per trade. 9 of 337 trades made money, and the strategy lost −₹46,628 on one lot. It lost in every year tested.

What is the hero zero option strategy?

Buying very cheap out-of-the-money options, often ₹1 to ₹3, late on expiry day, hoping one of them jumps to many times its price before the close. Most expire near zero; occasionally one becomes the "hero". StrikeATM's Backtest Lab tested whether the rare heroes pay for all the zeros.

Does booking profit or a trailing stop fix hero zero?

Not in StrikeATM's backtest. Booking a 25% profit on ₹1–3 options hit the target on 59% of trades, but none made money after costs, because a 25% gain on a ₹2 option is smaller than the costs. All 16 trailing-stop versions lost; the best lost −₹33,325.

Is buying more expensive options on expiry day better?

They win more often: in StrikeATM's backtest, ₹10–20 options made money 18.8% of the time against 3.3% for ₹1–3 options. But every price range lost overall, and booking 25% on ₹10–20 options won 73% of trades yet still lost −₹79,122.

Can a smarter entry, like a moving-average cross, make hero zero profitable?

StrikeATM tested 4,05,000 entry and exit variations, choosing the best on 2023–24 and testing them unchanged on 2025–26. For cheap options, the clever entries did no better than buying at a random moment on the data they had not seen, and none of 1,600 moving-average versions made money in both periods.

What data and costs did StrikeATM use?

Five-minute Nifty option and spot prices for every expiry day, 19 January 2023 to 26 May 2026, with ₹65 of costs on every trade (entry and exit together), deliberately lower than the ₹160 StrikeATM uses for its own course strategies, and no slippage added.

Where can I see the full hero zero results?

In StrikeATM's Backtest Lab, at strikeatm.com/backtest-lab, with every chart, table and test, and as a video on StrikeATM's YouTube channel.

How we tested

  • Data: five-minute Nifty option and spot prices on every expiry day, 19 January 2023 to 26 May 2026, 175 expiry days.
  • Rules: decision on the 14:00 candle's close; out-of-the-money call and put at ₹1–3, nearest the money; bought at the next open; sold at the 15:15 close; one lot each.
  • Costs: ₹65 per trade, entry and exit together, on every trade; no slippage added. Both choices favour the strategy.
  • No look-ahead: every strike choice was replayed with every candle after the decision removed; all of them matched.
  • Out-of-sample: the smarter-entry search chose its rules on 2023–24 only and judged them, unchanged, on 2025–26.

Is there a strategy you want us to test next? Tell us in the comments on the video.

Not SEBI-registered. Educational content only. Backtest on historical data, 19 January 2023 to 26 May 2026. Past results, real or simulated, do not guarantee future results. Nothing here is a recommendation to buy or sell any security.

StrikeATM

A ground-up, honest, data-driven path to building options strategies in Python. Educational content only — not investment advice, not a signal service, not SEBI-registered research. No live data is used or taught anywhere in this course.

Contact

© 2026 StrikeATM. All rights reserved.StrikeATM, Evolve Work Studio, Yelenahalli, 4th Floor, The Hub, @Raj Serenity, Bangalore - 560068
Chat with us