Calendar Spread Options Trading Strategy In Python

6 min read

By Viraj Bhagat

Calendar Spread is a part of the family of spreads. Calendar Spread can be created with either all calls or all puts and it does have a directional bias. Here, we'll be learning about the Calendar Spread Options Trading Strategy and using Python to create it using Live examples from the market.

This article covers:

What are Option Spreads?

Options trading has come a long way in Trading. A vast majority of traders have left their mark in the market with some innovative trading strategies. It was not only them but many others who adapted such trading strategies and benefitted from them.

Option Spreads can be created by purchasing and selling options simultaneously, both of the same types, on the same underlying security, having different strike prices and/or different expiry dates.


  • Call Spreads - Spreads constructed using calls or call options are Call Spreads
  • Put Spreads - Spreads created using puts or put options are Put Spreads

Suggested Reads:

What is a Calendar Spread?

Calendar Spread is a part of the family of spreads. Calendar Spread can be created with either all calls or all puts and it does have a directional bias. Here, only the legs vary due to different expiry dates.

Calendar Spread is also known as a Horizontal Spread or Time Spread (the idea behind it is to sell time and capitalize on rising in implied volatility). The Calendar Spread strategy can be traded as either a bullish or bearish strategy.

Calendar spread is practised when a Trader expects a gradual or sideways movement in the short term and has a more directional bias over the life of the longer-dated option.

What are the different types of Calendar Spreads?

The chart below clearly explains the differences in the various types of Calendar Spreads prevalent today.

Construction of a Calendar Spread Strategy

The construction of a Calendar Spread strategy involves options of:

  • an equal number of ATM or slightly OTM calls
  • the same underlying stock,
  • at the same strike prices, and
  • different expiration months

Here, the near month option expires worthless if the price of the underlying at the near month options expiry remains unchanged.

The Calendar Spread Strategy would give a payoff resembling this graph:

calendar spread options trading strategy

Set-up of a Calendar Spread Trading Strategy

A Calendar Spread can be set-up by:

  • Selling/short 1 option (front month)
  • Buying/long 1 option (back month)
  • Both options should be of the same type i.e. either Put or Call
  • Both options should have the same strike price
  • Based on the same underlying asset

Profit: Ideal Profit is obtained when the short option expires worthless and IV expands in the long option. Max Profit and Breakeven can’t be calculated as both the options have different expiry dates. Potential profit cannot be calculated as the option expire at different times

Loss: Max Loss or risk is equal to the initial net debit paid to establish the trade. If the stock price moves dramatically or too far from the strikes, the trade will cause a loss. If all options have the same expiry date, it is indicated by straight lines and sharp angles. Because of the different expiry period of the calls, the lines are not straight.

Example of a Calendar Spread

Let's understand the Calendar spread with a simple example of company ABC.

  • With ABC stock trading at INR 100.5 in March 2018
  • Sell the April 100 call for INR 1.00 (INR 100 for one contract)
  • Buy the May 100 call for INR 2.00 (INR 200 for one contract)
  • Net cost (debit) INR 1.00 (INR 100 for one contract)

Implementing The Calendar Spread Options Trading Strategy

I will use Nifty for this example.

The following image captures the month-long movement:

nifty strike price

Nifty hasn't seen any sudden action in this month so far with the lowest at 10589.10 INR and highest at 11023.20 INR, the highest being just near the present Strike Price of 11010.20 INR. as per Google Finance.

As the strategy explains, I will sell 1 call option and buy 1 call option, both At-The-Money (ATM), which in this case is 11023.20 INR.

Here's the option chain of Nifty futures for the months of July and August:

nifty futures option chain

Here's the option chain of Nifty for the expiry date of 27th July 2018.

nifty july options chain

Here's the option chain of Nifty for the expiry date of 30th August 2018.

nifty august options chain


Calculating The Calendar Spread Payoff

Now, we will go through the Payoff chart using the Python programming code. A Calendar Spread strategy profits from the time decay and/or increase in the implied volatility of the options.

In this notebook, we will create a payoff graph of Calendar Spread at the expiry of the front-month option.

Step 1 - Importing the Libraries

Step 2 - Setup of a Calendar Spread Strategy

Calendar spread involves options of the same underlying asset, the same strike price but with different expiration dates

  • If a Call or Put is Sold with near-term expiration it is called "front-month
  • If a Call or Put is Bought with long-term expiration it is called "back-month

Step 3 - Calendar Spread On Nifty

We will set up the Calendar Spread on Nifty as shown below at the same Strike Price

  • Sell 11000 strike call @ INR 85.20 expiring on 27 July 2018 — “front-month”
  • Buy 110000 strike call @ INR 201.70 expiring on 30 August 2018 — “back-month”

Step 4 - Implied Volatility (IV)

We calculate the IV using Black Scholes model for the front-month and back-month call option. To calculate the call price for different values of Nifty, this IV will be used later as an input to the Black-Scholes model.

Front Month IV 11.32 %
Back Month IV 12.05 %

Step 5 - Calculating The Call Price For Front And Back Month Option

Since there are two expiration dates for the options in the calendar spread, Black-Scholes pricing model is used to guesstimate the price of the front-month and back-month 11000 strike call at the front-month call expiry. You may change the days to expiry below to see how payoff changes.

Note: We have assumed that all other things such as implied volatility and interest rates remain constant.

call price

Step 6 - Calendar Spread Payoff

calendar spread payoff graph

Graph Interpretation

Max. Profit: When the Nifty price (on expiry of front-month) is at the strike price of INR 11000. It decreases when we move in either direction away from the Strike Price.

Max. Loss: When the option moves deep ITM (In-The-Money) or deep OTM (Out-of-The-Money).

Suggested Reads:


A Calendar Spread is practised if the trader is:

  • Expecting minimum movement of the stock → Use ATM Calls → Construct Calendar Spread
  • Slightly Bullish → Use OTM Calls → Gives Lower up-front Cost

Calendar Strategy is one of the countless trading strategies out there. We have covered some wonderful trading strategies here.

In this strategy, people expect minimal movement of the stock but within a stipulated period of time. This strategy is beneficial to successful, experienced traders and seasoned veterans as it adds profit to their portfolio.

Modern trading demands a systematic approach and the need to steer yourself away from trading from the gut. Learn how you too can trade options in a systematic manner with our course on Systematic Options Trading. Plus, you get to explore explore options trading strategies like a butterfly, iron condor, and spread strategies. Enroll now!

File in the download

  • Calendar Spread Trading Strategy - Python Code.ipynb

Disclaimer: All investments and trading in the stock market involve risk. Any decisions to place trades in the financial markets, including trading in stock or options or other financial instruments is a personal decision that should only be made after thorough research, including a personal risk and financial assessment and the engagement of professional assistance to the extent you believe necessary. The trading strategies or related information mentioned in this article is for informational purposes only.

 Advanced Momentum Trading: Machine Learning Strategies Course