Wöchentlich aggregieren, endend am Mittwoch
In dieser Übung lernst du eine allgemeine Aggregationstechnik kennen, um Tagesdaten wöchentlich zu aggregieren – mit Wochen, die am Mittwoch enden. Das wird in der Aktienmarktforschung häufig genutzt, um saisonale Effekte innerhalb der Woche zu vermeiden.
Die Funktion period.apply() nimmt ein xts-Objekt, Zeitperioden-Endpunkte und eine Aggregationsfunktion. Anschließend wendet sie die Funktion auf jede Gruppe von Daten zwischen den Endpunkten an.
Die Funktion endpoints() kann die Endpunkte der Zeitperioden für period.apply() berechnen; du kannst aber auch eigene Endpunkte verwenden. Dein Vektor mit benutzerdefinierten Endpunkten muss jedoch mit Null beginnen und mit der Gesamtzahl der Beobachtungen enden, die du aggregieren willst – genau wie die Ausgabe von endpoints().
Du verwendest .indexwday(), um den Mittwoch jeder Woche zu finden. Die Funktion liefert eine Zahl zwischen 0–6, wobei Sonntag = 0 ist.
In dieser Übung arbeitest du mit den täglichen Fed-Funds-Daten (DFF) aus den vorigen Übungen.
Diese Übung ist Teil des Kurses
<Kurs>Importing und Verwalten finanzieller Daten in R</Kurs>Übungsanweisungen
- Verwende
.indexwday(), um die Wochentage aus dem Index vonDFFzu erhalten. Weise das Ergebnisindex_weekdayszu. - Verwende die Funktion
which(), um die Positionen der Mittwoche inindex_weekdayszu finden. Speichere das Ergebnis inwednesdays. - Vervollständige den Befehl, damit
end_pointsmit 0 beginnt und mit der Gesamtzahl der Zeilen endet – wie die Ausgabe vonendpoints(). - Verwende
period.apply()undend_points, umDFFzu wöchentlichen Mittelwerten zu aggregieren. Weise das Ergebnisweekly_meanzu.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Extract index weekdays (Sunday = 0)
# Find locations of Wednesdays
wednesdays <- ___(index_weekdays == 3)
# Create custom end points
end_points <- c(___, wednesdays, ___)
# Calculate weekly mean using custom end points