Агрегування до тижнів із завершенням у середу
У цій вправі ви опануєте загальний прийом агрегування: перетворення щоденних даних на тижневі з тижнями, що завершуються в середу. Так часто роблять у дослідженнях фондового ринку, щоб уникнути внутрішньотижневої сезонності.
Функція period.apply() приймає об'єкт xts, кінцеві точки періодів часу та агрегувальну функцію. Потім вона застосовує цю функцію до кожної групи даних між цими кінцевими точками.
Функція endpoints() може обчислити кінцеві точки періодів часу для period.apply(), і ви також можете використовувати власні кінцеві точки. Але ваш вектор власних кінцевих точок має починатися з нуля і закінчуватися загальною кількістю спостережень, які ви будете агрегувати, так само, як вихід endpoints().
Ви використаєте .indexwday(), щоб знайти середу кожного тижня. Вона повертає число від 0 до 6, де неділя = 0.
У цій вправі використовуються щоденні дані за ставкою Fed Funds (DFF) з попередніх вправ.
Ця вправа є частиною курсу
Імпорт і керування фінансовими даними в R
Інструкції до вправи
- Використайте
.indexwday(), щоб отримати дні тижня з індексуDFF. Присвойте результат доindex_weekdays. - Використайте функцію
which(), щоб знайти позиції середи вindex_weekdays. Збережіть результат уwednesdays. - Доповніть команду так, щоб
end_pointsпочинався з 0 і закінчувався загальною кількістю рядків, як у виходіendpoints(). - Використайте
period.apply()іend_points, щоб агрегуватиDFFдо тижневих середніх. Присвойте результат доweekly_mean.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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