Agregacja do częstotliwości tygodniowej z końcem w środy
W tym ćwiczeniu poznasz ogólną technikę agregacji danych dziennych do tygodniowych, przy czym tygodnie kończą się w środy. Takie podejście jest często stosowane w badaniach rynku akcji, aby uniknąć sezonowości wewnątrztygodniowej.
Funkcja period.apply() przyjmuje obiekt xts, punkty końcowe okresu oraz funkcję agregującą, a następnie stosuje tę funkcję do każdej grupy danych między punktami końcowymi.
Funkcja endpoints() pozwala obliczyć punkty końcowe okresu na potrzeby period.apply(). Możesz też definiować własne punkty końcowe, jednak twój własny wektor punktów końcowych musi zaczynać się od zera i kończyć łączną liczbą obserwacji, które chcesz zagregować – tak jak dane wyjściowe funkcji endpoints().
Do znalezienia środy każdego tygodnia użyjesz funkcji .indexwday(), która zwraca liczbę z zakresu 0–6, gdzie niedziela = 0.
To ćwiczenie korzysta z dziennych danych Fed Funds (DFF) z poprzednich ćwiczeń.
To ćwiczenie jest częścią kursu
Importowanie i zarządzanie danymi finansowymi w R
Instrukcje do ćwiczenia
- Użyj funkcji
.indexwday(), aby pobrać dni tygodnia z indeksuDFF. Wynik przypisz do zmiennejindex_weekdays. - Użyj funkcji
which(), aby znaleźć pozycje środy windex_weekdays. Wynik zapisz w zmiennejwednesdays. - Uzupełnij polecenie tak, aby
end_pointszaczynał się od 0 i kończył łączną liczbą wierszy – analogicznie do wyniku funkcjiendpoints(). - Użyj funkcji
period.apply()wraz zend_points, aby zagregowaćDFFdo tygodniowych średnich. Wynik przypisz do zmiennejweekly_mean.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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