ButterflyBonds#
-
class sigtech.framework.strategies.structure_basket_strategies.ButterflyBonds
Baseclasses:
StructureBasketBase
Strategy buying bond with medium-term tenor (
tenor_medium
) and selling same ccy bond with short-term tenor (tenor_short
) and long-term tenor (tenor_long
) ifdirection
is long, else other way around. All other characteristics take default values. The strategy aims to benefit from changing curvature of the curve.country
: Two-letter country code, e.g.'US'
or'CA'
.currency
.quantity_type
:notional
ordv01
.quantity
: Notional or DV01 (depending onquantity_type
) of the medium bond, defaults to1
.tenor_short
: Tenor of the short-term bond (e.g. ‘2Y’).tenor_medium
: Tenor of the medium-term bond (e.g. ‘5Y’).tenor_long
: Tenor of the long-term 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
orshort
, defaults tolong
.start_date
: Start date.weights
: Swap weights calculation (equal or delta_neutral based on DV01), defaults to equal.
Example object creation:
strat = sig.ButterflyBonds(country='US', currency='USD', tenor_short='2Y', tenor_medium='5Y', tenor_long='10Y', direction='long', start_date=dtm.date(2018, 2, 15), quantity=100)
-
country: str
-
currency: Optional[str]
-
quantity: Optional[float]
-
quantity_type: Optional[Literal['notional', 'dv01']]
-
run_type: Optional[str]
-
tenor_long: str
-
tenor_medium: str
-
tenor_short: str
-
weights: Optional[Literal['equal', 'delta_neutral']]
-
strategy_initialization(dt)
Initial decision run on the start date of the strategy.
- Parameters:
dt – Reference datetime.
-
structure_instruments() list[tuple[str, float]]
Return bonds’ weights.