SVECM

A forum for questions and answers regarding the CATS cointegration procedure
smaha
Posts: 1
Joined: Fri Oct 24, 2008 10:55 am

SVECM

Unread post by smaha »

Can I put short-run restrictions on contemporaneous impacts of endogenous variables (similar to Bernanke-Sims) on an estimated VECM to uncover the structural shocks.

Steps i want to follow is> Johansen cointegration to determine rank of cointegration> put long-run restrictions to uncover cointegrating vectors>estimate VECM> put short-run restrictions to conver the structural shocks.
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Unread post by TomDoan »

The Johansen cointegration procedure only constrains the lags of the VAR; the contemporaneous covariance matrix is left free. So you can actually do that analysis in two steps. Where the cointegration does have an effect in "SVAR" modelling is on the combination of long and short run constraints (Blanchard-Quah type constraints on IRF's), since imposing cointegration gives you a reduced rank long-run response matrix. As long as your SVAR is strictly contemporaneous, you don't have a problem with separating the two steps.
MC128
Posts: 33
Joined: Tue Jun 16, 2009 5:55 am

Re: SVECM

Unread post by MC128 »

Hi,

I would like to estimate a SVECM as well...I am thinking of estimating a cointegrated model first using the command @cats, then do a structural decomposition using @cvmodel. But it seems my code is not working....may I ask what's wrong with the following code?

**********************************************************************************************************************
@cats(lags=4,export=ecm,r=2,dettrend=drift,noprint) 1984:1 2008:4
# govspendb gdp gdpdef netrevenue hibor

compute aye=ayr=bre=ape=apy=api=aie=aiy=aip=air=0
nonlin aey=0.0 aep=-0.5 aei=0.0 aye ayr ape apy api ary=1.0 arp=1.0 ari=0.0 aie aiy aip air bre ber=0.0

*
cvmodel(a=afrml,b=bfrml,method=bfgs,pmethod=genetic,piters=20,factor=swish) %sigma
*
*
impulse(noprint,model=ecm,factor=swish,results=impulses,steps=nstep)
*******************************************************************************************************************************8

Thank you so much!

MC
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: SVECM

Unread post by TomDoan »

What isn't working?
MC128
Posts: 33
Joined: Tue Jun 16, 2009 5:55 am

Re: SVECM

Unread post by MC128 »

Hi Tom,

A message propped up when I tried to run the code:

## MAT5. Needed Matrix with Dimensions 26 x 26, Got 5 x 5 Instead

I have attached my code for your reference.

May I also ask how to draw error bands for the impulse response?

Thank you so much!

MC
Attachments
fiscalcoin(partial).PRG
(4.2 KiB) Downloaded 1478 times
moderator
Site Admin
Posts: 269
Joined: Thu Oct 19, 2006 4:33 pm

Re: SVECM

Unread post by moderator »

CATS doesn't define the %SIGMA matrix. (It's possible that an instruction in CATS somewhere does set %SIGMA, but in any case, CATS is not storing the residual covariance matrix for the model in %SIGMA).

I think you want the variable %OMEGA1 rather than %SIGMA. It's one of the global variables defined by CATS (see the CATS Appendix), and I believe it is the variable CATS is using to store the residual covariance matrix.

Regards,
Tom Maycock
MC128
Posts: 33
Joined: Tue Jun 16, 2009 5:55 am

Re: SVECM

Unread post by MC128 »

Hi Tom,

Thanks for your information! I have changed the code accordingly and it works now... Another question is: are you aware of any sample code or method that can draw error bands for SVECM?

Many thanks!

MC
MC128
Posts: 33
Joined: Tue Jun 16, 2009 5:55 am

Re: SVECM

Unread post by MC128 »

Hi Tom,

I am trying to draw bootstrapped error bands for a SVECM, following the example of bootvar.prg. May I ask how can we declare a model name for a VECM which is estimated by CATS, apart from using the Misc option available on the menu?

For example, in a VAR,

We can do this with the following syntax:

system(model=varmodel)
variables xx xx
lags 1 to nlags
end(system)

Is there a corresponding way to do that for a VECM estimated by CATS?

Also, can we access the residuals in a similar way?

Thanks.

MC
moderator
Site Admin
Posts: 269
Joined: Thu Oct 19, 2006 4:33 pm

Re: SVECM

Unread post by moderator »

MC128 wrote:I am trying to draw bootstrapped error bands for a SVECM, following the example of bootvar.prg. May I ask how can we declare a model name for a VECM which is estimated by CATS, apart from using the Misc option available on the menu?
If you are running CATS in batch mode (i.e. using the NOMENU option), you can use the EXPORT option to automatically export the estimated model. I'm not sure if that's what you were looking for?

Tom
MC128
Posts: 33
Joined: Tue Jun 16, 2009 5:55 am

Re: SVECM

Unread post by MC128 »

Hi Tom,

Yes, I tried...but when I use the option export=ecm/var, how can I define a name for this model at the same time? This is very important as I would like to estimate several SVECMs within the same programme file. Similarly, how can we export the residuals of each SVECM?

Thanks!

MC
dacanoo
Posts: 6
Joined: Tue Aug 30, 2011 7:27 pm

Re: SVECM

Unread post by dacanoo »

Hi Tom, I would like to estimate a SVEC model by imposing long-run and short-run restrictions on the structural stochastic trends, is there any routine or procedure for so doing with RATS?
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: SVECM

Unread post by TomDoan »

dacanoo wrote:Hi Tom, I would like to estimate a SVEC model by imposing long-run and short-run restrictions on the structural stochastic trends, is there any routine or procedure for so doing with RATS?
That's done using @ShortAndLong, which is explained in the RATS manual and in quite a few threads on the forum. One is:

http://www.estima.com/forum/viewtopic.php?f=4&t=730

but if you do the Search... within the forum, you'll find others.
Post Reply