Skip to main content

Nifty covered call - My experiment

A covered call strategy is one where an underlying stock is bought and then its ATM call option is sold. The value of underlying stock should be equal to 1 lot size of options e.g. if the stock's option lot has 25 shares then 25 shares need to be bought.  This trade can be taken on monthly basis using monthly expiring option. There are 3 possible outcomes after the call option is sold:

1. Stock goes up b/w previous expiry date and current expiry date- In this case any increase in stock value will be offset by loss in call option

2. Stock remains at same price b/w previous expiry date and current expiry date - In this case there will be no increase in stock value but the entire call option premium will be profit

3. Stock goes down by next expiry date - In this case there will be drop in stock value but the entire call option premium will be profit

This strategy works on assumption that over long term the underlying stock will give gains in spite of fluctuations in stock price over short term and idea is to pocket the call option premium on monthly basis.

Same kind of strategy can be run on Nifty options after doing investment in Niftybees whose value depends on Nifty. For selling 1 lot of Nifty call options equivalent amount of Niftybees should be bought. 

Taking an example assume Nifty is at 25000 and Niftybees is trading at 250. Now 1 Lot of Nifty has 75 options. Total notional value of 1 lot of Nifty then will be = Lot size * Nifty value = 25,000 * 75. Number of Niftybees to be bought will be = Nifty notional value/ Niftybees value = 25,000*75 /250 = 7500 so 7500 Niftybees need to be bought to do covered call strategy with 1 lot size

In my case I always took 3% away Nifty OTM call option for next monthly expiry on the expiry day of current month expiry around 3 PM. To explain say Nifty is trading at 25800 on monthly expiry day at 3 PM. So 3% away ATM option is at 25800 *1.03 = 26574 = 26550 . Now you can sell 26500CE or 26600 CE option also as options ending in 100 have more liquidity as compared to ones ending with 50. 



I am running this strategy from Jan 2025 monthly expiry and the results for various months are documented below for 1 Lot:

Year 2025 Returns

Expiry Entry Date Exit Date CE Sold Entry Price Exit Price PnL per Lot
Jan 2526-Dec-2430-Jan-2524400192.5014,438
Feb 2530-Jan-2527-Feb-2523900214.8016,110
Mar 2528-Feb-2527-Mar-252320057.5404-25,988
Apr 2527-Mar-2524-Apr-252430011008,250
May 2524-Apr-2529-May-2525000181013,575
Jun 2529-May-2526-Jun-2525600151.65011,374
Jul 2526-Jun-2531-Jul-252630010708,025
Aug 2501-Aug-2528-Aug-252560051.0503,829
Sep 2528-Aug-2530-Sep-25253508106,075
Oct 2530-Sep-2528-Oct-252580024.4136.2-8,385
Nov 2529-Oct-2525-Nov-252680079.40.35,933
Dec 2525-Nov-2526-Dec-2526800105.251.57,781
Total 61,017

In Oct'25 the CE option was taken 6% away from ATM as past 6 months had given positive returns. 

2025 Overall Returns Breakdown

  • Initial Capital Deployed (26-Dec-2024): ₹17,81,317 (6,705 units of NiftyBeES @ ₹265.67; Nifty @ 23,750.2)

  • Holding Value at Year-End (26-Dec-2025): ₹19,74,421 (6,705 units @ ₹294.47)

  • NiftyBeES Capital Gain: ₹1,93,104 (+10.8%)

  • Call Option Premium Gain: ₹61,017 (+3.4%)

  • Total Net Profit: ₹2,54,121 (+14.3% Total ROI)

Year 2026 Returns

Expiry Entry Date Exit Date CE Sold Entry Price Exit Price PnL per Lot
Jan 2630-Dec-2527-Jan-26267006003,900
Feb 2627-Jan-2624-Feb-2626000142.0509,233
Mar 2625-Feb-2630-Mar-2626300121.7507,914
Apr 26Trade not taken-
May 26Trade not taken-
Jun 2629-May-2630-Jun-262460014009,100
Jul 2630-Jun-2628-Jul-262470010106,601
Aug 2629-Jul-2625-Aug-262470011907,751
Sep 2625-Aug-2622-Sep-2624900971.46,214
Oct 2630-Sep-2627-Oct-262400023.301,515
Nov 2628-Oct-26----2410026.1-Active
Total 52,228

