Mean Variance Optimisation and Why It Breaks in Practice
A 500 asset book needs 125,250 covariance entries estimated from a few years of data, and the optimiser chases the noisiest ones first.
Mean variance optimisation breaks in practice because it treats an estimated covariance matrix as though it were the true one, and the optimiser searches specifically for the pairs of assets that look most negatively correlated in whatever sample it happens to be given. Those extreme correlations are disproportionately the product of noise rather than a real relationship, so the portfolio the optimiser builds concentrates capital in exactly the estimates most likely to be wrong. The textbook version, one expected return vector and one covariance matrix feeding a quadratic program, looks clean on a whiteboard and comes apart against a universe of real size.
Harry Markowitz's 1952 formulation asks for the portfolio weights that minimise variance for a given level of expected return, or equivalently maximise return for a given level of variance, subject to the weights summing to one. The solution is a closed form function of two inputs: a vector of expected returns and a covariance matrix describing how every pair of assets moves together. Given exact knowledge of both, the resulting portfolio sits on the efficient frontier, and no other combination of the same assets offers a better return for the same risk.
Both inputs have to be estimated from historical data. Estimation error in the expected return vector has been understood as a serious problem since the 1980s, because a reliable estimate of a single asset's mean return needs a much longer history than most desks have available. The covariance matrix gets less attention outside a portfolio construction desk, but it is the more damaging input once a universe grows past a few dozen names, since the number of parameters that need to be estimated grows with the square of the number of assets.
A covariance matrix for 500 assets is a 500 by 500 symmetric matrix, and because it is symmetric the number of distinct entries that need to be estimated is 500 times 501 divided by two, which comes to 125,250 separate variances and covariances. A desk working from three years of daily returns has on the order of 750 observations per asset. Estimating 125,250 parameters from a data set of that size is a badly unfavourable ratio, and the resulting sample covariance matrix sits close to singular, meaning several directions in portfolio space are barely constrained by the data at all.
That near singularity is not a cosmetic issue. An optimiser can find a combination of positions whose estimated variance is close to zero even though the true variance of that combination is far from zero, simply because the sample happened to show those particular assets offsetting each other over the specific window used. Covariance matrix estimation for large portfolios covers the shrinkage and factor techniques built to address this directly.