Bond Pricing from Discounted Cash Flows
Bond Pricing from Discounted Cash Flows
A bond's price is simply the sum of all its future cash flows discounted back to today at the market yield. This one formula explains the inverse relationship, pull to par, and all bond price behavior.
Key takeaways
- Bond price equals the present value of its coupon payments plus the present value of its face value at maturity.
- The discount rate used is the market yield (yield to maturity).
- As the yield increases, the denominator in the present-value calculation increases, making the price smaller.
- As the yield decreases, the denominator decreases, making the price larger.
- The formula is the same for all bonds; differences in price arise from differences in coupon, maturity, and market yield.
The fundamental formula
The price of a bond is calculated as:
P = \sum_{t=1}^{n} \frac{C}{(1+y)^t} + \frac{FV}{(1+y)^n}
where:
- P = Bond price (today)
- C = Coupon payment per period
- y = Yield per period (market yield divided by the number of periods per year)
- t = Time period (1, 2, 3, ..., n)
- n = Total number of periods (years to maturity times periods per year)
- FV = Face value (principal repaid at maturity)
The first summation term is the present value of all coupon payments. The second term is the present value of the face value at maturity. Add them together, and you have the bond's price.
Breaking down the formula with an example
Let us price a corporate bond with the following characteristics:
- Face value: $1,000
- Coupon rate: 5% annual (pays $50 per year)
- Years to maturity: 4
- Market yield: 6% (the rate you could earn on comparable new bonds)
Using semi-annual compounding (standard for US corporates):
- Coupon per period: $50 / 2 = $25 (paid twice per year)
- Periods per year: 2
- Total periods: 4 × 2 = 8
- Yield per period: 6% / 2 = 3% (0.03)
The cash flows are:
- Periods 1–8: $25 coupon payments
- Period 8: $25 coupon + $1,000 face value = $1,025
Now, discount each:
Period 1: $25 / (1.03)^1 = $24.27 Period 2: $25 / (1.03)^2 = $23.56 Period 3: $25 / (1.03)^3 = $22.87 Period 4: $25 / (1.03)^4 = $22.21 Period 5: $25 / (1.03)^5 = $21.56 Period 6: $25 / (1.03)^6 = $20.93 Period 7: $25 / (1.03)^7 = $20.32 Period 8: $1,025 / (1.03)^8 = $809.73
Sum: $24.27 + $23.56 + $22.87 + $22.21 + $21.56 + $20.93 + $20.32 + $809.73 = $955.45
The bond is worth $955.45. It is priced below par because the coupon (5%) is below the market yield (6%). A buyer purchasing this bond at $955.45 will receive coupons plus enough capital appreciation to earn a 6% return overall.
Why the formula encodes the inverse relationship
The inverse relationship between yields and prices is built directly into the formula. When y (yield) increases, the denominator (1 + y)^t gets larger, making every discounted cash flow smaller. When y decreases, the denominator gets smaller, making every discounted cash flow larger. This is why yields and prices move in opposite directions—it is not a coincidence but a mathematical certainty.
A simple comparison illustrates this. The bond above (5% coupon, 4 years to maturity) costs $955.45 at a 6% yield. What if the yield falls to 5% (matching the coupon)?
With y = 5% / 2 = 2.5% per period:
Period 1–8 coupons: $25 / (1.025)^1 + ... + $25 / (1.025)^7 = $176.00 (approximately) Period 8 face value: $1,000 / (1.025)^8 = $820.75
Sum: approximately $996.75
The price rises to $996.75 when yield falls to 5%. If yield rises to 7% instead of 6%, the price would be even lower, around $920. The inverse is consistent.
Yield to maturity and market price
In the market, you observe the bond's price first. From that price, traders calculate the yield to maturity (YTM)—the discount rate that makes the present value of cash flows equal to the observed price. YTM is the answer to the question: "If I buy this bond at the current price and hold it to maturity, what annual return will I earn?" It is a useful shorthand, but it is derived from the pricing formula, not independent of it.
When you see a bond quoted as "trading at 104" in financial media, that means the price is 104% of par, or $1,040 on a $1,000 face value bond. The YTM is the rate that, when plugged into the formula, yields a present value of $1,040. For a bond trading at a premium, the YTM is lower than the coupon rate.
Real bond pricing: Treasuries and corporates
US Treasury bonds are priced using actual/actual day-count convention. Corporate bonds and agency bonds often use 30/360. The formulas remain the same, but the period definitions vary. More on this later, but the key point is that the present-value formula is universal: whatever bond you are valuing, you discount its cash flows at the market yield.
Treasury Inflation-Protected Securities (TIPs) modify the formula slightly because the principal is adjusted for inflation, but the discounting logic is identical. A Treasury zero-coupon bond (issued via the Treasury Strips program) has a single cash flow (the face value), so the formula simplifies to P = FV / (1 + y)^n. Floating-rate bonds adjust the coupon, so the cash flow is uncertain, but the present-value logic still applies once you project the future rates.
Using a spreadsheet or financial calculator
In practice, almost no one calculates bond prices by hand. A spreadsheet function like PV (present value) in Excel or a financial calculator will compute the price given the coupon, yield, and maturity. But understanding the formula is essential for understanding why bonds behave as they do.
In Excel, the syntax might be: =PV(rate, nper, pmt, fv)
For the example above:
=PV(0.03, 8, -25, -1000)
(Negative values indicate cash outflow; the result is the present value, or price.)
The formula is the same regardless of whether you are pricing a Treasury, a corporate bond, a municipal, or an international sovereign bond. The only differences are in the coupon, face value, maturity, and yield. This universality is powerful: once you understand the formula, you understand bond pricing for all instruments.
Flowchart
Next
The present-value formula shows that all bonds follow the same pricing logic. But the sensitivity of price to a change in yield varies dramatically depending on two factors: the bond's coupon rate and its time to maturity. Lower-coupon bonds are more price-sensitive, as are longer-maturity bonds. Understanding this sensitivity is critical for managing interest-rate risk.