Covarianza dinamica nell’ottimizzazione di portafoglio

Modelli GARCH in Python

Chelsea Yang

Data Science Instructor

Cos’è la covarianza

  • Descrive come si muovono due variabili
  • Covarianza positiva: si muovono insieme
  • Covarianza negativa: si muovono in direzioni opposte

Esempio di covarianza

Modelli GARCH in Python

Covarianza dinamica con GARCH

Se i rendimenti di due asset hanno correlazione $\rho$ e volatilità variabile nel tempo $\sigma_1$ e $\sigma_2$:

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

covariance =  correlation * garch_vol1 * garch_vol2
Modelli GARCH in Python

Calcolare la covarianza GARCH in Python

Passo 1: Stima modelli GARCH e ottieni la volatilità per ogni serie di rendimenti

# gm_eur, gm_cad sono modelli GARCH stimati
vol_eur = gm_eur.conditional_volatility
vol_cad = gm_cad.conditional_volatility

Passo 2: Calcola i residui standardizzati dai modelli GARCH stimati

resid_eur = gm_eur.resid/vol_eur
resid_cad = gm_cad.resid/vol_cad
Modelli GARCH in Python

Calcolare la covarianza GARCH in Python (cont.)

Passo 3: Calcola $\rho$ come semplice correlazione dei residui standardizzati

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

Passo 4: Calcola la covarianza GARCH moltiplicando correlazione e volatilità.

covariance =  corr * vol_eur * vol_cad
Modelli GARCH in Python

Teoria moderna del portafoglio (MPT)

  • Introdotta da Harry Markowitz nel paper "Portfolio Selection" (1952)
  • Sfrutta l’effetto diversificazione
  • Il portafoglio ottimale massimizza il rendimento con rischio minimo
Modelli GARCH in Python

Intuizione MPT

  • Varianza di un portafoglio a due asset:

_W1$*$ Varianza1 + W2$*$ Varianza2 + 2$*$W1$*$W2$*$Covarianza _

 

  • Effetto diversificazione:

Il rischio si riduce abbinando asset con covarianza negativa

Modelli GARCH in Python

Passiamo alla pratica!

Modelli GARCH in Python

Preparing Video For Download...