Rolling Option Strategies
Primer on a range of different rolling option strategy classes.
Introduction
The purpose of this primer is to show the building blocks within the option space that are available on the SigTech platform. All of the building blocks in this notebook are strategies. For more information on how to construct individual options, see Options.
A notebook containing all the code used in this page can be accessed in the research environment: Example Notebooks.
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.
The different option strategy building blocks
The following strategy building blocks for options are available on the platform:
Straddle
Strangle
RollingOption
DynamicOptionsStrategy
DynamicMultiOptionsStrategy
Where each of them is inheriting from the RollingOptionsStrategyBase
class, thus allowing for maintaining exposure via options contracts over time.
Straddle
A Straddle
is a rolling option strategy that takes the same position in both a call option and a put option with the same expiration and strike price.
A long straddle strategy buys both a call option and a put option. This generally profits if the stock price increase or decrease, or if volatility increases. Whereas a short straddle strategy sells both a call option and a put option. This generally profits if the stock price and volatility remain steady.
Strangle
Takes the same position in both a call option and a put option with the same expiration but different strike price.
A long strangle strategy buys both a call option and a put option. This strategy generally profits if the stock price increase or decrease, or if volatility increases. On the other hand, a short strangle strategy sells both a call option and a put option. This generally profits if the stock price and volatility remain steady during the life of the options.
Rolling Option
A RollingOption
strategy takes the same position in either a call or put option with the same expiration and strike price and holds it from the start date to the end date defined in the strategy object.
Dynamic Options Strategy
To trade an arbitrary selection of options in the same group, a DynamicOptionsStrategy
is available. This can either take a callback method, which gets called for each rebalance date to determine the options to trade, or a dictionary of trades for each date can be provided. In the example below we use this strategy with a method to trade 10 Put options each month.
In the below example the basket_creation_method
function gets passed in to the DynamicOptionsStrategy
, then gets called on each roll date and provides a dictionary or tuple of options to trade. The method should take the strategy, decision time and positions as input and provide a dictionary of options.
Dynamic Multi Options Strategy
Similar to the dynamic options strategy, use DynamicMultiOptionsStrategy
to trade a basket of options. However, this building block allows you to trade options from multiple groups (whereas DynamicMultiOptionsStrategy
trades options from within the same group.
When using this building block, you need to use the abstract roll_options
method to create the desired behaviour. This is best achieved using a custom function. See the code example below.
API Documentation
For more information on the RollingOptionStrategyBase
class, see the corresponding API reference.
Last updated