Calculating Yield to Horizon with Semiannual Compounding
Summary
The document examines a bond yield-to-horizon calculation for a bond held until maturity. It contrasts a spreadsheet’s quoted 7.83% result with a calculation based on the ratio of horizon value to purchase price, and discusses reinvestment and compounding conventions. The example uses semiannual coupon payments and an assumed reinvestment rate, illustrating why the yield convention matters when comparing figures.
The answer distinguishes a nominal annual horizon rate from an effective annual rate: it identifies 7.83% as the nominal rate and gives 7.9847% as the effective annualized figure after compounding. The post’s original calculation is questioned rather than independently derived in detail, and the answer includes a separate numerical illustration with different bond assumptions. Treat the values as example-specific; the post does not establish a general pricing procedure for other cash-flow schedules or explain every convention used by the spreadsheet.
Key ideas
- Yield-to-horizon results depend on the compounding convention used to annualize returns.
- A nominal annual rate and an effective annual rate are different measures when interest compounds more than once per year.
- The example compares horizon value with the bond’s initial price and incorporates a reinvestment assumption.
- The answer reports both a nominal and an effective rate, while its supporting illustration uses different assumptions from the question.
Tags
Full text
# Correct way to calculate bond's Yield-to-Horizon
# Correct way to calculate bond's Yield-to-Horizon
I'm creating some .Net libraries for bond pricing and verifying its correctness with a bond pricing excel spreadsheet (Bond Pricing and Yield from Chrisholm Roth) but I believe it calculates the Yield to Horizon erroneously. This site describes how to calculate the Yield to Horizon, with the example given defined below:
```
Settlement: 1-Jan-2000
Maturity: 1-Jan-2007
Coupon: 0.08
Period: Semi-Annual
Clean Price: 0.97
=>
Yield to Maturity: 0.085789
```
For this example the horizon is the maturity date.
```
Horizon: 1-Jan-2007
Horizon Re-investment: 0.05
```
The bond spreadsheet I'm using calculates equivalent annual Yield to Horizon as 7.831% but that doesn't tally with this formula.
${Yield\ to\ Horizon} = ((\frac{Horizon\ PV}{Bond\ PV}) ^ \frac{1}{\#payments}) ^ {period} - 1 $
in this case
${Yield\ to\ Horizon} = ((\frac{1660.75811}{970}) ^ \frac{1}{14}) ^ {2} - 1 = 0.079847 $
Can anyone confirm that 7.9847% is the correct Yield to Horizon for this example? If not, can you show me where I've gone wrong? Thanks.
## Answer by user5487 (score 3)
https://quant.stackexchange.com/a/10736
The Yield to horizon for this example is 7.83%
As a handy guide using this http://finance.thinkanddone.com/tadBHRR.exe
```
Bond price before change in YTM
Interest compounded semi annually
Par value of bond is 1000
Coupon rate on bond is 0.04
Initial YTM on bond is 0.0428945
Years till maturity are 14
Price = coupon rate x par value x PVIFA(ytm%, n) + par value x PVIF(ytm%, n)
PVIFA(0.0428945, 14) = 10.364105182304
PVIF(0.0428945, 14) = 0.55543689025767
Price = 0.04 x 1000 x 10.364105182304 + 1000 x 0.55543689025767
Price = 414.56420729215 + 555.43689025767
Price = 970
Bond price after change in YTM
Interest compounded semi annually
Par value of bond is 1000
Coupon rate on bond is 0.04
Initial YTM on bond is 0.025
Years till maturity are 14
Price = coupon rate x par value x PVIFA(ytm%, n) + par value x PVIF(ytm%, n)
PVIFA(0.025, 14) = 11.690912169602
PVIF(0.025, 14) = 0.70772719575996
Price = 0.04 x 1000 x 11.690912169602 + 1000 x 0.70772719575996
Price = 467.63648678406 + 707.72719575996
Price = 1175.36
Horizon rate of return
Bond price using initial YTM = 970
Bond price after change in YTM = 1175.36
Change in YTM = 0.025
Bond horizon = 14
horizon rate = (1175.36/970)^(1/14) * (1+0.025) - 1
horizon rate = (1.2117137655957)^(0.071428571428571) * 1.025 - 1
horizon rate = 1.0138113426005 * 1.025 - 1
horizon rate = 1.0391566261655 - 1
horizon rate = 3.92%
Annual horizon rate = 7.83%
```
The 7.83% is the nominal yield to horizon, the annualized yield to horizon is indeed 7.9847% computed as (1+yth)^2-1 or [(1.0391566261655)^2 - 1] as there are two compounding periods per yearShown 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.