HT создает новый вектор в кадре данных, который учитывает корреляцию существующих векторов.
-
20-09-2019 - |
Вопрос
У меня есть временной ряд из двух индексов, каждая строка которого представляет цену закрытия в тот же день.Я хотел бы перейти к строке 30, оглянуться на последние 30 «дней» и вычислить корреляцию Пирсона.А затем сохраните это значение в новом векторе.Затем повторите расчет для всего временного ряда.
В Excel это тривиальная задача, поэтому я убежден, что ее можно решить и в R.Хотя я не знаю, какой метод использовать.
Решение
Есть много способов сделать это (как и все в R).Я всегда рекомендую использовать временные ряды при работе с данными временных рядов.
А zoo
package, вероятно, самый популярный пакет временных рядов (хотя вы также можете посмотреть и другие, такие как xts, timeSeries, his, fts):
library(zoo)
z <- zoo(data.frame(a=1:50, b=3:52), as.Date(1:50))
rollapply(z, 30, cor, by.column=F, align = "right")
Вы также можете найти chart.RollingCorrelation
функционировать в PerformanceAnalytics
пакет полезный.