# 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.

-