HT создает новый вектор в кадре данных, который берет корреляцию существующих векторов - PullRequest
2 голосов
/ 18 марта 2010

У меня есть временной ряд из двух индексов, где каждая строка представляет цену закрытия в один и тот же день. Я хотел бы перейти к строке 30 и просмотреть последние 30 'дней' и вычислить корреляцию Пирсона. И затем сохраните это значение в новом векторе. Затем повторите расчет для всего временного ряда.

Это простая задача в Excel, поэтому я убежден, что ее можно выполнить в R. Однако я не знаю, какой метод использовать.

1 Ответ

1 голос
/ 18 марта 2010

Есть много способов сделать это (как и все в R). Я всегда рекомендую использовать временные ряды при работе с данными временных рядов.

Пакет zoo, вероятно, является самым популярным пакетом временных рядов (хотя вы также можете посмотреть другие, такие как xts, timeSeries, its, 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.

...