SingleBondStrategy

SingleBondStrategy#

class sigtech.framework.strategies.rolling_bond_strategy.SingleBondStrategy

Baseclasses: DailyStrategy

Strategy assigning weight to a single bond instrument and reinvesting bond coupons if specified.

Keyword arguments:

  • bond_name: Name of bond to trade.

  • reinvest_coupon: Whether to reinvest coupons.

  • entry_transaction_type: Type of trade for the first trade ('outright' or 'roll'). Useful when part of a rolling bond strategy.

  • is_repo: Whether to trade the underlying bond in repo format instead of outright.

  • is_swap: Whether to trade the underlying bond in swap format instead of outright.

  • repo_source: in case of repo financing, alternative source of repo rates to use. 'IHS_SF' is the only supported source at the moment. 'IHS_SF_0' can be used to add 0 financing rate at the beginning when IHS_SF data is missing. Alternatively pandas Series of repo rates (corresponding to dates) can be passed here directly.

  • tax_withholding: tax rate to apply to bond coupons (decimal).

  • reduce_bond_history: If True (default), bonds history is only computed and cached from strategy start_date to the end_date. This might give significant speedup, if strategy is shorter than the life of the bond, but affects bond even after the strategy is finished, unless reset later.

  • currency: Currency of the strategy (optional), uses bond currency as default. If provided, must match bond currency.

bond_name: str
currency: Optional[str]
entry_transaction_type: Optional[str]
is_repo: Optional[bool]
is_swap: Optional[bool]
reduce_bond_history: Optional[bool]
reinvest_coupon: Optional[bool]
repo_source: Optional[Union[Series, str]]
tax_withholding: Optional[float]
ann01_series()

Return the modified duration timeseries.

dv01_series()

Return the dollar duration (DV01) timeseries.

schedule_information()

Return the schedule information for this group.

strategy_initialization(dt)

Initial decision run on the start date of the strategy.

Parameters:

dt – Reference datetime.

yield_series()

Return the yield timeseries.