|
From: Simon I. <Sim...@st...> - 2008-02-25 17:43:35
|
Toyin (and all others interested), I want to implement amortising bonds within QuantLib. I think this should be part of the base Bond class, as all the functions in the base class use the face amount and the redemption in calculations of yield. Before I do, can I clarify the usage of certain terms? To clarify: The face amount is the listed bond notional - used with the rate to calculate the cashflow for a given period. The redemption(s) are usually termed the notional repayment schedule and the (redemption value)/100 * (initial face amount) is the associated payment. The bond quoting convention for the dirty price is (Settlement Payment) = (Current Bond Notional) * (Dirty Price) / 100. The clean price is (Clean Price) = (Dirty Price) - Accrued, where the Accrued is based upon a notional of 100. Anyone disagree? Note that the redemption value on any given date usually (but not always) equals the change in the bond notional. This would mean making the redemption and face value into vectors (in the constructor, similar to the rate) and the faceAmount() function into faceAmount(const Date&). Any objections, comments? Cheers, Simon Simon Ibbotson Head of Quantitative Analytics Capital Markets Straumur |