Short Straddle

Introduction to Short Straddle

What Is a Short Straddle?

A short straddle is an options strategy that sells both a call option and a put option with the same strike price and expiration date. Traders use it when they are expecting a lower volatility market over the lives of the options contract.

In this blog, we are going to test a short straddle over a period of two years.

Strategy Explanation

  • Enter a trade at 9:30 IST
  • Exit the trade at 3:15 IST or whenever the stoploss triggers
  • Trade two lots of NIFTY 50 ATM options
  • Sell both PUT/CALL option with a 50% stoploss
Strategy Code
from quantplay.strategy.base import QuantplayAlgorithm
from quantplay.utils.constant import TickInterval
from quantplay.service import market
import pandas as pd

class Straddle(QuantplayAlgorithm):
        def __init__(self):
                self.interval = TickInterval.minute
                self.entry_time = "09:29"
                self.exit_time = "15:15"
                self.exchange_to_trade_on = "NFO"
                self.option_nearest_expiry_offset = 0
                self.option_chain_depth = 0
                self.backtest_after_date = "2020-01-01"
                self.backtest_before_date = "2022-02-25"
                self.stream_symbols_by_security_type = {"EQ": ["NIFTY 50"]}
                self.strategy_type = "intraday"
                self.strategy_tag = "straddle"
                super(Straddle, self).__init__()

        def get_trades(self, market_data):
                equity_data = market_data[market_data.security_type == "EQ"]
                trades = market.get_trades(equity_data, self.entry_time)
                trades = self.add_expiry(trades, security_type="OPT")
                trades.loc[:, "atm_price"] = (
                    round((trades.close / trades.strike_gap).astype(float)) * trades.strike_gap
                )
                trades.loc[:, "atm_price"] = trades.atm_price.astype(int)
                pe_trades = market.option_symbol(
                    trades, price_column="atm_price", option_type="PE"
                )
                ce_trades = market.option_symbol(
                    trades, price_column="atm_price", option_type="CE"
                )
                trades = pd.concat([pe_trades, ce_trades], axis=0)
                trades.loc[:, "transaction_type"] = "SELL"
                trades.loc[:, "stoploss"] = 0.5
                trades.loc[:, "quantity"] = 100
                return trades

balance progression image

profit by month image

We hope you enjoyed our article about short straddle. The short straddle is a very effective strategy that is often used by traders. If you follow the steps in the article and the information we provided, you should be able to make money with a short straddle.

In our next blog we are going to discuss the right market conditions to trade a better version of short straddle.