Introducing Future Simulations

April 11, 2022 Printer Friendly Printer Friendly


Fundamentally portfolio analytics is about helping investors understand what has happened in the past.

But what about the future?

While no one can predict the future, we can use historical data to simulate what might happen.  The Future Simulations facility in Stock Rover tests long-term expected portfolio growth under a variety of possible scenarios based on the Monte Carlo method. The Monte Carlo method uses random samplings of what has happened in the past in order to create future scenarios.

When we evaluate the performance of a portfolio, we look at a consecutive period of time in the past. However, when we want to simulate the future, we will need to incorporate more complex and random behavior. For example, if we are interested in simulating the expected portfolio performance over the next 5 years (60 months), we don’t want to pick a past consecutive period of 60 months to do that. Our simulation wouldn’t be able to generate the range of outcomes that could conceivably happen in the future.

To simulate future portfolio returns, we need to utilize what has happened in the past, but in a more dynamic manner. The method chosen is to break down a consecutive period of the past into discrete values, where each value represents the monthly return of the portfolio. For example, if we use the last 10 years of the portfolio’s performance as our sampling universe, we would break that period into 120 discrete values of monthly returns. Those 120 values constitute our sampling universe.

When we build our future simulation of 5 years or 60 months, we would start with month one, randomly selecting one of the 120 past samples of portfolio performance, and use that value as the return for the first month. We repeat the process for the second month, selecting another random month from the 120 past samples and using its return as the return for the second month. We repeat the process for all 60 months in the future simulation. Using the randomized selected individual monthly return values, we can then compute the overall return of the portfolio for the 60 months looking forward. This constitutes a single simulation.

However, a single simulation is of limited value. Where the power of simulations lies is in running a large number of simulations over and over and looking at the results generated in aggregate. For example, if we run 1000 simulations, it will yield quite a bit of useful information. We can see the average return across those 1000 simulations along with the dispersion of results. The dispersion of returns can be characterized into percentiles, showing the probabilities of achieving different levels of portfolio return. This is high-value information.

Configuring Future Simulations

Let’s take a closer look at the settings that refine the algorithm that Future Simulations uses to sample and build the simulation.

To begin we first need to run Future Simulations from within Stock Rover. This can be done from the grey Start menu on the left, by first selecting Portfolio Tools and then selecting Futures Simulations from the ensuing submenu. More detail on invoking Future Simulations can be found in our help pages.

Once we have started the Future Simulation tool, we will see the screen shown below. The first section in the configuration screen is Sampling Methods, which is described in the next section.

Future Simulations Parameters

Sampling Methods

Simulation Years – The number of years into the future to run each portfolio simulation.

Monte Carlo Runs – How many individual simulations to run, the default is 1000. This means that Stock Rover will return 1000 simulations of a portfolio, with each simulation comprised of randomized monthly returns for the number of years into the future.

Sample Period – The historical market period you want to use for your simulations. In general, it is good practice to pick a broad timeframe. For example, if you have a tech-laden portfolio you wouldn’t want your sample period to be limited to only when tech stocks significantly outperformed the S&P 500. A sample period of 10 years or more would generally be sufficient.

Bear vs Bull (%) – Based on this percentage an algorithm determines whether a positive or negative month should be sampled. This allows you to set expectations for whether future returns will be more negative or positive than the historical returns of the sample period. Recalibrating this affects the sampling, specifically the percentage of time a month from the sample period with a positive return for the S&P 500 is randomly selected, versus randomly selecting a month with a negative return for the S&P 500.

Inflation (%) – The inflation rate reduces the returns in order to show the results in inflation-adjusted amounts. The inflation rate is converted to a monthly rate and is applied every month.

Asset Returns – Here you can choose a proxy for the performance of unpriceable holdings that are tracked as portfolio assets. For example, if you hold bonds, you might select an ETF like BND as a proxy. Leaving this blank will completely exclude Assets from simulations.

New Listings – Equities that started trading recently will not have complete historical data points. Here you can control what value is used for periods when an actual return is not available for the equity. You can substitute the Sector return or the S&P 500 return.

Exclusions –  Excluded equities are treated as if they were not part of your portfolio. This can be helpful for analyzing “What If” scenarios or for removing a volatile position that dominates future returns. For example, a portfolio that is heavily weighted in TSLA may want to exclude it given the equity’s history.


Frequency: Frequency of Rebalancing – Never, Quarterly, or Yearly

Method: Rebalancing will redistribute the portfolio funds to match their current allocations as a percent of the portfolio(s). Rebalancing can be using one of the following methods.

  • Asset Category and Stock Sector
  • Asset Category
  • Stock Sector

Withdrawals (or Contributions)

Amount – This amount will be subtracted from the portfolio using an equal percent per holding. Using a negative value will simulate portfolio contributions.

Frequency – The frequency for withdrawals (or contributions), which occur at the end of the period, after gains or losses. Options include Monthly, Quarterly, or Annually.

Start Date – Withdrawals/contributions will start the first Month, Quarter, or Year after this date, depending on the selected frequency.

Running Future Simulations

Review the Portfolio

Below we’ve chosen a portfolio called “My Income and Growth Portfolio”. We’ve launched the Portfolios tool as a first step as this is helpful for providing context for our Future Simulations exercise.

