Skip to main content

ibor_leg

Function ibor_leg 

pub(crate) fn ibor_leg(
    schedule: &PySchedule,
    payment_dates: Vec<NaiveDate>,
    currency: &str,
    notional: StripNotional,
    index: &str,
    day_count: Named<DayCountFraction>,
    gearing: f64,
    spread: f64,
    stub: StubArg,
    projection: &str,
) -> PyResult<Vec<PyAnyCoupon>>
Expand description

An IBOR coupon strip over schedule, one coupon per calculation period.

On a registered term index each coupon is the one Rust’s ibor_leg_on_index builds: it fixes on the index’s own lag before its accrual start (EURIBOR two TARGET days), and a regular period projects over the index’s own window, a stub over its accrual. On a name the registry does not hold, a coupon fixes on its accrual start and projects over its accrual.

stub= elects how a stub reads the index: "own_accrual" (the default), "index_tenor", or a (shorter, longer) pair of registered term indices electing ISDA 2006 §8.3 Linear Interpolation.

projection= is the window every coupon forwards over: "index_tenor" (the default, the reading above) or "accrual_period" ("par"), each coupon’s own accrual period, fixing on the same date: a par coupon. A par coupon reads its own accrual whatever its length, so an elected stub= is refused beside it.