Skip to content
All library documents

Bond Cash-Flow Discounting and Compounding Conventions

Article Quant Q&A · Author: PK1998

Summary

The document compares two ways to discount semiannual bond coupons: applying an annual rate over fractional-year periods, or converting the quoted annual rate to a semiannual rate and compounding for the number of half-year periods. These produce different present values unless their rate conventions are made consistent. The answer frames the issue as a matter of model assumptions and quote conventions rather than a universally correct formula.

It notes that yield-to-maturity calculations assume coupons can be reinvested at the same yield and often simplify payment timing by treating intervals as regular. Actual payment dates can differ because of holidays, business-day rules, and calendar effects. For a general valuation, it recommends expressing price as the sum of cash flows multiplied by discount factors from the chosen model curve. This approach applies beyond coupon bonds, including swaps. The response favors the per-annum rate divided by two for the stated context, while acknowledging that precise timing conventions may matter in applications.

Key ideas

  • The two discounting expressions represent different compounding conventions and need not give the same price.
  • Yield-to-maturity formulas rely on assumptions about reinvestment and regular coupon timing.
  • Calendar and business-day effects can make simplified coupon intervals imperfect.
  • A general valuation discounts each cash flow using a discount factor derived from the model curve.
  • The appropriate convention depends on how rates and dates are defined in the pricing context.

Tags

Full text
# Bond discounting conventions


# Bond discounting conventions












during the preparation for my thesis, I've come across some strange discrepancies between literature and the information I've been taught.

It comes down to the proper way of discounting cash-flows of a (semi-annual)coupon bond, which has been done during my lectures this way: $$P_{t}\left(\tau\right) = \sum_{i=1}^{n}\frac{C_i}{\left[1+i_{t}\left(t_i\right)\right]^{t_i}} + \frac{F}{\left[1+i_{t}\left(\tau\right)\right]^{\tau}}$$

However, most literature I've read uses slightly different approach: $$P_{t}\left(\tau\right) = \sum_{i=1}^{n}\frac{C_i}{\left[1+\frac{i_{t}\left(t_i\right)}{2}\right]^{2t_i}} + \frac{F}{\left[1+\frac{i_{t}\left(\tau\right)}{2}\right]^{2\tau}}$$

Let's calculate the first payment, after 0.5 years (zero rate is 5%): $$\frac{C}{\left(1+0.05\right)^{0.5}}\neq \frac{C}{\left(1+0.025\right)^{1}} $$

My question is, which method is correct? Is it the "Semmi-annual discounting of semmi-annual coupons" or "annual discounting"? Or are those two just different conventions?

Thanks for answer

## Answer by Attack68 (score 4, accepted)

https://quant.stackexchange.com/a/44466

You are basically just arguing semantics from two models, neither of which are necessarily precisely accurate. If you observe the assumptions regarding yield to maturity, you have;

1) Coupons can be reinvested at the same yield through the life of the bond, 2) The payment dates all have consistent amount of time between each one, i.e. nothing falls on a holiday or leap years are unconsidered etc.

I observe your $i()$ is a function of $t$ so it is probably bootstrapped but still you have small timing (business day) discrepancies in either case.

Of the two I prefer the per-annum-rate formula which uses $\frac{i(t)}{2}$, and depending upon the context these small discrepancies may be negligible - so much so that you can still derive many useful and theoretical results without worrying about a business day or whatever.

The most generic way I can see of expressing the price of the bond is to write;

$$P(\tau, C) = \sum_i^{N(\tau)} C_iv_i +F v_{N(\tau)} $$.

Now the number of coupons is a function of the maturity and the discount factors, $v_i()$, are derived by your model curve, however it is produced (and that model may factor timing of events like business dates for example). This is the typical method you apply in interest rate swaps too fyi.

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.