Portfel o minimalnej wariancji i maksymalnym wskaźniku Sharpe'a
W poprzednich ćwiczeniach wyznaczyłeś/-aś efektywną granicę przy użyciu siatki docelowych stóp zwrotu. Wynikiem obliczeń były dwa wektory: vpm (wektor średnich portfela) oraz vpsd (wektor odchyleń standardowych, czyli zmienności), a także macierz wag mweights. Teraz skorzystasz z tych wyników, aby zidentyfikować portfel o najmniejszej zmienności oraz portfel o największym wskaźniku Sharpe'a, a następnie wykreślisz alokację ich wag.
Przypomnijmy: wskaźnik Sharpe'a oblicza się jako nadwyżkę stopy zwrotu ponad stopę wolną od ryzyka, podzieloną przez zmienność portfela.
To ćwiczenie jest częścią kursu
Wprowadzenie do analizy portfela w R
Instrukcje do ćwiczenia
- Utwórz
weights_minvarjako wiersz zmweights, w którym odchylenie standardowe jest minimalne(vpsd == min(vpsd)). - Oblicz wskaźnik Sharpe'a dla stóp zwrotu portfela, przyjmując stopę wolną od ryzyka równą 0,75%. Zapisz wynik jako
vsr. - Utwórz
weights_max_srjako wiersz zmweightsodpowiadający portfelowi z maksymalnym wskaźnikiem Sharpe'a wvsr. Podejdź do tego analogicznie jak w pierwszym kroku. - Utwórz wykres słupkowy wag większych niż 1% w portfelu
weights_minvaroraz wykres słupkowy wag większych niż 1% w portfeluweights_max_sr.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Create weights_minvar as the portfolio with the least risk
weights_minvar <- mweights[___ == min(___), ]
# Calculate the Sharpe ratio
vsr <- (___ - ___) / vpsd
# Create weights_max_sr as the portfolio with the maximum Sharpe ratio
weights_max_sr <- mweights[___ == max(___)]
# Create bar plot of weights_minvar and weights_max_sr
par(mfrow = c(2, 1), mar = c(3, 2, 2, 1))
barplot(weights_minvar[weights_minvar > 0.01])
barplot(___[___ > 0.01])