Überlappende Renditen
Wenn du Reihen aggregierst, indem du tägliche Log-Renditen zu längeren Intervallen aufsummierst, analysierst du weniger Beobachtungen. Um die Datenmenge zu erhalten, kannst du mit der Funktion rollapplyr() überlappende Renditen berechnen; das erzeugt allerdings auch starke Korrelationen zwischen den Beobachtungen.
Im Durchschnitt gibt es 5 Handelstage pro Kalenderwoche. Wenn du die 5-tägigen gleitenden Summen der Log-Renditen täglicher Indexdaten berechnest, erhältst du näherungsweise überlappende Wochenrenditen, die an jeder Kalenderwoche enden. Entsprechend liefern 21-tägige gleitende Summen näherungsweise überlappende Monatsrenditen, und 63-tägige gleitende Summen näherungsweise überlappende Quartalsrenditen.
Schauen wir uns ein Beispiel mit den täglichen Renditen des Dow Jones in djx an. Da für jede gleitende Summe 5 Werte verwendet werden, sind die ersten 4 Werte im Ergebnis NA. In diesem Fall entfernen wir sie per Indizierung:
> 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 dieser Übung berechnest du gleitende Summen mit unterschiedlichen Intervallen aus djx, das in deinem Workspace geladen ist. Danach bestimmst du die Schiefe und Kurtosis der resultierenden Daten und führst – wie in den vorherigen Übungen – den Jarque-Bera-Test durch. Wirken die überlappenden Renditen normaler?
Diese Übung ist Teil des Kurses
Quantitatives Risikomanagement in R
Anleitung zur Übung
- Berechne eine 21-tägige gleitende Summe der Log-Renditen in
djx, entferne die ersten 20 Werte und weise das Ergebnisdjx21zu. - Berechne eine 63-tägige gleitende Summe der Log-Renditen in
djx, entferne die ersten 62 Werte und weise das Ergebnisdjx63zu. - Verwende
merge()mitall = FALSE, umdjx,djx21unddjx63in dieser Reihenfolge zu mergen, und weise das Ergebnisdjx2zu. Plotte es mitplot.zoo(). - Verwende
apply()und die passenden Funktionen, um die Schiefe und die Kurtosis für jede der Reihen indjx2zu berechnen. - Verwende
apply()und die passende Funktion, um den Jarque-Bera-Test für jede der Reihen indjx2durchzuführen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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
___(___)