Elder-Serletis(2010) VAR-GARCH-M

Use this forum for posting example programs or short bits of sample code.
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by TomDoan »

miao wrote:Hi Tom,

I have questions about the variables. Could you check if I understand them correctly?
1.
GDPTOPLUS :Response of GDP growth to Positive oil shock
GDPTOMINUS : Response of GDP growth to Negative oil shock
GDPTOPLUSNOM : Response of GDP growth to Positive oil shock without M effect
GDPTOMINUSNOM : Response of GDP growth to Negative oil shock without M effect
That's correct.
miao wrote: UPPER(1) , LOWER(1):Confidence interval for “GDPTOPLUS”
UPPER(2), LOWER(2) : Confidence interval for “GDPTOMINUS”

Two figures show the confidence bands for GDPTOPLUS and GDPTOMINUS,

RESP(1) , RESP(2):What are they? Are they the medians (50th percentiles) of the confidence bands?
That's described in the comments:

* This will do 16- and 84%-ile bands around the median response which is roughly
* the equivalent of +/- 1 s.d. bands, but allowing for asymmetry.
miao wrote: 2.
By “Without M effect”, does it mean that the IRF is computed from exactly the same estimated coefficients of M-model, but the coefficient of H_{1,1} terms in the mean equation is set to zero
With the current version of this program, the model is re-estimated without the M terms. An earlier version used the same coefficients but zeroed out the M terms, but after a more careful reading of the paper, I thought that the re-estimation was what they meant.
miao
Posts: 20
Joined: Mon Mar 25, 2013 9:44 pm

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by miao »

Hi Tom,

Thank you very much for your reply. I attempt to use a SVAR model, which is pretty similar to the Elder 2010 model, for Elder 2010 data. I compare the IRF of SVAR (Response of GDP to oil shock) and the IRF (GDPTOPLUSNOM, GDPTOMINUSNOM) of Elder 2010 model. The trends look similar, but the magnitudes differ (much smaller in SVAR results). Could you explain the differences between the models?

I expected that they look similar.

The SVAR model I use is

B*y_t= A_1 y_{t-1}+ A_2 y_{t-2} +A_3 y_{t-3}+ A_4 y_{t-4} + epsilon

where B is a 2*2 lower triangular matrix with unit diagonal, and the only parameter to estimate is B(2,1)

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

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by TomDoan »

Since the "SVAR" that you're doing is just a Cholesky factor, I'm not sure what you ended up having to estimate, but when I do

impulse(model=basevar,steps=12)

the scales of the responses are almost identical to the GARCH model.
miao
Posts: 20
Joined: Mon Mar 25, 2013 9:44 pm

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by miao »

Sorry for confusing. I estimate a VAR (with 4 lags) first, and then transform it to an SVAR framework with B, where B is an lower triangular matrix with unit diagonal. In SVAR terminology, the model is an A-model, which means we left-multiply y by matrix A( in this example B, the lower triangular matrix, is the A matrix). I think under this framework, the shock size is the standard deviation of the residual in the oil equation.

In Elder 2010, p. 1146, they indicate that the oil shock equals the annualized unconditional standard deviation of the change in the real oil price. Do you "annualize"? It's probably easier for us to reuse the code for other application without annualization.
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by TomDoan »

miao wrote:Sorry for confusing. I estimate a VAR (with 4 lags) first, and then transform it to an SVAR framework with B, where B is an lower triangular matrix with unit diagonal. In SVAR terminology, the model is an A-model, which means we left-multiply y by matrix A( in this example B, the lower triangular matrix, is the A matrix). I think under this framework, the shock size is the standard deviation of the residual in the oil equation.
A and B triangular models create identical orthogonal shocks (B=inv(A) and vice versa) so if you're getting different scales you're doing something wrong.
miao wrote: In Elder 2010, p. 1146, they indicate that the oil shock equals the annualized unconditional standard deviation of the change in the real oil price. Do you "annualize"? It's probably easier for us to reuse the code for other application without annualization.
Their data are already converted to annualized growth rates. Using raw data, something like:

set oilgrow = 400.0*log(realoil/realoil{1})
set gdpgrow = 400.0*log(gdpmc1/gdpmc1{1})
miao
Posts: 20
Joined: Mon Mar 25, 2013 9:44 pm

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by miao »

Thanks for your reply, Tom.
In the the output time series, what do U(1) and U(2) represent? Thanks!
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by TomDoan »

