Estimating Bond Returns from Yield Changes
Summary
The document addresses how to estimate weekly bond returns when only a long-term corporate yield series is available. It explains that yields alone do not uniquely determine realized returns: bond prices also depend on coupon cash flows, maturity, and the path of yields. It suggests seeking historical bond return indices when accessible, or constructing a representative bond from a fitted yield curve when a proxy is acceptable.
One worked approach models a hypothetical bond with a specified remaining maturity and coupon, discounts its future cash flows at successive observed yields, and computes period returns from the resulting price changes. This captures both coupon income and the effect of changing yields. A simpler annual-yield compounding illustration is also offered, but it does not represent a full bond price return calculation. The proxy method depends on assumptions about coupon timing, maturity, and the meaning of the quoted yield, so it should not be mistaken for an actual broad bond index return.
Key ideas
- A yield series by itself is insufficient to recover the realized returns of a bond portfolio.
- A bond proxy can be valued by discounting its remaining coupon and principal cash flows at each observed yield.
- Period returns from successive proxy prices include both yield changes and the passage of time toward cash flows.
- Duration gives an approximate sensitivity measure, while full cash flow repricing can provide a more complete proxy estimate.
- Historical bond indices are an alternative when suitable return data is available.
Tags
Full text
# Calculate bond returns from yields # Calculate bond returns from yields I have to construct and evaluate portfolio of bonds and stocks, namely I need to get return on portfolio, standard deviation and sharpe ratios. I have weekly data that contains stock prices, and I could find only one source of weekly data for the bonds. It's from Federal Reserve Economic Data, weekly Yields on Moody's AAA bonds (long-term bonds, 20-30 years to maturity) in percentages. My problem is that I have no idea how to transform weekly yields into the form comparable to stocks' weekly returns. Can anyone give me some advise on it? The data looks like this: - week1 7.44 - week2 7.43 - week3 7.40 ## Answer by Helin (score 2) https://quant.stackexchange.com/a/15021 Unfortunately I don't think it's possible to compute returns purely based on yields... There are a few options: - If you're on the buy side, you can easily get access to Barclay, Citi, or BofA's bond indices. These are very high quality datasets for studying historical bond returns. - If you have Bloomberg, they've started providing bond indices as well. They come bundled with your Bloomberg subscription. - I built some bond return indices myself using the Fed's fitted yield curve. I've published the entire dataset on my blog. The advantage of this dataset is that the history is pretty long (starting in the 1960s). The disadvantage is that they outperform comparable benchmark issues in a few sub-periods. The reasons for the discrepancy are detailed on the download page. ## Answer by tavmem (score 1) https://quant.stackexchange.com/a/15028 It may not be possible to compute returns solely on yields. However, @Oleg has information on maturity (long term bonds, 20-30 years to maturity), and the YTM gives us a coupon for an "on the run" bond. As a proxy for this bond group, you could use a bond with 25 years left to maturity with an annual coupon of 7.44, where today was the coupon date, and the coupon was paid. The bond is valued at par to yield 7.44 as the YTM. You can use whatever software you like. Using the Kona language from https://github.com/kevinlawler/kona The stream of 25 future Cash Flows (CF) is CF : ( 24 # 7.44 ), 107.44 The timings of the future Cash Flows (TM) is: TM : 1 + !25 The value of the bond today is: +/ CF % 1.0744 ^ TM which is 100.0 The value of the bond a week from now (when the YTM has changed to 7.43) is: +/ CF % 1.0743 ^ TM - 7. % 365. which is 100.2499 The value of the bond 2 weeks from now (when the YTM has changed to 7.40) is: +/ CF % 1.0740 ^ TM - 14. % 365. which is 100.7253 The rate of return for week 1 is (100 * -1 + 100.2499 % 100.0) which is 0.2499 percent The rate of return for week 2 is (100 * -1 + 100.7253 % 100.2499) which is 0.4742 percent ## Answer by tavmem (score 0) https://quant.stackexchange.com/a/49995 I got an alert from Kona that someone viewed Kona coming from this question ... so, I am taking the opportunity to add two thoughts. Duration is the present value weighted timing of all future cash flows from a bond. So, (as @Heilin states in "his" comment) it can be used to get an APPROXIMATE return. However, the first algorithm calculates the ACTUAL present value of the 25 year proxy bond at the "current" time and at a week later, when yields have changed. As such, the calculation takes into account both the static yield income (the nominal coupon cash flows are unchanged, but the timing is 7 days shorter), and the duration impact (all nominal flows are transformed to their present values, which are determined by the timing of each flow, and the yield at that time). ## Answer by tavmem (score -2) https://quant.stackexchange.com/a/15023 You can calculate an approximation. Yields are quoted on an annual basis. Bond valuations are based on Discounted Cash Flow formulas. Let’s take your sample data: weekly yields of 7.44, 7.43 and 7.40. $100 invested for a year at a yield of 7.44% will be worth 107.44 at the end of a year. That is 100 x (1.0744 ^ ( 365 / 365 )) = 107.44. The rate of return for the year is 7.44% The value at the end of a week would be 100 x (1.0744 ^ ( 7 / 365 )) = 100.1377. This translates to a weekly rate of return of 0.1377% For the weekly yield of 7.43% we have 100 x (1.0743 ^ ( 7 / 365)) = 100.1375. This is a weekly rate of return of 0.1375% For the weekly yield of 7.40% we have 100 x (1.0740 ^ ( 7 / 365)) = 100.137. Similarly, that is a weekly rate of return of 0.137%
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.