НачатьНачать бесплатно

Агрегирование по неделям с окончанием в среду

В этом упражнении вы освоите универсальный приём агрегирования дневных данных до недельной частоты, причём недели будут заканчиваться в среду. Такой подход часто применяется в исследованиях фондового рынка, чтобы избежать внутринедельной сезонности.

Функция period.apply() принимает объект xts, конечные точки временного периода и функцию агрегирования, после чего применяет эту функцию к каждой группе данных между конечными точками.

Функция endpoints() может вычислять конечные точки временного периода для period.apply(), но вы также можете задавать их вручную. При этом вектор пользовательских конечных точек должен начинаться с нуля и заканчиваться общим числом агрегируемых наблюдений — точно так же, как выходные данные endpoints().

Для поиска сред каждой недели вы воспользуетесь функцией .indexwday(). Она возвращает число от 0 до 6, где воскресенье = 0.

В упражнении используются дневные данные о ставке федеральных фондов (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
Редактировать и запускать код