Simulate Your Retirement Portfolio with Index ETFs

How much should I be saving for retirement?
When can I retire?
How much can I safely spend during retirement?
What is the appropriate equity/bond mix for my portfolio?
How could my retirement outcome change if I have a period of semi-retirement before full retirement?

These questions are not easy to answer due to the uncertainty of future investment returns.  However, one advantage of using an index investing strategy – also called passive investing, Couch Potato strategy, or the Bogleheads® Investment Philosophy – is that we can reconstruct historic returns going back many years. We can use that data to simulate hypothetical historic outcomes for a portfolio scenario.  While not a guarantee of future outcome, the range of hypothetical historic outcomes can be a useful reference point for planning and setting expectations for future outcomes.

If you are new to the concept of index investing using ETFs, you may want to read Dan Bortolotti’s excellent primer on his Canadian Couch Potato blog. While Dan’s blog is targeted toward Canadian investors, the concept as described is applicable for U.S. investors as well.

The Index Goose Retirement Portfolio Simulator uses annual total return data from popular U.S. or Canadian traded index ETFs to simulate portfolio performance. Data from similar index funds or underlying indices is used to extend the data back to earlier periods prior to ETF launch. The calculations are based on a set of starting conditions, a simulation period length, target contribution and withdrawals, and a target worst case balance at the end of the simulation period.

While this simulator has the ability to select from a short list of equity ETFs and adjust equity/bond allocation, it is not primarily intended to analyze and optimize portfolio composition. Rather, it is intended to simulate specific portfolio contribution, withdrawal, and balance scenarios for a simple index ETF portfolio. While there are many more complex portfolio models claiming superior returns, most have little evidence to support those claims over the long term. Even for those who are using a different portfolio approach, a simulation of their situation with a simple index ETF portfolio can provide a useful baseline.

There’s no substitute for a comprehensive financial plan, but an online calculator is a good place to start as you muse about retirement. Say you’re 40 years old and hoping to retire at 60 with a portfolio that will generate $50,000 in annual income. How much do you need to save? Kurt Friesen, an engineer and DIY Couch Potato investor, has created a calculator that uses historical data from popular index ETFs to simulate portfolio performance under a number of different scenarios. —> Index Goose – Simulate Your Retirement Portfolio with Index ETFs by Kurt Friesen

Dan Bortolotti, CFP, CIM
Portfolio Manager at PWL Capital Inc.
Creator of the Canadian Couch Potato blog and podcast
Author of Reboot Your Portfolio

Example Simulation

Simulation Inputs

This simulation example is for an individual who is currently 40 years old, with a retirement portfolio balance of $100,000. Their target is to have at least $500,000 remaining in their portfolio at the end of the 25 year simulation period, at which time they will be 65 and expect to have pension income to supplement their portfolio withdrawals.

This person plans to contribute $10,000 to the portfolio this year, with an increase of 4%/year to their annual contribution total. They plan to fully retire when they can safely withdraw $70,000 per year from their portfolio in today’s dollars, with the withdrawal amount increasing by 3.0% per year to account for inflation and standard of living increases. They plan to taper towards semi-retirement from age 58, transitioning from contributions to a withdrawal of $20,000, increasing by $5000 each year. Transition to full retirement occurs when the safe withdrawal formula allows them to achieve their retirement withdrawal target.

The example portfolio consists of U.S. traded ETFs, with VT for the equity (stocks) portion and BND for the bond portion. The allocation is 60% equity and 40% bonds. Canadian traded ETFs are also available in the simulator.

For this example, inflation adjustment is not chosen, so all dollar values are nominal. If inflation adjustment was set to “Yes”, the simulator would use real return values, so all contribution, withdrawal, and balance values could be considered to be inflation adjusted to today’s dollars. When using inflation adjustment, you may want to reduce contribution or withdrawal increases accordingly, as those values would then represent increases above inflation. The reference rate would also represent a real return rather than nominal.

Based on the example inputs, the portfolio output charts will include the results of a portfolio with a hypothetical constant 6% rate of return for reference, as well as for the specific period from 1983 through 2008.

Portfolio Rate of Return

The historical period for simulation is based on data availability for the ETFs used. In this example, since VT only has reconstructed data going back to 1970, the historical period used for the simulation is 1970 through 2020. If VTI were used instead of VT, the period would be 1928 through 2020, as both VTI and BND have reconstructed data going back to 1928.

The return data for the simulation period is divided into sequential sets of returns based on simulation length. In the case of this example, the simulation sets will start with the 25 year period 1970 through 1985, 1971 through 1986, and so on up to the most recent period from 1995 through 2020, for a total of 26 sets. Data sources for each ETF, as well as for inflation, are provided here.

