CVSTABTEST Procedure |
@CVStabTest performs the special case of the stability test in Nyblom(1989) for a complete covariance matrix, so the null is that the covariance matrix of the series is constant vs an alternative of a structural break at some point in the sample.
@CVStabTest( options ) start end
# list of series
Parameters
|
start end |
range to use. By default, the common range of list of series |
Options
[PRINT]/NOPRINT
TITLE="title of report" ["Test of Stability of Covariance Matrix"]
Variables Defined
|
%CDSTAT |
fluctuation statistic (REAL) |
|
%SIGNIF |
approximate significance level (REAL) |
Notes
The fluctuation statistic has a non-standard distribution based upon fluctuations of a multivariate Brownian Bridge. The reported significance level comes from a "saddlepoint" approximation to the distribution function of that, which is designed to be accurate in the tails, but not necessarily elsewhere, that is, .05 is probably .05, but a reported .50 might be actually .60. Since the tail values for a test are all that really matters, that should be fine for hypothesis testing purposes. The number of parameters in the test is the number of free parameters in a \(n \times n\) covariance matrix, that is \(n(n+1)/2\).
While this should have the correct asymptotic distribution under the null (under fairly typical assumptions in addition to stability), the argument for it being UMP against an alternative of martingale behavior won't hold because the covariance matrix is constrained to be p.d.
Example
*
* Kilian and Lutkepohl (2017), Structural VAR Analysis, Cambridge
* University Press.
*
* Chapter 2, VAR estimation, diagnostics
*
calendar(q) 1954:3
open data klbook_keating.rat
data(format=rats,compact=average) 1954:3 2007:4 gnpdeflator realgnp fedfunds
*
set infl = 100.0*log(gnpdeflator/gnpdeflator{1})
set drgdp = 100.0*log(realgnp/realgnp{1})
set irate = fedfunds
*
compute p=4
*
system(model=rrwzmodel)
variables drgdp irate infl
lags 1 to p
det constant
end(system)
*
estimate(resids=u)
*
* Test for break in covariance matrix
*
@cvstabtest
# u
Output
This is the output from the test above. With a 3 variable VAR, the covariance matrix has 6=3(4)/2 free parameters. The result is very strongly significant (the .05 level is at around 1.7).
Test for Stability of Covariance Matrix
Fluctuation Statistic 3.195
Degrees of Freedom 6
Approximate P-Value 0.000
Copyright © 2025 Thomas A. Doan