金融时间序列-非线性检验-Ljung-Box test

Ljung-Box test是一种检验时间序列是否存在滞后相关性的统计方法,用于判断序列是否为随机独立观测。该检验通过平方残差的Q统计量评估模型残差的独立性,在R等编程环境中易于实现。
摘要由CSDN通过智能技术生成

1 Ljung-Box test

Ljung-Box test是对randomness的检验,或者说是对时间序列是否存在滞后相关的一种统计检验。

  • 纯随机性检验,p值小于5%,序列为非白噪声
  • 用于检验某个时间段内的一系列观测值是不是随机的独立观测值。如果观测值并非彼此独立,一个观测值可能会在 i 个时间单位后与另一个观测值相关,形成一种称为自相关的关系。自相关可以削减基于时间的预测模型(例如时间序列图)的准确性,并导致数据的错误解释。

LBQ检验的原假设和备择假设分别为 :
H0: 原本的数据都是独立的,即总体的相关系数为0,能观察到的某些相关仅仅产生于随机抽样的误差。即 ρ̂1=ρ̂2==ρ̂m=0 ρ ^ 1 = ρ ^ 2 = ⋯ = ρ ^ m = 0 ,其中m是人为给定的,有时我们在软件中仅仅给定一个上界,而不是具体的m。
H1: 原本的数据不是独立的,即至少存在某个 ρ̂k0 ρ ^ k ≠ 0 ,其中 km k ⩽ m
构造的统计量是

Q(m)=T
在R中,可以使用rugarch包中的函数进行Ljung-Box检验和Q检验。其中,Ljung-Box检验可以使用函数ugarchfit中的参数fit.control中的include.skew和include.kurtosis参数来进行,而Q检验可以使用函数ugarchfit中的参数solver.control中的solver参数来进行。 下面是一个示例代码,演示如何进行Ljung-Box检验和Q检验: ``` library(rugarch) # 生成模拟数据 set.seed(123) n <- 200 eps <- rnorm(n) y <- rep(NA, n) y[1] <- eps[1] for (i in 2:n) { y[i] <- 0.5 * y[i-1] + eps[i] } # 拟合GARCH模型 fit <- ugarchfit(data = y, spec = ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1,1))), fit.control = list(include.skew = TRUE, include.kurtosis = TRUE), solver.control = list(solver = "hybrid")) # 进行Ljung-Box检验 Box.test(fit@residuals, lag = 10, type = "Box-Pierce") # 进行Q检验 gof(fit, fit.control = list(method = "QMLE"), solver.control = list(solver = "hybrid")) ``` 在这个示例代码中,我们首先使用rnorm函数生成一个长度为200的标准正态分布随机数向量eps,然后通过AR(1)模型生成一个长度为200的时间序列y。接着,我们使用ugarchfit函数拟合一个GARCH(1,1)模型,将其结果保存在fit对象中。在拟合模型时,我们使用fit.control参数中的include.skew和include.kurtosis参数进行Ljung-Box检验,使用solver.control参数中的solver参数进行Q检验。最后,我们分别使用Box.test函数和gof函数进行Ljung-Box检验和Q检验。其中,Box.test函数需要指定滞后阶数lag和检验类型type,而gof函数需要指定fit.control参数中的method参数和solver.control参数中的solver参数。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值