Page 1 of 1
About procedure @shortandlong
Posted: Sun Apr 26, 2009 10:42 am
by dennis0125hk
In RATS, the procedure @shortandlong is used to evaluate the impact factor matrix based on short-run and long-run restrictions of Structural VAR. I would like to know that whether it can be also used to evaluate the impact factor matrix based on Structural VECM (error-correction model).
Re: About procedure @shortandlong
Posted: Mon Apr 27, 2009 3:39 pm
by TomDoan
dennis0125hk wrote:In RATS, the procedure @shortandlong is used to evaluate the impact factor matrix based on short-run and long-run restrictions of Structural VAR. I would like to know that whether it can be also used to evaluate the impact factor matrix based on Structural VECM (error-correction model).
Yes. The MASUMS that you feed in needs to be the (reduced rank) version that comes out of the estimation of the ECM. If you estimate the cointegrated VAR with ESTIMATE on a SYSTEM defined with ECT, this will be
Code: Select all
compute alphaperp=%perp(%vecmalpha)
compute betaperp =%perp(beta)
compute masums=betaperp*inv(tr(alphaperp)*%varlagsums*betaperp)*tr(alphaperp)
where beta is the (matrix of) cointegrating vector(s).
Re: About procedure @shortandlong
Posted: Tue May 26, 2009 9:44 pm
by dennis0125hk
Thanks, Tom....
Furthermore, I also have one question about this procedure. I would like to know how the matrix "R" is compute and how R*vec(B) = 0 is evolved. In User's Guide, R*vec(B) = 0 is mentioned but there is no theoretical explanation about that.
Is there any technical reference that describe the computation of decomposition factor based on mixture of short and long-run restriction?
Re: About procedure @shortandlong
Posted: Wed May 27, 2009 9:56 am
by TomDoan
We're trying to determine B where BB' is a factorization of sigma. A contemporaneous zero restriction will take the form B(i,j)=0. A row of the R matrix will have N**2 elements; in this case, it will be all zeros except for a one in the slot for B(i,j) in the vec'ed form of B. RATS vec's by columns, so, for instance, if this is a 3x3 matrix, B(1,3) will be the 7th slot in the vec. If you want to restrict shock 1 to load equally on the 2nd and 3rd variables (B(2,1)=B(3,1)), the "R" row for that would be (0,1,-1,0,...,0).
The long run responses are inv(phi(1))B (done as a standard matrix multiply). The i,j element of that will be row i of inv(phi(1)) dot column j of B, so the row in R to make that 0 is zeros everywhere but the slots corresponding to column j in B; and those slots will have the values of row i. Again, with the 3 x 3 matrix, suppose the long run restriction is (3,2)=0. If we define A=inv(phi(1)) (remember that this is a known matrix - it's B that's unknown), the row in R for this restriction is (0,0,0,a(3,1),a(3,2),a(3,3),0,0,0). If we want the long-run restriction to be (3,1)=0, the row in R is (a(3,1),a(3,2),a(3,3),0,0,0,0,0,0).
So far as I know, the first paper to combine short and long run restrictions was Gali, "How Well Does the IS-LM Model Fit Postwar U.S. Data", QJE 1992, vol 107, no. 2, pp 709-738. That however has the complication that it also includes restrictions on the structure of the shocks (inv(B)) so it doesn't have a simple reparameterization.
Re: About procedure @shortandlong
Posted: Thu May 28, 2009 3:56 am
by dennis0125hk
Thanks, Tom... I understand.
At the same time, I would like to know why vec(B) = perp(R)*theta and why theta = inv(tr(perp(R))*perp(R))*tr(perp(R))*vec(B)? I guess how theta = inv(tr(perp(R))*perp(R))*tr(perp(R))*vec(B) is evolved can be related to ordinary least square method that we could get beta coefficient in linear regression, is it right?
Re: About procedure @shortandlong
Posted: Thu May 28, 2009 8:55 am
by TomDoan
That's a guess value, not the solution. Yes. It's the least squares estimate for the theta's using the Cholesky factor of sigma (or the input guess by the user) as the target for the factor.
Re: About procedure @shortandlong
Posted: Fri May 29, 2009 1:33 am
by dennis0125hk
compute alphaperp=%perp(%vecmalpha)
compute betaperp =%perp(beta)
compute masums=betaperp*inv(tr(alphaperp)*%varlagsums*betaperp)*tr(alphaperp)
I have tried to use the above command to get the long-run multiplier for just-identified VECM. However, when I attempt to solve for the decomposition factor, an error message appear,
## MAT2. Matrices with Dimensions 7 x 1 and 6 x 1 Involved in - Operation
The Error Occurred At Location 1723 of SHORTANDLONG
Line 123 of SHORTANDLONG
Line 180 of ORTHO_SIG
Line 570 of IMPSE
Line 427 of IMPULSE
Then I tried to use the sum of vector moving average matrix coefficients up to many terms, say up to 100-200 to get the approximated sum of long-run multiplier. Then the program works well for most of time. However, when the number of vector moving average matrix coefficients used is increased, then the error message again appears. My question is, in what situation I will get the above error message? How can I avoid this error message? Or I have problem in my model or restriction setting?
Re: About procedure @shortandlong
Posted: Fri May 29, 2009 3:26 pm
by TomDoan
Your "R" matrix is probably singular. With the VECM, the MASUMS matrix is singular; there are some restrictions which can't be imposed independently. For instance, if x1 and x2 are cointegrated, then a shock which has a LR zero effect on one has to have a LR zero effect on the other: you can use one or the other for defining a factorization, but not both. If you approximate the LR responses, they will be non-singular for shorter truncations, but eventually they'll get to the point of being close enough to singularity to give you the same problem as you get by the direct calculation which, by construction, isn't full rank.
Re: About procedure @shortandlong
Posted: Sat May 30, 2009 3:01 am
by dennis0125hk
"you can use one or the other for defining a factorization, but not both."
I am not quite sure what the above statement clearly. Could you give some specific example how to use one or the other for defining a factorization.
Sorry about that...
Re: About procedure @shortandlong
Posted: Sat May 30, 2009 12:17 pm
by TomDoan
What I mean is that if you constrain one to have a zero LR response to a shock, the other is forced to be zero as well; you can only use one in trying to get a just-identified model.
Re: About procedure @shortandlong
Posted: Sat May 30, 2009 11:00 pm
by dennis0125hk
Here is my situation:
I tried to replicate Beaudry and Portier (2006), "Stock Prices, News and Economic Flucutations". For two-variable case, I have no problem by imposing Cholesky Decomposition for short-run restriction and Blanchard-Quah Decomposition for long-run restriction. However, for three-variable case, Blanchard-Quah Decomposition is imposed for long-run restriction as two-variable case. However, Cholesky Decomposition cannot be used for short-run restriction in this case. According to the paper, I created the pattern matrix like this,
sr = . 0 .
. . .
. . .
lr = . . 0
. . .
. . 0
where sr and lr are pattern matrix for impact matrix and long-run multiplier
Given,
C_1 = c11 c12 c13
c21 c22 c23
c31 c32 c33
Hopefully and eventually, "R" obtained in "shortandlong.src" is like below
R = 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 c11 c12 c13
0 0 0 0 0 0 c31 c32 c33
I wonder that the last two rows of R are linearly dependent so that perp(R) is not 9 x 6 and it is 9 x 7 instead. According to your suggestion, I try to cancel the long-run restriction that zero LR response of third variable to a third shock and replace it as zero LR response of third variable to first shock. Hence I try to modify the pattern matrix of long run mulitplier as
. . 0
. . .
0 . .
However, the IRF of variables to first and third shock is different. How should I do to maintain the structure of the model as Beaudry and Portier (2006) postulate in order to get the just-identified system? I need to add one more restriction as well, but it seems that the model becomes over-identified.
Re: About procedure @shortandlong
Posted: Sun May 31, 2009 10:15 am
by TomDoan
Check out footnote 10:
In order to get a complete orthogonalized representation, it is necessary to impose one more restriction. We
choose to impose that the 2,3 element of the long run matrix was also zero. However, as is well known, this additional
restriction is only needed to separate the shocks eps2, eps3 and does not influence eps1.
So you want your LR restriction to be
. . 0
. . 0
. . .
Putting the 3,3 element to zero with the 3,1 element is redundant because of the restriction implied by cointegration.
Re: About procedure @shortandlong
Posted: Sun May 31, 2009 11:51 am
by dennis0125hk
As I understand from footnote 10, it is regarding to the shocks recuperated from LONG-run restrictions, eps_head_1 to eps_head_3. That means we impose the pattern matrix of long-run multiplier to be lower triangular, based on my understanding of footnote 10.
To recuperate eps_2, as Beaudry & Portier mentions, (1). (1,2) element of the impact matrix be zero and (2). imposing no long run effect of eps_3 to either TFP or consumption, which means (1,3) and (3,3) of long-run matrix to be zero, as I understand from that paragraph.
Re: About procedure @shortandlong
Posted: Mon Jun 01, 2009 9:57 am
by TomDoan
No. You're not understanding footnote 10. The SR 1,2=0 and the LR 1,3=0 is enough information to identify eps1. It is not enough to identity eps2 and eps3 separately; only the space spanned by them. LR 3,3=0 isn't an independent restriction - because of the cointegration, if 1,3=0, 3,3 has to be zero as well (or, if 3,3=0 then 1,3 has to be zero). You need one more non-redundant restriction in order to separate eps2 from eps3. They've chosen LR 2,3=0 as that extra restriction.