Collar Options Trading Strategy In Python

7 min read

Collar Options Trading Strategy In Python

By Viraj Bhagat

The current market environment is pretty challenging and there is a need to be clever in the way we invest and look for other opportunities. As a trader, one is always on the lookout for assets that can perform well in the markets and at the same time realise good profits.

Sideways performing strategies provide a good opportunity for a trader to grab hold of. And if the trade is moderately bullish yet cautious on your price, that is when Collar Options Strategy is practised.

This brings up the question,

What Is A Collar?

A Collar, also known as a Hedge Wrapper, is a type of a protective options trading strategy. They protect against enormous losses, but at the same time prevent enormous gains as well.

Stock > Long position > Substantial Gains > Implement Collar

Many often wonder,

What Is the Definition Of A Collar?

Or

What Is The Meaning Of A Collar?

A Collar is an Options Trading Strategy. It is a Covered Call position, with an additional Protective Put to collar the value of a security position between 2 bounds. The Collar Options Trading Strategy can be constructed by holding shares of the underlying simultaneously and buying put call options and selling call options against the held shares. One can hedge against the potential downside in the shares by buying the underlying and simultaneously buying a put option below the current price and selling a call option above the current price.

Collar Trading Strategies have a widespread usage. Conservative Investors find it to be a good trade-off to limit profits in return for limited losses and Portfolio managers use it to protect their position in the market, while some investors practise it as it reduces the price of the protective put.

Components Of Collar Trading Strategy Structure

  1. Buy 1 OTM Put option (Put collar) - lower limit - for protection
  2. Sell 1 OTM Call option (Call collar) - upper limit

Both Call and Put options are out of the money, have the same expiry date and their quantity must be equal

Generally, the price will be between two strikes

The strategy would ideally look something like this:

Collar-Options-graph

Calculating Breakeven Point

  • Purchase Price - Call Premium (you are short) + Put Premium (you are long)
  • For Net Credit, BEP = Current Stock Price - Net Credit received
  • For Net Debit, BEP = Current Stock Price - Net Debit paid

Limited Profit Potential

  • Max. Profit = Strike Price (of the Call option) – Purchase Price (of the underlying)
  • Max. Loss = Purchase Price (of the underlying) – Strike Price (of the long Put)

Best Rewards: You want the underlying price to expire at the strike price of short call option.

How The Collar Options Strategy Works

Step 1: At Current Price

At Current Price

The market is unstable and the volatility is totally unexpected. When the price of a option rises, there is a probability that the price may fall and you may lose out on the profit. In such a case, the asset needs to be protected.

Step 2: Practise Collar Options

Practise Collar Option

It is under such condition that the Collar Options Strategy is practised. The call that you have sold caps the upside.

What Are The Various Scenarios For Applying A Collar Strategy?

Scenario 1: When Market Is Bullish

When Market Is Bullish

Collar option provides limited profits and is used for generating a monthly income from the sideways moving market. This profit can be used as a Collar Payoff against the purchased Put Option. Since the trader owns the option, the call sold is considered “covered”.

Scenario 2: Sharp Bullish Market

Sharp Bullish Market

If the Price rises suddenly and peaks, then the Calls sold increases in Price leading to a difficulty in selling many securities quickly without moving the market and no profits would be realised.

Scenario 3: When Market Is Bearish

When Market Is Bearish

If the Price dips, the Put option is practised. The Price increases in value as the underlying asset moves lower. Here, the sell happens above the Market Value using the Options. Since you have sold the call, if the option is assigned, you’ll have to sell the option at the Strike Price.

Scenario 4: Sidewise Movement

Sidewise Movement

If the Price stays the same until the expiry of the option and since both the options have the same date of expiry, neither are practised and thus they both turn worthless. The maximum loss in such a case would be only the Premium paid for the options as it offsets the Premium paid for the Put Option from the Call Option therefore, minimising the Loss.

Implementing The Collar Trading Strategy

I will use IDBI Bank Ltd (Ticker – IDBI) option for this example.

Collar Strategy Example

Here I will take the example of IDBI Bank Ltd as it has the required qualities of:

  • Performing in the sideways markets
  • Are protected against downside movement
  • Flexible and adaptable to change

Last 1 month price movement (Source – Google Finance)

IDBI Movement

There has been a lot of movement in the price of IDBI Bank Ltd., the highest being 194.65 and lowest being 117.05 in last 1 month which is the current value as per Google Finance.

For the purpose of this example; I will buy 1 out of the money Put and 1 out of the money Call Options.