Note (14-Apr-26): Because of high VIX the strategy is stopped for Apr'26 month as there is a high chance of Nifty bounce. 
Note (31-May-26): Strategy is restarted from June expiry
Note (30-Aug-26): After I got my hand on free version of Gemini pro through JIO subscription I ran the backtest for this strategy from 2021 onwards (2020 was a volatile year so left that out) and monthly option of 6% away from ATM provides optimal returns as shown below. 
Note (1-Nov-26): Now my Niftybees investment is equivalent to 3 lots of NIFTY so I am now taking 3 lots of position. 

Note (7-Nov-26): In Nov, the market has already run 10% from the time the OTM option was taken and it is running a loss of 63k per lot. 

We have to understand here that covered call position is not in a loss; it has reached its maximum profit cap for the November cycle.

When trading covered calls, looking at the short CE in isolation creates the illusion of a massive deficit (₹988 vs ₹26 premium received). Because we hold the underlying NiftyBeES, every rupee lost on the call above 24,100 has been matched 1:1 by capital appreciation on units. Net position has achieved the exact maximum outcome designed when entering at 24,100: all the upside of Nifty up to 24,100, plus the 26 points of premium.

Why "Rolling to Recover Losses" is Dangerous

Rolling a deep in-the-money (ITM) call to "recover" premium usually leads to structural errors:

  1. Delta is near 1.0 (Almost pure intrinsic value): The 24100 CE at 988 contains virtually zero extrinsic (time) value. Cannot extract meaningful theta decay from it anymore.

  2. Rolling up requires paying a massive debit: To move the strike from 24,100 up toward the current spot (e.g., December 25,200 CE), we must pay out a large net cash debit. We are effectively realizing a ₹960+ loss on the call and betting that Nifty will not pull back.

  3. The Whip-Saw Trap: If we pay a large debit to roll up to December and Nifty corrects downward, NiftyBeES drops in value, while the cash debit paid to close the Nov call is gone forever. We turn a capped winning month into an actual net loss.

Practical Management Approaches

ApproachExecutionBest Used WhenTrade-off
1. Hold to Expiry & ResetLet November expire. Close or let the CE settle against cash, then sell a fresh OTM call for December at the new market levels.We run a mechanical, long-term buy-and-hold index strategy.Caps November gains at 24,126, but avoids paying premature debits or friction.
2. Roll Out at the Same Strike (Calendar Roll)Buy back Nov 24100 CE and sell Dec 24100 CE only if we receive a net credit (extrinsic value of Dec > extrinsic value of Nov).We want to lock in additional premium without taking on any downside basis risk.Keeps upside heavily capped at 24,100 through December, delaying spot participation.
3. Roll Up and Out for Flat / Small CreditBuy back Nov 24100 CE and sell a slightly higher December strike (e.g., Dec 24300–24400 CE) where premium received>= debit paid.We want to gradually raise ceiling without paying out-of-pocket cash.May only move the strike up 100–200 points due to low extrinsic value on deep ITM strikes.

The Recommended Play

If our systematic plan is to hold NiftyBeES for long-term compounding and harvest monthly yield, do not panic-roll for a large debit. Treat November as a completed maximum-gain cycle:
  1. Wait until expiry week (when time value hits zero and tracking error between future and spot diminishes).
  2. Square off the ITM call at expiry, absorbing the call settlement with NiftyBeES unrealized gains.
  3. Write a new monthly out-of-the-money (OTM) call for December based on prevailing spot and delta rules (e.g., 6% OTM).

Strategy Backtest Comparison: 3% OTM vs 6% OTM (2021 – 2026 Oct end)

A historical comparison of selling 3% OTM versus 6% OTM Nifty monthly Call Options on monthly expiry day (at 15:00) carried till the next expiry:

