Asymmetric Dynamic Multipliers

Discussion of models with structural breaks or endogenous switching.
Gilbril
Posts: 78
Joined: Thu Aug 19, 2010 2:00 pm

Asymmetric Dynamic Multipliers

Unread post by Gilbril »

Dear all,

I am currently trying to programm features of "Modelling Asymmetric Cointegration and Dynamic
Multipliers in a Nonlinear ARDL Framework" by Chinn et al. (2011) which I have attached

For me, the most interesting features are the Asymmetric Multipliers. The starting points are the conditional nonlinear ECM (Page 13, 2.10) which can for example be written as follows:

linreg(define=ECM) dy 2003:01 2011:11
# res_y{1} dy{1 to j} deonia_pl{0 to k} deonia_min{0 to k}


Now my question is: Is there a straight way using Rats to achieve the ARDL-in-levels representation (Page 16, 2.11) for the equation above? This is necessary since the multiplier is caluclated based on this representation

By the way, I have already figured out how to specify the multiplier without being able to inccoperate the levels representation


linreg(define=NARDL) y 2003:01 2011:11
# constant y{1} eonia_pl{1} eonia_min{1}
equation(empty) dummyeqn eonia_pl
group nardlmodel nardl dummyeqn
impulse(model=nardlmodel,shocks=||0.0,1.0||,results=responses,steps=36

Thanks for your help
Attachments
shin et al - modelling asymmetric cointegration and dynamic multipliers-1.pdf
(506.49 KiB) Downloaded 2140 times
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: Asymmetric Dynamic Multipliers

Unread post by TomDoan »

Isn't their (2.11) just a reduced form of (2.10)? It looks like you would estimate (2.11) with OLS.
Gilbril
Posts: 78
Joined: Thu Aug 19, 2010 2:00 pm

Re: Asymmetric Dynamic Multipliers

Unread post by Gilbril »

Dear Tom,

I am not sure about that since it is not clear where the equilibrium error in 2.10 enters in 2.11.

Indeed, all estimations are carried out by OLS. However, we estimate 2.10 for about 40 different models. The calculation of the dynamic multiplier in the end obviously just corresponds to a simple shock impact analysis as indicated by the code of my previous post.

Is there any way in Rats to achieve 2.12. based on the estimation of 2.10/2.11 which is carried out as described in my previous post? This would mostly correspond to an automatic respectively programmed multiplication of 2.10/2.11 with lagged multipliers. As 2.11 seems to be a reformulation of 2.10 with all terms containing lagged endogenous variables on the left hand side, 2.12 is achieved by premultiplying 2.11 with the inverse lag polynomial phi(L). Is there a way to invert lag polynomials in Rats?
Calculating by hand based on the estimation results would be an extensive exercise. As mentioned above I am also unsure where the equilibrium error enters in 2.11 and 2.12.

Thanks for any help
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: Asymmetric Dynamic Multipliers

Unread post by TomDoan »

Gilbril wrote:Dear Tom,

I am not sure about that since it is not clear where the equilibrium error in 2.10 enters in 2.11.

Indeed, all estimations are carried out by OLS. However, we estimate 2.10 for about 40 different models. The calculation of the dynamic multiplier in the end obviously just corresponds to a simple shock impact analysis as indicated by the code of my previous post.

Is there any way in Rats to achieve 2.12. based on the estimation of 2.10/2.11 which is carried out as described in my previous post? This would mostly correspond to an automatic respectively programmed multiplication of 2.10/2.11 with lagged multipliers. As 2.11 seems to be a reformulation of 2.10 with all terms containing lagged endogenous variables on the left hand side, 2.12 is achieved by premultiplying 2.11 with the inverse lag polynomial phi(L). Is there a way to invert lag polynomials in Rats?
Calculating by hand based on the estimation results would be an extensive exercise. As mentioned above I am also unsure where the equilibrium error enters in 2.11 and 2.12.

Thanks for any help
Have you looked at the %POLYDIV function? That would do the same calculation, but would probably be simpler to automate. See, for instance, the Hill, Griffiths and Lim example hillp251.rpf.
Gilbril
Posts: 78
Joined: Thu Aug 19, 2010 2:00 pm

Re: Asymmetric Dynamic Multipliers

Unread post by Gilbril »

Dear Tom,

I have now written a procedure which is based on the %POLYDIV function. As a first step, I have carried out a transfomation into levels before using the function. However, if I calculate the long-run multiplier, they do not converge towards the long-run values but to zero which is somewhat puzzling. I am unsure whether this is due to a mistake in the procedure (Which I think should be correct). Any help would be greatly appreciated.


I have attached the whole procedure and the data. However, the main part is the following

***Choose optimal NARDL Model

set y = ih_1_0

set dy = y-y{1}

*j is the lag-lentg of DY, determined before

compute j = 1

*k j is the lag-lentg of DEONIA_PL und DEONIA_MIN, determined before,

compute k = 0

linreg(define=NARDL) dy 2003:01 2011:11

# constant y{1} eonia_pl{1} eonia_min{1} dy{1 to j} deonia_pl{0 to k} deonia_min{0 to k}





***Calculating Lagpolynom



*Calculating coefficients in Level

compute y_1 = %beta(2)+%beta(5)+1

dis "Y(t-1)" y_1

compute y_2 = %beta(5)*(-1)

dis "Y(t-2)" y_2

compute pl = %beta(6)

dis "EONIA_PL(t)" pl

compute pl_1 = %beta(3)+%beta(6)*(-1)

dis "EONIA_PL(t-1)" pl_1

compute min = %beta(7)

dis "EONIA_MIN(t)" min

compute min_1 = %beta(4)+%beta(7)*(-1)

dis "EONIA_PL(t-1)" min_1



*Create Equation

equation(coeffs=||y_1,y_2,pl,pl_1,min,min_1||) yeq y

# y{1} y{2} eonia_pl eonia_pl{1} eonia_min eonia_min{1}



*Extracting Lagpolynoms

compute poly_y = %eqnlagpoly(yeq,y)

dis "Y-Polynom" poly_y

compute poly_pl = %eqnlagpoly(yeq,eonia_pl)

dis "EONIA_PL-Polynom" poly_pl

compute poly_min = %eqnlagpoly(yeq,eonia_min)

dis "EONIA_MIN-Polynom" poly_min



*Division of EONIA_PL- und EONIA_MIN-Polynom by Y-Polynom

compute pl_inv = %polydiv(poly_pl,poly_y,13)

dis "durch Y_inv dividiertes EONIA_PL-Polynom" pl_inv

compute min_inv = %polydiv(poly_min,poly_y,13)

dis "durch Y_inv dividiertes EONIA_MIN-Polynom" min_inv



*Direct new coefficients

equation(coeffs=||pl_inv(1),pl_inv(2), pl_inv(3), pl_inv(4), pl_inv(5), pl_inv(6),pl_inv(7),pl_inv(8),pl_inv(9),pl_inv(10),pl_inv(11),pl_inv(12),pl_inv(13),pl_inv(14), $
min_inv(1),min_inv(2),min_inv(3),min_inv(4),min_inv(5),min_inv(6),min_inv(7),min_inv(8),min_inv(9),min_inv(10), min_inv(11), min_inv(12),min_inv(13),min_inv(14)||) shockeqn y
# eonia_pl{0 to 13} eonia_min{0 to 13}



*Impuls-Response

equation(empty) dummyeqn eonia_pl
group nardlmodel shockeqn dummyeqn
impulse(model=nardlmodel,shocks=||0.0,1.0||,results=responses,steps=36)



Thanks and Regards
Gilbril
Attachments
Code.PRG
(6.3 KiB) Downloaded 946 times
Data.xls
(63.5 KiB) Downloaded 814 times
Post Reply