StraddleOptionStrategy

StraddleOptionStrategy#

class sigtech.framework.strategies.options_baskets.StraddleOptionStrategy

Baseclasses: OptionsStrategyBase

A 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.

A short straddle strategy sells both a call option and a put option. This generally profits if the stock price and volatility remain steady.

Parameters are the same as in the base OptionsStrategyBase strategy.

Additional attributes:

  • strike: The price at which the options contract can be exercised. For FX can be also 'ATM+/-XX%' if strike_type is set to ATM type ('SPOT', 'FWD', or 'DN').

  • group_name: Name of the option group to trade options for.

  • exercise_type: 'European' or 'American'. Optional, if omitted, group default is used.

Example usage:

import datetime as dtm
import sigtech.framework as sig

group = sig.obj.get('SPX INDEX OTC OPTION GROUP')

straddle = sig.StraddleOptionStrategy(
    start_date=dtm.date(2021, 1, 4),
    end_date=dtm.date(2023, 1, 4),
    currency=group.underlying_obj.currency,
    group_name=group.name,
    maturity='3M',
    strike_type='Delta',
    strike=0.5,
    target_type='Vega',
    target_quantity=100.0
)
currency: Optional[str]
exercise_type: Optional[Literal['European', 'American']]
group_name: str
strike: Optional[Union[float, int, str]]
strategy_initialization(dt)

Initial decision run on the start date of the strategy.

Parameters:

dt – Reference datetime.

validate()

Validate strikes for options.