The Positions tab shows a reasonably diversified portfolio of 40 tickers, with the exception of 3M at 18% and Eli Lily at 10.34%, which together comprises well over a quarter of the portfolio value.

Portfolio Positions

When we explore the Allocations tab, we can see that the portfolio differs from the S&P 500 by being heavy on industrials and real estate, and light on technology.

Portfolio Allocation

Run the Simulation

We’ll next launch Future Simulations under Portfolio Tools in the Start menu.

We’ll simulate:

  1. 5 Years (60 months) into the future
  2. We’ll conduct 1000 Monte Carlo runs
  3. Use the last 10-Years as our sample period

Launch Simulations

These are the step taken for each of the 1000 Monte Carlo runs

  1. Based on the Bear vs Bull % an algorithm determine whether a positive or negative month should be sampled.
  2. A random month from the sample period is collected where the sign of the S&P return matches step 1.
  3. Actual dividend-adjusted stock returns are sampled for each position in the portfolio for the selected month.
  4. If the stock didn’t trade during that time period the return of a surrogate (Sector or S&P 500) is used.
  5. Inflation reduces the return.
  6. Each holding value is adjusted for the monthly return %.
  7. If it’s time to rebalance, the holdings are rebalanced.
  8. If it’s time for a withdrawal/contribution, that is processed equitably by holding weight.

Future Simulation Results

Performance by Percentile

The chart is showing the distribution of returns that you can expect for your portfolio along with the average return.

Stock Rover takes the 1000 simulations sorts them by annualized return and then distributes them in sorted order into 50 buckets. Each of the 50 vertical bars represents 2 percentiles and is displaying the median annualized return of the 20 simulations that comprise each bucket.  A flatter bar chart is indicative of a portfolio whose returns are relatively consistent. A bar chart showing a steep incline means the returns are extremely varied.

When we mouse over a vertical bar, Stock Rover provides an annualized return, start value, and end value. In the example below the yellow bar is showing that the 25th percentile return is 3.1%, which means that 75% of the simulations returned at least 3.1%.

As we shift from left to right, the chart is showing the worst to the best-case scenario. In our example below, by the time we get to the 91st percentile, less than 9% of the simulations achieved a 15.6% annualized return.

The two vertical lines display Future Simulations performance with the portfolio start value and the average end value of the simulations.

Performance by Percentile

Balances of Key Portfolios

Balances of Key Portfolios shows the actual month-by-month returns of 7 key portfolios that are selected based on their percentile rank from the full simulation run.  The performance is shown on a monthly basis. This display is very helpful for showing volatility over time and how rebalancing (when selected) reduces that.

When we mouse over a data point in a portfolio, Stock Rover returns detailed information. In the example below we picked a data point from a 75th percentile simulation. We can see via the grey popup that Stock Rover simulated February 2027 using the sample month March 2021 and that the ending portfolio value is $598,242

Balances of Key Portfolios

Summary Statistics

Provides additional metrics specific to the portfolios displayed in Balances of Key Portfolios. The tabular display shows start and end value, max drawdown, volatility, annual return, and more.

In addition, the mean-performing portfolio is displayed. The mean values are quite helpful as they give us an idea of what the typical values are. Here, we have an average annual return of 8.3% and a typical max drawdown of just under 20% in the 5-year period.

Summary Statistics

Top Holdings

The Top Holdings display targets the mean-performing portfolio shown in Summary Statistics. Below we see the performance for the largest holdings by starting value in the mean-performing portfolio.

Top Holdings

Testing Portfolio Survival

Let’s put some of the Future Simulation concepts we’ve learned to practical use.  The example below leverages the Future Simulations facility to see what would happen if we took regular distributions of $8,000 per quarter from our portfolio for the next 10 years.  We want to know how likely is it that the portfolio can survive this scenario?

We can see that the Future Simulation facility’s “Balances of Key Portfolios” and “Summary Statistics” displays show that both the 5th and 10th percentile portfolios come dangerously close to being fully depleted at the end of the 10 years.  The 25th percentile portfolio demonstrates that 75% of the 1000 simulations returned with an end balance of at least $122,903 after 10 years.

Testing Portfolio Survival


The Future Portfolio Performance Simulation facility uses the Monte Carlo simulation technique to test long-term expected portfolio growth under a myriad of scenarios. The facility allows the investor to adjust for inflation and even bull vs bear market%. In addition, portfolio survival can be tested based on regularly planned withdrawals.

Future Simulations can be a powerful weapon in your arsenal to ensure that your portfolios, as constructed, can meet your future financial goals.


Bob Houle says:

Just about every StockRover Weekly Market Update I receive from you has yet one more reason to subscribe to StockRover. It is amazing the number, scope, and quality of enhancements you provide. Each week I look forward to “what’s the next” big improvement! Well done. Thank you so much!

Mike Minnis says:

Can you please explain what the max drawdown would mean and how to interpret? Is that essentially saying that the highest drop in your portfolio in the 5 year period is likely to be 20%? Or does that mean the portfolio could survive a 20% drop and still be okay?

Howard Reisman says:

It’s the former

Mike Minnis says:

Thanks Howard !

Comments are closed.