Динамічна коваріація в оптимізації портфеля

Моделі GARCH у Python

Chelsea Yang

Data Science Instructor

Що таке коваріація

  • Описує зв'язок між рухом двох змінних
  • Додатна коваріація: рухаються разом
  • Від'ємна коваріація: рухаються у протилежних напрямах

Приклад коваріації

Моделі GARCH у Python

Динамічна коваріація з GARCH

Якщо доходності двох активів мають кореляцію $\rho$ і часово-змінні волатильності $\sigma_1$ та $\sigma_2$:

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

covariance =  correlation * garch_vol1 * garch_vol2
Моделі GARCH у Python

Обчислення коваріації GARCH у Python

Крок 1: Підберіть моделі GARCH і отримайте волатильність для кожного ряду доходностей

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

Крок 2: Обчисліть стандартизовані залишки зі знайдених моделей GARCH

resid_eur = gm_eur.resid/vol_eur
resid_cad = gm_cad.resid/vol_cad
Моделі GARCH у Python

Обчислення коваріації GARCH у Python (продовження)

Крок 3: Обчисліть $\rho$ як просту кореляцію стандартизованих залишків

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

Крок 4: Обчисліть коваріацію GARCH як добуток кореляції та волатильностей.

covariance =  corr * vol_eur * vol_cad
Моделі GARCH у Python

Сучасна теорія портфеля (MPT)

  • Закладено Гаррі Марковіцем у праці «Portfolio Selection» (1952)
  • Використовує ефект диверсифікації
  • Оптимальний портфель може давати макс. дохідність за мін. ризику
Моделі GARCH у Python

Інтуїція MPT

  • Дисперсія простого двоактивного портфеля:

_W1$*$ Дисперсія1 + W2$*$ Дисперсія2 + 2$*$W1$*$W2$*$Коваріація _

 

  • Ефект диверсифікації:

Ризик у портфелі зменшується, якщо поєднати активи з від'ємною коваріацією

Моделі GARCH у Python

Давайте потренуємось!

Моделі GARCH у Python

Preparing Video For Download...