By QuantInsti
Introduction
In my recent blogs about some of the most popular option trading strategies I talked about strategies that involve limited risks and rewards. The Strategies explained in my previous articles including Option Long Strangle, Bull Call Spread and Iron Condor have one thing in common, that it is for a cautious trader who wants to make minimum investment with low to medium level risk but with lower returns.
Based on the feedback and demand this time I will be taking you through a strategy that involves unlimited risk and reward.
What Is Long Combo Trading Strategy?
As an Options trader you can consider using the Long Combo strategy if you are bullish about the market i.e. you are expecting the stock price to go up. It involves selling a Put and buying a Call option.
Strategy Characteristics
Moneyness of the options -
- Sell 1 OTM Put (Lower Strike)
- Buy 1 OTM Call (Higher Strike)
Maximum Profit: Unlimited
Maximum Loss: Unlimited (Lower Strike + Net Premium)
Breakeven: Higher Strike + Net Premium
How to implement this strategy?
To make it simpler I will execute this strategy in a live market scenario.
Let me implement this strategy on the Bank of Baroda Ltd stock Options (Symbol: BANKBARODA ). Considering the fact that I am bullish about this stock and I am assuming that since the stock price is at an all-time low (considering last 3 months) I am expecting it to go up due to some external factor(s).
Last 3 months stock price movement of BANKBARODA (source – Google Finance)

The stock price as of 5th March 2018 for Bank of Baroda Ltd. is INR 138.95.
Here is the option chain of Bank of Baroda Ltd. for the expiry date of 05th March 2018.

I will be taking the following positions:
- Sell 120 Put at INR 1.45
- Buy 150 Call at INR 2.60


Here’s how the payoff for a series of underlying prices will look like:

Now, let’s use the Python code to show you the payoff summary:
Long Call Payoff
def long_call(sT, strike_price, premium_paid): return np.where(sT > strike_price, sT - strike_price, 0)-premium_paid # Stock price spot_price = 138.95
# Long call strike_price = 150 premium_paid = 2.60
# Stock price range of call at expiration sT = np.arange(40,240,1) long_call_payoff = long_call(sT, strike_price, premium_paid)
fig, ax = plt.subplots()
ax.spines['bottom'].set_position('zero')
ax.plot(sT,long_call_payoff,color='g')
ax.set_title('Long 150 Strike Call')
plt.xlabel('Stock Price (sT)')
plt.ylabel('Profit and loss')
plt.legend()
plt.grid()
plt.show()
Short Put Payoff
def short_put(sT, strike_price, premium_recived): return np.where(sT > strike_price, 0, sT- strike_price) + premium_received # Stock price spot_price = 138.95
# Short Put strike_price = 120 premium_received = 1.45
# Stock price range of put at expiration sT = np.arange(40,240,1) short_put_payoff = short_put(sT, strike_price, premium_received)
fig, ax = plt.subplots()
ax.spines['bottom'].set_position('zero')
ax.plot(sT,short_put_payoff,color='r')
ax.set_title('Short 120 Strike Put')
plt.xlabel('Stock Price (sT)')
plt.ylabel('Profit and loss')
plt.legend()
plt.grid()
plt.show()
Long Combo Payoff
long_combo_payoff = long_call_payoff + short_put_payoff
fix , ax = plt.subplots()
ax.spines['bottom'].set_position('zero')
ax.plot(sT,long_combo_payoff,color='b')
ax.set_title('Long Combo Payoff')
plt.xlabel('Stock Price')
plt.ylabel('Profit and loss')
plt.legend()
plt.grid()
plt.show()
print max(long_combo_payoff) print min(long_combo_payoff) 87.85000000000001 -81.14999999999999 long_combo_payoff = long_call_payoff + short_put_payoff
fix , ax = plt.subplots()
ax.spines['bottom'].set_position('zero')
ax.plot(sT,long_combo_payoff,color='b')
ax.plot(sT,short_put_payoff,'--',color='r')
ax.plot(sT,long_call_payoff,'--',color='g')
ax.set_title('Long Combo Payoff')
plt.xlabel('Stock Price')
plt.ylabel('Profit and loss')
plt.legend()
plt.grid()
plt.show()
Download Data File
- Long+Combo.ipynb
Next Steps
If you want to strengthen your understanding of options trading before implementing strategies programmatically, start by reviewing the fundamentals in Basics of Options Trading. This guide explains key concepts such as calls, puts, strike prices, and payoff structures that form the base for understanding options strategies.
To explore how different options strategies are structured and when traders typically use them, you can read Options Trading Strategies. It covers several commonly used strategies and explains how traders approach different market views using options.
Once you are comfortable with the concepts, the next step is implementing these strategies using Python.
Options Trading Strategies In Python: Basic - Learn how common options strategies are structured and analyse their payoff using Python.
Options Trading Strategies In Python: Intermediate - Explore additional options strategies and analyse them using Python-based workflows.
Options Trading Strategies In Python: Advanced - Work with more complex multi-leg strategies and quantitative analysis of options trades.
Many traders begin by learning individual strategies such as synthetic options structures. The next step is understanding how these strategies can be tested and implemented systematically.
Serious about learning?
For those looking to bridge this gap with a structured, practitioner-led approach, the Executive Programme in Algorithmic Trading (EPAT) offers a natural next step. It focuses on a learn-by-coding approach to help traders transition from manual trading to automated trading.
Connect with an EPAT career counsellor to discuss the right quant role for your background.
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.
