SVAR2 {vars}R Documentation

Estimation of a SVAR (scoring algorithm)

Description

Estimates an SVAR (either ‘A-model’, ‘B-model’ or ‘AB-model’) by utilising a scoring algorithm.

Usage

SVAR2(x, Ra = NULL, Rb = NULL, ra = NULL, rb = NULL, start = NULL,
max.iter = 100, conv.crit = 0.1e-6, maxls = 1.0, lrtest = TRUE)

Arguments

x Object of class ‘varest’; generated by VAR().
Ra Matrix of the explicit form constraints on A.
Rb Matrix of the explicit form constraints on B.
ra Vector of the non-homogenous part of constraints on A.
rb Vector of the non-homogenous part of constraints on B.
start Vector of starting values for gamma.
max.iter Integer, maximum number of iteration.
conv.crit Real, convergence value of algorithm..
maxls Real, maximum movement of the parameters between two iterations of the scoring algorithm.
lrtest Logical, over-identification LR test, the result is set to NULL for just-identified system.

Details

Consider the following structural form of a k-dimensional vector autoregressive model:

A y_t = A_1^*y_{t-1} + ... + A_p^*y_{t-p} + C^*D_t + Bvarepsilon_t

The coeffiecient matrices (A_1^* | ... | A_p^* | C^*) might now differ from the ones of a VAR (see ?VAR). One can now impose restrictions on ‘A’ and/or ‘B’, resulting in an ‘A-model’ or ‘B-model’ or if the restrictions are placed on both matrices, an ‘AB-model’. In contrast to the function SVAR(), the restrictions have to be provided in explicit form:

vec(A) = R_a gamma_a + r_a

and/or

vec(B) = R_b gamma_b + r_b

Please note that for either an ‘A-model’ or ‘B-model’, K(K-1)/2 restrictions have to be imposed, such that the models' coefficients are identified. For an ‘AB-model’ the number of restrictions amounts to: K^2 + K(K-1)/2. The unknown parameters are estimated by a scoring algorithm. The reduced form residuals can be obtained from the above equation via the relation: u_t = A^{-1}Bvarepsilon_t, with variance-covariance matrix Σ_U = A^{-1}BB'A^{-1'}.

Finally, in case of an overidentified SVAR, a likelihood ratio statistic is computed according to:

LR = T(lndet(tilde{Σ}_u^r) - lndet(tilde{Σ}_u)) quad ,

with tilde{Σ}_u^r being the restricted variance-covariance matrix and tilde{Σ}_u being the variance covariance matrix of the reduced form residuals. The test statistic is distributed as chi^2(nr - 2K^2 - frac{1}{2}K(K + 1)), where nr is equal to the number of restrictions.

Value

A list of class ‘svarest’ with the following elements is returned:

A If A- or AB-model, the matrix of estimated coeffiecients.
Ase If ‘hessian = TRUE’, the standard errors of ‘A’, otherwise a null-matrix is returned.
B If A- or AB-model, the matrix of estimated coeffiecients.
Bse If ‘hessian = TRUE’, the standard errors of ‘B’, otherwise a null-matrix is returned.
LRIM For Blanchard-Quah estimation LRIM is the estimated long-run impact matrix; for all other SVAR models LRIM is NULL.
Sigma.U The variance-covariance matrix of the reduced form residuals times 100, i.e., Σ_U = A^{-1}BB'A^{-1'} times 100.
LR Object of class ‘code{htest}’, holding the Likelihood ratio overidentification test.
opt Is set to NULL for function SVAR2().
start Vector of starting values.
type SVAR-type, character, either ‘A-model’, ‘B-model’ or ‘AB-model’.
var The ‘varest’ object ‘x’.
call The call to SVAR().

Author(s)

Bernhard Pfaff

References

Amisano, G. and C. Giannini (1997), Topics in Structural VAR Econometrics, 2nd edition, Springer, Berlin.

Breitung, J., R. Brüggemann and H. Lütkepohl (2004), Structural vector autoregressive modeling and impulse responses, in H. Lütkepohl and M. Krätzig (editors), Applied Time Series Econometrics, Cambridge University Press, Cambridge.

Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.

Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.

See Also

VAR, SVAR, SVEC

Examples

data(Canada)
varcad <- VAR(Canada, p = 2, type = "const")
Ra <- matrix(0, nrow = 16, ncol = 5)
Ra[1, 1] <- 1
Ra[4, 2] <- 1
Ra[6, 3] <- 1
Ra[11, 4] <- 1
Ra[16, 5] <- 1
ra <- rep(0, 16)
SVAR2(x = varcad, Ra = Ra, Rb = NULL, ra = ra, rb = NULL, lrtest = TRUE,
start = abs(rnorm(5)), max.iter = 100, maxls = 1000, conv.crit = 1.0e-8)

[Package vars version 0.7-7 Index]