Year Trades 3% OTM PnL (₹) 3% Win Rate 6% OTM PnL (₹) 6% Win Rate Key Takeaway
2021 12 -₹3,056 9 / 12 (75%) +₹16,131 11 / 12 (92%) 6% avoided capping during sharp post-budget & autumn rallies.
2022 12 -₹1,493 8 / 12 (67%) +₹30,115 10 / 12 (83%) Volatile market; 6% captured rich premiums with 0 intrinsic drag.
2023 12 -₹48,749 8 / 12 (67%) -₹13,875 10 / 12 (83%) 6% reduced late-year breakout losses by ~70%.
2024 12 +₹24,637 10 / 12 (83%) +₹14,975 11 / 12 (92%) 11 full zero-decays; consistent stress-free returns.
2025 12 +₹61,017 10 / 12 (83%) +₹9,267 12 / 12 (100%) Low-volatility consolidation favoured higher premium 3% strike.
2026 (Oct) 8 -₹44,945 5 / 8 (62%) +₹13,153 7 / 8 (88%) 6% avoided major drawdowns during spring bounce.
Total (2021-2026) 68 -₹10,590 73.5% +₹69,766 89.7% 6% OTM generated +₹80,356 higher alpha.

Conclusion: While 3% OTM collects higher upfront premium, sharp +5% to +8% monthly rallies regularly wipe out accumulated profits. Moving to 6% OTM delivers an 89.7% win rate, protects underlying NiftyBeES compounding, and yields superior risk-adjusted net returns.

Comments

  1. Hi just curious to know, what was the reason behind choosing 6% for October? I get the point that past 6 months 3% distance gave return but what was the mathematical logic to take the decision for October and let’s say August or something and why 6%?

    ReplyDelete
    Replies
    1. No specific logic to change it to 6%. Just that the probability of bounce becomes higher along with the profitable months. Somehow the bounce came in same month in which change was done. If someone can back test various %ge away OTM to see which one gives best result over the years, then that will be better than taking 3% away OTM

      Delete
  2. Did you purchased PE options to protect the Nifty Bees from downside risk?

    ReplyDelete
    Replies
    1. No. This is based on the assumption that over long term Nifty will end positive so holding Nifty Bees is the key even if it goes down.

      Delete
  3. Hi. Do you sell the BEEs when the call option ends in negative or you take the loss and sell another higher call for next month? Have you thought of selling the BEEs to offset the call loss and buy them again next day?

    ReplyDelete
    Replies
    1. I retain the bees and sell a higher call option in case previous month call options ended in loss. If I sell the bees and buy them again the value will be same but additional trading charges (brokerage, STT, Stamp duty, transaction charges) will be there so no benefit in doing that

      Delete
    2. Thanks a lot for replying. Usually when the BEEs are in loss the index or stock would be in profits higher than the loss in the call. In that case will it not make sense despite the other transaction charges? If you don't sell them and then in the next month let us say Nifty goes down, the CE sell only gives you so much, right? I am sorry if i am not asking the right question.

      Delete
    3. Thanks a lot for the reply. Let's say you don't sell the BEEs and by next month Nifty falls, your BEEs value goes down. At least had you sold the BEEs last month, you would have made money on the BEEs though the CE sell would have been in loss despite the transaction charges. Not sure if i am making sense?

      Delete
    4. Here we need to sell next month CE option on current month expiry on month over month basis and need to have NiftyBeES as underlying holding for that so NiftyBeES holding has to be continuously maintained

      Delete
    5. One doubt air, If you are not selling the NIFTYBEES then whats the point of holding, Just simply SELING CAL OPTION WIL Work Right ?

      Delete
    6. Yes this can be done by selling calls only. However in case market jumps a lot in a month there will be huge loss in calls (unlimited loss is possible). In case someone is holding Niftybees they will see a gain in their value which will offset loss from selling call for that month. They will have option to come out of trade with not much impact.

      Delete
  4. hi, how do you use gemini to backtest options, do you need to provide options data? and if so how to do it?

    ReplyDelete
    Replies
    1. In this case I didn't provide it any data. Not sure from where it got the options related data but they were quite close to the actuals for the duration I have been trading this strategy (i.e. from past 1.5 years) so I assumed that its data is good enough

      Delete

Post a Comment