Resampled Mean-Variance

Michaud-style resampled efficient frontier averaged across many block-bootstrap samples of the historical returns. Replaces a single point-estimate MVO solve with a portfolio that is robust to sampling noise in the input moments.

Overview

Michaud (1989, 1998) and Michaud and Michaud (2008) gave the canonical critique-and-fix for classical MVO: the optimiser amplifies estimation noise in the inputs, producing portfolios that look optimal in-sample but generalise poorly. Their proposed remedy is a Monte-Carlo resampling: draw many bootstrap samples of the historical return path, run MVO on each, and average the resulting weights. The averaged portfolio inherits the optimiser's use of input information while smoothing out the sensitivity to any single sample realisation.

FolioLab implements the resampled frontier with a stationary block bootstrap (Politis and Romano, 1994), which preserves the autocorrelation and volatility-clustering structure of the original return series — an important property when block-internal dependence matters. Each bootstrap replication produces an MVO solution; the final allocation is the average of the successful bootstrap weights.

The default configuration runs 64 bootstrap replications with a randomised block size; the user can override both. The number of replications is the primary lever for the trade-off between Monte-Carlo error and runtime; 64 replications is a reasonable default that gives stable averages on Indian universes with up to a few hundred names.

Mathematical Formulation

Notation

  • — matrix of asset returns over periods
  • — number of bootstrap replications (default 64)
  • — expected block length of the stationary bootstrap
  • — the -th bootstrap return series
  • — MVO weights computed on

Stationary block bootstrap

Politis and Romano's (1994) stationary bootstrap concatenates blocks of random length drawn from random starting positions in the original series. The resulting resample preserves second-order stationary properties and produces consistent estimators of statistics that depend on the autocorrelation structure. The expected block length is the hyperparameter; FolioLab uses by default, which is the standard order-of-magnitude choice.

Resampled-frontier algorithm

  1. For , draw a block-bootstrap resample from the original return series.
  2. Compute , on .
  3. Solve the standard MVO problem on the bootstrap moments to obtain weights .
  4. If the solve fails (numerical issues, infeasibility) skip the replication; otherwise store .
  5. The final portfolio is the simple average of the successful bootstrap weights:

where is the set of successful replications and . FolioLab requires a minimum number of successes (default ) before accepting the average; otherwise the optimisation reports failure.

Why averaging helps

Averaging in weight-space exploits the fact that estimation errors in and are roughly mean-zero across bootstraps: the noisy weight components partly cancel out, while the signal components reinforce. The argument is the same as bagging in machine learning. Empirically, the averaged frontier sits inside the in-sample frontier (so it has a worse in-sample Sharpe) but tracks the out-of-sample frontier much more closely.

One subtlety: averaging weights changes the effective constraint behaviour. If the underlying solver enforces long-only and budget=1 on each bootstrap, then the average automatically respects long-only and budget=1. If the solver imposes a tracking-error or sector-cap constraint, the average satisfies the constraint but is generally not on the constraint boundary.

Advantages & Limitations

Advantages

  • Out-of-sample robust: Smooths the optimiser's amplification of input noise.
  • Block bootstrap: Preserves serial dependence in the resamples.
  • Drop-in: Reuses any base MVO formulation, including constrained variants.
  • Embarrassingly parallel: Bootstraps are independent and can be parallelised.

Limitations

  • Computationally expensive: MVO solves per portfolio.
  • Worse in-sample fit: Averaging concedes some in-sample Sharpe by design.
  • Bootstrap-block sensitivity: Choice of matters when serial dependence is strong.
  • No theoretical optimality: The averaged portfolio is a heuristic, not a known optimum.

References

  • Michaud, R. O. (1989). "The Markowitz Optimization Enigma: Is ‘Optimized’ Optimal?" Financial Analysts Journal, 45(1), 31-42.
  • Michaud, R. O. (1998). Efficient Asset Management: A Practical Guide to Stock Portfolio Optimization and Asset Allocation. Boston: Harvard Business School Press.
  • Michaud, R. O., & Michaud, R. O. (2008). "Estimation Error and Portfolio Optimization: A Resampling Solution." Journal of Investment Management, 6(1), 8-28.
  • Politis, D. N., & Romano, J. P. (1994). "The Stationary Bootstrap." Journal of the American Statistical Association, 89(428), 1303-1313.
  • Politis, D. N., & White, H. (2004). "Automatic Block-Length Selection for the Dependent Bootstrap." Econometric Reviews, 23(1), 53-70.
  • Palomar, D. P. (2025). Portfolio Optimization: Theory and Application. Cambridge University Press, Chapter 14 (Robust Portfolios), Section 14.3 (Portfolio Resampling).