MVQSTAT Procedure |
@MVQSTAT computes the Hosking(1981) variant of the multivariate Q statistic. The null hypothesis is that there is no serial correlation within each component and also between components, that is, all autocorrrelations and lagged cross correlations are zero. It does permit contemporaneous correlation among components. However, the contemporaneous correlation is assumed to be constant—if that's not the case (for instance, if the residuals have GARCH properties), then you need to jointly standardize them first.
It's typically used for testing residuals from a multivariate estimation procedure. If that's the case, you should use the DFC option to correct for the number of parameters which are present to eliminate residual serial correlation—for a VAR, that's the total number of lag parameters.
@MVQStat( options ) start end
# list of series
Parameters
start end |
range to use. By default, the common range of list of series |
Options
LAGS=# of lags [12]
DFC=degrees of freedom correction [0]
[PRINT]/NOPRINT
TITLE="title of report" ["Multivariate Q Test"]
Variables Defined
%CDSTAT |
test statistic |
%SIGNIF |
significance level treating statistic as chi-squared |
%NDFQ |
degrees of freedom of the chi-squared |
Examples
This does a multivariate serial correlation in raw returns data.
*
* Tsay, Analysis of Financial Time Series, 3rd edition
* Example 8.1 from pp 393-395
*
open data m-ibmsp2608.txt
calendar(m) 1926:1
data(format=prn,org=columns) 1926:01 2008:12 date ibm sp
*
* Transform to log return percentages
*
set ibm = 100.0*log(ibm+1)
set sp = 100.0*log(sp+1)
*
* (Other analysis removed)
*
display
display "MV Q Statistic on IBM and SP500"
*
@mvqstat(lags=1)
# ibm sp
@mvqstat(lags=5)
# ibm sp
@mvqstat(lags=10)
# ibm sp
This is part of the GARCHMV.RPF example. It does a test for residual serial correlation in a multivariate GARCH model. Because the residuals are subject to a GARCH process, it tests the jointly standardized residuals (produced by the STDRESIDS option on GARCH).
garch(model=var1,mv=bekk,asymmetric,p=1,q=1,distrib=t,$
pmethod=simplex,piters=10,iters=500,$
rseries=rs,mvhseries=hhs,stdresids=zu,derives=dd)
*
* Multivariate Q statistic and ARCH test on jointly standardized
* residuals.
*
@mvqstat(lags=5)
# zu
Sample Output
This is the output from the 10 lag test in the first example. With 10 lags and a 2 × 2 system, this is 40 if there is no degrees of freedom correction.
Multivariate Q Test
Test Run Over 1926:01 to 2008:12
Lags Tested 10
Degrees of Freedom 40
Q Statistic 75.45422
Signif Level 0.00059
Copyright © 2024 Thomas A. Doan