Dynamiczna kowariancja w optymalizacji portfela

Modele GARCH w Pythonie

Chelsea Yang

Data Science Instructor

Czym jest kowariancja

  • Opisuje zależność między ruchami dwóch zmiennych
  • Kowariancja dodatnia: zmienne poruszają się w tym samym kierunku
  • Kowariancja ujemna: zmienne poruszają się w przeciwnych kierunkach

Przykład kowariancji

Modele GARCH w Pythonie

Dynamiczna kowariancja z modelem GARCH

Jeśli dwie stopy zwrotu mają korelację $\rho$ i zmienną w czasie zmienność $\sigma_1$ oraz $\sigma_2$:

$Covariance = \rho \cdot \sigma_1 \cdot \sigma_2$

covariance =  correlation * garch_vol1 * garch_vol2
Modele GARCH w Pythonie

Obliczanie kowariancji GARCH w Pythonie

Krok 1: Dopasowanie modeli GARCH i wyznaczenie zmienności dla każdej serii zwrotów

# gm_eur, gm_cad are fitted GARCH models
vol_eur = gm_eur.conditional_volatility
vol_cad = gm_cad.conditional_volatility

Krok 2: Obliczenie standaryzowanych reszt z dopasowanych modeli GARCH

resid_eur = gm_eur.resid/vol_eur
resid_cad = gm_cad.resid/vol_cad
Modele GARCH w Pythonie

Obliczanie kowariancji GARCH w Pythonie (cd.)

Krok 3: Obliczenie $\rho$ jako prostej korelacji standaryzowanych reszt

corr = np.corrcoef(resid_eur, resid_cad)[0,1]

Krok 4: Obliczenie kowariancji GARCH przez pomnożenie korelacji i zmienności.

covariance =  corr * vol_eur * vol_cad
Modele GARCH w Pythonie

Nowoczesna teoria portfela (MPT)

  • Opracowana przez Harry'ego Markowitza w artykule „Portfolio Selection" (1952)
  • Wykorzystuje efekt dywersyfikacji
  • Optymalny portfel maksymalizuje zwrot przy minimalnym ryzyku
Modele GARCH w Pythonie

Intuicja MPT

  • Wariancja prostego portfela dwóch aktywów:

_W1$*$ Wariancja1 + W2$*$ Wariancja2 + 2$*$W1$*$W2$*$Kowariancja _

 

  • Efekt dywersyfikacji:

Ryzyko można ograniczyć, łącząc aktywa o ujemnej kowariancji

Modele GARCH w Pythonie

Czas na ćwiczenia!

Modele GARCH w Pythonie

Preparing Video For Download...