HT создает новый вектор в кадре данных, который учитывает корреляцию существующих векторов.

StackOverflow https://stackoverflow.com/questions/2467019

  •  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 пакет полезный.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top