Test numerici di normalità
Il pacchetto moments contiene funzioni per calcolare curtosi e asimmetria dei dati, oltre a implementare il test di Jarque-Bera, un test di normalità basato su questi momenti di ordine superiore. Con un unico comando confronta asimmetria e curtosi dei dati con i valori teorici della distribuzione normale, che sono rispettivamente 0 e 3.
jarque.test(x)
skewness(x, na.rm = FALSE)
kurtosis(x, na.rm = FALSE)
In questo esercizio calcolerai asimmetria e curtosi per djx, l'indice Dow Jones dal 2008 al 2011, e applicherai il test di normalità di Jarque-Bera. Poi applicherai gli stessi metodi a djreturns, che contiene 29 titoli del Dow Jones per lo stesso periodo.
Ricorda che puoi usare apply(X, MARGIN, FUN, …) per applicare funzioni lungo le dimensioni di un array. Il parametro MARGIN è un vettore che indica dove verrà applicata la funzione; in questo caso userai 2 per specificare che la funzione FUN deve essere applicata alle colonne della matrice X.
Il pacchetto moments è già stato importato per te, e i dati djx e djreturns sono nel tuo workspace.
Questo esercizio fa parte del corso
Gestione del rischio quantitativa in R
Istruzioni dell'esercizio
- Calcola l'asimmetria e la curtosi dei rendimenti dell'indice Dow Jones in
djxusando rispettivamenteskewness()ekurtosis(). - Esegui un test di normalità di Jarque-Bera per
djxusandojarque.test(). - Usa
apply()per calcolare asimmetria e curtosi dei rendimenti azionari individuali indjreturns, assegnando i risultati rispettivamente asek. - Compila
plot()per tracciarekcontroscon il parametrotype = "n", quindi posiziona i simboli dei titoli nei punti con il comandotext()(questo è già stato predisposto per te). - Usa
apply()per eseguire il test di Jarque-Bera per ciascuno dei componenti del Dow Jones indjreturns.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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
___(___)