Module zero_coupon
Expand description
The zero-coupon bond: one payment, and three numbers all called “the yield”.
Valuing a zero is a single discount factor. What a zero is is a quote problem: the discount yield is taken on the face and the money-market yield on the price, so they are different quantities carrying the same word, and a bond-equivalent yield is a third — the compounded yield that makes a zero comparable with a coupon note rather than with another discount quote. Getting the valuation right and the conversions absent would close none of what a zero is traded on.
§The convention is the security master’s
A zero takes its quote convention from the registered calculation method for
its security, never from a constructor argument. French BTFs quote on simple
interest because VendorCalcMethod code 108 says they do; Japanese JTDBs
(127) likewise; Norwegian government zeros (273) quote on an annual compound
basis. A zero that took its own convention would let a caller contradict the
master and still price.
What the method does not give is the accrual basis: all three discount rows
carry coupon_day_count: None, which the registry’s own comment says means
the static’s own day count is preserved — the zero-coupon families whose
basis is bond-specific. So the day count is per-security data and is passed;
the quote convention is not.
Structs§
- Zero
Coupon Bond - A short-dated zero-coupon government security quoted on a discount basis.
Constants§
- BOND_
EQUIVALENT 🔒 - The bond-equivalent yield’s own basis: semi-annual compounding on ACT/365F.