Analiza kryzysu finansowego
W filmie widziałeś efektywną granicę portfela banków inwestycyjnych dla całego okresu 2005–2010, obejmującego czas przed globalnym kryzysem finansowym, w jego trakcie i po nim.
Teraz podzielisz ten okres na trzy podokresy, czyli epochs: 2005–2006 (przed), 2007–2008 (w trakcie) i 2009–2010 (po). Dla każdego z nich obliczysz wydajną macierz kowariancji i porównasz wyniki.
Dane prices portfela z lat 2005–2010 są dostępne w twoim środowisku roboczym, podobnie jak obiekt CovarianceShrinkage z biblioteki PyPortfolioOpt.
To ćwiczenie jest częścią kursu
Ilościowe zarządzanie ryzykiem w Pythonie
Instrukcje do ćwiczenia
- Utwórz słownik
epochs: jego klucze to nazwy podokresów, a wartości to słowniki z datami 'start' i 'end'. - Dla każdego klucza podokresu w
epochsprzypisz zmiennejsub_pricezakrespricesodpowiadający temu podokresowi. - Użyj
sub_pricei obiektuCovarianceShrinkage, aby wyznaczyć wydajną macierz kowariancji dla każdego podokresu. - Wydrukuj i porównaj uzyskane wydajne macierze kowariancji dla wszystkich trzech podokresów.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)