Aan de slagGa gratis aan de slag

Aggregereer naar wekelijks, eindigend op woensdagen

In deze oefening leer je een algemene aggregatietechniek om dagelijkse gegevens te aggregeren naar wekelijks, maar met weken die eindigen op woensdag. Dit wordt vaak gedaan in beursonderzoek om seizoenspatronen binnen de week te vermijden.

De functie period.apply() neemt een xts-object, eindpunten van de tijdsperiode en een aggregatiefunctie. Vervolgens past het de functie toe op elke groep gegevens tussen de eindpunten.

De functie endpoints() kan de eindpunten van de tijdsperiode voor period.apply() berekenen, en je kunt ook aangepaste eindpunten gebruiken. Maar je aangepaste vector met eindpunten moet beginnen met nul en eindigen met het totale aantal observaties dat je gaat aggregeren, net zoals de uitvoer van endpoints().

Je gebruikt .indexwday() om de woensdag van elke week te vinden. Deze functie retourneert een getal tussen 0-6, waarbij zondag=0.

Deze oefening gebruikt de dagelijkse Fed Funds-gegevens (DFF) uit eerdere oefeningen.

Deze oefening maakt deel uit van de cursus

Financiële gegevens importeren en beheren in R

Cursus bekijken

Oefeninstructies

  • Gebruik .indexwday() om de weekdagen uit de index van DFF te halen. Ken het resultaat toe aan index_weekdays.
  • Gebruik de functie which() om de posities van de woensdagen in index_weekdays te vinden. Sla het resultaat op in wednesdays.
  • Maak de opdracht af zodat end_points begint met 0 en eindigt met het totale aantal rijen, net zoals de uitvoer van endpoints().
  • Gebruik period.apply() en end_points om DFF te aggregeren naar wekelijkse gemiddelden. Ken het resultaat toe aan weekly_mean.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren