1. Nauka
  2. /
  3. Kursy
  4. /
  5. Ilościowe zarządzanie ryzykiem w R

Connected

ćwiczenie

Nakładające się stopy zwrotu

Gdy agregujesz serie, sumując dzienne log-stopy zwrotu w dłuższe przedziały, analizujesz mniejszą liczbę obserwacji. Aby zachować ilość danych, możesz obliczać nakładające się stopy zwrotu za pomocą funkcji rollapplyr() – choć takie podejście wprowadza silne korelacje między obserwacjami.

W przeciętnym tygodniu kalendarzowym przypada 5 dni handlowych. Obliczając 5-dniowe sumy kroczące dziennych log-stóp zwrotu indeksu, otrzymujesz przybliżone nakładające się tygodniowe stopy zwrotu, kończące się na każdym dniu tygodnia. Analogicznie – 21-dniowe sumy kroczące dają przybliżone miesięczne stopy zwrotu, a 63-dniowe – kwartalne.

Przyjrzyjmy się przykładowi z danymi dziennych stóp zwrotu indeksu Dow Jones zawartymi w djx. Ponieważ każda suma krocząca wymaga 5 wartości, pierwsze 4 wyniki będą równe NA. W tym przypadku usuniemy je za pomocą indeksowania:

> djx5 <- rollapplyr(djx, width = 5, FUN = sum)
> head(djx5)
                  ^DJI
2008-01-03          NA
2008-01-04          NA
2008-01-07          NA
2008-01-08          NA
2008-01-09 -0.02394677
2008-01-10 -0.01571869

> djx5 <- djx5[-(1:4)]

W tym ćwiczeniu obliczysz sumy kroczące dla różnych przedziałów na podstawie djx, który jest wczytany do twojego środowiska pracy. Następnie wyznaczysz skośność i kurtozę otrzymanych danych oraz przeprowadzisz test Jarque'a-Bery – tak jak w poprzednich ćwiczeniach. Sprawdź, czy nakładające się stopy zwrotu lepiej odpowiadają rozkładowi normalnemu.

Instrukcje

100 XP
  • Oblicz 21-dniową sumę kroczącą log-stóp zwrotu z djx, usuń pierwsze 20 wartości i przypisz wynik do djx21.
  • Oblicz 63-dniową sumę kroczącą log-stóp zwrotu z djx, usuń pierwsze 62 wartości i przypisz wynik do djx63.
  • Użyj merge() z argumentem all = FALSE, aby połączyć djx, djx21 i djx63 w tej kolejności, a następnie przypisz wynik do djx2. Zwizualizuj dane za pomocą plot.zoo().
  • Użyj apply() i odpowiednich funkcji, aby obliczyć skośność i kurtozę dla każdej serii w djx2.
  • Użyj apply() i odpowiedniej funkcji, aby przeprowadzić test Jarque'a-Bery na każdej serii w djx2.