0

我正在尝试使用 R 中的 Durbin Watson 测试来衡量股票价格历史与指数之间的相关性。

这是我到目前为止所做的:

data <- read.xlsx("data.xlsx", colNames = TRUE, detectDates = TRUE)
data
head(data)
data$X1 <- as.Date(data$X1)

bbva <- xts(data$BBVA, data$X1)
ibex <- xts(data$IBEX, data$X1)

ldbbva <- diff(log(bbva))
ldibex <- diff(log(ibex))

在这里,我填写了一些 NA 值。

mean <- mean(ldbbva, na.rm = TRUE) 
ldbbva[is.na(ldbbva)] <- mean

mean <- mean(ldibex, na.rm = TRUE) 
ldibex[is.na(ldibex)] <- mean

我做回归

regression <- lm(ldibex ~ ldbbva)

如果我们看一下ldibex(例如),我们可以看到如下内容:

                    [,1]
2010-01-04 -0.0001060206
2010-01-05  0.0048708104
2010-01-06  0.0014819410
2010-01-07 -0.0046086970
2010-01-08 -0.0002712618
2010-01-11 -0.0073027658

但是当我尝试运行测试dwtest(regression)时,这是输出:

    Durbin-Watson test

data:  regression
DW = NA, p-value = NA
alternative hypothesis: true autocorrelation is greater than 0

我已经填写了所有 NA 值,所以我不明白为什么会这样NA

4

1 回答 1

3

xts将对象与 Durbin-Watson 测试一起使用时存在问题。尝试将您的数据转换为数字向量:

ldbbva <- as.numeric(diff(log(bbva)))
ldibex <- as.numeric(diff(log(ibex)))

我希望它有帮助!

于 2017-06-09T16:51:21.937 回答