Agregace na týdenní frekvenci s týdny končícími ve středu
V tomto cvičení se naučíš obecnou techniku agregace denních dat na týdenní frekvenci, přičemž každý týden bude končit ve středu. Tento přístup se často používá ve výzkumu akciových trhů, aby se předešlo vnitrotýdenní sezónnosti.
Funkce period.apply() přijímá objekt xts, koncové body časového období a agregační funkci. Poté tuto funkci aplikuje na každou skupinu dat mezi jednotlivými koncovými body.
Funkce endpoints() umí vypočítat koncové body časového období pro period.apply() – stejně tak ale můžeš použít vlastní koncové body. Vektor vlastních koncových bodů musí začínat nulou a končit celkovým počtem pozorování, která budeš agregovat, stejně jako výstup funkce endpoints().
K nalezení středeční hodnoty v každém týdnu použiješ .indexwday(). Tato funkce vrací číslo v rozsahu 0–6, kde neděle = 0.
Cvičení využívá denní data sazby Fed Funds (DFF) z předchozích cvičení.
Toto cvičení je součástí kurzu
Importing and Managing Financial Data in R
Pokyny k cvičení
- Pomocí
.indexwday()získej dny v týdnu z indexuDFF. Výsledek ulož do proměnnéindex_weekdays. - Pomocí funkce
which()najdi pozice středeční hodnot vindex_weekdays. Výsledek ulož do proměnnéwednesdays. - Doplň příkaz tak, aby
end_pointszačínaly 0 a končily celkovým počtem řádků – stejně jako výstup funkceendpoints(). - Pomocí
period.apply()aend_pointsagregujDFFna týdenní průměry. Výsledek ulož do proměnnéweekly_mean.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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