Solution: Minimum-Variance Portfolio from a 3×3
Exercise: Minimum-Variance Portfolio from a 3×3
Part 1 — Lagrangian derivation
Minimise subject to . Lagrangian:
First-order condition ():
Impose the constraint:
So
Parts 2–3 — Numerical computation
import numpy as np
Sigma = np.array([[0.04, 0.02, 0.01],
[0.02, 0.09, 0.03],
[0.01, 0.03, 0.16]])
ones = np.ones(3)
Sigma_inv = np.linalg.inv(Sigma)
num = Sigma_inv @ ones
den = ones @ num
w_star = num / den
print("w* =", w_star.round(4))
# w* = [0.668 0.234 0.098]
var_star = w_star @ Sigma @ w_star
std_star = np.sqrt(var_star)
print("var =", var_star.round(5), " sigma =", std_star.round(4))
# var = 0.03145 sigma = 0.1773Minimum-variance portfolio: . Variance , volatility .
Part 4 — Interpretation
- Asset 1 gets 67% weight. It has the smallest variance (, volatility ), so the optimiser piles into it.
- Asset 3 gets only 10% weight despite being the highest-volatility asset (, volatility ). Diversification still pushes some weight into it, because it has the lowest correlation with asset 1 ().
- Asset 2 gets middling weight — volatility , correlations and with assets 1 and 3. It's neither the lowest-vol nor the most-diversifying.
Compare to the equal-weighted portfolio : . Minimum-variance achieves — 36% lower variance than equal-weighted.
Takeaways
- is the closed-form minimum-variance portfolio (no expected-return info used). The only inputs are the covariance matrix and the full-investment constraint.
- Minimum-variance portfolio concentrates in low-volatility assets. It's a well-documented effect: minimum-variance portfolios historically outperform equal-weighted ones on a risk-adjusted basis.
- Diversification still matters at the margin. Even the highest-volatility asset gets positive weight if it decorrelates with the others.
- Real-world caveat. With small sample sizes, is extremely noisy. In practice, minimum-variance portfolios computed from raw sample covariance concentrate absurdly in whichever asset happens to have the lowest sample volatility — shrinkage (Ledoit-Wolf) or factor-model regularisation is mandatory for stability.