Baillie Bollerslev Mikkelson JOE 1996 |
Baillie, Bollerslev and Mikkelson(1996) introduced the FIGARCH (Fractionally Integrated GARCH) model. (Using the authors' notation), if you take the basic univariate GARCH(1,1) model
\begin{equation} \sigma _t^2 = \omega + \alpha \varepsilon _{t - 1}^2 + \beta {\sigma _{t - 1}^2} \end{equation}
it can be rearranged into the form
\begin{equation} \sigma _t^2 - \varepsilon _t^2 = \omega + \beta \left( {\sigma _{t - 1}^2 - \varepsilon _{t - 1}^2} \right) + \left( {1 - \left( {\alpha + \beta } \right)L} \right)\varepsilon _t^2 \end{equation}
If \(\alpha + \beta = 1\), this is an IGARCH model. The FIGARCH model uses a fractional, but not full, difference in the final term, which offers a persistent effect, but not quite as persistent as the full IGARCH. This gives the recursion:
\begin{equation} \sigma _t^2 - \varepsilon _t^2 = \omega + \beta \left( {\sigma _{t - 1}^2 - \varepsilon _{t - 1}^2} \right) + {\left( {1 - L} \right)^d}\varepsilon _t^2 \end{equation}
The residuals will be computable exactly given the parameters governing the mean process. The hard part is computing the fractional difference on them:
\begin{equation} {\left( {1 - L} \right)^d}\varepsilon _t^2 \end{equation}
For a fractional value of \(d\), this is an infinite sum which, of course, can't be computed in a finite sample. The authors recommend a truncated sum, which tends to be time-consuming and can be quite inaccurate, depending upon the truncation point. However, RATS has the DIFFERENCE instruction with the FRACTION option to compute this in the frequency domain which is substantially faster. There's still a truncation effect, but it's only when the infinite sum runs off the front end of the data. Since the squared residuals don't have mean zero, the proper procedure is to pad out the filter using a reasonable estimate of the pre-sample values—the obvious choice for that is the sample mean of the squared residuals from a simple linear regression.
The empirical example is on daily log percentage returns on the Deutsche Mark to USD exchange rate. The mean model is just a fixed mean. A simple GARCH(1,1) model is estimated using the GARCH instruction
garch(p=1,q=1,resids=resids,hseries=h,robust) 2 * dm
set ustd = resids/sqrt(h)
@Diagnostics(title="GARCH(1,1) model") ustd
The diagnostics used are a Ljung-Box Q test and a McLeod-Li test on the standardized residuals, the former testing for serial correlation in the mean, the latter for serial correlation in the squares.
As a first step towards the complete FIGARCH model, this is re-estimated (using MAXIMIZE) in the rearranged form used in the paper:
nonlin(parmset=meanparms) mu
frml meanf = mu
stats dm 2 *
compute uupresample=%variance
set uu = %variance
set h = %variance
set u = 0.0
compute mu=%mean
*
nonlin(parmset=garchparms) c phi b
*
compute phi=.80,c=%seesq*(1-phi),b=.70
frml varf = c+b*h{1}+(phi-b)*uu{1}
frml logl = (u=dm-meanf),(uu(t)=u^2),(h(t)=varf(t)),%logdensity(h,u)
maximize(parmset=meanparms+garchparms,pmethod=simplex,piters=5,robust,$
title="GARCH(1,1)") logl 2 *
This largely follows the set up for non-standard univariate GARCH models (and uses the notation from that).
The IGARCH model is the same, but with the PHI coefficient pegged to 1 using a restriction in the PARMSET:
nonlin(parmset=garchparms) c phi=1.0 b
For the actual FIGARCH model, we need to take PHI out of the parameter set and add the fractional difference parameter:
nonlin(parmset=garchparms) c b d
set uufilter = 0.0
The most important part of the calculation is the generation of \({\left( {1 - L} \right)^d}\varepsilon _t^2\), which, given the parameters, is just "data", and can be computed once at the start of a function evaluation. That's a huge time-saver. This is computed using a FUNCTION called %UUFILTER:
function %uufilter d
type real d %uufilter
*
set u = dm-meanf
set uu = u^2
if d>1.0.or.d<0.0
set uufilter = %na
else
diff(fraction=d,pad=uupresample) uu / uufilter
end
This computes the residuals (U) by subtracting the MEANF (mean formula defined above in the simpler models) from the data, and the square (UU) of the residuals. If the \(d\) parameter is out-of-range, it just sets the result to the missing value (so the log likelihood will also be the missing value) and otherwise uses DIFFERENCE to create into UUFILTER the fractionally differenced series of the squared residuals. As noted above, this is padded out with the sample variance—more generally, it would be the sample residual variance from the mean model. The FIGARCH model is then estimated with:
compute c=uupresample*.1,b=0.7,d=.8
frml varf = c+b*h{1}+uu-b*uu{1}-uufilter
frml logl = (h(t)=varf(t)),%logdensity(h,u)
maximize(startup=%uufilter(d),parmset=meanparms+garchparms,$
title="FIGARCH(1,1)") logl 2 *
The STARTUP option on MAXIMIZE is executed at the start of each function evaluation, so when D changes, a new set of fractionally differenced squared residuals is generated for use in the VARF recursion. The UU series is also "data" given the parameters, so the only thing recursively generated as part of a function evaluation is the variance.
Output
All forms of the GARCH models pass the McLeod-Li test for remaining "ARCH". (Not surprisingly, the simple linear regression doesn't). The Ljung-Box tests are all modestly significant at the .05 level, though that's not surprising on a sample this large and the sample autocorrelations in the LB don't indicate any obvious change to the mean model since the first autocorrelation is small. The FIGARCH model fits modestly better than the GARCH(1,1) model with the same number of parameters. The IGARCH model, however, doesn't do as well as either, so the indication is that the persistence isn't quite as strong as an IGARCH would suggest.
Linear Regression - Estimation by Least Squares
With Heteroscedasticity-Consistent (Eicker-White) Standard Errors
Dependent Variable DM
Usable Observations 3453
Degrees of Freedom 3452
Centered R^2 0.0000000
R-Bar^2 0.0000000
Uncentered R^2 0.0000292
Mean of Dependent Variable -0.004094322
Std Error of Dependent Variable 0.757813776
Standard Error of Estimate 0.757813776
Sum of Squared Residuals 1982.4204954
Log Likelihood -3941.5170
Durbin-Watson Statistic 2.0615
Variable Coeff Std Error T-Stat Signif
************************************************************************************
1. Constant -0.004094322 0.012894405 -0.31753 0.75084376
Statistics for Linear Regression
Observations 3453
Sample Mean -0.000000 Variance 1.000000
Standard Error 1.000000 SE of Sample Mean 0.017018
t-Statistic (Mean=0) -0.000000 Signif Level (Mean=0) 1.000000
Skewness -0.264572 Signif Level (Sk=0) 0.000000
Kurtosis (excess) 3.123205 Signif Level (Ku=0) 0.000000
Jarque-Bera 1443.699457 Signif Level (JB=0) 0.000000
LB Test for Linear Regression
Autocorrelations
1 2 3 4 5 6 7 8 9 10
-0.03079 0.00636 0.03894 0.00006 0.01061 0.01799 -0.01637 0.02518 0.02118 -0.01326
11 12 13 14 15 16 17 18 19 20
-0.00413 0.02813 -0.00410 0.00526 0.02050 -0.02637 -0.00331 -0.02130 0.01700 0.00115
Ljung-Box Q-Statistics
Lags Statistic Signif Lvl
20 24.909 0.204927
McLeod-Li Test for Linear Regression
Autocorrelations
1 2 3 4 5 6 7 8 9 10
0.073128 0.051248 0.117492 0.094819 0.045748 0.083191 0.070496 0.065950 0.045200 0.057944
11 12 13 14 15 16 17 18 19 20
0.087213 0.030837 0.048538 0.042008 0.065029 0.037503 0.025459 0.029290 0.027530 0.027137
Ljung-Box Q-Statistics
Lags Statistic Signif Lvl
20 262.498 0.000000
GARCH Model - Estimation by BFGS
Convergence in 24 Iterations. Final criterion was 0.0000024 <= 0.0000100
With Heteroscedasticity/Misspecification Adjusted Standard Errors
Dependent Variable DM
Usable Observations 3453
Log Likelihood -3739.2244
Variable Coeff Std Error T-Stat Signif
************************************************************************************
1. Mean(DM) -0.003126454 0.014625306 -0.21377 0.83072630
2. C 0.015563137 0.004310822 3.61025 0.00030590
3. A 0.112218723 0.016667145 6.73293 0.00000000
4. B 0.867440654 0.015638941 55.46671 0.00000000
Statistics for GARCH(1,1) model
Observations 3453
Sample Mean 0.007272 Variance 0.997940
Standard Error 0.998970 SE of Sample Mean 0.017000
t-Statistic (Mean=0) 0.427779 Signif Level (Mean=0) 0.668839
Skewness -0.130318 Signif Level (Sk=0) 0.001779
Kurtosis (excess) 1.769046 Signif Level (Ku=0) 0.000000
Jarque-Bera 460.033889 Signif Level (JB=0) 0.000000
LB Test for GARCH(1,1) model
Autocorrelations
1 2 3 4 5 6 7 8 9 10
-0.00646 0.02044 0.04067 0.02637 0.03282 0.02081 -0.00851 0.03739 0.03303 0.00466
11 12 13 14 15 16 17 18 19 20
0.00185 0.03319 0.00611 0.01062 0.02623 -0.02344 -0.00817 -0.01376 0.01403 -0.00397
Ljung-Box Q-Statistics
Lags Statistic Signif Lvl
20 34.161 0.025059
McLeod-Li Test for GARCH(1,1) model
Autocorrelations
1 2 3 4 5 6 7 8 9 10
-0.02274 -0.00885 -0.00808 0.01964 -0.00186 0.00225 -0.00815 -0.00394 -0.00040 0.00365
11 12 13 14 15 16 17 18 19 20
0.02170 -0.02028 -0.00860 -0.01012 0.05271 -0.00742 -0.01062 -0.01487 -0.00997 -0.00948
Ljung-Box Q-Statistics
Lags Statistic Signif Lvl
20 19.298 0.502554
Statistics on Series DM
Observations 3453
Sample Mean -0.004094 Variance 0.574282
Standard Error 0.757814 SE of Sample Mean 0.012896
t-Statistic (Mean=0) -0.317481 Signif Level (Mean=0) 0.750898
Skewness -0.264572 Signif Level (Sk=0) 0.000000
Kurtosis (excess) 3.123205 Signif Level (Ku=0) 0.000000
Jarque-Bera 1443.699457 Signif Level (JB=0) 0.000000
GARCH(1,1) - Estimation by BFGS
Convergence in 10 Iterations. Final criterion was 0.0000012 <= 0.0000100
With Heteroscedasticity/Misspecification Adjusted Standard Errors
Usable Observations 3453
Function Value -3739.2257
Variable Coeff Std Error T-Stat Signif
************************************************************************************
1. MU -0.003127146 0.011690734 -0.26749 0.78909243
2. C 0.015564047 0.004207479 3.69914 0.00021633
3. PHI 0.979657320 0.009603449 102.01098 0.00000000
4. B 0.867437697 0.014624695 59.31322 0.00000000
Statistics for GARCH(1,1) model
Observations 3453
Sample Mean 0.007273 Variance 0.997942
Standard Error 0.998971 SE of Sample Mean 0.017000
t-Statistic (Mean=0) 0.427829 Signif Level (Mean=0) 0.668802
Skewness -0.130318 Signif Level (Sk=0) 0.001779
Kurtosis (excess) 1.769044 Signif Level (Ku=0) 0.000000
Jarque-Bera 460.032743 Signif Level (JB=0) 0.000000
LB Test for GARCH(1,1) model
Autocorrelations
1 2 3 4 5 6 7 8 9 10
-0.00646 0.02044 0.04067 0.02637 0.03282 0.02080 -0.00851 0.03739 0.03303 0.00466
11 12 13 14 15 16 17 18 19 20
0.00185 0.03319 0.00611 0.01062 0.02623 -0.02344 -0.00817 -0.01376 0.01403 -0.00397
Ljung-Box Q-Statistics
Lags Statistic Signif Lvl
20 34.160 0.025060
McLeod-Li Test for GARCH(1,1) model
Autocorrelations
1 2 3 4 5 6 7 8 9 10
-0.02274 -0.00885 -0.00808 0.01964 -0.00186 0.00225 -0.00815 -0.00394 -0.00040 0.00365
11 12 13 14 15 16 17 18 19 20
0.02170 -0.02028 -0.00860 -0.01012 0.05271 -0.00742 -0.01062 -0.01487 -0.00997 -0.00948
Ljung-Box Q-Statistics
Lags Statistic Signif Lvl
20 19.298 0.502528
IGARCH(1,1) - Estimation by BFGS
Convergence in 7 Iterations. Final criterion was 0.0000038 <= 0.0000100
With Heteroscedasticity/Misspecification Adjusted Standard Errors
Usable Observations 3453
Function Value -3744.3202
Variable Coeff Std Error T-Stat Signif
************************************************************************************
1. MU -0.002247957 0.011201870 -0.20068 0.84095118
2. C 0.009814451 0.002506598 3.91545 0.00009024
3. B 0.872234222 0.014283624 61.06533 0.00000000
Statistics for IGARCH(1,1) model
Observations 3453
Sample Mean 0.006722 Variance 0.959835
Standard Error 0.979711 SE of Sample Mean 0.016672
t-Statistic (Mean=0) 0.403157 Signif Level (Mean=0) 0.686858
Skewness -0.128876 Signif Level (Sk=0) 0.001999
Kurtosis (excess) 1.769156 Signif Level (Ku=0) 0.000000
Jarque-Bera 459.874970 Signif Level (JB=0) 0.000000
LB Test for IGARCH(1,1) model
Autocorrelations
1 2 3 4 5 6 7 8 9 10
-0.00337 0.02295 0.04154 0.02888 0.03570 0.02130 -0.00773 0.03820 0.03406 0.00611
11 12 13 14 15 16 17 18 19 20
0.00329 0.03302 0.00752 0.01176 0.02761 -0.02291 -0.00906 -0.01338 0.01384 -0.00414
Ljung-Box Q-Statistics
Lags Statistic Signif Lvl
20 36.695 0.012727
McLeod-Li Test for IGARCH(1,1) model
Autocorrelations
1 2 3 4 5 6 7 8 9 10
-0.02720 -0.01012 -0.01405 0.01513 -0.00106 -0.00397 -0.01097 -0.00681 -0.00379 0.00127
11 12 13 14 15 16 17 18 19 20
0.01569 -0.02081 -0.01278 -0.01480 0.04839 -0.00991 -0.01258 -0.01642 -0.01205 -0.01242
Ljung-Box Q-Statistics
Lags Statistic Signif Lvl
20 19.748 0.473786
FIGARCH(1,1) - Estimation by BFGS
Convergence in 16 Iterations. Final criterion was 0.0000058 <= 0.0000100
Usable Observations 3453
Function Value -3737.1774
Variable Coeff Std Error T-Stat Signif
************************************************************************************
1. MU -0.003642590 0.011785040 -0.30909 0.75725618
2. C 0.016164333 0.003873996 4.17252 0.00003012
3. B 0.764660286 0.048458941 15.77955 0.00000000
4. D 0.826172682 0.058619348 14.09386 0.00000000
Statistics for FIGARCH(1,1) model
Observations 3453
Sample Mean 0.008639 Variance 0.968112
Standard Error 0.983927 SE of Sample Mean 0.016744
t-Statistic (Mean=0) 0.515943 Signif Level (Mean=0) 0.605927
Skewness -0.130232 Signif Level (Sk=0) 0.001791
Kurtosis (excess) 1.723506 Signif Level (Ku=0) 0.000000
Jarque-Bera 437.137273 Signif Level (JB=0) 0.000000
LB Test for FIGARCH(1,1) model
Autocorrelations
1 2 3 4 5 6 7 8 9 10
-0.00254 0.02193 0.04060 0.02762 0.03530 0.01960 -0.00616 0.03742 0.03402 0.00729
11 12 13 14 15 16 17 18 19 20
0.00526 0.03280 0.00694 0.01113 0.02738 -0.02297 -0.01003 -0.01446 0.01615 -0.00278
Ljung-Box Q-Statistics
Lags Statistic Signif Lvl
20 35.704 0.016661
McLeod-Li Test for FIGARCH(1,1) model
Autocorrelations
1 2 3 4 5 6 7 8 9 10
0.00480 -0.01358 -0.02052 0.00470 -0.00978 -0.01144 -0.01726 -0.01025 -0.00331 0.00776
11 12 13 14 15 16 17 18 19 20
0.01045 -0.01983 -0.01069 -0.01140 0.05520 -0.00538 -0.01084 -0.01529 -0.00737 -0.01207
Ljung-Box Q-Statistics
Lags Statistic Signif Lvl
20 19.857 0.466925
Copyright © 2025 Thomas A. Doan