Aggrega a frequenza settimanale, con chiusura il mercoledì
In questo esercizio imparerai una tecnica generale per aggregare dati giornalieri a cadenza settimanale, ma con settimane che terminano il mercoledì. Questo si fa spesso nella ricerca sui mercati azionari per evitare la stagionalità infra-settimanale.
La funzione period.apply() accetta un oggetto xts, gli end point dei periodi temporali e una funzione di aggregazione. Quindi applica la funzione a ciascun gruppo di dati tra gli end point.
La funzione endpoints() può calcolare gli end point temporali per period.apply(), e puoi anche usare end point personalizzati. Tuttavia, il tuo vettore di end point personalizzati deve iniziare con zero e terminare con il numero totale di osservazioni che stai per aggregare, proprio come l’output di endpoints().
Userai .indexwday() per trovare il mercoledì di ogni settimana. Restituisce un numero tra 0 e 6, dove Sunday=0.
Questo esercizio utilizzerà i dati giornalieri dei Fed Funds (DFF) visti negli esercizi precedenti.
Questo esercizio fa parte del corso
Importare e gestire dati finanziari in R
Istruzioni dell'esercizio
- Usa
.indexwday()per ottenere i giorni della settimana dall’indice diDFF. Assegna il risultato aindex_weekdays. - Usa la funzione
which()per trovare le posizioni dei mercoledì inindex_weekdays. Salva il risultato inwednesdays. - Completa il comando per fare in modo che
end_pointsinizi con 0 e termini con il numero totale di righe, come l’output diendpoints(). - Usa
period.apply()edend_pointsper aggregareDFFin medie settimanali. Assegna il risultato aweekly_mean.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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