The U's are the non-orthogonalized residuals, the V's are the orthogonalized ones. (This is the opposite of the notation used in the article, but is what is used in our documentation, and is more standard).

Note that this example is covered in (considerable) detail in the RATS ARCH/GARCH and Volatility Models e-course.
miao
Posts: 20
Joined: Mon Mar 25, 2013 9:44 pm

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by miao »

Hi Tom,

Could the program be modified to compute the impulse response of GDP to oil price?

I understand the problem " impulse response of GDP to oil price" may make little economic sense, but under a few circumstances we have two variables, one of which is "relatively" exogenous, and I wonder if the program could be modified to compute the impulse response of the "relatively exogenous" variable to the "relatively endogenous" variable.

Thanks!

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

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by TomDoan »

miao wrote:Hi Tom,

Could the program be modified to compute the impulse response of GDP to oil price?

I understand the problem " impulse response of GDP to oil price" may make little economic sense, but under a few circumstances we have two variables, one of which is "relatively" exogenous, and I wonder if the program could be modified to compute the impulse response of the "relatively exogenous" variable to the "relatively endogenous" variable.
I assume you mean response of oil to GDP since GDP to oil is what it does. Sure, in

@CalcIRF ||shock,0.0||

that's a shock to the first variable and not the second. Switch that to ||0.0,something|| to get a shock to GDP.
istiak
Posts: 29
Joined: Sun Nov 11, 2012 9:03 pm

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by istiak »

Dear Tom
In the paper, in table 4, the first coefficient in the first column is -0.021 with t-ratio of 1.73. To get this result I added the following underlined lines in the code:

set d1 = t==1986:1
set d2 = t==1986:2
set d3 = t==1986:3
set d4 = t==1986:4
system(model=basevar)
variables oilgrow gdpgrow
lags 1 to nlags
det constant sqrthoil d1 d2 d3 d4
end(system)

I kept other parts of the code in oilgdpgarch program file same. But I don't get similar output as in the paper. Please suggest me how I can get the result. Thank you so much.
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by TomDoan »

It sounds from the text of the article that the dummies are only in the GDP equation, not the oil equation. (Dummying the oil equation zeros out the residuals during 1986, thus making the GARCH variance during 1986:2 to 1987:1 small). The following adds the restrictions on the dummies to the restriction already in the oil equation leaving out the "M" effect:

nonlin(parmset=mrestrict) bvec(1)(meffectpos)=0.0 bvec(1)(meffectpos+1)=0.0 $
bvec(1)(meffectpos+2)=0.0 bvec(1)(meffectpos+3)=0.0 bvec(1)(meffectpos+4)=0.0
istiak
Posts: 29
Joined: Sun Nov 11, 2012 9:03 pm

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by istiak »

Hi Tom
If I understand correctly, I should add

nonlin(parmset=mrestrict) bvec(1)(meffectpos)=0.0 bvec(1)(meffectpos+1)=0.0 $
bvec(1)(meffectpos+2)=0.0 bvec(1)(meffectpos+3)=0.0 bvec(1)(meffectpos+4)=0.0

along with

set d1 = t==1986:1
set d2 = t==1986:2
set d3 = t==1986:3
set d4 = t==1986:4
system(model=basevar)
variables oilgrow gdpgrow
lags 1 to nlags
det constant sqrthoil d1 d2 d3 d4
end(system)

Am I correct?
Thanks a lot.
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by TomDoan »

Yes.
miao
Posts: 20
Joined: Mon Mar 25, 2013 9:44 pm

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by miao »

Hi Tom,

In March 2013 I asked about the correct expansion of the model. However I think this could be wrong. I feel that this is the correct expansion of the model:

BVEC(1)(*)'s correspond to the oil equation, while B(2)(*) correspond to the GDP equation, and
y1=Oil price change
y2=GDP growth
y1(t)=BVEC(1)(9) + BVEC(1)(1)y1(t-1)+BVEC(1)(5)y2(t-1) + BVEC(1)(2)y1(t-2)+BVEC(1)(6)y2(t-2) + BVEC(1)(3)y1(t-3)+BVEC(1)(7)y2(t-3) + BVEC(1)(4)y1(t-4)+BVEC(1)(8)y2(t-4) + 0*H_{1,1} +\epsilon_{t1}
y2(t)=-B*y1(t)+ BVEC(2)(9) + BVEC(2)(1)y1(t-1)+BVEC(2)(5)y2(t-1) + BVEC(2)(2)y1(t-2)+BVEC(2)(6)y2(t-2) + BVEC(2)(3)y1(t-3)+BVEC(2)(7)y2(t-3) + BVEC(2)(4)y1(t-4)+BVEC(2)(8)y2(t-4) +BVEC(2)(10) *H_{1,1}^{1/2} +\epsilon_{t2}

