Panel GARCH? (Cermeno and Grier, 2006)

Discussions of ARCH, GARCH, and related models
TomDoan
Posts: 7777
Joined: Wed Nov 01, 2006 4:36 pm

Re: Panel GARCH? (Cermeno and Grier, 2006)

Unread post by TomDoan »

I've attached a cleaner version of your program that you should find easier to handle. In particular, it replaces your long lists defining the y's, yl1's and yl2's with a single list after the EQUATION instruction below, and takes care of everything from there.

Code: Select all

*
* Make a list of the endogenous variables in this estimation
*
equation endoglist *
# x2 x7 x8 x9 x10 x11 x12 x13 x14
compute n=%eqnsize(endoglist)
*
dec vect[series] y(n) u(n) yL1(n) yL2(n)
dec vect[frml] resid(n)
*
* Make 100.* copies of the data to be used
*
do i=1,n
   set y(i) = 100.0*%eqnxvector(endoglist,t)(i)
end do i
*
* Create the lags of each
*
do i=1,n
   set yl1(i) = y(i){1}
   set yl2(i) = y(i){2}
end do i
You have three problems with what you're doing.

1. That's way too big a model. The panel GARCH model allows for an unrestricted N x N (symmetric) "intercept" in the GARCH recursion. With the amount of data you have, that's a 58 x 58 matrix of free parameters, which is around 1800 of them. If it ever successfully estimated (unlikely) it would probably take a couple of days.

2. From what I can see, your data are pretty much all non-stationary. I'm puzzled as to why you would estimate a common AR2 model for them rather than estimating in differences (i.e. in returns) as is standard in GARCH modeling.

3. The panel GARCH model assumes very similar GARCH dynamics among the series. A spot check of the data would indicate that that does not seem like a reasonable assumption.
Attachments
prova_model_small_balanced.rpf
(15.64 KiB) Downloaded 745 times
MartaAC
Posts: 5
Joined: Mon Nov 08, 2021 4:47 am

Re: Panel GARCH? (Cermeno and Grier, 2006)

Unread post by MartaAC »

Thank you again, Tom.
I see...
1. I reduced the individuals in the panel to 16.
2. I applied differences to my endogenous variables. Now, they are stationary.
Although I recently read many papers applying panel GARCH, it's my first time dealing with them. I'm sorry, I am not sure what kind of model are you suggesting as an alternative to the common AR2.
3. I try a GARCH to explore the behaviour of volatility, as a robustness check after using rolling-window standard deviations as dependent variables in OLS panel regressions with fixed effects and exploring ADRL models. I hope not to be doing a crazy thing.
Thanks for showing me how to write a cleaner code!

By reducing the number of panels and applying differences. The maximize converges in 41 iterations and produces reasonable results. I tried reducing the piter and BFGS converges in 74 iterations. Results, also regarding standard errors, are almost identical...

My scope was to model a panel GARCH with some regressors in the conditional variance equation. Once the "basic" and reduced AR2 works, I am trying it. But, when I run the code I get a warning regarding the low number of iterations BFGS required and the last coefficients and std errors are 0.0.
I tried estimating without piter.
maximize(trace,start=PGARCHInit(),parmset=meanparms+garchparms,method=bfgs,iters=400) logl gstart gend
How could I solve it? UPDATE NOTE: if I use BHHH method instead, I don't get the warning message and it converges in 152 iterations. Are the results with BHHH reliable?
This is a piece of the output:
MAXIMIZE - Estimation by BFGS
Convergence in 105 Iterations. Final criterion was 0.0000017 <= 0.0000100
LOW ITERATION COUNT ON BFGS MAY LEAD TO POOR ESTIMATES FOR STANDARD ERRORS

Monthly Data From 1983:03 To 2020:09
Usable Observations 451
Function Value -7600.1676

Variable Coeff Std Error T-Stat Signif
*************************************************************************************
1. V(1) -2.0733e-03 0.0213 -0.09748 0.92234421
2. V(2) 0.0182 0.0252 0.72314 0.46959165
3. V(3) 0.0434 0.0686 0.63329 0.52654492
.
155. DELTA 0.8855 8.7274e-03 101.46109 0.00000000
156. LAMBDA 0.9178 0.0137 66.87691 0.00000000
157. GAMMA 0.0917 6.6894e-03 13.70749 0.00000000
158. RHO 0.0156 2.8303e-03 5.50676 0.00000004
159. THETA1 -2.3634e-05 9.4537e-05 -0.25000 0.80259111
160. THETA2 1.6651e-04 1.1886e-04 1.40093 0.16123571
161. B1 0.0563 0.0423 1.32941 0.18371205
162. B2 2.4110e-05 7.8148e-06 3.08510 0.00203482
163. B3 -2.1517e-04 1.5787e-04 -1.36300 0.17288153
The code is here:
prova_MODEL_E_balanced_small.RPF
(16.33 KiB) Downloaded 805 times
Thank you again.
Post Reply