Oblicz dynamiczną wariancję portfela
W tym ćwiczeniu obliczysz wariancję prostego portfela dwuskładnikowego z wykorzystaniem dynamicznej kowariancji wyznaczonej przez modele GARCH.
Nowoczesna Teoria Portfela zakłada, że istnieje optymalny sposób konstruowania portfela, pozwalający wykorzystać efekt dywersyfikacji – dzięki temu można osiągnąć pożądany poziom oczekiwanego zwrotu przy minimalnym ryzyku. Efekt ten jest szczególnie wyraźny, gdy kowariancja między stopami zwrotu aktywów jest ujemna.
Załóż, że masz portfel złożony z dwóch aktywów: par walutowych EUR/USD i CAD/USD. Ich wariancje wyznaczone przez modele GARCH zostały zapisane odpowiednio w variance_eur i variance_cad, a kowariancja między nimi – w covariance. Oblicz łączne wariancje portfela dla różnych wag obu aktywów i zwizualizuj różnice między nimi.
To ćwiczenie jest częścią kursu
Modele GARCH w Pythonie
Instrukcje do ćwiczenia
- Ustaw wagę EUR/USD
Wa1w portfelu a na 0,9, aWb1w portfelu b na 0,5. - Oblicz wariancję
portvar_adla portfela a, korzystając zvariance_eur,variance_cadicovariance; analogicznie obliczportvar_bdla portfela b.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Define weights
Wa1 = ____
Wa2 = 1 - Wa1
Wb1 = ____
Wb2 = 1 - Wb1
# Calculate portfolio variance
portvar_a = Wa1**2 * ____ + Wa2**2 * ____ + 2*Wa1*Wa2 *____
portvar_b = Wb1**2 * ____ + Wb2**2 * ____ + 2*Wb1*Wb2*____
# Plot the data
plt.plot(portvar_a, color = 'green', label = 'Portfolio a')
plt.plot(portvar_b, color = 'deepskyblue', label = 'Portfolio b')
plt.legend(loc = 'upper right')
plt.show()