Analiza miesięcznych stóp zwrotu indeksu S&P 500
W kolejnych ćwiczeniach przeanalizujesz miesięczne wyniki indeksu S&P 500. Jeden obraz mówi więcej niż tysiąc słów – dlatego większość analiz wyników inwestycyjnych zaczyna się od wykresu wartości portfela w czasie.
Po prawej stronie widzisz wykres indeksu S&P 500 dla okresu od 1986 roku do sierpnia 2016 roku. Każda obserwacja odpowiada wartości z końca dnia notowań. Wykres ukazuje kilka okresów hossy i bessy. Przyjrzyj mu się uważnie – czy widzisz, dlaczego lata 2000. są tak często nazywane straconą dekadą inwestowania?
Biblioteki PerformanceAnalytics i xts są już wczytane, a dzienne ceny indeksu S&P 500 dostępne są w przestrzeni roboczej jako zmienna sp500. Zmienna ta należy do klasy szeregów czasowych xts, co oznacza, że każda obserwacja ma przypisany znacznik czasu. Twoim zadaniem jest opisanie miesięcznych wyników indeksu S&P 500. W tym celu najpierw zagreguj dzienne ceny do cen na koniec miesiąca, następnie oblicz miesięczne stopy zwrotu i zwizualizuj je w tabeli.
To ćwiczenie jest częścią kursu
Wprowadzenie do analizy portfela w R
Instrukcje do ćwiczenia
- Użyj funkcji to.monthly() z argumentem
sp500i przypisz wynik do zmiennejsp500_monthly. - Wypisz pierwsze sześć wierszy
sp500_monthly. Zwróć uwagę, jak agregacja danych dała tabelę z czterema kolumnami zawierającymi ceny: otwarcia, najniższą, najwyższą i zamknięcia dla każdego miesiąca. - Utwórz
sp500_returnsza pomocą funkcjiReturn.calculate()na obiekciesp500_monthly, korzystając z cen zamknięcia (czwarta kolumna wsp500_monthly). - Użyj
plot.zoo(), aby narysować wykres szeregu czasowegosp500_returns. - Użyj funkcji table.CalendarReturns() z biblioteki PerformanceAnalytics, aby przedstawić miesięczne stopy zwrotu w tabeli z podziałem na lata i miesiące.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Convert the daily frequency of sp500 to monthly frequency: sp500_monthly
sp500_monthly <-
# Print the first six rows of sp500_monthly
# Create sp500_returns using Return.calculate using the closing prices
sp500_returns <-
# Time series plot
# Produce the year x month table