MVO considers correlations among assets within portfolio, but not risk factors —� that’s a problem bc correlations among two assets can change, but how an asset responds to a risk factor seems constant.
Consider a hypothetical: bonds and gold are usually correlated, eg if interest rates (a risk factor) rise, they both fall in price, but if rates fall they both rise. But what if there’s a sudden inflation surge (another risk factor)…bonds fall and gold rises.
Be careful: you’re talking about correlations of prices. In MVO we generally consider correlations of returns, which is a very different beast altogether.
You could setup factor beta attributes for every security in the model, and set up inequality constraints to limit the sum of all loadings for each factor to a certain level, essentially forcing some level of factor diversification.
the other way is to use multifactor model with inherent diversification to score your expected returns of your input universe into the mvo model. Naturally the optimizer will come to more balanced conclusions.