时间序列数据的协整/GPH 检验

Posted

技术标签:

【中文标题】时间序列数据的协整/GPH 检验【英文标题】:Cointegration/GPH test on time series data 【发布时间】:2021-02-10 03:33:22 【问题描述】:

我对 R 和统计很陌生。我想用 GPH 检验来检验两个时间序列的协整。为此,我使用包LongMemoryTS 和函数gph():gph(X, m, l = 1)。作为输出,我得到了参数 d 的值,但我不知道如何确定 t 值或如何生成它。

这里是包中函数的链接:https://rdrr.io/cran/LongMemoryTS/man/gph.html

这是我第一次尝试作为代码 sn-p:

lr.reg.IP_AT_EN <- lm(IP_AT~IP_DE)
error.IP_AT_EN <- residuals(lr.reg.IP_AT_DE)
T <- length(error.IP_AT_EN)
d.IP_AT_DE <- gph(X=error.IP_AT_DE, m=T^0.4)

非常感谢您的帮助!

【问题讨论】:

你能不能给它添加一些简单的数据,让人们更容易复制? 【参考方案1】:

对于获取关键值,引导似乎是一种好方法,请参阅此处http://repec.org/sce2004/up.4249.1077649371.pdf。 还有使用理论误差方差的方法(见论文第 3 页)。我不完全确定这是否正确,但您至少可以使用以下代码获得统计数据:

library(xts)
library(LongMemoryTS)

set.seed(123)
# generate some data
dat_ts <- xts(matrix(rnorm(200), ncol = 2), order.by = seq.Date(Sys.Date()-100, length.out = 100, by = 'days'))
              
reg1 <- lm(dat_ts[, 1]~dat_ts[, 2])
error_reg1 <- residuals(reg1)
nT <- length(error_reg1) # bad idea to name it T!

res1 <- gph(X=error_reg1, m=nT^0.4)
res1 

t_stat <- (res1-0)/((pi^2)/6)^0.5
p_value <- pt(q = t_stat, df = 1, lower.tail = TRUE)
p_value
[1] 0.3831716

【讨论】:

以上是关于时间序列数据的协整/GPH 检验的主要内容,如果未能解决你的问题,请参考以下文章

python中的Johansen协整检验

策略精选基于时间序列的协整关系的配对交易

SPSS的线性回归分析和Eviews的线性回归分析为啥差别那么大?

多元线性回归 协整检验怎么做?

配对交易-基于时间序列协整关系的统计套利

急求,变量之间存在协整关系,但是没有格兰杰因果关系,应该怎么办呢?