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.