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.