How QuantLib’s CPI Bond Growth-Only Flag Changes Principal Redemption
Summary
The note explains how QuantLib’s `growthOnly` setting changes a CPI-linked bond’s principal repayment at maturity. With the setting false, the bond returns the original notional adjusted by the ratio of the maturity inflation index to the initial index. With it true, repayment is limited to the inflation increase above the original notional, so the principal itself is not returned through this component.
The answer says the flag does not affect coupon payments and recommends false for the usual expectation that principal is inflation-adjusted. The author does not recall the flag’s original use case and suggests it may have been inherited from another class; its default is described as inconsistent with the related cash-flow class. The explanation is a description of software behavior, not a broader valuation or trading analysis, and notes that inflation fixings may involve an observation lag.
Key ideas
- With growthOnly false, maturity repayment scales notional by the ratio of final to initial CPI fixings.
- With growthOnly true, repayment reflects only the increase in inflation-adjusted notional above the starting notional.
- The setting has no effect on coupons.
- The answer recommends false for conventional inflation-adjusted principal repayment.
Tags
Full text
# Growth only parameter for CPIBond QuantLib
# Growth only parameter for CPIBond QuantLib
what does the growthOnly parameter for a CPIBond in QuantLib mean? There doesn't seem to be any documentation on it.
## Answer by Luigi Ballabio (score 2, accepted)
https://quant.stackexchange.com/a/83850
Frankly I don't remember the use case for it; we might consider removing it, or at least giving it a sensible default. It has the correct default in `CPICashFlow`. It might have been inherited from some base class in which it made sense to have the parameter.
Anyway, you probably want it to be `false`; in which case at maturity time you get back the notional scaled by inflation, as you would expect, so $N \times \frac{I_T}{I_0}$ where $I_0$ and $I_T$ are the inflation fixings at start and maturity (with observation lag etc etc). If the CPI index grew by 20%, you get 1.20$ per each dollar of notional.
If `growthOnly` is `true`, you only get the increase of the notional, so $N \times \left(\frac{I_T}{I_0} - 1\right)$. If the CPI index grew by 20%, you get 20 cents per each dollar of notional.
It has no effect on the coupons.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.