IniziaInizia gratis

Scomporre la crisi finanziaria

Nel video hai visto la frontiera efficiente per il portafoglio delle banche d'investimento sull'intero periodo 2005 - 2010, che include il periodo prima, durante e dopo la crisi finanziaria globale.

Qui scomporrai questo periodo in tre sotto-periodi, o epochs: 2005-2006 (before), 2007-2008 (during) e 2009-2010 (after). Per ciascun periodo calcolerai la matrice di covarianza efficiente e le confronterai tra loro.

I prices del portafoglio per il 2005 - 2010 sono disponibili nel tuo workspace, così come l'oggetto CovarianceShrinkage di PyPortfolioOpt.

Questo esercizio fa parte del corso

Gestione quantitativa del rischio in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un dizionario epochs: le sue chiavi sono i sotto-periodi e i suoi valori sono dizionari con le date di 'start' e 'end'.
  • Per ognuna delle chiavi dei sotto-periodi in epochs, imposta sub_price all'intervallo di prices relativo a quel sotto-periodo.
  • Usa sub_price e l'oggetto CovarianceShrinkage per trovare una matrice di covarianza efficiente per ciascun sotto-periodo.
  • Stampa e confronta le matrici di covarianza efficienti risultanti per tutti e tre i sotto-periodi.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Create a dictionary of time periods (or 'epochs')
epochs = { 'before' : {'start': '1-1-2005', 'end': '31-12-2006'},
           'during' : {____: '1-1-2007', 'end': '31-12-2008'},
           'after'  : {'start': '1-1-2009', ____: '31-12-2010'}
         }

# Compute the efficient covariance for each epoch
e_cov = {}
for x in epochs.keys():
  sub_price = prices.loc[epochs[x][____]:____[x]['end']]
  e_cov[x] = CovarianceShrinkage(____).ledoit_wolf()

# Display the efficient covariance matrices for all epochs
print("Efficient Covariance Matrices\n", e_cov)
Modifica ed esegui il codice