A long time ago... I asked about monthly returns. After digesting longinvest's (annual) bond simulator I extended it to do monthly simulations.

Assuming I haven't messed something up, the results suggest it isn't really worth the effort. I don't really recommend moving away from longinvest's spreadsheet.

When comparing against the Barclays index from 1972-2015:

- annual simulation has a correlation of 0.925

- monthly simulation has a correlation of 0.927

So a very, very slightly higher correlation with the actual index returns. Despite the apparently better correlation, the monthly model dramatically overstates the returns of the actual index over that period.

Even the annual model overstates returns but the effect is exacerbated by using a monthly model. Over a 40-year period the different amounts to about a 24% difference.

The calculations are definitely not suited for a spreadsheet: it takes 20-30 seconds on my laptop to perform the simulation. Most of that are all the present value calculations of the bonds held in the fund. Since the ladder now has 1 bond for each month a "10-4" fund will hold ~70 bonds. So 70 bonds a month, 12 months a year, ~140 years = around 120,000 present value calculations for each simulation run.

**Data Series**
In addition to the problems mentioned above, having spent time with the available data, there are additional problems with trying to generate historical monthly returns like this:

- longinvest's simulator relies on the 12 month interest rate. But Shiller only reports that annually (not monthly). Linear interpolation is used to fill in the gaps.

- FRED has short-term rates available from 1919 onward but they are a mishmash data set of "3 to 6 month bond rates" in the NBER M1329AUSM193NNBR and M1329BUSM193NNBR datasets.

- FRED has 3-month Treasury rates (on the secondary market) available from 1934 onward.

This scarcity of data becomes more apparent when you chart the returns

We can see that things look very different before and after 1950. (That's when FRED starts making available interest rates for a number of different terms, which lets us do a better job of figuring out the yield curve.)

It is also interesting to note that, just as looking at "calendar year" equity returns hides some of the volatility, the same is true for bonds. The red dot shows the calendar year return whereas the blue line is the rolling 12-month return. There are several times when things temporarily look quite bad for bonds (with up to a 10% annual loss) but they recover before the end-of-year so it disappears from the record when you only look at yearly results.

While certainly less volatile than stocks, there are quite a few (on the order of 8-10) times when bonds drop ~3% in single month.

Looking at monthly returns also provides a lens on the anxiety people would feel in real life. Few of us only look at account balances once a year. We check more frequently and we hear news reports constantly. There was a stretch around 1954-55 when a bond fund would have dropped in 12 out of 14 months. Shortly after, in 1956-57, the same thing happened in 13 out of 20 of months. In real life that would have meant over a year of CNBC talking about the death of bonds

And, actually, an exercise like this

*understates* the problem. We're looking at total returns but in the real world people usually look at just the price return when freaking out. When we say "the simulated fund dropped -0.67% in October 1956" in the real world it probably would have been reported as an even bigger drop, since interest makes up such a large portion of the total return for a bond fund. (Shiller reports the interest rate back then in the 2.5%-3% range, so a single month's interest is something like 0.20%; which would make the "price drop" around .9% for a single month.)

The full spreadsheet of results is available at:

https://docs.google.com/spreadsheets/d/ ... sp=sharing
The jupyter book is available at:

https://github.com/hoostus/prime-harves ... ator.ipynb