CONTENTS

Exercise: Computing Σ\Sigma for a Two-Factor Model and Checking PSD

Prerequisites: Covariance Matrices

Problem

Three assets follow a two-factor model:

Xi=Bi,1F1+Bi,2F2+ϵi,i=1,2,3,X_i = B_{i,1}F_1 + B_{i,2}F_2 + \epsilon_i, \quad i = 1, 2, 3,

with loadings

B=(1.00.30.80.60.51.0),Ω=Cov(F)=(0.040.0050.0050.01),D=diag(0.02,0.03,0.025).B = \begin{pmatrix}1.0 & 0.3 \\ 0.8 & 0.6 \\ 0.5 & 1.0\end{pmatrix}, \quad \Omega = \text{Cov}(F) = \begin{pmatrix}0.04 & 0.005 \\ 0.005 & 0.01\end{pmatrix}, \quad D = \text{diag}(0.02, 0.03, 0.025).

(Think F1=F_1 = market factor, F2=F_2 = value factor, ϵ\epsilon = stock-specific.)

  1. Compute Σ=BΩB+D\Sigma = B\Omega B^\top + D explicitly as a 3×33\times 3 matrix.

  2. Verify Σ\Sigma is symmetric.

  3. Check that Σ\Sigma is PSD by computing its eigenvalues numerically. (Use numpy.linalg.eigvalsh.)
  4. Compute the correlation matrix ρ=Dσ1ΣDσ1\rho = D_\sigma^{-1}\Sigma D_\sigma^{-1} where Dσ=diag(Σii)D_\sigma = \text{diag}(\sqrt{\Sigma_{ii}}). Identify the most- and least-correlated pair of assets.

Hint

Numerical precision: compute BΩBB\Omega B^\top first, then add DD. Don't forget to add DD to the diagonal only.
Jump to the solution when you're ready.