Inizia subitoInizia gratis

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

Visualizza corso

Istruzioni dell'esercizio

  • Calcola una somma mobile a 21 giorni dei log-rendimenti in djx, rimuovi i primi 20 valori e assegna a djx21.
  • Calcola una somma mobile a 63 giorni dei log-rendimenti in djx, rimuovi i primi 62 valori e assegna a djx63.
  • Usa merge() e all = FALSE per unire djx, djx21 e djx63 in quest'ordine, quindi assegna a djx2. Traccialo con plot.zoo().
  • Usa apply() e le funzioni appropriate per calcolare asimmetria e curtosi per ciascuna delle serie in djx2.
  • Usa apply() e la funzione appropriata per eseguire il test di Jarque-Bera su ciascuna delle serie in djx2.

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
___(___)
Modifica ed esegui il codice