The efficient frontier and modern portfolio theory
The efficient frontier is the set of portfolios that give the highest expected return for each level of risk. Any portfolio below it is beaten by one on it, with more return for the same volatility or less volatility for the same return.
Harry Markowitz introduced the idea in “Portfolio Selection” (Journal of Finance, 1952), the start of what is now called modern portfolio theory. Its key insight is that a portfolio’s risk depends not only on how risky each holding is, but on how the holdings move together.
The maths of two assets
A portfolio with weight w in asset B and 1 − w in asset A has:
σp² = (1 − w)²σA² + w²σB² + 2w(1 − w)·ρ·σAσB
Return is a straight average of the two, but risk is not, because of the last term. When the correlation ρ is below 1, the portfolio’s volatility is less than the average of the two volatilities. That gap is the benefit of diversification, and it is the only free lunch in finance.
Worked example
Asset A is bond-like (7% expected return, 8% volatility), asset B is stock-like (12% return, 20% volatility), and their correlation is 0.2. This code traces the mixes and finds the least risky one:
import numpy as np
mu = np.array([0.07, 0.12]) # expected returns: bonds-like, stocks-like
vol = np.array([0.08, 0.20]) # volatilities
rho = 0.2 # correlation
cov = np.array([[vol[0]**2, rho * vol[0] * vol[1]],
[rho * vol[0] * vol[1], vol[1]**2]])
print(" w_stocks return volatility")
for w in np.linspace(0, 1, 6):
weights = np.array([1 - w, w])
ret = weights @ mu
risk = np.sqrt(weights @ cov @ weights)
print(f" {w:4.0%} {ret:6.2%} {risk:6.2%}")
# Minimum-variance portfolio for two assets
w_min = (vol[0]**2 - rho * vol[0] * vol[1]) / (vol[0]**2 + vol[1]**2 - 2 * rho * vol[0] * vol[1])
weights = np.array([1 - w_min, w_min])
print(f"minimum variance: {w_min:.1%} stocks, return {weights @ mu:.2%}, "
f"volatility {np.sqrt(weights @ cov @ weights):.2%}")w_stocks return volatility
0% 7.00% 8.00%
20% 8.00% 8.20%
40% 9.00% 10.12%
60% 10.00% 13.02%
80% 11.00% 16.40%
100% 12.00% 20.00%
minimum variance: 8.0% stocks, return 7.40%, volatility 7.84%The striking result is the first step: moving from all bonds to 8% stocks lowers volatility (from 8.00% to 7.84%) while raising expected return (from 7.00% to 7.40%). No investor who cares only about return and volatility should hold all bonds here.
Choosing a point on the frontier
The frontier lists the sensible portfolios; it does not pick one. Add a risk-free asset and the choice gets sharper: draw a line from the risk-free rate that just touches the frontier. The point it touches, the tangency portfolio, has the highest Sharpe ratio of any risky portfolio. Every investor then holds that portfolio mixed with cash or borrowing, according to their appetite for risk. That line is the capital market line, and it led to the CAPM.
Limits in practice
- Inputs are estimates. Expected returns are hard to forecast, and the optimiser leans hardest on the assets whose returns are most overestimated. Practitioners shrink estimates, cap weights, or use Black-Litterman.
- Volatility is not all of risk. The frontier ignores fat tails; check portfolios with Value at Risk and expected shortfall.
- Correlations rise in a crisis. Diversification is weakest exactly when it is needed most.
Prices that drive these returns are often modelled with geometric Brownian motion, which is where simulation-based portfolio studies start.
Learn this on your phone, one short lesson at a time
QF-Learn turns topics like this into five-minute lessons with quizzes, finance games and certificates. It is free, and it is coming to Android and iOS. Leave your email and you will be first to get it.