Naive Rolling Mean-Variance Optimization for Multi-Stock Allocation
This research examines a naive rolling Mean-Variance Optimization (MVO) strategy for multi-stock allocation, in which expected returns and covariances are estimated solely from trailing historical data and re-estimated on a monthly basis. The central aim is to test empirically whether this deliberately simple approach can remain competitive despite the classical concern that MVO's sensitivity to estimation error makes it impractical relative to simpler heuristics such as trend following and momentum ranking. Expected returns and covariance are re-estimated monthly from a common trailing window, and a long-only, max-Sharpe portfolio is held until the next rebalance - deliberately simple, with no trend filter, momentum ranking, or volatility-targeting overlay. It is benchmarked against SPY buy-and-hold, a 60/40 portfolio, QQQ buy-and-hold, and the original design (a trend-filtered, risk-adjusted momentum strategy with volatility targeting and drawdown control). The strategy is evaluated over two independent, non-overlapping periods rather than a single blended sample: an in-sample window (2010-2019) used to fix the design, and a strict out-of-sample holdout (2020-2025) touched only once. On real market data for a nine-stock universe, the naive MVO strategy outperformed all four benchmarks on annual return and Sharpe ratio in both the in-sample (29.11% return, 1.19 Sharpe) and out-of-sample (36.53%, 1.16) periods - though not on maximum drawdown, where the momentum benchmark risk overlay produced a shallower worst-case decline in both periods, highlighting a trade-off between simplicity and downside protection that practitioners should weigh explicitly.