Selling Nifty weekly option premium on EMA signals: five years, 3,300 trades, no edge
Selling at-the-money weekly options when a short-term moving-average cross turns down is a popular retail idea: premium decays, the signal says momentum is fading, stops are tight. We tested one precise version over almost five years of minute data. It lost money every full year, and a coin-flip version lost nearly as much.
The rule we tested
The rule came from a trader's brief and was written down before testing:
- At 09:20 record the Nifty level and freeze the nearest-weekly at-the-money call and put.
- Between 10:00 and 14:55, sell the call when the 2-period EMA of its premium (on 5-minute candles) crosses below the 20-period EMA of the last closed candle; the same for the put. At most two trades per side on the same strike.
- Exit on a 20% stop (premium up 20% from the entry), an 80% premium-drop target, the EMA2 crossing back above EMA20, or an EMA10 trail once the premium has fallen 30%. Square off at 15:15.
- One lot, NRML, weekly options.
Data and costs
- Data: one-minute weekly Nifty option prices from December 2020 to October 2026, 1,250 sessions. The earliest data request (mid-2020) returned nothing from the provider, so December 2020 is the true start.
- Charges: an assumed Anand Rathi brokerage of ₹50 per lot per order (taken from third-party sources, not confirmed with the broker), plus STT (0.10%, and 0.15% from 1 April 2026), exchange fee, SEBI fee, GST and stamp duty.
- Slippage: 1% of the premium for the full trade cycle in the base case; we also show 0.5% and 2%.
- Capital: ₹10 lakh assumed (none was given). Because the rule trades one lot, capital only affects the drawdown percentage.
- Periods: the first 55% of sessions for development (to July 2024), the next 25% for validation (to October 2025), and the last 20% sealed and never opened.
What the numbers say
| Development, 2020-12 to 2024-07 | 0.5% slippage | 1.0% (base) | 2.0% |
|---|---|---|---|
| Trades | 2,277 | 2,277 | 2,277 |
| Mean result per day (one lot per side) | −₹491 | −₹699 | −₹1,116 |
| t-statistic | −4.4 | −6.3 | −10.0 |
| Win rate | 25% | 24% | 22% |
| Gross result per trade, before charges | −₹18 | −₹81 | −₹207 |
| Charges per trade | ₹130 | ₹130 | ₹130 |
Validation (July 2024 to October 2025, 1,022 trades) was no better: −₹593 a day at base slippage and −₹339 a day even at 0.5% slippage. Year by year, the development total (one lot per side, base case) was roughly flat in 2020 (a few weeks only), then −₹43,000 in 2021, −₹1.47 lakh in 2022, −₹1.71 lakh in 2023 and −₹1.20 lakh in the first part of 2024. The loss is visible even before charges: gross −₹81 per trade at the base slippage.
Why it loses
- Most exits are whipsaws. 1,548 of 2,277 development trades (68%) ended because the EMAs crossed back. Short-term EMA crosses on a premium chart flip constantly, so the position is often closed at a small loss after the bounce.
- The target almost never arrives. Only 52 trades (2.3%) reached the 80% premium drop, while 271 (12%) hit the 20% stop. A short seller who wins small and loses larger needs a very high win rate; the 24% win rate is far from it.
- Charges are large relative to the edge. At ₹130 a trade, about twice the typical gross size, costs alone would end the strategy even if the signal were neutral.
- Calls lost more than puts (−₹430 against −₹269 a day in development), consistent with a mostly rising market over the period; this is an observation about the sample, not a forecast.
The control that matters: random timing
To see whether the EMA signal adds anything, we ran the same exits with the entry moments chosen at random during the day (30 repetitions, same number of entries on the same days). The random-time seller lost a median ₹640 a day in development and ₹594 in validation, against −₹699 and −₹593 for the signal. The signal is statistically indistinguishable from chance: the losses come from the structure (short premium, tight stops, costs), not from bad timing.
Caveats we would not hide
- About 10 to 20% of trades touch bars priced by a model, because the frozen strike drifted outside the observed strikes. Two modelled fills had implausibly high premiums; they remain in the sample and are flagged on the audit page.
- The broker brokerage is an assumption; doubling it deepens the loss (−₹1,090 a day), and the gross result is negative before any brokerage.
- EMAs were seeded at the first candle each day; a live platform would carry history.
- A different rule on the same data (wider stops, other times, other expiries) could behave differently. We did not tune the rule to the data; this is the test of the brief as written.
What to take from this
- Ask for the gross result per trade and the charges per trade of any strategy: this one lost before charges, which no cost-saving can fix.
- Ask for the random-timing control. A backtest that wins is only evidence of skill if it beats random timing.
- Be wary of win rates without loss sizes: 76% of the trades lost money here, but the target hit rate was 2%.
The full audit with every trade is on the Strategy Review. For how costs changed in 2026, see the STT rise; for the method, see pre-registration and sealed hold-outs. This is research on how a rule behaved in the past; it is not a recommendation to trade or to avoid any instrument.