Could you check if this is right?

Thanks

Miao
miao wrote:Hi Tom,

Following your reply that BVEC(2)(10) corresponds to the H_1,1 coefficient on oil volatility in the paper, could you check if my understanding is correct:

The model is

By = C + \Gamma_1 y_{t-1} + \Gamma_2 y_{t-2} +......+ \Gamma_p y_{t-p} + \Lambda(L) H^{1/2}_{t} +\epsilon_t

where y is a 2x1 column vector containing oil price change (1st element) and GDP growth (2nd element).
1.
In the B matrix, B(1,2)=0, B(1,1)=B(2,2)=1, and the only element to estimate is B(2,1), which corresponds to B in the program output.

2.
BVEC(1)(*)'s correspond to the oil equation, while B(2)(*) correspond to the GDP equation, and
y1=Oil price change
y2=GDP growth
y1(t)=BVEC(1)(1) + BVEC(1)(2)y1(t-1)+BVEC(1)(3)y2(t-1) + BVEC(1)(4)y1(t-2)+BVEC(1)(5)y2(t-2) + BVEC(1)(6)y1(t-3)+BVEC(1)(7)y2(t-3) + BVEC(1)(8)y1(t-4)+BVEC(1)(9)y2(t-4) + 0*H_{1,1} +\epsilon_{t1}
y2(t)=-B*y1(t)+ BVEC(2)(1) + BVEC(2)(2)y1(t-1)+BVEC(2)(3)y2(t-1) + BVEC(2)(4)y1(t-2)+BVEC(2)(5)y2(t-2) + BVEC(2)(6)y1(t-3)+BVEC(2)(7)y2(t-3) + BVEC(2)(8)y1(t-4)+BVEC(2)(9)y2(t-4) +BVEC(2)(10) *H_{1,1}^{1/2} +\epsilon_{t2}

3. Replacing real GDP series with Real personal consumption, Real investment, etc, then one can obtain all the other estimates of coefficients on H_{1,1}^{1/2} on Table 3, p1145, which is quoted below:

TABLE 3
COEFFICIENT ESTIMATES ON OIL VOLATILITY
Measure of real output Coefficient on H1,1(t)1/2, oil volatility
Real gross domestic product −0.022∗∗
(2.30)
Real gross domestic product (1967:1–2008:1) −0.011∗∗
West Texas Intermediate (2.47)
Real personal consumption expenditures: durable goods −0.107∗∗
(2.28)
Real gross private investment −0.153∗∗
(2.04)
Real PFI in nonresidential structures: commercial and health care −0.165∗∗
(2.39)
Real PFI in nonresidential structures: manufacturing −0.236
(1.47)
Real PFI in nonresidential structures: power and communication 0.022
(0.36)
Real PFI in nonresidential structures: mining, exploration, shafts −0.462∗∗
and wells (2.26)
Real PFI in nonresidential structures: other −0.183∗∗
(4.02)
Real PFI minus mining, exploration, shafts and wells −0.048
(1.37)
Real PFI nonresidential equipment and software −0.038
(1.00)
Industrial production monthly −0.017∗
(1.88)
NOTES: These are the parameter estimates for the free elements in from the structural VAR with bivariate GARCH given by equations
(1) and (2) with εt ∼ N(0, Ht ). H1,1(t)1/2 denotes the conditional standard deviation of the relevant measure of oil prices. Absolute
asymptotic t-statistics are in parentheses. The measure of the real oil price is based on the refiner’s acquisition cost of crude and the sample
is 1975:02–2008:01, except as indicated.
∗∗Denotes significance at the 5% level.
∗Denotes significance at the 10% level.


Thank you for your patience!

Miao
miao
Posts: 20
Joined: Mon Mar 25, 2013 9:44 pm

Re: Elder-Serletis(2010) VAR-GARCH-M

Unread post by miao »

How could we see the estimation results for the corresponding SVAR model without GARCH? Thanks,
Miao
Post Reply