We know that the computation of the present value of a bond assumes that the coupons paid are reinvested at the yield rate. But, what if I don't reinvest the coupons? How can I compute the present value?

For example:

100 Future value bond, 6% coupon paid semi-anually, the yield its 7%, and it matures in 10 years.

The computation would be:

FV: 100
Coupon: 100*0.06/2 = $3
Yield: 0.07/2 = 3.5%
Periods: 10*2 = 20

Which results in a PV = 92.8938. But this computation assumes that the coupons paid are reinvested at the yield rate. How can I do the same computation without the assumption of reinvesting the coupons?


3 Answers 3


It doesn't quite work that way.

Let me offer a counter example -

You buy my bond, $1000 face value, and it matures in 1/10 of a year. You get the $1000 back, along with a $10 coupon. A 1% return. 1.01^10 would be a 10.46% YTM. But, you say, "wait, what if I don't reinvest it for the 90% of the year remaining?" Do you want to claim I'm 'really' giving you a 1% return? Time matters.

Instead of thinking about the problem as "coupons are reinvested" consider "all returns are annualized rates". Not reinvesting the money is on you, it doesn't and I'd say 'can't' change the yield.

  • 2
    Right, reinvestment is irrelevant to the components of this bond present value equation: FV=value at maturity or "face value"; yield=current market yield; coupon; periods. Notice there's no mention of reinvestment. Oct 21, 2021 at 15:30
  • I kind of understand your point, but not completely how it answers my question (specially the part you use coupon + face value for a maturity of 1/10 of a year). I'm trying to think if I'm an investor that buys a bond that pays coupons, the price I'm paying is assuming that I will reinvest the coupons at the same rate. But let's say for X motive I don't want to reinvest those coupons, how could I compute the price of that bond?
    – Chris
    Oct 30, 2021 at 0:38

JTP is correct, but let me explain it another way:

What is "present value"? Is the the value today of cash flows in the future. To calculate the present value, one needs an appropriate "discount rate". This can be the rate at which you would need to borrow money to purchase the investment, or a "risk free" interest rate like from US Treasuries, or some other "required:" rate of return.

In your example, a "yield" is given to you. But what does that yield mean? It's the interest rate at which, given the market price, you could invest money and end up with the same value in the end as the investment.

For a bond, the assumption when calculating yield is that you are reinvesting the coupons at the same rate, and that rate is calculated iteratively.

So it's not enough to just ask for a price "assuming coupons are not reinvested". The yield that you have includes that assumption. If you want a different price, you'd need to include a different yield that did not make that assumption. Then you'd discount the coupons and redemption at that rate to get a new PV.

If you want the yield that corresponds to that same price but coupons are not reinvested, you would just take the present value of all coupons and the redemption as if you get them at maturity. That calculation would be:

r = (100/P + n*c)^(1/n) - 1

Where n is the number of years to maturity and c is the annual coupon rate.

  • The yield that you have includes that assumption. If you want a different price, you'd need to include a **different yield** that did not make that assumption. That's my question: how do I calculate that different yield? Because If I compute assuming coupon = 0 wouldn't be alright as I would be assuming that the bond doesn't pay coupons.. and it does.
    – Chris
    Oct 30, 2021 at 0:31
  • If you want to recalculate a different yield you can do that, but you still need a current price.
    – D Stanley
    Oct 30, 2021 at 14:05

The semi-annual yield-to-maturity is 3.5% . The semi-annual coupon amount is 3 . And the bond redemption price is 100 with 20 semi-annual coupons remaining. Without compounding, that's a bond price of 94.12 as:

x/y = 3.5 * 20 / 100 ......... (Here the value of 100 just converts from percentage to decimal)

x = 0.7y

x + y = (3 * 20) + 100 .......... (Here the value of 100 is the redemption value)

0.7y + y = (3 * 20) + 100

1.7y = (3 * 20) + 100

1.7y = 160

y = 94.12


A simple logic, not really requiring algorithm, will prove the result:

100 - 94.12 = 5.88 as redemption price minus current price

5.88 / 10 years = 0.588

6 + 0.588 = 6.588 as annual coupon plus annual non-cash value

6.588 / 94.12 = 7% annual yield-to-maturity .

  • Could you show how you actually computed that 94.12?
    – Chris
    Oct 30, 2021 at 0:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.