Numeryczne testy normalności
Pakiet moments zawiera funkcje do obliczania kurtozy i skośności danych, a także do przeprowadzania testu Jarque'a-Bery, który jest testem normalności opartym na momentach wyższych rzędów. W jednym wywołaniu porównuje on skośność i kurtozę danych z wartościami teoretycznymi dla rozkładu normalnego, które wynoszą odpowiednio 0 i 3.
jarque.test(x)
skewness(x, na.rm = FALSE)
kurtosis(x, na.rm = FALSE)
W tym ćwiczeniu obliczysz skośność i kurtozę dla djx – indeksu Dow Jones z lat 2008–2011 – oraz przeprowadzisz test normalności Jarque'a-Bery. Następnie zastosujesz te same metody do djreturns, który zawiera dane dla 29 spółek wchodzących w skład Dow Jones w tym samym okresie.
Pamiętaj, że apply(X, MARGIN, FUN, …) pozwala stosować funkcje wzdłuż wymiarów tablicy. Parametr MARGIN wskazuje, gdzie funkcja ma być zastosowana – w tym przypadku użyj wartości 2, aby funkcja FUN była stosowana do kolumn macierzy X.
Pakiet moments jest już zaimportowany, a dane djx i djreturns znajdują się w twoim środowisku.
To ćwiczenie jest częścią kursu
Ilościowe zarządzanie ryzykiem w R
Instrukcje do ćwiczenia
- Oblicz skośność i kurtozę zwrotów indeksu Dow Jones zawartych w
djx, używając odpowiednio funkcjiskewness()ikurtosis(). - Przeprowadź test normalności Jarque'a-Bery dla
djxza pomocąjarque.test(). - Użyj
apply(), aby obliczyć skośność i kurtozę indywidualnych zwrotów akcji wdjreturns, przypisując wyniki odpowiednio do zmiennychsik. - Uzupełnij
plot(), aby narysować wykreskw zależności odsz parametremtype = "n", a następnie umieść symbole spółek w odpowiednich punktach za pomocą poleceniatext()(ta część jest już gotowa). - Użyj
apply(), aby przeprowadzić test Jarque'a-Bery dla każdej ze spółek wchodzących w skład Dow Jones w zbiorzedjreturns.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Calculate skewness and kurtosis of djx
___(___)
___(___)
# Carry out a Jarque-Bera test for djx
___(___)
# Calculate skewness and kurtosis of djreturns
s <- ___(___)
k <- ___(___)
# Plot k against s and add text labels to identify stocks
plot(___, ___, ___)
text(s, k, names(s), cex = 0.6)
# Carry out Jarque-Bera tests for each constituent in djreturns
___(___)