Q: I'm buying a $1,000 bond that pays 6% interest and matures in eight years, but I'm getting it for $970. How much is my actual interest yield each year?
You're referring to the concept of current yield. This can be calculated simply by multiplying a bond's nominal interest rate (also known as the coupon rate) by its par value, and then dividing by the price you're paying.
In your case, multiplying the 6% nominal yield by $1,000 and then dividing by $970 gives a current yield of about 6.19%.
However, the better metric to use is the yield to maturity. This takes into account not only the current yield, but the difference between the price you pay and the principle you'll eventually get back. This is a more complicated calculation, but it's fairly easy to find a yield-to-maturity calculator online that will do the work for you. In your case, the yield to maturity of your bond is about 6.49%. It's a bit higher than the current yield because of the discounted rate you paid for the bond.
Now, if the bond is callable, meaning that the issuer can choose to repay your principle prematurely, there's another layer of complication. You'd perform another yield-to-maturity calculation, except for the time until each potential call date.
Perhaps the most important concept is known as the yield to worst. This is the lowest of the yield to maturity and the yield to each possible call date. As an investor, it's always smart to use the worst possible outcome when evaluating an investment, so I almost always base my bond-buying decisions on the yield-to-worst metric.