RollingCurveSteepenerBondsStrategy

RollingCurveSteepenerBondsStrategy#

class sigtech.framework.strategies.structure_basket_strategies.RollingCurveSteepenerBondsStrategy

Baseclasses: RollingStructureBasketStrategy

Subclasses: RollingCurveSteepenerBonds

Rolling strategy buying bond with short tenor (tenor_short) and selling same ccy bond with long tenor (tenor_long) if direction is long, else other way around. All other characteristics take default values. The strategy aims to benefit from changing steepness of the curve.

  • country: Two-letter country code, e.g. 'US' or 'CA'.

  • currency.

  • rolling_frequencies: List of strings used to set roll dates, e.g. [‘1M’].

  • quantity_type: notional or dv01.

  • quantity: Notional or DV01 (depending on quantity_type) of the short bond, defaults to 1.

  • tenor_short: Tenor of the short bond (e.g. ‘2Y’).

  • tenor_long: Tenor of the long bond (e.g. ‘10Y’).

  • run_type: Run type: 'ON_THE_RUN', 'FIRST_OFF_THE_RUN', … 'THIRD_OFF_THE_RUN' supported,

    defaults to 'ON_THE_RUN'.

  • direction: long or short, defaults to long.

  • start_date: Start date.

  • weights: Bond weights calculation (equal or delta_neutral based on DV01), defaults to equal.

Example object creation:

strat = sig.RollingCurveSteepenerBondsStrategy(
    country='US',
    currency='USD',
    tenor_short='2Y',
    tenor_long='10Y',
    direction='long',
    start_date=dtm.date(2018, 2, 15),
    quantity=100,
    rolling_frequencies=['1M']
)
country: str
quantity: Optional[float]
quantity_type: Optional[Literal['notional', 'dv01']]
rolling_frequencies: list
run_type: Optional[str]
tenor_long: str
tenor_short: str
unit_type: Optional[str]
weights: Optional[Literal['equal', 'delta_neutral']]