2
我有兩個索引的時間序列,每行代表同一天的收盤價格。我想去第30行,回顧過去30天的時間並計算皮爾森相關性。然後將該值存儲在一個新的向量中。然後,重複整個時間序列的計算。HT在數據框架中創建一個新的矢量,並採用現有矢量的相關性
這是Excel中的一項微不足道的任務,所以我相信它可以在R中完成。我不知道要使用的方法。
我有兩個索引的時間序列,每行代表同一天的收盤價格。我想去第30行,回顧過去30天的時間並計算皮爾森相關性。然後將該值存儲在一個新的向量中。然後,重複整個時間序列的計算。HT在數據框架中創建一個新的矢量,並採用現有矢量的相關性
這是Excel中的一項微不足道的任務,所以我相信它可以在R中完成。我不知道要使用的方法。
有很多方法可以做到這一點(與R中的所有內容一樣)。我總是建議在處理時間序列數據時使用時間序列。
的zoo
包可能是最流行的時間序列包(雖然你也可以看看其他如XTS,時間序列,它,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
包有用。
感謝您的快速響應。你讓我朝着正確的方向前進。通過幫助文件混淆以獲得最終解決方案。 – Milktrader 2010-03-18 02:15:00
我從動物園獲得了rollapply方法。檢查它與我從Excel獲得的結果相匹配。 我做了不同的一件事是用read.zoo方法讀入文件,並從頭開始敲掉動物園對象問題。 要設置的重要參數是by.column = F。我一開始並沒有把它扔進垃圾。 – Milktrader 2010-03-18 02:46:39
是的。我在我的例子中設定了這個理由。 by.column = F意味着它不會單獨對每列進行滾動應用,而是一次全部將其全部傳遞。還要確保你使用align =「right」。 – Shane 2010-03-18 03:16:00