Page 1 of 1

Estimating a near-SVAR

Posted: Mon Dec 14, 2015 4:14 am
by cczzwhy
Hello Tom,I got a problem ,this is my model

Code: Select all

system(model=varvix)
var dy dpi du ddep lucc
lags 1 to 4
det constant
end(system)
estimate(resids=resids)
compute vsigma=%sigma
and the constraint is

Code: Select all

dec frml[rect]  afrml
nonlin b21 b31 b32 b41 b42 b43 b51 b52 b53 b54
frml afrml = ||1.0,0.0,0.0,0.0,0.0|$
               b21,1.0,0.0,0.0,0.0|$
               b31,b32,1.0,0.0,0.0|$
               b41,b42,b43,1.0,0.0|$
               b51,b52,b53,b54,1.0||
compute b21=b31=a32=b41=b42=b43=b51=b52=b53=b54=0.0
,i want to compare the model with when the fourth variable ddep is exogenous ,what should I do?

Estimating a near-SVAR

Posted: Mon Dec 14, 2015 11:31 am
by TomDoan
First of all, your "structural" model is just a Cholesky factorization, so you're doing a lot of unnecessary work. Second, Section 7.9 of the v9 User's Guide covers how to specify and estimate "near-VARs" such as what you want.

Estimating a near-SVAR

Posted: Mon Dec 14, 2015 10:05 pm
by cczzwhy
Thank you for your help! I am trying to replicate the only short run restrict part in [Bjornland Leitemo JME 2009*],but the b45 is zero

Code: Select all

dec frml[rect]  afrml
nonlin b11 b21 b22 b31 b32 b33 b41 b42 b43 b44 b51 b52 b53 b54 b55
frml afrml = ||b11,0.0,0.0,0.0,0.0|$
               b21,b22,0.0,0.0,0.0|$
               b31,b32,b33,0.0,0.0|$
               b41,b42,b43,b44,0.0|$
               b51,b52,b53,b54,b55||
compute b11=b21=b22=b31=a32=b33=b41=b42=b43=b44=b51=b52=b53=b54=b55=0.0
cvmodel(a=afrml,method=bfgs,pmethod=genetic,piters=20,factor=swish) %sigma
Do you know any procedure to estimate the structrual near-var model?

Estimating a near-SVAR

Posted: Tue Dec 15, 2015 7:29 am
by TomDoan
I don't care where you got the model, what it is just a Cholesky factor. Did you read the section in the User's Guide?

Estimating a near-SVAR

Posted: Tue Dec 15, 2015 10:35 am
by cczzwhy
Sorry for the mistake ,while i thought the code

Code: Select all

dec frml[rect]  afrml
nonlin b11 b21 b22 b31 b32 b33 b41 b42 b43 b44 b51 b52 b53 b54 b55
frml afrml = ||b11,0.0,0.0,0.0,0.0|$
               b21,b22,0.0,0.0,0.0|$
               b31,b32,b33,0.0,0.0|$
               b41,b42,b43,b44,0.0|$
               b51,b52,b53,b54,b55||
compute b11=b21=b22=b31=a32=b33=b41=b42=b43=b44=b51=b52=b53=b54=b55=0.0
cvmodel(a=afrml,method=bfgs,pmethod=genetic,piters=20,factor=swish) %sigma
,can solve the block recurisve restriction, and I can't understand why you say "a lot of unnecessary work"?

I read the section about near VAR's,and it was told that it is difficult to generate impulse response for overidentified model,so i need to think it over again.

Estimating a near-SVAR

Posted: Tue Dec 15, 2015 10:46 am
by TomDoan
You can just compute a Cholesky factor:

compute swish=%decomp(%sigma)

No NONLIN, no FRML, no CVMODEL.

It's not particularly hard to set up and estimate a near VAR---you just use SUR---and you can get the point estimates of the IRF's using a standard IMPULSE instruction. What's not so easy is doing the error bands because you can't draw the coefficients unconditionally as you can for a full VAR. However, since you have a simple Cholesky factor rather than an actual SVAR, you can just use the MONTESUR.RPF program setup.