Korrelation och kovarians

Introduktion till portföljriskhantering i Python

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Pearsons korrelation

Exempel på olika korrelationer mellan två stokastiska variabler:

Introduktion till portföljriskhantering i Python

Pearsons korrelation

En heatmap över en korrelationsmatris:

Introduktion till portföljriskhantering i Python

Korrelationsmatris i Python

Anta att StockReturns är en pandas DataFrame med aktieavkastningar. Då beräknar du korrelationsmatrisen så här:

correlation_matrix = StockReturns.corr()
print(correlation_matrix)

Introduktion till portföljriskhantering i Python

Portföljens standardavvikelse

Portföljens standardavvikelse för en tvåtillgångsportfölj:

$$ \sigma_p = \sqrt{ w_1^2 \sigma_1^2 + w_2^2 \sigma_2^2 + 2 w_1 w_2 \rho_{1, 2} \sigma_1 \sigma_2 }$$

  • $\sigma_p$: Portföljens standardavvikelse
  • w: Tillgångsvikt
  • $\sigma$: Tillgångens volatilitet
  • $\rho_{1, 2}$: Korrelation mellan tillgång 1 och 2
Introduktion till portföljriskhantering i Python

Kovariansmatrisen

Beräkning av kovariansmatrisen ($ \Sigma $) för avkastningar X:

Introduktion till portföljriskhantering i Python

Kovariansmatrisen i Python

Anta att StockReturns är en pandas DataFrame med aktieavkastningar. Då beräknar du kovariansmatrisen så här:

cov_mat = StockReturns.cov()
cov_mat

Introduktion till portföljriskhantering i Python

Annualisering av kovariansmatrisen

Så här annualiserar du kovariansmatrisen:

cov_mat_annual = cov_mat * 252
Introduktion till portföljriskhantering i Python

Portföljens standardavvikelse med kovarians

Formeln för portföljens volatilitet:

$$ \sigma_{Portfolio} = \sqrt{ w_T \cdot \Sigma \cdot w } $$

  • $ \sigma_{Portfolio} $: Portföljens volatilitet
  • $ \Sigma $: Kovariansmatris för avkastningar
  • w: Portföljvikter ($ w_T $ är transponerade portföljvikter)
  • $ \cdot $ Skalärproduktsoperatorn
Introduktion till portföljriskhantering i Python

Matristransposition

Exempel på matristransposition:

Introduktion till portföljriskhantering i Python

Skalärprodukt

Skalärprodukten av två vektorer a och b:

Introduktion till portföljriskhantering i Python

Portföljens standardavvikelse i Python

Beräkna portföljvolatiliteten med en viktarray och en kovariansmatris:

import numpy as np
port_vol = np.sqrt(np.dot(weights.T, np.dot(cov_mat, weights)))
port_vol
0.035
Introduktion till portföljriskhantering i Python

Nu kör vi en övning!

Introduktion till portföljriskhantering i Python

Preparing Video For Download...