Simulation models: assumptions and when to compare them

Different stochastic models capture different return behaviors. This page summarizes the available models, their assumptions, and what to do when the Monte Carlo and rolling-historical results disagree.

On this page

Summary

Monte Carlo and the rolling-historical companion answer related but distinct questions. Monte Carlo samples from a return model to produce a range of possible futures. Rolling historical evaluates the same plan on every overlapping past N-year window of the supplied history. Comparing them highlights where a model's assumptions diverge from what history delivered.

Models

  • Parametric (log-normal). Monthly log returns are independent draws from a normal distribution calibrated to the user-supplied annual mean and volatility. No fat tails, no serial dependence, no regime structure. Useful when historical data is unavailable or when you want to stress-test a plan against a clean analytical baseline.
  • Bootstrap (i.i.d.) from history. Each month is drawn independently from the historical series. Preserves the marginal distribution of returns, including fat tails and skew, but destroys any serial correlation. Appropriate when monthly autocorrelation is negligible.
  • Block bootstrap. Contiguous blocks of returns are drawn together, preserving short-range autocorrelation such as momentum or mean-reversion over a few months. Block size defaults to the cube root of the history length when unspecified.
  • Student-t (fat-tailed). Log returns are drawn from a Student-t distribution calibrated to the historical log mean and standard deviation. Lower degrees of freedom produce fatter tails. Returns are i.i.d., so this model adds tail risk without adding persistence. Degrees of freedom are fit by maximum likelihood from history and clamped to the range 3 to 30. The response includes the fitted value.
  • Regime-switching. A 2-state Markov chain tags each step as bull or bear based on trailing returns. It then samples within the current state from contiguous same-state historical blocks. Adds persistence and regime structure at the portfolio level. The response returns estimated transition probabilities and the observed bear fraction alongside the paths. This is a heuristic model: the model infers regimes from the supplied history and applies them to the composite portfolio, not to individual assets.

Defaults and assumptions

  • Student-t degrees of freedom default to the maximum-likelihood fit from the supplied history, clamped to [3, 30]. Request validation rejects a manual value outside that range.
  • Regime labeling uses a -10% trailing-return threshold and a 12-month lookback by default on the Monte Carlo tool. The Retirement Planner uses an annual lookback (default 1 year) because it runs on annual data. This is coarser than the monthly version and tends to label fewer bear periods.
  • Regime labeling is predictive: the model infers step t's label from the prior window's cumulative return, not from the return at step t itself.
  • When the supplied history contains only one regime, regime-switching falls back to plain block bootstrap. The results page flags this case so you know why the output looks similar to a block-bootstrap run.
  • Student-t and regime-switching generate portfolio-composite returns. In the Retirement Planner they cannot honor allocation transitions (glidepaths), and the planner rejects the request when you configure both. Use bootstrap or block bootstrap to combine glidepaths with Monte Carlo.

Reading the results

  • Each Monte Carlo response with attached historical data also includes a rolling-historical section. Percentile bands use the same definitions on both sides, so disagreements reflect assumption differences, not metric differences.
  • The Retirement Planner surfaces a dual success probability when it runs both historical and Monte Carlo. A gap greater than 10 percentage points triggers an inline explainer. Common causes are fatter tails than history, a regime assumption that rarely appears in the supplied data, or a horizon that exceeds the history itself.
  • Rolling historical is backward looking. It reports what would have happened across every overlapping past window of matching length. It is not a forecast.