Block Bootstrapping

Resample consecutive runs of historical returns. See why keeping years together changes a simulated retirement.

Consecutive years · in order
Current year0 / 30
Before the first withdrawal
Success so far100.0%
100 of 100 portfolios above zero
Median balance$1.00M
At the current year
Depleted portfolios0
Zero stays zero

Portfolio paths

Each line is one possible retirement.

Teaching model: success means a positive ending balance. Withdrawals stay fixed in nominal terms; inflation reduces their purchasing power. Use up to 2,000 simulations when comparing scenarios.

Year 0 / 30
0 · Start30 · Retirement horizon

Follow the calculation

Where the return comes from

SIM 1

Actual draws: simulation 1 only. Other simulations draw separately.

Try this:

How much history should stay together?

Set Simulations to 2,000. Compare block sizes 1, 5, 10, and 30 with a 30-year horizon and the same seed. Inspect the preserved sequences. At B = 30, compare the simulated success rate with the exact historical-window fraction in the Success rate view. Larger blocks can raise or lower success; the outcome depends on the market, window, and scenario.

How this model works

This is a moving-block bootstrap of one market. With N consecutive historical years and block size B, there are N − B + 1 overlapping candidate blocks. Each start has equal probability, with replacement. Returns stay chronological within a block; dependence breaks between blocks. There is no wraparound. The final block uses only the years that fit the horizon. B = 1 reproduces the annual bootstrap.

Endpoint years appear in fewer candidate blocks than interior years. This edge effect can change the effective return distribution, especially for large B. Blocks preserve both loss clusters and rebounds; a higher success rate alone does not prove mean reversion. When B equals the retirement horizon, every path is a sampled rolling historical window. The app also enumerates all eligible windows to show their exact success fraction. These windows overlap and are not independent historical evidence.

Withdrawals occur at the beginning of each year and stay fixed in nominal currency units. They are not inflation-indexed: with positive inflation, purchasing power declines over time. There are no contributions, taxes, or fees. “Success” means the ending balance is strictly positive; paying the final withdrawal and ending at exactly zero counts as depleted. Zero is absorbing.

Increasing Simulations reduces Monte Carlo sampling noise; it cannot fix return assumptions or create more historical evidence.

Each path has its own seeded Mulberry32 stream. Changing the simulation count or horizon preserves the earlier paths and years when other settings are unchanged.