Learn R Programming

vars (version 1.1-9)

SVAR2: 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.

Value

  • A list of class svarest with the following elements is returned:
  • AIf A- or AB-model, the matrix of estimated coeffiecients.
  • AseIf hessian = TRUE, the standard errors of A, otherwise a null-matrix is returned.
  • BIf A- or AB-model, the matrix of estimated coeffiecients.
  • BseIf hessian = TRUE, the standard errors of B, otherwise a null-matrix is returned.
  • LRIMFor Blanchard-Quah estimation LRIM is the estimated long-run impact matrix; for all other SVAR models LRIM is NULL.
  • Sigma.UThe variance-covariance matrix of the reduced form residuals times 100, i.e., $\Sigma_U = A^{-1}BB'A^{-1'} \times 100$.
  • LRObject of class code{htest}, holding the Likelihood ratio overidentification test.
  • optIs set to NULL for function SVAR2().
  • startVector of starting values.
  • typeSVAR-type, character, either A-model, B-model or AB-model.
  • varThe varest object x.
  • callThe call to SVAR().

encoding

latin1

concept

  • SVAR
  • Structural VAR
  • Structural Vector Autoregressive
  • A-model
  • B-model
  • AB-model

Details

Consider the following structural form of a k-dimensional vector autoregressive model: $$A \bold{y}_t = A_1^*\bold{y}_{t-1} + \ldots + A_p^*\bold{y}_{t-p} + C^*D_t + B\bold{\varepsilon}_t$$ The coeffiecient matrices $(A_1^* | \ldots | 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: $\bold{u}_t = A^{-1}B\bold{\varepsilon}_t$, with variance-covariance matrix $\Sigma_U = A^{-1}BB'A^{-1'}$. Finally, in case of an overidentified SVAR, a likelihood ratio statistic is computed according to: $$LR = T(\ln\det(\tilde{\Sigma}_u^r) - \ln\det(\tilde{\Sigma}_u)) \quad ,$$ with $\tilde{\Sigma}_u^r$ being the restricted variance-covariance matrix and $\tilde{\Sigma}_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.

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, logLik, irf, fevd

Examples

Run this code
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)

Run the code above in your browser using DataLab