structural VAR estimation
res=svar(rvar,Def_A,Def_B,arg1,...,argn)
* rvar = rvar tlist returned by VAR
* Def_A = a string matrix, defining its non-zero elements as constants or functions of the vector or parameters
. 'A(i,j) = numerical value (e.g: 'A(1,1)=1')
. 'A(i,j) = param(k)' (e.g: 'A(4,2)=param(3)')
* Def_B = a string matrix, defining its non-zero elements as constants or functions of the vector or parameters as for A
* res = a results tlists with
- res('meth') = 'structural var'
- all results fieds of the original VAR results tlist
- res('B matrix') = the calculated B matrix
- res('A matrix') = the calculated A matrix
- res('def B matrix') = the matrix defining B non-zero elements as constants or functions of the vector or parameters
- res('def A matrix') = the matrix defining A non-zero elements as constants or functions of the vector or parameters
- res('structural parameters') = the parameters that define the calculated A and B matrices
* u = (correlated) residuals from the reduced form
* eps = (uncorrelated) structural residuals.
// data are taken from Breitung J, Bruggemann R, and Lutkepohl H (2004), // Structural vector autoregressive modeling and impulse responses, // Applied Time Series Econometrics, Cambridge University Press global GROCERDIR ; load(GROCERDIR+'\data\breitung_et_al.dat') var_breit=VAR(4,'endo=ly;lm;ir') Def_A0=['A(2,1)=param(1)';'A(2,3)=param(2)';'A(3,1)=param(3)'] // A has the following form: // | 1 0 0 | // A = | param(1) 1 param(2) | // | param(3) 0 1 | Def_B0=['B(1,1)=param(4)';'B(2,2)=param(5)';'B(3,3)=param(6)'] // | param(4) 0 0 | // B = | 0 param(5) | // | 0 0 1 param(6) | rsvar2=svar(var_breit,Def_A0,Def_B0) | ![]() | ![]() |