Skip to main content

eurex_conversion_factor

Function eurex_conversion_factor 

pub fn eurex_conversion_factor(
    coupon: f64,
    interest_start: NaiveDate,
    first_coupon: NaiveDate,
    maturity: NaiveDate,
    delivery: NaiveDate,
    notional_coupon: f64,
) -> f64
Expand description

Eurex’s conversion factor for an annual-coupon EUR-denominated bond, rounded to six decimals, as Conversion factor calculation for EUR-denominated bonds states it:

CF = (1 + not/100)^(−f)·[c/100·δi/act2 + c/not·((1 + not/100) − (1 + not/100)^(−n)) + (1 + not/100)^(−n)] − c/100·(δi/act2 − δe/act1)

with coupon (c) and notional_coupon (not: 0.06 for the Schatz, Bobl, Bund and Buxl) as decimals, as every rate in this crate is; the formula’s percentages are formed inside. Coupons fall on the maturity’s anniversaries: NCD is the first after delivery, NCD1y and NCD2y one and two years before it, and LCD the last coupon paid before delivery — NCD1y — or, when first_coupon is still to come on the delivery date, the interest_start a long first coupon accrues from (a Bund issued in July with its first coupon the next August is the market’s usual case). δe = NCD1y − delivery, δi = NCD1y − LCD in actual days; act1 and act2 are the year ending at NCD where their δ is negative and the year before it otherwise; f = 1 + δe/act1; n is whole years from NCD to maturity.