"mq" <- function(x,lag){ # Compute multivariate Ljung-Box test statistics # nr=dim(x)[1] nc=dim(x)[2] g0=var(x) ginv=solve(g0) qm=0.0 print("m, Q(m) and p-value:") df = 0 for (i in 1:lag){ x1=x[(i+1):nr,] x2=x[1:(nr-i),] g = cov(x1,x2) g = g*(nr-i-1)/(nr-1) h=t(g)%*%ginv%*%g%*%ginv qm=qm+nr*nr*sum(diag(h))/(nr-i) df=df+nc*nc pv=1-pchisq(qm,df) print(c(i,qm,pv)) } }