LoslegenKostenlos starten

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>
Kurs ansehen

Übungsanweisungen

  • Verwende .indexwday(), um die Wochentage aus dem Index von DFF zu erhalten. Weise das Ergebnis index_weekdays zu.
  • Verwende die Funktion which(), um die Positionen der Mittwoche in index_weekdays zu finden. Speichere das Ergebnis in wednesdays.
  • Vervollständige den Befehl, damit end_points mit 0 beginnt und mit der Gesamtzahl der Zeilen endet – wie die Ausgabe von endpoints().
  • Verwende period.apply() und end_points, um DFF zu wöchentlichen Mittelwerten zu aggregieren. Weise das Ergebnis weekly_mean zu.

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
Code bearbeiten und ausführen