Impulse Response of "GROUP Y" to Shock in "GROUP X"
Posted: Fri Nov 18, 2011 6:39 am
Question about Impulse Response of "GROUP Y" to Shock in "GROUP X"
Dear Mr.Doan,
I have 17 bank data which are sorted 3 groups by their sizes as below.
Group A = { A1, A2, A3, A4, A5, A6 }
Group B = { B1, B2, B3, B4 }
Group C = { C1, C2, C3, C4, C5, C6, C7 }
My first interest was whether causality relationships among 3 groups exist
or not, and I tested this according to the example of
p.57 in "RATS Programming Manual by Walter Enders"
(I attached the RATS code below my questions).
The result is Group A do granger cause Group B and Group C.
Here is a problem.
I want to get 2 impulse responses, that is, just 2 impulse response graphs,
as below.
(1) Impulse Responses of "Group B" to Shock in "GROUP A"
(2) Impulse Responses of "Group C" to Shock in "GROUP A"
In other words, my goal is just to get 2 impulse reponse functions, not to get
24 series(4 banks in Group B by 6 banks in Group A) and
42 series(7 banks in Group C by 6 banks in Group A)
To get these, first, I thought a way of using averages of each group and
doing granger test with these 3 series - the result was different with grouping
series above and this was not exactly what I wanted to.
Most of all, I think that this is not good
because averaging the all series of elements(banks) in each group
could destroy the characteristics of each element(Am I right?).
The second way that I thought was adding whole or statistically significant
impulse responses in 24 series(4 banks in Group B by 6 banks in Group A)
to get impulse responses of "Group B" to Shock in "GROUP A," and
adding whole or statistically significant impulse responses in
42 series(7 banks in Group C by 6 banks in Group A) to get
impulse responses of "Group C" to Shock in "GROUP A."
Dr.Doan, is this method proper? Somehow, this also looks stupid, I guess...
Would you let me know the best way to get 2 impulse response functions
- "Shock in Group A -> Response of Group B" and
"Shock in Group A -> Response of Group C"?
*******************************************
** test : "Group A -> Group B & Group C"
*******************************************
system(model=unrestricted1)
variables $
B1, B2, B3, B4 $
C1, C2, C3, C4, C5, C6
lags 1 to 1
det constant $
A1, A2, A3, A4, A5, A6
end(system)
estimate(resids=unresids, noprint)
compute ntotal=%nregsystem,mcorr=%nreg,loglunr=%logl
compute logdetunr=%logdet
system(model=restricted1)
variables $
B1, B2, B3, B4 $
C1, C2, C3, C4, C5, C6
lags 1 to 1
det constant
end(system)
estimate(resids=resresids, noprint)
compute loglres=%logl
compute logdetres=%logdet
************** Test Statistics
* (1) Using RATIO
ratio(degrees=ntotal-%nregsystem,mcorr=mcorr, $
title="Group A granger cause Group B & C")
# unresids
# resresids
* (2) Using %LOGL statistics.
* The standard LR test of -2*(L(R)-L(U)) is
* adjusted by multiplying by (T-c)/T to implement the multiplier correction.
compute teststat=-2.0*(%nobs-mcorr)/%nobs*(loglres-loglunr)
cdf(title="Group A granger cause Group B & C") chisqr $
teststat ntotal-%nregsystem
*
* (3) Using %LOGDET statistics:
compute teststat=(%nobs-mcorr)*(logdetres-logdetunr)
cdf(title="Group A granger cause Group B & C") chisqr $
teststat ntotal-%nregsystem
Dear Mr.Doan,
I have 17 bank data which are sorted 3 groups by their sizes as below.
Group A = { A1, A2, A3, A4, A5, A6 }
Group B = { B1, B2, B3, B4 }
Group C = { C1, C2, C3, C4, C5, C6, C7 }
My first interest was whether causality relationships among 3 groups exist
or not, and I tested this according to the example of
p.57 in "RATS Programming Manual by Walter Enders"
(I attached the RATS code below my questions).
The result is Group A do granger cause Group B and Group C.
Here is a problem.
I want to get 2 impulse responses, that is, just 2 impulse response graphs,
as below.
(1) Impulse Responses of "Group B" to Shock in "GROUP A"
(2) Impulse Responses of "Group C" to Shock in "GROUP A"
In other words, my goal is just to get 2 impulse reponse functions, not to get
24 series(4 banks in Group B by 6 banks in Group A) and
42 series(7 banks in Group C by 6 banks in Group A)
To get these, first, I thought a way of using averages of each group and
doing granger test with these 3 series - the result was different with grouping
series above and this was not exactly what I wanted to.
Most of all, I think that this is not good
because averaging the all series of elements(banks) in each group
could destroy the characteristics of each element(Am I right?).
The second way that I thought was adding whole or statistically significant
impulse responses in 24 series(4 banks in Group B by 6 banks in Group A)
to get impulse responses of "Group B" to Shock in "GROUP A," and
adding whole or statistically significant impulse responses in
42 series(7 banks in Group C by 6 banks in Group A) to get
impulse responses of "Group C" to Shock in "GROUP A."
Dr.Doan, is this method proper? Somehow, this also looks stupid, I guess...
Would you let me know the best way to get 2 impulse response functions
- "Shock in Group A -> Response of Group B" and
"Shock in Group A -> Response of Group C"?
*******************************************
** test : "Group A -> Group B & Group C"
*******************************************
system(model=unrestricted1)
variables $
B1, B2, B3, B4 $
C1, C2, C3, C4, C5, C6
lags 1 to 1
det constant $
A1, A2, A3, A4, A5, A6
end(system)
estimate(resids=unresids, noprint)
compute ntotal=%nregsystem,mcorr=%nreg,loglunr=%logl
compute logdetunr=%logdet
system(model=restricted1)
variables $
B1, B2, B3, B4 $
C1, C2, C3, C4, C5, C6
lags 1 to 1
det constant
end(system)
estimate(resids=resresids, noprint)
compute loglres=%logl
compute logdetres=%logdet
************** Test Statistics
* (1) Using RATIO
ratio(degrees=ntotal-%nregsystem,mcorr=mcorr, $
title="Group A granger cause Group B & C")
# unresids
# resresids
* (2) Using %LOGL statistics.
* The standard LR test of -2*(L(R)-L(U)) is
* adjusted by multiplying by (T-c)/T to implement the multiplier correction.
compute teststat=-2.0*(%nobs-mcorr)/%nobs*(loglres-loglunr)
cdf(title="Group A granger cause Group B & C") chisqr $
teststat ntotal-%nregsystem
*
* (3) Using %LOGDET statistics:
compute teststat=(%nobs-mcorr)*(logdetres-logdetunr)
cdf(title="Group A granger cause Group B & C") chisqr $
teststat ntotal-%nregsystem