Skip to main content

par_fixing_window

Function par_fixing_window 

pub fn par_fixing_window(
    index: &IborIndex,
    accrual_start: NaiveDate,
    accrual_end: NaiveDate,
) -> FixingWindow
Expand description

The window a term coupon on index, accruing from start to accrual_end, projects its rate over — the one rule every term-coupon builder applies, so a cap, a note and a swap on the same dates read the same forward.

A regular period projects over the index’s own window: the fixing’s value date to that date advanced by the index tenor on the index’s calendar and convention, on the index’s day count. The fixing is the rate for the Designated Maturity (ISDA 2006 §7.1), applied to the calculation period. A period differing from its index maturity only by a business-day roll is regular: a 3M EURIBOR coupon whose adjusted accrual runs 90 days still carries the 3M rate.

The value date is the anchor, not the raw accrual boundary: on an adjusted schedule they coincide, but a bond’s unadjusted boundary can fall on a Saturday, and the rate its fixing quotes runs from the fixing’s value Monday — no screen publishes a rate for a window starting on a weekend.

A stub projects over its own accrual period (None). A stub’s rate is ISDA 2006 §8.3’s linear interpolation between the index tenors either side of its length; reading the full tenor over a four-month stub of a six-month leg misses it by up to several basis points, where projecting over the stub’s own dates stays within a few hundredths. True interpolation needs two tenors’ curves at once and waits on the market seam that can declare them. A par coupon’s window: from the index’s value date of the accrual start to its value date of the accrual end, on the index’s day count. Where every boundary is an index business day this is the accrual itself.