LoslegenKostenlos loslegen

Ü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

Kurs anzeigen

Anleitung zur Übung

  • Berechne eine 21-tägige gleitende Summe der Log-Renditen in djx, entferne die ersten 20 Werte und weise das Ergebnis djx21 zu.
  • Berechne eine 63-tägige gleitende Summe der Log-Renditen in djx, entferne die ersten 62 Werte und weise das Ergebnis djx63 zu.
  • Verwende merge() mit all = FALSE, um djx, djx21 und djx63 in dieser Reihenfolge zu mergen, und weise das Ergebnis djx2 zu. Plotte es mit plot.zoo().
  • Verwende apply() und die passenden Funktionen, um die Schiefe und die Kurtosis für jede der Reihen in djx2 zu berechnen.
  • Verwende apply() und die passende Funktion, um den Jarque-Bera-Test für jede der Reihen in djx2 durchzufü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
___(___)
Code bearbeiten und ausführen