Page 1 of 1

BVARBuildPriorMN

Posted: Wed Aug 14, 2013 11:11 am
by AhmedSahlool
Dear Tom,

I hope this finds you well,

I’m implementing a full SVAR model of 5 variables identified with BQ methodology. I would like to use Bayesian estimation with Litterman Independent Normal Wishart Prior.

In a previous discussion, you advised me to use the @SURGibbsSetup procedure to estimate such a model:

“once you have a prior which is informative and isn't in conjugate form, there is no longer any computational advantage in being a full VAR---the calculation is basically the "SUR" model whether the VAR is full or not”

In order to implement the informative Litterman prior on the VAR coefficients, I used the procedure @BVARBuildPriorMN, the resulting bprior and hprior have the dimensions (6*5) and (30*30), respectively.

Thus, when I add them to the posterior code in loop to have an informative posterior;

compute bpost=vpost*(hbdata+hprior*bprior),

I got the message:

## MAT2. Matrices with Dimensions 30 x 30 and 6 x 5 Involved in * Operation

Could you kindly tell me how to solve this?

Could I use GibbsVAR model directly; is it built on the Litterman Independent Normal Wishart Prior?

On the other hand, 2 of the 5 variables in my model are foreign variables, I would like to treat the foreign variables as block exogenous, but without imposing exogeneity directly using the near-VAR approach, so I let the data accept or refute this. Instead, I want to shrink the parameters on the domestic variables to a value near zero in the equations for the foreign variables, like what is done with the option specify(type=general).

Is it possible to handle this with @BVARBuildPriorMN, so the Litterman part of the Prior takes this in consideration and I can use it in @SURGibbsSetup procedure?

Thank you in advance.

Re: BVARBuildPriorMN

Posted: Wed Aug 14, 2013 1:10 pm
by TomDoan
AhmedSahlool wrote:Dear Tom,

I hope this finds you well,

I’m implementing a full SVAR model of 5 variables identified with BQ methodology. I would like to use Bayesian estimation with Litterman Independent Normal Wishart Prior.

In a previous discussion, you advised me to use the @SURGibbsSetup procedure to estimate such a model:

“once you have a prior which is informative and isn't in conjugate form, there is no longer any computational advantage in being a full VAR---the calculation is basically the "SUR" model whether the VAR is full or not”

In order to implement the informative Litterman prior on the VAR coefficients, I used the procedure @BVARBuildPriorMN, the resulting bprior and hprior have the dimensions (6*5) and (30*30), respectively.

Thus, when I add them to the posterior code in loop to have an informative posterior;

compute bpost=vpost*(hbdata+hprior*bprior),

I got the message:

## MAT2. Matrices with Dimensions 30 x 30 and 6 x 5 Involved in * Operation

Could you kindly tell me how to solve this?
You need %VEC(BPRIOR)
AhmedSahlool wrote: Could I use GibbsVAR model directly; is it built on the Litterman Independent Normal Wishart Prior?
Yes.
AhmedSahlool wrote: On the other hand, 2 of the 5 variables in my model are foreign variables, I would like to treat the foreign variables as block exogenous, but without imposing exogeneity directly using the near-VAR approach, so I let the data accept or refute this. Instead, I want to shrink the parameters on the domestic variables to a value near zero in the equations for the foreign variables, like what is done with the option specify(type=general).

Is it possible to handle this with @BVARBuildPriorMN, so the Litterman part of the Prior takes this in consideration and I can use it in @SURGibbsSetup procedure?

Thank you in advance.
This is a revised version of @BVARBuildPriorMN which includes a MATRIX option for handling weights the way that the TYPE=GENERAL option does them on SPECIFY.
bvarbuildpriormn.src
Revised procedure file
(4.65 KiB) Downloaded 843 times

Re: BVARBuildPriorMN

Posted: Wed Aug 14, 2013 3:47 pm
by AhmedSahlool
Thank you for your reply,

I have a silly question:

I enter the matrix for the matrix option as follows:

declare rect priormat(5,5)
input priormat
1.00 0.50 0.01 0.01 0.01
0.50 1.00 0.01 0.01 0.01
0.50 0.50 1.00 0.50 0.50
0.50 0.50 0.50 1.00 0.50
0.50 0.50 0.50 0.50 1.00

However I got this message:

MATRIX is 5 x 5 . Must be 5 x 5

Could you see where is the error?

Thank you

Re: BVARBuildPriorMN

Posted: Wed Aug 14, 2013 5:47 pm
by TomDoan
Download the procedure again. I fixed the logic on that.