Aggregera till veckovy med avslut på onsdagar
I den här övningen lär du dig en generell aggregeringsteknik för att aggregera dagliga data till veckovisa data – med veckor som avslutas på onsdagar. Det här görs ofta inom aktiemarknadsforskning för att undvika säsongsmönster inom veckan.
Funktionen period.apply() tar ett xts-objekt, slutpunkter för en tidsperiod och en aggregeringsfunktion. Sedan applicerar den funktionen på varje grupp av data mellan slutpunkterna.
Funktionen endpoints() kan beräkna slutpunkterna för en tidsperiod till period.apply(), men du kan även använda egna slutpunkter. Din anpassade vektor med slutpunkter måste dock börja med noll och sluta med det totala antalet observationer du ska aggregera – precis som utdata från endpoints().
Du använder .indexwday() för att hitta onsdagen i varje vecka. Den returnerar ett tal mellan 0 och 6, där söndag = 0.
Den här övningen använder de dagliga Fed Funds-data (DFF) från tidigare övningar.
Den här övningen är en del av kursen
Importera och hantera finansiella data i R
Övningsinstruktioner
- Använd
.indexwday()för att hämta veckodagarna från indexet iDFF. Tilldela resultatet tillindex_weekdays. - Använd funktionen
which()för att hitta positionerna för onsdagarna iindex_weekdays. Spara resultatet iwednesdays. - Komplettera kommandot så att
end_pointsbörjar med 0 och slutar med det totala antalet rader – precis som utdata frånendpoints(). - Använd
period.apply()ochend_pointsför att aggregeraDFFtill veckogenomsnitt. Tilldela resultatet tillweekly_mean.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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