Why do I receive an inaccurate fit with the GARCHFIT function in the GARCH Toolbox 2.4 (R2008a) if my series has large deviations?

2 views (last 30 days)
I have a time series that I am trying to fit to a GARCH model. When I use the Student T distribution, I receive correct results, but using the default Gaussian distribution I get incorrect values for GARCH(1), ARCH(1) and Sigma. In both cases, GARCHFIT converges with no warnings. For example,
% Download the attached MAT file
load series.mat
% **** CASE 1 - T Distribution
spec = garchset('C',0,'K',0.0001,'GARCH',0.9,'ARCH',0.02,'Distribution','T','DoF',3);
[Coeff,Errors,LLF,Innovations,Sigmas,Summary] = garchfit(spec,series);
garchdisp(Coeff,Errors);
plot(Sigmas);
% **** CASE 2 - Default Gaussian
spec = garchset('C',0,'K',0.0001,'GARCH',0.9,'ARCH',0.02);
[Coeff,Errors,LLF,Innovations,Sigmas,Summary] = garchfit(spec,series);
garchdisp(Coeff,Errors);
plot(Sigmas);
returns an accurate model and volatility plot for the first case but an incorrect model and a random volatility plot in the second case.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 27 Jun 2009
The GARCHFIT function can fail to model time series with a Gaussian distribution if the time series contains some very large uncharacteristic deviations which the Gaussian distribution is not as capable of handling as the T distribution.
In fact if you retain all of the data but just change the single, largest negative return at observation #449 from -0.1516 to -0.05 (which is something more in line with the rest of the dataset), the results match up much more closely.
What you are seeing is that the T distribution, which is designed to better capture the time-varying volatility, is better able to handle any large, uncharacteristic changes.
In fact, this is one of the empirical shortcomings of GARCH modeling in general: Although somewhat counter-intuitive, GARCH techniques are designed to describe time-varying volatility, but NOT excessively large, wholesale changes in the structure of the data.
For the basic GARCH model, the coefficients indicate that presence of little persistence in variance, so the statement "random volatility plot in the second case" is consistent with the estimated result. It's also consistent with an auto-correlation plot of the squared returns (see more below).
When very large returns like what we have at #449 are present, typically you see that either (1) the optimization does not converge, or (2) it does terminate but with various constraints active. Both cases are an indication, perhaps only qualitative, that the model chosen is a poor description of the data.
In this case, the model converges without any warnings, but that does not mean that it's a good description of the data. In fact, the estimation results for the basic GARCH(1,1) model are
Mean: ARMAX(0,0,0); Variance: GARCH(1,1)
Conditional Probability Distribution: Gaussian
Number of Model Parameters Estimated: 4
Standard T
Parameter Value Error Statistic
----------- ----------- ------------ -----------
C 0.00060142 0.00076854 0.7825
K 0.00026368 2.4286e-005 10.8571
GARCH(1) 0.01546 0.040954 0.3775
ARCH(1) 0.51909 0.065912 7.8755
Here, notice that the t-stat for the Gaussian distribution GARCH(1) parameter was so low - meaning rejection of the GARCH(1,1) model.
This would imply mis-specification with the Gaussian GARCH(1,1) model and that, for some reason, the Student's t GARCH(1,1) model does a better job at handling what seems to be long-period lags in the data.
If you run "autocorr(series.^2)" on the data you can see that there are some really long lags in the data. It appears rather random, then a big correlation at the 20-th lag.
Incidentally, the DoF estimate is solidly a Student's t distribution so, in some sense, it is just a better fit and does not indicate a bug in the GARCHFIT function.

More Answers (0)

Categories

Find more on Conditional Variance Models in Help Center and File Exchange

Products


Release

R2008a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!