Here is the option chain of IDBI Bank Ltd. for the expiry date of 29th March 2018 from the Source: nseindia.com

Option Chain Collar

Calls Collar

Puts Collar

I will pay INR 3.25 for the call with a strike price of 75 and INR 2.00 for the put with a strike price of 65. The options will expire on 29th March 2018 and to make a profit out of it, there should be a substantial upward movement in the price of IDBI Bank Ltd. before the expiry.

The net premium paid to initiate this trade will be INR 5.25. For this strategy to breakeven, the price needs to move down to 59.75 on the downside or up to 80.25 before this strategy will break even.

How To Calculate The Strategy Payoff In Python?

Now, let me take you through the Payoff chart using the Python programming code.

Import libraries
import numpy as np
import matplotlib.pyplot as plt
import seaborn
Define The Parameters
# IDBI Bank Ltd stock price
spot_price = 70.65
​
# Long put
strike_price_long_put = 65
premium_long_put = 2
​
# Short call
strike_price_short_call = 75
premium_short_call = 3.25
​
# Stock price range at expiration of the put
sT = np.arange(0,2*spot_price,1)
Call Payoff

We define a function that calculates the payoff from buying a call option. The function takes sT which is a range of possible values of stock price at expiration, strike price of the call option and premium of the call option as input. It returns the call option payoff.

+def call_payoff(sT, strike_price, premium):
return np.where(sT < strike_price, premium,+ premium -sT + strike_price)

payoff_short_call = call_payoff (sT, strike_price_short_call, premium_short_call)
# Plot
fig, ax = plt.subplots()
ax.spines['top'].set_visible(False) # Top border removed
ax.spines['right'].set_visible(False) # Right border removed
ax.spines['bottom'].set_position('zero') # Sets the X-axis in the center
ax.plot(sT,payoff_short_call,label='Short Call',color='r')
plt.xlabel('Stock Price')
plt.ylabel('Profit and loss')
plt.legend()
plt.show()

Call Payoff

Put Payoff

We define a function that calculates the payoff from buying a put option. The function takes sT which is a range of possible values of stock price at expiration, strike price of the put option and premium of the put option as input. It returns the put option payoff.

def put_payoff(sT, strike_price, premium):
return np.where(sT < strike_price, strike_price - sT, 0) - premium

payoff_long_put = put_payoff(sT, strike_price_long_put, premium_long_put)
# Plot
fig, ax = plt.subplots()
ax.spines['top'].set_visible(False) # Top border removed
ax.spines['right'].set_visible(False) # Right border removed
ax.spines['bottom'].set_position('zero') # Sets the X-axis in the center
ax.plot(sT,payoff_long_put,label='Long Put',color='g')
plt.xlabel('Stock Price')
plt.ylabel('Profit and loss')
plt.legend()
plt.show()

Put Payoff

Collar Payoff
payoff_collar = payoff_short_call + payoff_long_put
​
print ("Max Profit:", max(payoff_collar))
print ("Max Loss:", min(payoff_collar))
# Plot
fig, ax = plt.subplots()
ax.spines['top'].set_visible(False) # Top border removed
ax.spines['right'].set_visible(False) # Right border removed
ax.spines['bottom'].set_position('zero') # Sets the X-axis in the center
​
ax.plot(sT,payoff_short_call,'--',label='Short Call',color='r')
ax.plot(sT,payoff_long_put,'--',label='Long Put',color='g')
​
ax.plot(sT,payoff_collar+sT-spot_price,label='Collar')
plt.xlabel('Stock Price', ha='left')
plt.ylabel('Profit and loss')
plt.legend()
plt.show()

Collar Payoff

Max Profit: 66.25
Max Loss: -64.75

Summary

The maximum profit that can be achieved is unlimited and the maximum loss that could be incurred is INR 64.75. The advantage of using this strategy is that one is aware of the losses and gains to be expected from the beginning. With time, the value of the options which were bought and sold, both decreased. Returns might be less and slow due to selling the call, but the option heading down assures protection.

Next Step

If you want to learn various aspects of Algorithmic trading then check out the Executive Programme in Algorithmic Trading (EPAT™). The course covers training modules like Statistics & Econometrics, Financial Computing & Technology, and Algorithmic & Quantitative Trading. EPAT™ equips you with the required skill sets to be a successful trader. Enroll now!

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.

Download Data File

  • Collar Options Trading Strategy – Python Code

    
 Advanced Momentum Trading: Machine Learning Strategies Course