StrangleOptionStrategy

StrangleOptionStrategy#

class sigtech.framework.strategies.options_baskets.StrangleOptionStrategy

Baseclasses: OptionsStrategyBase

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 generally profits if the stock price and volatility increase or decrease.

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.

Parameters are the same as in the base OptionsStrategyBase strategy.

Additional attributes:

  • call_strike: The price at which the call options contract can be exercised.

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

  • 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('USDJPY OTC OPTION GROUP')

strangle = sig.StrangleOptionStrategy(
    start_date=dtm.date(2021, 1, 4),
    end_date=dtm.date(2023, 1, 4),
    currency=group.underlying_obj.currency,
    group_name=group.name,
    maturity='12M',
    strike_type='Delta',
    call_strike=0.2,
    put_strike=-0.2,
    target_type='Vega',
    target_quantity=10.0
)
call_strike: Union[float, int, str]
currency: Optional[str]
exercise_type: Optional[Literal['European', 'American']]
group_name: str
put_strike: 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.