Asset Allocation: Why do we want Bonds in the Portfolio?

The average returns of bonds have historically always been lower than the average returns of stocks. So why should I include bonds in my 100% equity portfolio? Besides the fact that government bonds in particular provide a fixed and thus predictable annual return, the main reason is that the price performance of stocks and bonds are often negatively correlated, i.e. bond prices often rise when stock prices fall and vice versa. Incidentally, 2022 was an interesting exception to this, as both asset classes suffered. Because of this usually negative correlation, a mixed portfolio of stocks and bonds fluctuates less than a pure stock portfolio. Recall that sharp declines in stock prices, especially at the beginning of retirement, are the worst-case scenario for the new retiree. In our Standard Trinity example, the worst case corresponds to a retirement that begins in September 1929 before the height of the Great Depression. Thus, if adding bonds leads to a dampening of price fluctuations, this should lead to an increase in the safe withdrawal rate. Exactly such calculations and related optimizations are now possible since version 0.3 of the simulator.

Setting the asset allocation in the portfolio

For this purpose, the simulator allows the definition of a portfolio which can consist of different assets. The corresponding function can be found in the tab “Asset Allocation and Stock/Bond/Inflation Data Settings”. If you open the tab after the start of the simulator, you will see that the default asset allocation consists of 100% US stocks and two additional assets are visible but weighted with 0%:

To see all available assets we now open the Asset Catalog by pressing the respective button:

Asset Catalog

The catalog opens in a new windows where all available assets in the Simulator are listed. For each asset you can see the available price data history as well as the respective currency:

Each line describes one of the current possible assets in the portfolio: The first two rows contain the American stocks and bonds whose price data are provided monthly by R. Shiller. Lines 3-4 are stock and bond data from Germany. The stock prices correspond to the data I have already presented in detail in a past blog post. The German historical bond data is from Waldemar Fast, who has built a historical bond index of German government bonds from 1870-1958. I have linked this to the current German performance bond index REX, so we can use a hopefully consistent data series of german bond prices from 1871-2023 for our simulations. Lines 5-10 cover stock-indices of Factor-ETFs, which were created using Data from Eugene Fama and Kenneth French. Line 11 contains the relatively short data series of the MSCI World index starting end of 1970 and line 12 contains historical prices for gold, compiled since 1968 by the London Bullion Market Association (LBMA). Gold-prices before 1973 in USD were mostly constant due to the pegging of the USD to gold until Bretton Woods. Lines 13 and 14 contain short-term interes rates for cash accounts in the US and Germany. Line 15 contains an equal weighted commodity-index from AQR, which I have included since version 0.5. The last four rows are new and available since version 0.6. They do not contain actual historic asset prices but are synthetic bonds with infinite maturity which are also kept until maturity (so they would show no price changes due to interest rate changes) and therefore deliver the same steady yield over the whole simulation. In particular these are regular US treasury bonds, regular german “Bundesanleihen”, inflations indexed US tresuries (aka TIPS) and inflation indexed german “Bundesanleihen”. All of these synthetic bonds start with a zero yield, but via the CAGR Adj. setting can get a nominal yield (for regular bonds) or a real yield (for inflation indexed bonds). I already prefill these yields using somewhat sensible starting values. Before you use these assets you should check their current yields and adjust accordingly.

All price data come from publicly available sources which are desribed in detail in the article FI Simulator 6 - Data References.

Select assets for your own asset allocation

You can transfer assets from this catalog into your own asset allocation simply by selecting them. The idea is that you usually are only interested in a small subset of assets that you really want to analyze in detail. You can always change this selection later, if you want to analyze additional assets or if you want to remove obsolete assets from your own asset allocation. However, always keep the list of selected assets small, to ensure the best performance of the simulator.

CAGR Adjustment

As already indicated above for the four new synthetic bond assets, you can also use the column “CAGR Adj.” to change the CAGR for any asset from their histiric value. To this end you simply add an offset like “2%” to increase or “-2%” to decrease the CAGR respectively. At start all these correction values (except for the four new synthetic bonds) are set to zero so that they are consistent with the old versions of the simulator.

Asset Alloction

In the column “Withdrawalphase” we can now define our desired asset allocation, i.e. the distribution of our portfolio on these assets. To be compatible with the results of the previous simulator version, our portfolio at restart consists of 100% American S&P 500 stocks, so the 100% appears in the first row.

It is important to note that we can define our portfolio differently for two periods. During the savings phase, i.e. from the simulation start to the FI date (set at the top section), and in the withdrawal phase between the FI time point and the simulation end (= simulation start + number of years in the simulation):

The asset allocation of the accumulation phase (green) is used until the FI date. Upon retirement at the FI date, the portfolio is rebalanced to the withdrawal phase asset allocation (blue). It is also important to note that in case the FI date is identical to the simulation start the corresponding column in the asset allocation table will be hidden as there is no savings phase then.


For highest possible precision the simulator usually calculates with monthly withdrawals and therefore also considers monthly price changes of all assets. Since the set weighting of the assets has already changed again at the end of the month, depending on the price development, the simulator then calculates a rebalancing to the set asset allocation. Alternatively you can change the rebalancing frequence to a quarterly, annually or even a 2 Year rebalancing intervall in the respective selection box below the asset table. The month where rebalancing is done is usually the first available month of the data but can be changed by setting the “Use Data starting” field accordingly.

Example: US Portfolio with 25% Bonds / 75% Stocks

Let’s now look at an example to conclude this article. Instead of a 100% US stock portfolio, we now want to create a portfolio of 25% US bonds and 75% US stocks. We therefore enter this asset allocation for the withdrawal phase. In the start example, the FI date is always the same as the simulation start, i.e. there is no accumulation phase there at all and the respective column remains hidden.

If we now look at the withdrawal rates to this portfolio compared to a 100% US equity portfolio, we see directly the effect that the slight addition of bonds has. On the left the 100% US equity portfolio, on the right the blended portfolio with 75%/25%:

We can see clear differences: the withdrawal rate in the historical worst case has increased from $1200 to $1473, i.e. just by adding 25% of bonds, a newly retired person could suddenly withdraw 22% more per month without running the risk of going broke before the end of the 30 years. On the other hand, the highest possible withdrawal rate in the historical best case has fallen from $6025 to $5066 due to the addition of bonds, as has the median.

So we have to make a classic trade-off here: A certain percentage of bonds apparently lowers the fluctuation of the portfolio and thus leads to higher possible safe withdrawal rates. On the other hand, the upside potential of such a portfolio is somewhat limited at the same time. We will see in another article how we can further optimize the asset allocation for our requirements.