Перекрывающиеся доходности
При агрегировании рядов путём суммирования дневных лог-доходностей в более длинные интервалы количество наблюдений уменьшается. Чтобы сохранить объём данных, можно вычислить перекрывающиеся доходности с помощью функции rollapplyr() — правда, это создаёт сильную корреляцию между наблюдениями.
В среднем в календарной неделе 5 торговых дней. Вычислив 5-дневные скользящие суммы лог-доходностей дневных данных индекса, вы получите приблизительные перекрывающиеся недельные доходности, заканчивающиеся в каждую календарную неделю. Аналогично, 21-дневные скользящие суммы дают приблизительные месячные доходности, а 63-дневные — квартальные.
Рассмотрим пример с данными дневных доходностей индекса Dow Jones в djx. Поскольку для вычисления каждой скользящей суммы используются 5 значений, первые 4 значения результата равны NA. В данном случае мы удалим их с помощью индексирования:
> djx5 <- rollapplyr(djx, width = 5, FUN = sum)
> head(djx5)
^DJI
2008-01-03 NA
2008-01-04 NA
2008-01-07 NA
2008-01-08 NA
2008-01-09 -0.02394677
2008-01-10 -0.01571869
> djx5 <- djx5[-(1:4)]
В этом упражнении вы вычислите скользящие суммы с различными интервалами на основе djx, который уже загружен в вашем рабочем пространстве. Затем вы найдёте асимметрию и эксцесс полученных данных и проведёте тест Харке–Бера, как и в предыдущих упражнениях. Похожи ли перекрывающиеся доходности на нормально распределённые?
Это упражнение является частью курса
Количественное управление рисками в R
Инструкции к упражнению
- Вычислите 21-дневную скользящую сумму лог-доходностей из
djx, удалите первые 20 значений и присвойте результат переменнойdjx21. - Вычислите 63-дневную скользящую сумму лог-доходностей из
djx, удалите первые 62 значения и присвойте результат переменнойdjx63. - Используйте
merge()с параметромall = FALSE, чтобы объединитьdjx,djx21иdjx63в указанном порядке, и присвойте результат переменнойdjx2. Постройте график с помощьюplot.zoo(). - Используйте
apply()и соответствующие функции, чтобы вычислить асимметрию и эксцесс для каждого ряда вdjx2. - Используйте
apply()и соответствующую функцию, чтобы провести тест Харке–Бера для каждого ряда вdjx2.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Calculate a 21-day moving sum of djx
djx21 <- ___(___, ___, ___)[___]
# Calculate a 63-day moving sum of djx
djx63 <- ___(___)[___]
# Merge the three series and plot
djx2 <- ___(___)
___(___)
# Compute the skewness and kurtosis for each series in djx2
___(___)
___(___)
# Conduct the Jarque-Bera test to each series in djx2
___(___)