【问题标题】:ADF Test using rollapply使用 rollapply 进行 ADF 测试
【发布时间】:2017-08-15 07:55:50
【问题描述】:

我想知道是否有办法在给定的时间间隔内进行 ADF 测试。下面是我计算每 20 个样本的平均值的示例:

rollapply(data, 20, FUN = mean)

我想使用相同的逻辑并为每 20 个样本运行 ADF 测试。因此我使用了以下代码:

n = 24
test <- rollapply(spreadClose, n, FUN = adf.test)

注意:adf.test() 来自名为“tseries”的库。

谁能解释为什么这不起作用?我收到以下错误。

dimnames(x) 中的错误

非常感谢任何反馈!

【问题讨论】:

    标签: r quantitative-finance


    【解决方案1】:

    我使用了以下代码,它开始工作了:

    adftest <- function(x)
    {
        adfPvalue <-  adf.test(x)$p.value
        adfPvalue
    }
    
    PValue <- function(x) {
        Pvalue <- rollapply(x, N, adftest)
        Pvalue
    }
    
    PValue(out)
    

    【讨论】:

      【解决方案2】:

      这个怎么样:

      library(zoo)
      library(tseries)
      z <- zoo(rnorm(100), as.Date(1:100))
      rollapplyr(z, 20, adf.test)
      

      【讨论】:

      • 我试过了,我得到了以下错误消息:动物园错误(rval,索引(x)[i]):“x”:尝试定义无效的动物园对象
      • 你的rval 是什么?是列还是向量?
      • 什么是 rval?我对此很陌生。
      • 这是来自您的错误消息:Error in zoo(rval, index(x)[i])rval 是什么?
      猜你喜欢
      • 2020-08-04
      • 1970-01-01
      • 2014-09-22
      • 1970-01-01
      • 2013-02-05
      • 2011-10-10
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多