Numeriska normalitetstester
Paketet moments innehåller funktioner för att beräkna kurtosis och skevhet för data, samt för att genomföra Jarque-Bera-testet – ett normalitetstest baserat på dessa högre ordningens moment. Med ett enda anrop jämför testet datans skevhet och kurtosis med de teoretiska värdena för normalfördelningen, vilka är 0 respektive 3.
jarque.test(x)
skewness(x, na.rm = FALSE)
kurtosis(x, na.rm = FALSE)
I den här övningen beräknar du skevhet och kurtosis för djx – Dow Jones-indexet för perioden 2008–2011 – och tillämpar Jarque-Bera-testet för normalitet. Därefter tillämpar du samma metoder på djreturns, som innehåller 29 av Dow Jones-aktierna för samma period.
Kom ihåg att du kan använda apply(X, MARGIN, FUN, …) för att tillämpa funktioner över arraymarginaler. Parametern MARGIN är en vektor som anger var funktionen ska tillämpas – här använder du 2 för att ange att funktionen FUN ska tillämpas på kolumnerna i matrisen X.
Paketet moments har redan importerats, och data för djx och djreturns finns i din arbetsmiljö.
Den här övningen är en del av kursen
Kvantitativ riskhantering i R
Övningsinstruktioner
- Beräkna skevheten och kurtosis för Dow Jones-indexets avkastningar i
djxmed hjälp avskewness()respektivekurtosis(). - Genomför ett Jarque-Bera-test av normalitet för
djxmedjarque.test(). - Använd
apply()för att beräkna skevheten och kurtosis för de enskilda aktieernas avkastningar idjreturns, och tilldela resultaten tillsrespektivek. - Fyll i
plot()för att plottakmotsmed parameterntype = "n", och placera sedan aktiesymbolerna vid punkterna med kommandottext()(detta är redan gjort åt dig). - Använd
apply()för att genomföra Jarque-Bera-testet för var och en av Dow Jones-komponenterna idjreturns.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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
___(___)