The portfolio return for each calendar year is calculated based on the return for each component ETF multiplied by the percentage of the portfolio that ETF represents. In the case of the example, the portfolio return for each year consists of 60% of the VT return, and 40% of the BND return. If inflation adjustment is set to “Yes’, as in the example, the real rate of return for the portfolio would be calculated as:

Real Rate of Return = (1+Nominal Rate of Return)/(1+Inflation Rate)-1

Using this 60/40 portfolio of VT and BND for the year 2020as an example, the total return for VT was 16.7%, the total return for BND was 7.7%, and the U.S. Inflation was 1.4%.

Nominal Portfolio Rate of Return = 0.6(0.167)+0.4(0.077) = 13.1%
Real Portfolio Rate of Return = (1+0.131)/(1+0.014)-1 = 11.5%

Balance Calculations

The starting balance for the first year of each simulation set is the starting balance provided in the input. The starting balance for each subsequent year is calculated as follows:

If the simulation for a specific simulation period has not yet transitioned to retirement, and the starting balance for the current year is not enough to safely withdraw the target amount with a good chance of achieving the worst case end balance target, the cash flow will based on the starting contribution amount and the annual contribution increase percentage. If semi-retirement is included in the simulation, as with the example, the cash flow curve transitions based on those inputs, regardless of portfolio balance.

If the starting balance for the current year is sufficient to safely withdraw the target retirement amount for the current year, the simulator will transition to retirement mode. Once retirement mode has started for a given period, it will remain in retirement mode, although the formula will vary withdrawal size depending on the portfolio performance to reduce the risk of missing the end balance target when the returns have been low, while allowing for greater withdrawals when the returns have been high.

Variable Withdrawal Approach

The Index Goose variable withdrawal approach is different from most retirement withdrawal calculations, including the famous “4% Rule” and Vanguard’s own Retirement Nest Egg Calculator, which assume that withdrawals are not affected by portfolio performance. In reality, most individuals would likely be willing to temporarily scale back their spending or supplement their income in other ways if they their portfolio balance goes through a period of poor performance, provided this means they can retire earlier without risking running out of money, and they also may choose to increase their spending following a period of high performance. This withdrawal formula is the a key innovation of the Index Goose portfolio simulator.

The inputs for the Index Goose proprietary safe withdrawal formula are:
– Current balance
– Worst case end balance target
– Number of years remaining to the end balance target date

The formula does not have a crystal ball to see future returns, and does not depend on portfolio composition. This formula was developed with the goal of efficiently using a retirement portfolio to generate cash flows close to the withdrawal target with a low risk of an end balance below the target, while allowing for increased withdrawals when the portfolio is doing well. It was tuned using historic data going back to 1928, a period which includes the Great Depression, WWII, the post-war boom, 1970s inflation, the 2000 Tech Bubble, and the Great Recession of 2008.

The best and worst periods are determined by the following calculation, with the best period having the highest value, and worst period the lowest value.

(Withdrawals – Contributions) + (End Balance – Starting Balance)

In order to simplify the simulation calculations, the following assumptions are made:
– Balance is checked at the start of each year
– Contributions, Withdrawals, and Rebalancing occur once a year, immediately after balance check
– Dividends are immediately and completely reinvested to achieve perfect total return
– There are no transaction fees
– A final balance check is done at the start of the year following the last year of the analysis period
– Tax implications of contributions, withdrawals, dividends, and capital gains are not considered in the simulation

Simulation Outputs

The first output chart shows percentage of simulation sets with these inputs that transition to retirement at each age. In this case, there was one simulation set resulting in full retirement by age 54 and another at 55. By age 63, 100% of the simulation sets had transitioned to retirement.

The second chart shows the retirement age and end balance for this for each historic period, shown by last year of the period. This gives context as to how outcomes for the portfolio scenario have changed over time.

The next chart shows the range of portfolio cash flows from the portfolio by age (contributions are negative, withdrawals are positive), with a minimum and maximum curve showing the lowest and highest cash flow and balance of any simulation set at each age. The most recent period in this example is for the simulation period through to end of 2020. This will be updated annually as the return data gets updated.

The reference period for this example is the period through to end of 2008. This year can be changed to see exactly how this portfolio scenario would have played out for any period in the data set. The reference rate refers to the hypothetical 6% value set as a reference point. Again, this can be changed to simulate any hypothetical constant return portfolio. The retirement target shows the curve defined by the initial withdrawal target increasing based on the annual increase percentage chosen.

The final chart shows the portfolio balances by age. The approach is similar to the Portfolio Cash Flow chart, with each curve defined in a similar manner, just with portfolio balances rather than cash flows.

The table below provides the numerical values for annual portfolio rates of return, cash flow, and portfolio balance for the constant rate reference calculation, the reference period, and the most recent period of the example simulation.

If you have any questions, comments, suggestions, or find any errors, use the contact form to reach me. I’d be happy to hear from you, as I want to make this site as useful and informative as possible.