Identifying the cointegration rank of nonstationary vector time series
Identifying the cointegration rank of nonstationary vector time series
Coint() deals with cointegration analysis for high-dimensional vector time series proposed in Zhang, Robinson and Yao (2019). Consider the model: [REMOVE_ME]yt=Axt,[REMOVEME2]
where A is a p×p unknown and invertible constant matrix, xt=(xt,1′,xt,2′)′ is a latent p×1 process, xt,2 is an r×1I(0) process, xt,1 is a process with nonstationary components, and no linear combination of xt,1 is I(0). This function aims to estimate the cointegration rank r and the invertible constant matrix A.
Coint( Y, lag.k =5, type = c("acf","urtest","both"), c0 =0.3, m =20, alpha =0.01)
Arguments
Y: An n×p data matrix Y=(y1,…,yn)′, where n is the number of the observations of the p×1 time series {yt}t=1n.
lag.k: The time lag K used to calculate the nonnegative definte matrix W^y:
W^y=sumk=0KΣ^y(k)Σ^y(k)′,
where $\hat{\bf \Sigma}_y(k)$ is the sample autocovariance of $ {\bf y}_t$ at lag $k$. The default is 5.
type: The method used to identify the cointegration rank. Available options include: "acf" (the default) for the method based on the sample autocorrelations, "urtest" for the method based on the unit root tests, and "both" to apply these two methods. See Section 2.3 of Zhang, Robinson and Yao (2019) and 'Details' for more information.
c0: The prescribed constant c0 involved in the method based on the sample correlations, which is used when type = "acf" or type = "both". See Section 2.3 of Zhang, Robinson and Yao (2019) and 'Details' for more information. The default is 0.3.
m: The prescribed constant m involved in the method based on the sample correlations, which is used when type = "acf" or type = "both". See Section 2.3 of Zhang, Robinson and Yao (2019) and 'Details' for more information. The default is 20.
alpha: The significance level α of the unit root tests, which is used when type = "urtest" or type = "both". See 'Details'. The default is 0.01.
Returns
An object of class "coint", which contains the following components: - A: The estimated A^.
coint_rank: The estimated cointegration rank r^.
lag.k: The time lag used in function.
method: A string indicating which method is used to identify the cointegration rank.
Description
Coint() deals with cointegration analysis for high-dimensional vector time series proposed in Zhang, Robinson and Yao (2019). Consider the model:
yt=Axt,
where A is a p×p unknown and invertible constant matrix, xt=(xt,1′,xt,2′)′ is a latent p×1 process, xt,2 is an r×1I(0) process, xt,1 is a process with nonstationary components, and no linear combination of xt,1 is I(0). This function aims to estimate the cointegration rank r and the invertible constant matrix A.
Details
Write x^t=A^′yt≡(x^t1,…,x^tp)′. When type = "acf", Coint() estimates r by
r^=i=1∑p1{mSi(m)<c0}
for some constant c0∈(0,1) and some large constant m, where Si(m) is the sum of the sample autocorrelations of x^ti over lags 1 to m, which is specified in Section 2.3 of Zhang, Robinson and Yao (2019).
When type = "urtest", Coint() estimates r by unit root tests. For i=1,…,p, consider the null hypothesis
H0,i:x^tp−i+1∼I(0).
The estimation procedure for r can be implemented as follows:
Step 1. Start with i=1. Perform the unit root test proposed in Chang, Cheng and Yao (2021) for H0,i.
Step 2. If the null hypothesis is not rejected at the significance level α, increment i by 1 and repeat Step 1. Otherwise, stop the procedure and denote the value of i at termination as i0. The cointegration rank is then estimated as r^=i0−1.
Examples
# Example 1 (Example 1 in Zhang, Robinson and Yao (2019))## Generate ytp <-10n <-1000r <-3d <-1X <- mat.or.vec(p, n)X[1,]<- arima.sim(n-d, model = list(order=c(0, d,0)))for(i in2:3)X[i,]<- rnorm(n)for(i in4:(r+1)) X[i,]<- arima.sim(model = list(ar =0.5), n)for(i in(r+2):p) X[i,]<- arima.sim(n =(n-d), model = list(order=c(1, d,1), ar=0.6, ma=0.8))M1 <- matrix(c(1,1,0,1/2,0,1,0,1,0), ncol =3, byrow =TRUE)A <- matrix(runif(p*p,-3,3), ncol = p)A[1:3,1:3]<- M1
Y <- t(A%*%X)Coint(Y, type ="both")
References
Chang, J., Cheng, G., & Yao, Q. (2022). Testing for unit roots based on sample autocovariances. Biometrika, 109 , 543--550. tools:::Rd_expr_doi("doi:10.1093/biomet/asab034") .
Zhang, R., Robinson, P., & Yao, Q. (2019). Identifying cointegration by eigenanalysis. Journal of the American Statistical Association, 114 , 916--927. tools:::Rd_expr_doi("doi:10.1080/01621459.2018.1458620") .