RollingOptionStrategy

RollingOptionStrategy#

class sigtech.framework.strategies.rolling_options_baskets.RollingOptionStrategy

Baseclasses: RollingOptionsStrategyBase

Subclasses: RollingOption

A rolling strategy that takes the same position in either a call or put option with the same expiration and strike price.

Parameters are the same as in the base RollingOptionsStrategyBase strategy:

See also

sigtech.framework.strategies.rolling_options_strategy_base.RollingOptionsStrategyBase

Additional attributes:

  • option_type (string): Type of option to roll, either ‘Call’, or ‘Put’.

  • strike (any): Strike of option in either price, delta terms, premium or ATM offset (e.g. 'ATM+5%') if strike type is 'Spot'.

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

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

Example object creation:

import datetime as dtm

rc = sig.RollingOptionStrategy(
    currency='USD',
    start_date=dtm.date(2019, 1, 4),
    group_name='SPX INDEX OTC OPTION GROUP',
    option_type='Call',
    maturity='3M',
    rolling_frequencies=['1M'],
    strike_type='SPOT',
    strike='ATM+10%',
    target_quantity=1
)
currency: Optional[str]
exercise_type: Optional[Literal['European', 'American']]
group_name: str
option_type: Literal['Call', 'Put']
strike: Optional[Union[float, int, str]]
roll_options(dt)

Set option positions.

Parameters:

dt – Decision datetime.

validate()

Validate delta strikes for calls.