# Given two similar bonds, is the one with a higher yield to maturity (YTM) always a better investment?

Consider two bonds that have the same issuer, seniority, credit rating, and maturity date. My question is about the comparability of their yield to maturity (YTM): if one bond has a higher YTM the other, is the higher yield bond always a better investment than the lower yield one?

My current understanding says "no", but I'm not exactly sure. My reasoning:

Consider two bonds, with one paying less coupons than the other. To make a more extreme example, suppose bond Z is a zero-coupon bond, while bond B is a coupon-paying bond.

• When bond Z matures, the compounded annual growth rate (CAGR) of the investment will be equal to the bond's initial YTM (i.e. the YTM when the bond was purchased).

• However, for bond B, subsequently falling interest rates will mean that the coupons get reinvested at a rate lower than the initial YTM, which causes the CAGR of the whole investment (including coupon reinvestment) to be less than the initial YTM. Conversely, subsequently rising interest rates will mean that the coupons get reinvested at a rate higher than the initial YTM, which causes the CAGR of the whole investment (including coupon reinvestment) to be greater than the initial YTM.

Reason to prefer bond Z even if it has a lower YTM than bond B

If an investor always holds bonds to maturity, bond B is higher-risk than than bond Z in the sense that the CAGR for bond B (including coupon reinvestment) could be lower than anticipated, whereas the CAGR for bond Z is fixed at the initial YTM. Therefore, even if bond B has a higher YTM than bond Z, bond Z will still be favored by investors who believe that future interests rates will be lower.

Reason to prefer bond B even if it has a lower YTM than bond Z

On the other hand, investors may be worried about credit risks and prefer bond B for paying coupons even if its YTM is lower than that of bond Z.

Am I correct that bonds having different coupon amounts cannot be compared using YTM?