Rendimenti sovrapposti
Quando aggreghi le serie sommando i log-rendimenti giornalieri su intervalli più lunghi, analizzi un numero minore di osservazioni. Per preservare la quantità di dati, puoi calcolare i rendimenti sovrapposti con la funzione rollapplyr(); questo crea anche forti correlazioni tra le osservazioni.
Nel calendario settimanale medio ci sono 5 giorni di negoziazione. Calcolando le somme mobili a 5 giorni dei log-rendimenti dei dati giornalieri dell'indice, ottieni approssimativi rendimenti settimanali sovrapposti con termine in ogni settimana di calendario. Allo stesso modo, calcolare somme mobili a 21 giorni fornisce approssimativi rendimenti mensili sovrapposti e calcolare somme mobili a 63 giorni fornisce approssimativi rendimenti trimestrali sovrapposti.
Vediamo un esempio con i rendimenti giornalieri del Dow Jones in djx. Poiché per calcolare ciascuna somma mobile vengono usati 5 valori, i primi 4 valori del risultato sono NA. In questo caso, useremo l'indicizzazione per rimuoverli:
> 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)]
In questo esercizio calcolerai somme mobili di intervalli diversi a partire da djx, che è già caricato nel tuo workspace. Poi troverai asimmetria e curtosi dei dati risultanti ed eseguirai il test di Jarque-Bera proprio come negli esercizi precedenti. I rendimenti sovrapposti ti sembrano più normali?
Questo esercizio fa parte del corso
Gestione del rischio quantitativa in R
Istruzioni dell'esercizio
- Calcola una somma mobile a 21 giorni dei log-rendimenti in
djx, rimuovi i primi 20 valori e assegna adjx21. - Calcola una somma mobile a 63 giorni dei log-rendimenti in
djx, rimuovi i primi 62 valori e assegna adjx63. - Usa
merge()eall = FALSEper uniredjx,djx21edjx63in quest'ordine, quindi assegna adjx2. Traccialo conplot.zoo(). - Usa
apply()e le funzioni appropriate per calcolare asimmetria e curtosi per ciascuna delle serie indjx2. - Usa
apply()e la funzione appropriata per eseguire il test di Jarque-Bera su ciascuna delle serie indjx2.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Calculate a 21-day moving sum of djx
djx21 <- ___(___, ___, ___)[___]
# Calculate a 63-day moving sum of djx
djx63 <- ___(___)[___]
# Merge the three series and plot
djx2 <- ___(___)
___(___)
# Compute the skewness and kurtosis for each series in djx2
___(___)
___(___)
# Conduct the Jarque-Bera test to each series in djx2
___(___)