RollingStrangleOptionStrategy#
-
class sigtech.framework.strategies.rolling_options_baskets.RollingStrangleOptionStrategy
Baseclasses:
RollingOptionsStrategyBase
Subclasses:
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 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 RollingOptionsStrategyBase 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%'
ifstrike_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.RollingStrangleOptionStrategy( start_date=dtm.date(2021, 1, 4), end_date=dtm.date(2023, 1, 4), currency=group.underlying_obj.currency, group_name=group.name, rolling_frequencies=['3M'], 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]
-
roll_options(dt)
Set option positions.
- Parameters:
dt – Decision datetime.
-
validate()
Validate strikes for calls and puts.