Workspace / Research tools
Portfolio research

Moving-Block Bootstrap Return Distribution

Shuffling returns one at a time destroys their original short-run ordering. A moving-block bootstrap retains order within sampled segments, creating a research distribution from a supplied historical sequence. This calculator samples overlapping contiguous blocks with replacement, joins them to the selected horizon, and compounds each resulting path. It is useful for exploring sensitivity to observed return clusters. The displayed percentile interval belongs to that resampled scenario distribution; it is not a confidence interval for true expected return or a calibrated forecast.

Enable JavaScript to edit assumptions, calculate and compare a baseline locally. The formula and methodology below remain available without JavaScript.

Construct and compound each resampled path

For N observations and block length L, available blocks start at positions zero through N − L and do not wrap around the sample end. Select block starts uniformly with a seeded generator, concatenate their returns, and stop after H observations. A path return is [Π(1 + rₜ/100) − 1] × 100%. The tool supports up to 365 horizon observations and 2,000 simulations. Inputs cannot fall below −100%; a −100% simple return makes that compounded path lose all starting capital.

See what one block choice preserves

Take returns of 10%, −10%, and 0%, with block length two and a two-observation horizon. Available blocks are [10%, −10%] and [−10%, 0%]. Selecting the first compounds to 1.10 × 0.90 − 1 = −1%; selecting the second compounds to −10%. These are outcomes from the entered sequence, not newly estimated market events. A fixed seed makes repeated runs with identical inputs reproducible, including the number of times each available block is selected.

Percentiles describe the simulation design

Sort the simulated horizon returns and select empirical percentiles using nearest ranks. Changing block length changes how much original dependence survives inside segments, while the joins introduce artificial boundaries. A longer simulation count reduces resampling noise but does not repair missing crises, changing market conditions, or a biased input history. The distribution cannot create fundamentally new shocks absent from its source returns. Record the sample window, block length, horizon, seed, and simulation count whenever comparing or sharing results.

Primary documentation

Your research workspace

Save selected inputs and research notes explicitly in this browser. Compare assumptions and restore a saved setup without submitting a trade. JavaScript enables the controls.

Find a tool or research page