Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj funkcji to.monthly() z argumentem sp500 i przypisz wynik do zmiennej sp500_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_returns za pomocą funkcji Return.calculate() na obiekcie sp500_monthly, korzystając z cen zamknięcia (czwarta kolumna w sp500_monthly).
  • Użyj plot.zoo(), aby narysować wykres szeregu czasowego sp500_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
Edytuj i uruchom kod