Kevin Crotty
BUSI 448: Investments
Last time:
Today:
Given return properties of underlying assets, what are the return properties of their combination?
… and what’s the optimal way to combine the assets?
Given return properties of underlying assets, what are the return properties of their combination?
… and what’s the optimal way to combine the assets?
Diversification is a foundational, and somewhat miraculous, concept in forming portfolios.
``don’t put all of your eggs in one basket.’’
By combining assets together, we may be able to build a portfolio that has less risk than even the least risky asset we use as a building block!
violation of the ``no free lunch’’ principle
Let’s consider combining a domestic equity fund and a developed markets international equity fund.
The return of a two-asset portfolio is the weighted sum of the returns of the underlying assets:\[ r_p = w r_{\text{US}} + (1-w) r_{\text{intl}} \,, \] where \(w\) is the portfolio weight in the domestic fund.
The expected return of the portfolio is:\[ E[r_p] = w E[r_{\text{US}}] + (1-w) E[r_{\text{intl}}] \,. \]
We will use either the portfolio variance or standard deviation as a measure of the portfolio’s risk.
We can write the portfolio variance in terms of the individual asset variances and their covariance:\[ w^2 \text{var}[r_{\text{US}}] + (1-w)^2 \text{var}[r_{\text{intl}}] + 2 w (1-w) \text{cov}[r_{\text{US}},r_{\text{intl}}] \]
Alternatively, we can express the last term using correlation \(\rho\): \[ w^2 \text{var}[r_{\text{US}}] + (1-w)^2 \text{var}[r_{\text{intl}}] + 2 w (1-w) \rho \cdot \text{sd}[r_{\text{US}}]\text{sd}[r_{\text{intl}}]\]
Lower correlation between assets results in greater potential diversification benefits.
Let’s also consider investing in an emerging market fund.
Expected return:
\[ E[r_p] = w_{\text{US}} E[r_{\text{US}}] + w_{\text{intl}} E[r_{\text{intl}}] + w_{\text{emerg}} E[r_{\text{emerg}}] \,,\]
where \(w_i\) is the portfolio weight in asset \(i\).
Portfolio variance:
\[ \begin{align*} \text{var}[r_p] =&w_{\text{US}}^2 \text{var}[r_{\text{US}}] + w_{\text{intl}}^2 \text{var}[r_{\text{intl}}] + w_{\text{emerg}}^2 \text{var}[r_{\text{emerg}}] \\ &+ 2 w_{\text{US}} w_{\text{intl}} \text{cov}[r_{\text{US}}, r_{\text{intl}}] \\ &+ 2 w_{\text{US}} w_{\text{emerg}} \text{cov}[r_{\text{US}}, r_{\text{emerg}}] \\ &+ 2 w_{\text{intl}} w_{\text{emerg}} \text{cov}[r_{\text{intl}}, r_{\text{emerg}}] \\ \end{align*} \]
Adding more securities to a portfolio results in additional diversification benefits
The marginal benefit of an additional security decreases with the total number of securities in the portfolio.
\(N\)-asset portfolio variance:
\[ \text{var}[r_p] = \sum_{i=1}^{N} w_i^2 \text{var}[r_i] + 2 \sum_{i=1}^{N} \sum_{j>i} w_i w_j \text{cov}[r_i,r_j]\,, \]
Given a covariance matrix \(V\): \[\begin{equation*} V = \begin{bmatrix} \text{var}[r_1] & \text{cov}[r_1,r_2] & \dots & \text{cov}[r_1,r_N] \\ \text{cov}[r_2,r_1] & \text{var}[r_2] & \dots & \text{cov}[r_2,r_N] \\ \vdots & \vdots & \ddots & \vdots \\ \text{cov}[r_N,r_1] & \text{cov}[r_N,r_2] & \dots & \text{var}[r_N] \\ \end{bmatrix} \end{equation*}\] and a vector of portfolio weights
\[w'=[w_1\, w_2\,...\,w_N]\,,\]
The portfolio variance is the matrix product:
\[ \text{var}[r_p] = w'Vw \,.\]
Claim: The variance of the return of a portfolio with many securities depends more on the covariances between the individual securities than on the variances of the individual securities.
\(w_1^2 \text{var}[r_1]\) | \(w_1 w_2 \text{cov}[r_1,r_2]\) | \(w_1 w_3 \text{cov}[r_1,r_3]\) |
\(w_2 w_1 \text{cov}[r_2,r_1]\) | \(w_2^2 \text{var}[r_2]\) | \(w_2 w_3 \text{cov}[r_2,r_3]\) |
\(w_3 w_1 \text{cov}[r_3,r_1]\) | \(w_3 w_2 \text{cov}[r_3,r_2]\) | \(w_3^2 \text{var}[r_3]\) |
\(w_1^2 \text{var}[r_1]\) | \(w_1 w_2 \text{cov}[r_1,r_2]\) | \(w_1 w_3 \text{cov}[r_1,r_3]\) | \(w_1 w_4 \text{cov}[r_1,r_4]\) | \(w_1 w_5 \text{cov}[r_1,r_5]\) |
\(w_2 w_1 \text{cov}[r_2,r_1]\) | \(w_2^2 \text{var}[r_2]\) | \(w_2 w_3 \text{cov}[r_2,r_3]\) | \(w_2 w_4 \text{cov}[r_2,r_4]\) | \(w_2 w_5 \text{cov}[r_2,r_5]\) |
\(w_3 w_1 \text{cov}[r_3,r_1]\) | \(w_3 w_2 \text{cov}[r_3,r_2]\) | \(w_3^2 \text{var}[r_3]\) | \(w_3 w_4 \text{cov}[r_3,r_4]\) | \(w_3 w_5 \text{cov}[r_3,r_5]\) |
\(w_4 w_1 \text{cov}[r_4,r_1]\) | \(w_4 w_2 \text{cov}[r_4,r_2]\) | \(w_4 w_3 \text{cov}[r_4,r_3]\) | \(w_4^2 \text{var}[r_4]\) | \(w_4 w_5 \text{cov}[r_4,r_5]\) |
\(w_5 w_1 \text{cov}[r_5,r_1]\) | \(w_5 w_2 \text{cov}[r_5,r_2]\) | \(w_5 w_3 \text{cov}[r_5,r_3]\) | \(w_5 w_4 \text{cov}[r_5,r_4]\) | \(w_5^2 \text{var}[r_5]\) |
How many variance terms?
\[N=5\]
How many covariance terms?
\[N^2-N = 25-5=20 \]
\[\begin{align*} \text{var}(r_p) =& N\cdot \left(\frac{1}{N}\right)^2 \sigma^2_{\text{all}} + (N^2-N)\cdot \left(\frac{1}{N}\right)^2 \overline{\text{cov}} \\ =& \left(\frac{1}{N}\right) \sigma^2_{\text{all}} + \left(\frac{N-1}{N}\right) \overline{\text{cov}} \end{align*}\]
What happens to this as N gets large?
\[ \text{var}(r_p) \underset{N\rightarrow \infty}{\longrightarrow} 0\cdot\sigma^2_{\text{all}}+(1-0)\overline{\text{cov}}=\overline{\text{cov}} \]
Diversification eliminates some, but not all, of the risk of individual assets.
In large portfolios, \(\text{var}[r_i]\)’s effectively diversified away, but not \(\text{cov}[r_i,r_j]\)’s.
What is the meaning of a negative portfolio weight?
Negative portfolio weights correspond to short positions in a portfolio.
For our discussion of portfolio optimization, we will ignore many practical issues (restrictions on using sales proceeds, fee paid to borrow asset, etc.)
Mathematically, choose portfolio weights to solve the following constrained optimization problem for each target return \(\mu_{\text{target}}\):
\[ \underset{w_1,w_2,\dots,w_N}{\text{min}} \text{var}[r_p]\]
subject to constraints: \(E[r_p]=\mu_{\text{target}}\) and \(\sum_i w_i=1\)
The function cvxopt.solvers.qp
solves problems of the general form: \[\begin{align}
\underset{w}{\text{min }}& \frac{1}{2} w' Q w + p'w \\
\text{subject to } & Gw \le h \\
& Aw = b \\
\end{align}\]
##### Inputs
# Expected returns
MNS = np.array([0.06, 0.065, 0.08])
# Standard deviations
SDS = np.array([0.15, 0.165, 0.21])
# Correlations
C = np.identity(3)
C[0, 1] = C[1, 0] = 0.75
C[0, 2] = C[2, 0] = 0.75
C[1, 2] = C[2, 1] = 0.75
# Covariance matrix
COV = np.diag(SDS) @ C @ np.diag(SDS)
# Target expected return
TARGET_EXP_RET = 0.07
def frontier(means, cov, target):
n = len(means)
Q = matrix(cov, tc="d")
p = matrix(np.zeros(n), (n, 1), tc="d")
# Constraint: short-sales allowed
G = matrix(np.zeros((n,n)), tc="d")
h = matrix(np.zeros(n), (n, 1), tc="d")
# Fully-invested constraint + E[r] = target
A = matrix(np.vstack((np.ones(n), means)), (2, n), tc="d")
b = matrix([1, target], (2, 1), tc="d")
sol = Solver(Q, p, G, h, A, b)
wgts = np.array(sol["x"]).flatten() if sol["status"] == "optimal" else np.array(n * [np.nan])
return wgts
Mathematically, choose portfolio weights to solve the following constrained optimization problem:
\[ \underset{w_1,w_2,\dots,w_N}{\text{min}} \text{var}[r_{p}] \]
subject to constraints: \(\sum_i w_i=1\)
def gmv(means, cov):
n = len(means)
Q = matrix(cov, tc="d")
p = matrix(np.zeros(n), (n, 1), tc="d")
# Constraint: short-sales allowed
G = matrix(np.zeros((n,n)), tc="d")
h = matrix(np.zeros(n), (n, 1), tc="d")
# Constraint: fully-invested portfolio
A = matrix(np.ones(n), (1, n), tc="d")
b = matrix([1], (1, 1), tc="d")
sol = Solver(Q, p, G, h, A, b)
wgts = np.array(sol["x"]).flatten() if sol["status"] == "optimal" else np.array(n * [np.nan])
return wgts
BUSI 448