Korelace a kovariance

Úvod do řízení portfoliového rizika v Pythonu

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Pearsonova korelace

Příklady různých korelací mezi dvěma náhodnými veličinami:

Úvod do řízení portfoliového rizika v Pythonu

Pearsonova korelace

Heatmapa korelační matice:

Úvod do řízení portfoliového rizika v Pythonu

Korelační matice v Pythonu

Pokud je StockReturns pandas DataFrame výnosů akcií, korelační matici vypočítáte takto:

correlation_matrix = StockReturns.corr()
print(correlation_matrix)

Úvod do řízení portfoliového rizika v Pythonu

Směrodatná odchylka portfolia

Směrodatná odchylka portfolia složeného ze dvou aktiv:

$$ \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$: Směrodatná odchylka portfolia
  • w: Váha aktiva
  • $\sigma$: Volatilita aktiva
  • $\rho_{1, 2}$: Korelace mezi aktivy 1 a 2
Úvod do řízení portfoliového rizika v Pythonu

Kovariační matice

Výpočet kovariační matice ($ \Sigma $) výnosů X:

Úvod do řízení portfoliového rizika v Pythonu

Kovariační matice v Pythonu

Pokud je StockReturns pandas DataFrame výnosů akcií, kovariační matici vypočítáte takto:

cov_mat = StockReturns.cov()
cov_mat

Úvod do řízení portfoliového rizika v Pythonu

Anualizace kovariační matice

Anualizace kovariační matice:

cov_mat_annual = cov_mat * 252
Úvod do řízení portfoliového rizika v Pythonu

Směrodatná odchylka portfolia pomocí kovariance

Vzorec pro volatilitu portfolia:

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

  • $ \sigma_{Portfolio} $: Volatilita portfolia
  • $ \Sigma $: Kovariační matice výnosů
  • w: Váhy portfolia ($ w_T $ jsou transponované váhy)
  • $ \cdot $ Operátor skalárního součinu
Úvod do řízení portfoliového rizika v Pythonu

Transpozice matice

Příklady operace transpozice matice:

Úvod do řízení portfoliového rizika v Pythonu

Skalární součin

Operace skalárního součinu dvou vektorů a a b:

Úvod do řízení portfoliového rizika v Pythonu

Směrodatná odchylka portfolia v Pythonu

Pro výpočet volatility portfolia předpokládejte pole vah a kovariační matici:

import numpy as np
port_vol = np.sqrt(np.dot(weights.T, np.dot(cov_mat, weights)))
port_vol
0.035
Úvod do řízení portfoliového rizika v Pythonu

Pojďme si procvičit!

Úvod do řízení portfoliového rizika v Pythonu

Preparing Video For Download...