How to determine the annual return of a bond portfolio

Fotodog

Recycles dryer sheets
Joined
Sep 13, 2021
Messages
104
Location
San Francisco
I started buying individual bonds last year after reading some excellent advice on this forum, particularly the Golden Age thread started by Freedom56. My question is, how do you determine your actual annual return?

Right now I have bonds of different maturities, different yields, some bought at par, some at a discount. No income was received in 2022 when bought, but will start to be paid in 2023. And some might get called.

Like many of you, I keep my cash in a MM fund at my brokerage (Schwab) earning over 4%, pulling money in and out as needed when bonds are bought or sold. So this fund might also be considered part of the equation.

It’s not crucial that I have to track this, but would be nice to know. Thanks!
 
It depends on whether you want to know the yield to include changes in fair value due to changes in interest rates or not.

If the former, then XIRR works best or if there are no additions or withdrawals then ending balance divided by beginning balance - 1, then divided by time in years. Or perhaps a Quicken Investment Performance report if you use Quicken or portfolio performance reports from your brokers website.

If you want a YTM return it is harder. I think I would calculate the YTM for each purchase lot and then calculate a weighted average.

Unfortunately, there is no easy way to do a YTM maturity that I know of.
 
...Unfortunately, there is no easy way to do a YTM maturity that I know of.

Strike that Actually, there is a reasonably simple way to estimate YTM. Use Excel's RATE function to calculate the impact of the premium or discount using par, as the FV, purchase price as a negative and the remaining term in years (maturity date minus purchase date in years). Then add the coupon rate to get YTM.
 
I appreciate the replies, however I am not so well versed in using spreadsheets. I’m on a Mac, worked more with databases for my photography business for clients and invoicing. Using Numbers has always sufficed for my limited spreadsheet needs.

I may not have been clear with my question, sorry if that’s the case. I don’t need to know changes in value with interest rate changes since I will hold the bonds to maturity. I just want to know at a given time, say end of year, what is my rate of return on my bonds over a period of time, say 1 year (which is easily done with stocks, funds, or ETF’s). Or, know at any given time what is the average yield for my bond portfolio. I know the YTM for each one since that is stated when purchased, but since most were purchased at a discount, I won’t see the full benefits until they mature at par in the future.

Thanks for your patience and indulgence.
 
I hear you. Essentially you want the portfolio return on what is called an amortized cost basis, excluding changes in fair value due to changes in interest rates. I'm interested in the same thing but unfortunately it isn't easy to do.

Quicken or your brokerage websites are going to use fair values in calculating returns. One can do it with a spreadsheet with a little work depending on how many trades that one has.
 
I get estimates of annual income(coupon payments) and estimated annual yield on every statement. I think the yield includes changes in price which I don’t care about. Fidelity also has very easy bond portfolio analysis with this info. I don’t know about YTM though. Which broker are you using?
 
Was playing around with a spreadsheet and I think I found a reasonable estimate for YTM that considers the discount or premium paid, remaining term, coupon and price paid.

First, calculate the premium or discount per bond per annum. So if you pay 97 for a bond with 100 par that has 1.75 years left to maturity your discount per annum is 1.71% per annum and that is going to add to your yield. Then add to that the coupon rate, let's say 4%. Then take the result, 5.71% and divided it by the purchase price divided by 100... so 5.71%/(97/100) gives a YTM of 5.89%. An XIRR of the bond cash flows gives a similar result.
 
Last edited:
Jazz, thanks for pointing out what’s on your Fidelity statement. I just checked my last Schwab statement and it also shows estimated annual yield for bonds, which I didn’t see before.

pb4uski (I’m still trying to figure out your screen name), it’s interesting to consider breaking down the discount/premium per annum. What do you think about adding the per annum discount, converted to a dollar amount, to my brokerage’s estimated annual yield to get a reasonably good estimate of annual return for each bond?
 
pb4uski (I’m still trying to figure out your screen name),

For the longest time, I thought it was "lead for uranium, sulfur, potassium, iodine." But if you sound it out, you may discover something simpler and more amusing. :D
 
For the longest time, I thought it was "lead for uranium, sulfur, potassium, iodine." But if you sound it out, you may discover something simpler and more amusing. :D

Ah, got it. :D And here I was thinking it had to do with advanced economic theory…
 
Back
Top Bottom