【问题标题】:Cointegration among many Time Series In RR中许多时间序列之间的协整
【发布时间】:2014-03-23 18:53:14
【问题描述】:

我在 R 中使用以下代码通过 ADF 测试在两个时间序列之间获取 P 值:TS1 和 TS2:

 m <- lm(TS1 ~ TS2 + 0)
 beta <- coef(m)[1]
 sprd <- TS1 - beta*TS2
 ht <- adf.test(sprd, alternative='stationary', k=0)
 pval <- as.numeric(ht$p.value)     


如果我想获得一个或两个以上时间序列的 ADF 的 P 值(即:TS1、TS2 和 TS3 或 TS1、TS2、TS3 和 TS4),考虑到上述代码,正确的语法是什么?

谢谢!

【问题讨论】:

    标签: r time-series


    【解决方案1】:

    将您的实际代码放入一个函数。您可以使用 combn() 来确定系列对。在所有对的循环之后,使用 paste 制作回归模型,这将作为参数传递给您的函数,您需要将所有对的 p 值存储到向量或 data.frame 中。祝你好运!!

    t(combn(c("TS1","TS2","TS3","TS4"),2))

    【讨论】:

      【解决方案2】:

      我想我找到了答案:

      m <- lm(pair1 ~ pair2 + pair3)
      beta1 <- coef(m)[1]
      beta2 <- coef(m)[2]
      sprd <- pair1 - beta1*pair2 - beta2*pair3
      ht <- adf.test(sprd, alternative='stationary', k=0)
      

      【讨论】:

        猜你喜欢
        • 2018-10-12
        • 1970-01-01
        • 1970-01-01
        • 2018-05-03
        • 2021-02-10
        • 2020-06-09
        • 1970-01-01
        • 2020-04-26
        • 2010-12-15
        相关资源
        最近更新 更多