Tutorial: iron butterfly option strategy
Beginner tutorial on creating a systematic strategy which is short volatility via a short at-the-money straddle and a long out-of-the-money strangle.
Introduction
The purpose of this tutorial is to show users that are new to the SigTech platform how to construct an Iron Butterfly Option Strategy – which is a popular investment strategy to profit from a low volatility environment. The strategy will short volatility and thus capture the volatility risk premium, whilst hedging against large movements in the underlying asset. This tutorial is specifically targeted towards new users.
A notebook containing all the code used in this page can be accessed via your research environment's File Browser. See Example notebooks.
To be able to run the related Jupyter notebook the appropriate data entitlements needs to be in place for your organisation. If you would like to access SigTech's Volatility data, please contactsales@Sigtech.com
Workflow overview
When creating an investment strategy on the SigTech platform, the workflow tends to follow these steps:
Set up the environment
Define the investment universe
Create the strategy
Construct the portfolio
Generate the performance report
This tutorial will go through the above-mentioned steps, and explain each one in turn. Additionally, there will be links to more in-depth information to allow for further learning.
Environment
Setting up your environment takes three steps:
Import the relevant internal and external libraries
Configure the environment parameters
Initialise the environment
Learn more: setting up the environment.
Define the investment universe
In this step, the user will define the volatility product that will form the universe of the investment strategy. For further details on which products are available on the platform, please see the Market Data Browser.
In this example, the underlying asset in the strategy will be the S&P 500 Index (SPX). The options that form part of the strategy are cash settled, i.e. they will not convert into actual stock holdings if the investor is long a SPX option.
Below are some of the constants used in the strategy definition:
Define the relevant start date to be used when creating the strategy.
Create the strategy
The Iron Butterfly Option Strategy is a strategy that tries to capture the volatility risk premium, i.e. the investor using the strategy can be considered short volatility. More concretely, the strategy consists of one strangle and one straddle. It's a short straddle at-the-money and a long strangle out-of-the-money. The idea is that the investor receives a net positive inflow of premiums, since the premium gains from the short straddle is higher than the premium cost of the long strangle. Furthermore, the strategy can be considered non-directional since from the point of the strikes of the strangles, the strategy is market neutral.
First, the Straddle
is defined as per below code block:
The Strangle
will be + / - 5% out-of-the-money on each leg:
Store both the straddle and the strangle strategy objects in a list.
Construct the portfolio
The strangle and straddle can be combined into one strategy with the BasketStrategy
building block.
But prior to creating a BasketStrategy
object, we need to create a custom roll table. The custom roll table is created for aligning the rebalancing of the BasketStrategy
with the rolling of straddle and strangle options.
The custom roll table is created by using the SchedulePeriodic
class as shown below:
The BasketStrategy
object allows for creating long only basket strategies with fixed weights and rebalanced according to set frequency. For portfolio rebalancing, we would ideally like to coincide our basket rebalancing date with our option roll date. We can do this by passing a custom roll table to the BasketStrategy
object.
Generate the performance report
After having created the strategy, the script below can be used to create a performance report which contains information on metrics, rolling performance charts and performance calendar. There are a wide range of different performance views and reports available for the user which might be relevant depending on the specific use case. See Performance Analytics for further information on different performance reports, views and metrics.
Next steps
The following resources are available for continued learning:
Last updated