More Diversification





Kerry Back

More assets

  • \(n\) risky assets with returns \(r_i\)
  • vector \(\bar{r}\) of expected returns
  • vector \(w\) of portfolio weights \(w_i\) with \(\sum_{i=1}^n w_i=1\)
  • portfolio expected return = \(\sum_{i=1}^n w_i \bar{r}_i = w^\top \bar{r}\).

Portfolio variance

  • asset return variances \(\sigma_i^2\)
  • covariances \(\sigma_{ij} = \rho_{ij}\sigma_i\sigma_j\) where \(\rho_{ij}=\) correlation
  • portfolio variance is sum of weight squared times variance
    • plus sum of 2 times weight times weight times covariance for each distinct pair of assets:

\[\sum_{i=1}^n w_i^2 \sigma_i^2 + 2 \sum_{i=1}^n \sum_{j=i+1}^n w_iw_j \sigma_{ij}\]

Special case

  • Suppose all standard deviations are the same \(\sigma\)
  • Suppose all correlations are the same \(\rho\)
  • Consider equally weighted portfolio \(w_i=1/n\)
  • Portfolio variance is

\[\frac{\sigma^2}{n} + \frac{n-1}{n} \rho \sigma^2\]

Covariance matrix and portfolio variance

  • \(n\) risky assets
  • \(C = n \times n\) covariance matrix
    • variances on diagonal
    • covariances off-diagonal
  • portfolio variance is \(w^\top C w\)
  • \(C=SRS\) where
    • \(S=\) diagonal matrix of std devs,
    • \(R=\) correlation matrix

Example

import numpy as np

sd1, sd2, sd3 = 0.1, 0.15, 0.12
corr12, corr13, corr23 = 0.5, 0.7, 0.6
w1, w2, w3 = 0.2, 0.3, 0.5

S = np.diag([sd1, sd2, sd3])
R = np.identity(3)
R[0, 1] = R[1, 0] = corr12
R[0, 2] = R[2, 0] = corr13
R[1, 2] = R[2, 1] = corr23
C = S @ R @ S
w = np.array([w1, w2, w3])
portvar = w @ C @ w

Mean – Standard Deviation Plot HTML tutorial

  • Set mn1, mn2, mn3 = 0.06, 0.08, 0.10