Authors and Contributors

About the Author

Dr. Sébastien Laurent, the copyright owner of G@RCH, holds a Ph.D. (2002) in Financial Econometrics from Maastricht University (The Netherlands). In 2002-2003 he worked as post-doc researcher at the CREST (Laboratory of Finance-Insurance) in Paris (France). He spent six years as associate professor in Econometrics at the Faculté Notre-Dame de la Paix in Namur (Belgium) and is currently associate professor in financial econometrics at Maastricht University, School of Business and Economics. He is also fellow of the CORE in Louvain-la-Neuve (Belgium). In 2008 and 2009 he has been invited professor at the London School of Economics (Finance Department). Sébastien has published in Journal of Business and Economic Statistics, Journal of Applied Econometrics, Journal of Financial Econometrics, European Economic Review and Journal of Empirical Finance among others.
Web Site: http://www.core.ucl.ac.be/~laurent/
Email: s.laurent@maastrichtuniversity.nl

Contributors

Dr. Kris Boudt holds a Ph.D. (2008) in Applied Economics at K.U.Leuven, Belgium. He is afliated researcher at K.U.Leuven and since 2008 assistant professor of Finance at Lessius University College. His main research interests are empirical nance, risk management and robust statistics. His research has been published in the Computational Statistics and Data Analysis, Metrika, Journal of Risk and RISK magazine, among others.
Web Site: http://www.econ.kuleuven.be/public/N06054/
Email: Kris.Boudt@econ.kuleuven.be

Jerome Lahaye graduated from the HEC Management School of the University of Liège (Belgium) where he subsequently worked as teaching and research assistant (2000-2003). He holds a master of advanced studies in economics from the University of Leuven (2004) and a Ph.D. (2009) in Economics at the Faculté Notre-Dame de la Paix in Namur (Belgium). He is currently post-doc at HEC Lausanne. His research interests are at the crossroads of applied econometrics and international finance. In particular, his research has focused on the link between economic information disclosure and discontinuities on financial time series.
Email: jerome.lahaye@fundp.ac.be

Jean-Philippe Peters has been involved in the G@RCH project until version 4.2. He graduated from the HEC Management School of the University of Liège (Belgium) in 2000 with a M.Sc. in Management Sciences. His final dissertation, entitled “Development of a Package in the Ox Environment for GARCH Models and Two Empirical Applications” was the founding ground of the current package. From 2000 to 2002, he has worked as researcher in the Operations Research and Production Management unit of the University of Liège. In October 2002 he joined the Advisory and Consulting department of Deloitte Luxembourg where he is involved in consulting activities on risk management for the financial industry. Jean-Philippe also holds a Ph.D. (2010) in Economics from the HEC Management School of the University of Liège (Belgium).

Dr. Jeroen VK Rombouts holds a Ph.D. (2004) in Econometrics from the Catholic University of Louvain and is since 2004 assistant professor HEC Montreal. He is elected member of the International Statistical Institute, reseacher at CIRANO (Canada) and research associate at CORE (Belgium). Jeroen has published in Econometric Theory, Journal of Applied Econometrics, Econometric Reviews and The Econometrics Journal among others.
Web Site: http://neumann.hec.ca/pages/jeroen.rombouts/
Email: Jeroen.Rombouts@hec.ca

Francesco Violante graduated from the Bocconi University, Milan (Italy) where he worked as teaching and research assistant in 2004 at Centre of Research on Innovation and Internationalization (CESPRI). He holds a master of arts in economics from the Universitè Catholique de Louvain (Belgium) and is currently Ph.D. candidate of the Louvain Academy, at the University of Namur (2006). His research interests are focused on applied econometrics and finance and in particular realized volatility and forecast, multivariate GARCH models, volatility models comparison and selection. In 2007, he was visiting scholar at the HEC Management School of the University of Montreal (Canada).
Email: francesco.violante@fundp.ac.be

Chapter 1
Introduction

This book documents G@RCH 6.1, an OxMetrics module (see Doornik, 2009) dedicated to the estimation and forecasting of univariate and multivariate ARCH-type models (Engle, 1982), including some of the most recent contributions in this field. Univariate GARCH (Bollerslev, 1986), EGARCH (Nelson, 1991), GJR (Glosten, Jagannathan, and Runkle, 1993), APARCH (Ding, Granger, and Engle, 1993), IGARCH (Engle and Bollerslev, 1986), RiskMetrics (J.P.Morgan, 1996), FIGARCH (Baillie, Bollerslev, and Mikkelsen, 1996a and Chung, 1999), FIEGARCH (Bollerslev and Mikkelsen, 1996), FIAPARCH (Tse, 1998) and HYGARCH (Davidson, 2001) specifications are available for the conditional variance. Moreover an AR(FI)MA process can be specified in the conditional mean (see Baillie, Chung, and Tieslau, 1996b, Tschernig, 1995, Teyssière, 1997, or Lecourt, 2000, for further details about ARFIMA models). All these models can be adapted to add an “ARCH-in-mean” term in the conditional mean as suggested by Engle, Lilien, and Robbins (1987).

G@RCH 6.1 allows the estimation of some of the most widespread multivariate GARCH models, including the scalar BEKK, diagonal BEKK(Engle and Kroner, 1995), RiskMetrics (J.P.Morgan, 1996), CCC (Bollerslev, 1990), DCC (Engle, 2002 and Tse and Tsui, 2002), DECO (Engle and Kelly, 2007), OGARCH (Kariya, 1988 and Alexander and Chibumba, 1997) and GOGARCH models (van der Weide, 2002 and Boswijk and van der Weide, 2006).

G@RCH 6.1 also allows the estimation of univariate and multivariate non-parametric estimators of the quadratic variation and the integrated volatility. These estimators include the realized volatility, bi-power-variation and realized outlyingness weighted variance. Several tests for daily and intradaily tests for jumps and intraday periodicity filters are also provided.

This software has been developed with Ox 6.0, a matrix programming language described in Doornik (2007b).1 G@RCH 6.1 should be compatible with a lot of platforms, including Windows, Mac OsX, Linux, Unix and Solaris when it is used in combination with the Ox Console. Furthermore, G@RCH 6.1 provides a menu-driven graphical interface for Microsoft Windows, Mac OsX and Linux users as well as a comprehensive HTML documentation. For most of the specifications, it is generally very fast and one of its main characteristic is its ease of use.

This book is structured as follows:

1.1 G@RCH

1.1.1 Definition

G@RCH 6.1 is a software dedicated to the estimation and the forecasting of univariate and multivariate (G)ARCH models and many of its extensions. It can be used within OxMetrics or via the classic programming way (using OxEdit for instance) for those who have access to the Ox programming language.

The available univariate models are all ARCH-type models. These include ARCH, GARCH, EGARCH, GJR, APARCH, IGARCH, RiskMetrics, FIGARCH , FIEGARCH , FIAPARCH and HYGARCH. They can be estimated by approximate (Quasi-) Maximum Likelihood under one of the four proposed distributions for the errors (Normal, Student-t, GED or skewed-Student). Moreover, ARCH-in-mean models are also available and explanatory variables can enter the conditional mean and/or the conditional variance equations.

G@RCH 6.1 also propose the some multivariate GARCH specifications including the scalar BEKK, diagonal BEKK, full BEKK, RiskMetrics, CCC, DCC, DECO, OGARCH and GOGARCH models.

Finally, h-steps-ahead forecasts of both equations are available as well as many univariate and multivariate miss-specification tests (Nyblom, Sign Bias Tests, Pearson goodness-of-fit, Box-Pierce, Residual-Based Diagnostic for conditional heteroscedasticity, Hosking’s portmanteau test, Li and McLead test, constant correlation test, ).

1.1.2 Program

This documentation refers to version 6.0 of G@RCH, which can be used in three different ways. The first one is through the menu-driven environment of OxMetrics, similarly to PcGive, PcGets or STAMP.

Second, one can estimate the models via the “Batch Editor” of OxMetrics.

Finally, Ox users can write Ox codes based on the Garch, MGarch and Realized classes. This solution is found to be particularly interesting when non-standard operations are considered (like a whole catalogue of estimations). A set of examples is provided with the G@RCH package. Please note however that this solution requires a registered version of Ox Professional or its console version. Check the Ox web site (http://www.doornik.com) for details.

The first method is illustrated in Chapters 3 and 4 while the next two are presented in Chapter 5.

1.1.3 What’s new in G@RCH 6.1 ?

1.1.4 What’s new in G@RCH 6.0 ?

#include <oxstd.h>  
#import <packages/Garch6/garch>  
#include <oxdraw.h>  
 
main()  
{  
//--- Ox code for RE@LIZED  
decl model = new Realized();  
 
model.Load("C:\\Data\\Simulated_cont_GARCH_jumps_FFF_K_0.2_M_0.3.in7");  
model.Deterministic(-1);  
 
model.Select(Y_VAR, {"Ret_1", 0, 0});  
...  
model.Select(Y_VAR, {"Ret_288", 0, 0});  
 
model.SetModelClass(MC_RV);  
model.RV(1);  
model.IV(1);  
model.OPTIONS_JUMPS_TEST_BV(1,0,2,0.999);  
 
model.SetSelSampleByDates(dayofcalendar(1987, 1, 5), dayofcalendar(1998, 7, 3));  
model.Estimate();  
model.Graphs_RV(0,0,1,0,0,0,0,1,1,0,0,10,0,0.999);  
model.Append_in(model.m_vIV,"BV");  
model.Append_in(model.m_vRJ,"RJ_BV");  
model.Save("C:\\Data\\Simulated_cont_GARCH_jumps_FFF_K_0.2_M_0.3.in7");  
 
delete model;  
}

1.1.5 What’s new in G@RCH 5.1 ?

1.1.6 What’s new in G@RCH 5.0 ?

This manual has been revised to account for the following new features:

1.2 General Information

1.2.1 Queries about G@RCH

Suggestions, mistakes, typos and possible improvements can be reported to the first author via e-mail: Sebastien.Laurent@fundp.ac.be

The most appropriate way to discuss about problems and issues of the G@RCH package is the Ox-users discussion list. The ox-users discussion group is an email-based forum to discuss any problems related to Ox programming, and share code and programming solutions. Consult the online help of OxMetrics for information on joining the list.

1.2.2 Availability and Citation

The full independent version of G@RCH is exclusively distributed by Timberlake Consultants.
Contact information for the UK:
Phone: +44 (0)20 8697 3377 or
Internet: http://www.timberlake.co.uk

For the US:
Phone: +1 908 686 1251 or
Internet: http://www.timberlake-consultancy.com
For other countries, please go to the Timberlake web sites for contact information.

There are different versions of G@RCH. A console version of G@RCH is available on G@RCH web site http://www.garch.org.

This (and only this) version of G@RCH may be used freely for academic research and teaching purposes only. The Professional version (i.e. using OxRun, OxDebug, OxMetrics or oxli) is not free.

Commercial users and others who do not qualify for the free version must purchase the Professional version of G@RCH with documentation, regardless of which version they use (i.e., even with Linux or Unix). Redistribution of G@RCH in any form is not permitted.

Moreover, for easier validation and replication of empirical findings, please cite this documentation (or Laurent and Peters, 2002) in all reports and publications involving the use of G@RCH. Failure to cite the use of Ox in published work may result in loss of the right to use the free version, and an invoice at the full commercial price.

All company and product names referred to in this documentation are either trademarks or registered trademarks of their associated companies.

1.2.3 World Wide Web

Check www.garch.org for information on releases, online help and other relevant information on G@RCH.

1.3 Download G@RCH console 6.1

To install the Professional version of G@RCH 6.1, run the installation file and follow the instructions.

To install the Console version of G@RCH, unzip the file Garch6.zip (available herebelow) in the ox/packages directory. Note that the free console version of G@RCH 6.1 only includes the Garch class. The MGarch and Realized classes are only available in the Professional version of G@RCH.

Download G@RCH Console 6.1
Download Ox Console

For OxMetrics enterprise users, note that the Console version of G@RCH 6.1 comes along with OxMetrics enterprise and is directly installed in the ox/packages directory.

THIS PACKAGE IS FUNCTIONAL BUT NO WARRANTY IS GIVEN WHATSOEVER. YOU USE IT AT YOUR OWN RISK!

Chapter 2
Getting Started

We now discuss some of the basic skills required to get started with G@RCH. We will give a brief introduction to the functionalities provided by OxMetrics. The aim of this section is to explain how to load data and make graphs: for instructions on how to transform data using the calculator or algebra, consult the OxMetrics manuals.

We assume that you have the basic skills to operate programs under the Windows operating system (the OxMetrics books provides some hints). G@RCH runs on several versions of Windows, i.e. Windows Vista/XP/NT/2000 but also on Mac OsX and Linux.1 The screen appearance of the program and dialogs will reflect the operating system you are using. The screen captures of this manual reflect the Windows XP operating system but should not be very different from the other systems.

2.1 Starting G@RCH

When launching OxMetrics, all the available modules (PcGive, G@RCH and Stamp) are automatically loaded and appear in the Modules group in the workspace window on the left-hand side of OxMetrics. This process is displayed in the following capture.

2.2 Loading and Viewing the Tutorial Data Set

G@RCH cannot operate without data. Once OxMetrics is activated, the very first step is to load data. Let us illustrate this with an example, loading nasdaq.in7. These are daily returns of the Nasdaq stock index. The covered period is 10/11/1984 - 12/21/2000, which represents 4093 daily observations. Daily returns (in %) are defined as

yt = 100 [log(pt)- log(pt-1)],
(2.1)

where pt is the price series at time t.

PIC

The IN7 extension indicates an OxMetrics file. The IN7 file is a human-readable file, describing the data. There is a companion BN7 file, which holds the actual numbers (in binary format, so this file cannot be edited). OxMetrics can handle a wide range of data files, among them Excel and Lotus files and, of course, plain human-readable (ASCII) files. You can also cut and paste data between Excel and OxMetrics. More details are available in OxMetrics handbooks.

To load this dataset, click File then Open in the main menu of OxMetrics, then select the data file. The default datasets provided by G@RCH are stored in the subdirectory \G@RCH\data of OxMetrics’s main directory. Locate that directory and select nasdaq.in7.

PIC

PIC

PIC

Double clicking on the variable name shows the documentation of the variable.

The data can be manipulated, much like in a spreadsheet program. Here we shall not need these facilities, so minimize the database window again: click on the first button in the right-hand side of the window. Do not click on the cross: this closes the database, thus removing it from OxMetrics and hence from G@RCH.

2.3 OxMetrics Graphics

The graphics facilities of OxMetrics are powerful yet easy to use. This section will show you how to make time-plots of variables in the database. OxMetrics offers automatic selections of scaling etc., but you will be able to edit these graphs, and change the default layout such as line colors and line types. Graphs can also be saved in a variety of formats for later use in a word processor or for reloading to OxMetrics.

2.3.1 A First Graph

Graphics is the first entry on the Model menu. Activate the command to see the following dialog box (or click on the cross-plot graphics icon on the toolbar).

PIC

In this example we select Nasdaq and then press the << button to move the database variables to the selection listbox, as shown above. Then press the button labelled Actual series. Figure 2.1 should appear on the screen. OxMetrics can also draw multiple graphs simultaneously on-screen. For other types of graphs, select All plot types to open the related menu, as seen hereunder (additional details on graphics are available in Doornik, 2009).

2.3.2 Graph Saving and Printing

To print a graph directly to the printer, click on the printer icon in OxMetrics. You can preview the result first using the Print Preview command from the File menu.

Graphs can be saved in various formats. See Doornik (2009) for more details.

2.3.3 Including Graphs in LATEX Documents

Saving graphs in the .EPS format is useful to include them in a LATEX document. The example given below is the Latex code used to include Figure 2.1 in the current document. Note that the command \includegraphics requires the use of the package graphicx. This can be done using the \usepackage{graphicx} command in the preamble of the LATEX document.

PIC


PIC

Figure 2.1: Daily returns (in %) of the NASDAQ

Chapter 3
Introduction to the Univariate ARCH Model

In this chapter, our attention is first devoted to review the specifications of the conditional mean equation. Then, the most simple univariate ARCH specification will be presented as well as the estimation and testing issues with G@RCH. More recent developments about ARCH-type models are discussed in the next chapter.

3.1 Visual Inspection

Panel 1 of Figure 3.1 indicates that the NASDAQ exhibits volatility clustering as periods of low volatility mingle with periods of high volatility. This is a clear sign of presence of ARCH effect in the series.

Panel 2 also shows that the unconditional distribution of the NASDAQ returns (full line) is not normal. Indeed, it is more peaked than the normal density (dashed line) and it has fatter tails as indicated by panels 3 and 4 (this visual indication is validated by the computation of the kurtosis, which is is equal to 9.34). While not obvious on a visual basis, the skewness parameter (-0.627) indicates a negatively skewed behavior.

Recall that the skewness coefficient (SK) equals 0 for a symmetric distribution while the kurtosis coefficient (KU) equals 3 for the normal distribution. The excess kurtosis equals KU - 3. Formally these coefficients are expressed as

              3                  4
SK  = E-[(y--μ)-]andKU  = E-[(y-- μ-)]
          σ3                 σ4
(3.1)


PIC

Figure 3.1: Daily Returns of the NASDAQ and Unconditional Density Estimation using OxMetrics

3.2 Preliminary Graphics

When the error term is not independent of previous errors, it is said to be autocorrelated. Autocorrelation of order h is computed as follows

     cov(yt,yt-h)-
rh =  σy,tσy,t-h
(3.2)

Plotting the autocorrelation function against the lag gives a first visual impression of the magnitude of the autocorrelation problem. This plot is called “autocorrelogram” and it provides information about simple correlation coefficients. When the errors are strongly time dependent, the autocorrelations tend to be fairly large even for large values of h. The next screen shot shows how to obtain an autocorrelogram in OxMetrics.

The obtained graphic is displayed in Figure 3.2. It suggests that the daily return series of the NASDAQ is a short memory process (in the level) and an AR(1) term might be needed in the conditional mean equation.

We have previously seen from the visual inspection that the NASDAQ exhibits volatility clustering as periods of low volatility mingle with periods of high volatility. In addition to this inspection, one can plot the autocorrelogram of the squared (or absolute) returns to highlight the presence of ARCH effects in the data. This can be done using the calculator of OxMetrics. We can compute squared returns of the NASDAQ, as shown in the screen shot below.

PIC


PIC

Figure 3.2: Autocorrelogram on daily returns (in %) of the NASDAQ

PIC

PIC

Figure 3.3 shows the autocorrelogram (with 100 lags) of the squared returns. It suggests that squared returns are strongly autocorrelated, exhibiting volatility clustering.


PIC

Figure 3.3: Autocorrelogram on daily squared returns (in %) of the NASDAQ

3.3 Preliminary Tests

G@RCH 6.1 provides several tests on the raw data (in addition to the possibilities offered by OxMetrics: ACF, PACF, QQ-plots,…):

To launch the descriptive statistics, click on G@RCH in the Modules group in the workspace window on the left-hand side of OxMetrics. Then change the Category to Other models and Model Class to Descriptive Statistics using G@RCH and click on Formulate.

PIC

A new dialog box Formulate is launched and the user is asked to select the series to be tested. Selected series are labelled ‘T’.

PIC

Next, the user select the tests to be run. Lag values of the ARCH LM and Box-Pierce tests can be changed by the user. The subsequent window displays options related to the sample period. As can be seen, if the date variable is well formatted in the database, the sample selection is made easier by allowing selecting a starting date and an ending date. See Chapter 9 of Doornik (2007a) for details on OxMetrics file formats.

Once the OK button of the Estimate - Descriptive Statistics dialog box is pressed, tests are launched and results are printed out in OxMetrics. Note that if a unit root test has been selected, an additional dialog box is launched and the user is asked to select some options related to the test (to include a constant or a trend for instance and the lag length for differences or bandwidth). They should be similar to the output of “Box 1 - Descriptive Statistics”. Results confirm that NASDAQ returns exhibit ARCH-type effects (see the ARCH LM tests and the Q-Statistics on squared data). Looking at the Q-Statistics on raw data, one concludes that an ARMA-type model seems justified. Finally, the Jarque-Bera statistic clearly rejects the normality assumption for the unconditional distribution of the NASDAQ while the KPSS Statistics indicated that the series is likely to be I(0).

PIC

PIC

                                Box 1 - Descriptive Statistics for the NASDAQ  
---- Database information ----  
Sample:    1984-10-12 - 2000-12-21 (4093 observations)  
Frequency: 1  
Variables: 4  
 
Variable        #obs  #miss    type          min         mean          max      std.dev  
Date            4093      0    date       1984-10-12            2000-12-21  
Nasdaq          4093      0  double      -12.043     0.055166       9.9636       1.2617  
Constant        4093      0  double            1            1            1            0  
Trend           4093      0  double            1         2047         4093       1181.5  
 
Series #1/1: Nasdaq  
---------  
Normality Test  
 
                   Statistic       t-Test      P-Value  
Skewness            -0.74128       19.368  1.4336e-083  
Excess Kurtosis       11.255       147.07      0.00000  
Jarque-Bera           21979.         .NaN      0.00000  
---------------  
ARCH 1-2 test:    F(2,4088)=   420.80 [0.0000]**  
ARCH 1-5 test:    F(5,4082)=   228.90 [0.0000]**  
ARCH 1-10 test:   F(10,4072)=   118.16 [0.0000]**  
---------------

Q-Statistics on Raw data  
  Q(  5) =  41.8697   [0.0000001]  
  Q( 10) =  50.9695   [0.0000002]  
  Q( 20) =  83.6251   [0.0000000]  
  Q( 50) =  167.368   [0.0000000]  
H0 : No serial correlation ==> Accept H0 when prob. is High [Q < Chisq(lag)]  
---------------  
Q-Statistics on Squared data  
  Q(  5) =  1988.77   [0.0000000]  
  Q( 10) =  2874.40   [0.0000000]  
  Q( 20) =  3748.75   [0.0000000]  
  Q( 50) =  5491.27   [0.0000000]  
H0 : No serial correlation ==> Accept H0 when prob. is High [Q < Chisq(lag)]  
---------------------------------------------  
 
KPSS Test without trend and 2 lags  
H0: Nasdaq is I(0)  
 
KPSS Statistics: 0.0743478  
Asymptotic critical values of Kwiatkowski et al. (1992), JoE, 54,1, p. 159-178  
 
    1%    5%   10%  
 0.739 0.463 0.347  
 
----  Log Periodogram Regression ----  
d parameter         0.0691465 (0.015793) [0.0000]  
No of observations: 4093; no of periodogram points: 2046

3.4 Conditional Mean Specification

Let us consider a univariate time series yt. If Ωt-1 is the information set at time t- 1, we can define its functional form as:

yt = E(yt|Ωt-1)+ εt,
(3.6)

where E(.|.) denotes the conditional expectation operator and εt is the disturbance term (or unpredictable part), with E(εt) = 0 and E(εtεs) = 0,ts.

Equation (3.6) is the conditional mean equation which has been studied and modelled in many ways. Two of the most famous specifications are the Autoregressive (AR) and Moving Average (MA) models. Combining these two processes and introducing n1 explanatory variables in the equation, we obtain the ARMAX(n,s) process

Ψ (L)(yt -n∑1μt) = Θ(L )εt
μt = μ +   δixi,t,
        i=1
(3.7)

where L is the lag operator1 , Ψ(L) = 1 - i=1nψiLi and Θ(L) = 1 + j=1sθjLj. The ARMA residuals are obtained using the arma0 function of Ox on the demeaned series (yt - μt). See the Ox manual for more details about arma0.

Several studies have shown that the dependent variables (interest rate returns, exchange rate returns, etc.) may exhibit significant autocorrelation between observations widely separated in time. In such a case, yt is said to display long memory (or long-term dependence) and is best modelled by a fractionally integrated ARMA process. This ARFIMA process was initially developed in Granger (1980) and Granger and Joyeux (1980) among others.2 The ARFIMA(n,ζ,s) is given by:

           ζ
Ψ (L)(1- L) (yt - μt) = Θ (L)εt,
(3.8)

where the operator (1 - L)ζ accounts for the long memory of the process and is defined as:

            ∑∞
(1- L)ζ  =     ------Γ (ζ +-1)---Lk
            k=0Γ (k + 1)Γ (ζ - k +1)
                    1        2   1              3
         =  1- ζL - 2ζ(1- ζ)L  - 6ζ(1- ζ)(2 - ζ)L  - ...
               ∑∞
         =  1-    ck(ζ)Lk,                              (3.9)
               k=1
with 0 < ζ < 1, c1(ζ) = ζ,c2(ζ) = 1
2ζ(1 - ζ), and Γ(.) denoting the Gamma function (see Baillie, 1996, for a survey on this topic). The truncation order of the infinite summation is set to t - 1. Note that The ARFIMA residuals are obtained using diffpow function on the ARMA residuals. See the Ox manual for more details about diffpow.

It is worth noting that Doornik and Ooms (1999) provided an Ox package for estimating, forecasting and simulating ARFIMA models. However, contrary to G@RCH, the conditional variance is assumed to be constant over time.3

A feature of G@RCH 6.1 is the availability of ARCH “in-mean” models. If we introduce the conditional variance (or the conditional standard error) as additional explanatory variables in Equation (9.6), we get the ARCH-in-Mean model of Engle, Lilien, and Robbins (1987), i.e.

        n∑1          k
μt = μ +   δixi,t + ϑσ t,
        i=1
(3.10)

with k = 1 to include the conditional standard deviation and k = 2 for the conditional variance.

The ARCH-M model is often used in financial applications where the expected return on an asset is related to the expected asset risk. The estimated coefficient of the expected risk is a measure of the risk-return tradeoff.

3.5 Conditional Variance Specification: the ARCH Model

The εt term in Equations (3.6)-(3.8) is the innovation of the process. More than two decades ago, Engle (1982) defined as an Autoregressive Conditional Heteroscedastic (ARCH) process, all εt of the form:

εt = ztσt,
(3.11)

where zt is an independently and identically distributed (i.i.d.) process with E(zt) = 0 and V ar(zt) = 1. By assumption, εt is serially uncorrelated with a mean equal to zero but its conditional variance equals σt2. Therefore, it may change over time, contrary to what is assumed in the standard regression model.

The models provided by our program are all ARCH-type.4 They differ on the functional form of σt2 but the basic principles are the same (see the next chapter for details). Besides the traditional ARCH and GARCH models, we focus mainly on two kinds of models: the asymmetric models and the fractionally integrated models. The former are defined to account for the so-called “leverage effect” observed in many stock returns, while the latter allows for long-memory in the variance. Early evidence of the “leverage effect” can be found in Black (1976), while persistence in volatility is a common finding of many empirical studies; see for instance the excellent surveys on ARCH models proposed in Bollerslev, Chou, and Kroner (1992), Bera and Higgins (1993) or Palm (1996).

The ARCH (q) model can be expressed as:

εt  =  ztσt
zt  ~  i.i.d.D (0,1)
           q
σ2  =  ω +∑   αε2  ,                  (3.12)
 t         i=1  it-i
where D(.) is a probability density function with mean 0 and unit variance (see Section 3.6.2).

The ARCH model can describe volatility clustering. The conditional variance of εt is indeed an increasing function of the square of the shock that occurred in t - 1. Consequently, if εt-1 was large in absolute value, σt2 and thus εt is expected to be large (in absolute value) as well. Notice that even if the conditional variance of an ARCH model is time-varying, i.e. σt2 = E(εt2|ψt-1), the unconditional variance of εt is constant and, provided that ω > 0 and i=1qαi < 1, we have:

                      ω
σ2 ≡ E [E (ε2t|ψt-1)] =--∑q---.                (3.13)
                   1-    αi
                      i=1

If zt is normally distributed, E(zt3) = 0 and E(zt4) = 3. Consequently, E(εt3) = 0 and the skewness of y is zero. The kurtosis coefficient for the ARCH(1) is 3 1-α2
1-3α121 if α1 < ∘ ---
  1∕3 0.577. In this case, the unconditional distribution of the returns features fat tails whenever α1 > 0.

In most applications, the excess kurtosis implied by the ARCH model (coupled with a normal density) is not enough to mimic what we observe on real data. Other distributions are possible. For example we could assume that zt follows a Student distribution with unit variance and υ degrees of freedom, i.e. zt is ST(0,1,υ). In that case, the unconditional kurtosis of the ARCH(1) is λ   2
11--αλα12-
   1 with λ = 3(υ - 2)(υ - 4). Because of the additional coefficient υ, the ARCH(1) model based on the Student distribution does feature fatter tails than the corresponding model based on the Normal distribution. See Section 3.6.2 for more details.

The computation of σt2 in Equation (3.12) depends on past (squared) residuals (εt2), that are not observed for t = 0,-1,,-q + 1. To initialize the process, the unobserved squared residuals are set to their sample mean.

3.5.1 Explanatory Variables

Explanatory variables can be introduced in the conditional variance as follows:

        n∑2
ωt = ω +   ωixi,t
        i=1
(3.14)

For the ease of presentation, we will use the notation ω for both ω and ωt in all subsequent equations.5

3.5.2 Positivity Constraints

σt2 has obviously to be positive for all t. Sufficient conditions to ensure that the conditional variance in Equation (3.12) is positive are given by ω > 0 and αi 0.6 Furthermore, when explanatory variables enter the ARCH equation, these positivity constraints are not valid anymore (but the conditional variance is still required to be non-negative).

3.5.3 Variance Targeting

A simple trick to reduce the number of parameters to be estimated is referred to as variance targeting by Engle and Mezrich (1996).

The conditional variance matrix of the ARCH model (and most of its generalizations), may be expressed in terms of the unconditional variance and other parameters. Doing so one can reparametrize the model using the unconditional variance and replace it by a consistent estimator (before maximizing the likelihood).

Applying variance targeting to the ARCH model implies replacing ω by σ2(        )
 1- ∑q αi
    i=1, where σ2 is the unconditional variance of εt, which can be consistently estimated by its sample counterpart.

If explanatory variables appear in the ARCH equation, ω is then replaced by σ2(    q   )
 1- ∑  αi
    i=1- i=1n2ωi¯xi, where ¯xi is the sample average of variable xi,t (assuming the stationarity of the n2 explanatory variables). In other words, the explanatory variables are centered.

3.6 Estimation

3.6.1 G@RCH menus

Estimating (3.12) with G@RCH is intended to be very simple.

Note that in the example we will use a Monday dummy and a Friday dummy. These dummies are easily created with the Calculator (recall that the dataset is dated). First, use the function dayofweek() to created a variable DAY with DAY = 2 on Mondays, 3 on Wednesdays, etc. Then, create the Monday and Friday dummy as follows: Monday = Day == 2 and Friday = Day == 6.

PIC

PIC

To specify the model, first click on G@RCH in the Modules group in the workspace window on the left-hand side of OxMetrics. Next change the Category to Models for financial data and the Model class to Univariate GARCH models using G@RCH, then click on Formulate.

A list with all the variables of the database appears in the Database frame. To select variables that will enter your model, click on the variable name and then click on the << button. There are three possible statuses for each variable (see the list of statuses under the Selection frame): dependent variable (Y variable), regressor in the conditional mean (Mean), or regressor in the conditional variance (Variance). In the univariate module, only one Y variable per model is accepted. However one can include several regressors in the conditional mean and the conditional variance equations and the same variable can be a regressor in both equations. In the example a Monday dummy is included in the conditional mean and a Friday dummy in the conditional variance equation.

Once the OK button is pressed, the Model Settings box automatically appears. This box allows to select the specification of the model: AR(FI)MA orders for the mean equation, GARCH orders, type of GARCH model for the variance equation and the distribution. The default specification is an ARMA(0,0)-GARCH(1,1) with normal errors. In our application, we select an ARMA(1,0)-GARCH(0,1) specification or equivalently an ARMA(1,0)-ARCH(1).7

PIC

PIC

PIC

3.6.2 Distributions

Estimation of ARCH-type models is commonly done by maximum likelihood so that one has to make an additional assumption about the innovation process zt, i.e. choosing a density function D(0,1) with a mean 0 and a unit variance.

Weiss (1986) and Bollerslev and Wooldridge (1992) show that under the normality assumption, the quasi-maximum likelihood (QML) estimator is consistent if the conditional mean and the conditional variance are correctly specified. This estimator is, however, inefficient with the degree of inefficiency increasing with the degree of departure from normality (Engle and González-Rivera, 1991).

As reported by Palm (1996), Pagan (1996) and Bollerslev, Chou, and Kroner (1992), the use of a fat-tailed distributions is widespread in the literature. In particular, Bollerslev (1987), Hsieh (1989), Baillie and Bollerslev (1989) and Palm and Vlaar (1997) among others show that these distributions perform better in order to capture the higher observed kurtosis.

As shown below, four distributions are available in G@RCH 6.1 : the usual Gaussian (normal) distribution, the Student-t distribution, the Generalized Error distribution (GED) and the skewed-Student distribution.

PIC

The logic of ML is to interpret the density as a function of the parameter set, conditional on a set of sample outcomes. This function is called the likelihood function. It is quite evident from Equation (3.12) (and all the following equations of Section 3) that the recursive evaluation of this function is conditional on unobserved values. The ML estimation is therefore not perfectly exact. To solve the problem of unobserved values, we have set these quantities to their unconditional expected values. For this reason we talk about approximate (or conditional) ML and not exact ML.

If we express the mean equation as in Equation (3.6) and εt = ztσt, the log-likelihood function of the standard normal distribution is given by:

           T
         1 ∑  [           ( 2)   2]
Lnorm = -2 t=1 log(2π)+ log σt + zt ,
(3.15)

where T is the number of observations.

For a Student-t distribution, the log-likelihood is:

           {     (     )       (  )               }
L     =  T   logΓ   υ+-1- - log Γ  υ--  1log[π (υ - 2)]
 Stud                2            2    2
           ∑T [                  (      2 )]
      -   1    log(σ2t)+ (1 + υ)log  1+ --zt-   ,        (3.16)
          2t=1                       υ - 2
where υ is the degrees of freedom, 2 < υ ≤∞ and Γ(.) is the gamma function.

The GED log-likelihood function of a normalized random variable is given by:

         [   (   )     |  |                     ( )           ]
       T∑      -υ       ||zt ||υ       -1             1-         2
LGED = t=1 log λυ  - 0.5 |λυ | - (1+ υ )log(2)- logΓ  υ  - 0.5log(σt) ,
(3.17)

where 0 < υ < and

     ∘------------
λ  ≡   Γ (1∕υ)2(-2∕υ).
 υ        Γ (3∕υ)

The main drawback of the last two densities is that even if they may account for fat tails, they are symmetric. Skewness and kurtosis are important in financial applications in many respects (in asset pricing models, portfolio selection, option pricing theory or Value-at-Risk among others). Quite recently, Lambert and Laurent (2000, 2001) applied and extended the skewed-Student density proposed by Fernández and Steel (1998) to the GARCH framework.

The log-likelihood of a standardized (zero mean and unit variance) skewed-Student is:

           {    ( υ+1 )     ( υ)                  (  2 )       }
LSkSt  =  T  logΓ  -2-- - logΓ  2 - 0.5log[π(υ- 2)]+log ξ+-1  + log(s)
              {              [               ]}       ξ
            T∑      2             (szt+m-)2 -2It
       -  0.5t=1  logσt + (1 +υ)log 1 + υ - 2 ξ     ,              (3.18)
where
    {           m-
It =    1ifzt ≥ - sm ,
      - 1 if zt < - s

ξ is the asymmetry parameter, υ is the degree of freedom of the distribution,

     (    )√-----
    Γ--υ+12---υ---2(    1)
m =    √πΓ (υ)     ξ - ξ ,
            2

and

   ∘ ------------------
     (     1    )
s =    ξ2 +-2 - 1 - m2.
           ξ

Note that G@RCH does not estimate ξ but log(ξ) to facilitate inference about the null hypothesis of symmetry (since the skewed-Student equals the symmetric Student distribution when ξ = 1 or log(ξ) = 0). The estimated value of log(ξ) is reported in the output under the label “Asymmetry”. See Lambert and Laurent (2001) and Bauwens and Laurent (2005) for more details.

The gradient vector and the hessian matrix can be obtained numerically or by evaluating their analytical expression. Due to the high number of possible models and distributions available, G@RCH uses numerical techniques to approximate the derivatives of the log-likelihood function with respect to the parameter vector.

The next window is (Starting Values) . The user is asked to make a choice regarding the starting values of the parameters to be estimated: (1) let the program choose the starting values, (2) enter them manually, element by element (the one selected here), or (3) enter the starting values in a vector form (one value per row) and potentially fix some parameters at their starting value.

PIC

The first method is obviously the easiest to use and is recommended for unexperienced users since it prevents from entering aberrant values. The last two methods are useful if the user wants specific starting values for the estimation. The third method is particularly useful when one wants to fix some parameters.

Next, the Estimate window proposes options on two important characteristics of the model: the sample size and the estimation method.

PIC

When the variable corresponding to the date is correctly formatted, the sample can conveniently be fixed based on starting and ending date (see Chapter 9 of Doornik, 2007, for details). The number of forecasts can be also subtracted when out-of-sample forecasting is to be performed.

The models are estimated using a maximum likelihood (ML) approach. Basically, three methods are proposed to estimate these models (see the option Optimization Methods in the Model Settings window).

  1. By default, a standard ML approach is selected. This method uses the quasi-Newton method of Broyden, Fletcher, Goldfarb and Shanno (BFGS). This function is the well-known MaxBFGS function provided by Ox. See the Ox documentation for details.
  2. A constraint optimization technique that uses the MaxSQPF algorithm. MaxSQPF implements a sequential quadratic programming technique to maximize a non-linear function subject to non-linear constraints, similar to Algorithm 18.7 in Nocedal and Wright (1999). MaxSQPF is particularly useful to impose the stationarity and/or positivity constraints like α1 0 in the ARCH(1) model (see Sections 3.9 and 5.3.2).
  3. And finally, a simulated annealing algorithm for optimizing non-smooth functions with possible multiple local maxima, ported to Ox by Charles Bos and called MaxSA. See http://www.tinbergen.nl/~cbos/software/maxsa.html for more details.

G@RCH provides three methods to compute the covariance matrix of the estimates: Second Derivatives (based on the inverse of the hessian), Outer-Product of Gradients and Robust standard errors, also known as Quasi-Maximum Likelihood (QML) or ‘Sandwich formula’. This choice is accessible by clicking on the button ‘Options...’. By default, Robust standard errors are reported.

PIC

PIC

Note that a new feature of G@RCH 5.0 is that the default settings are updated after each estimation (the default model is thus the previously estimated one). To disable this option, disable ‘Update Default Settings’. Option ‘Reset default Settings’ is self-explanatory.

Once all the options have been selected, the estimation procedure is launched if the default starting values are used. Otherwise, a new dialog box appears. Let us assume that second method has been selected for the starting values, i.e. ‘Select (Individual Form)’. This new window contains an exhaustive list of parameters used in the different models. Depending on the specification, some parameters have a value, others have not.

The user should replace only the former since they correspond to the parameters to be estimated for the specified model. Note that it is crucially important to respect the format of these initial values. More specifically, when two values are associated with a single parameter (say, both ARCH coefficients in a ARCH(2) model), the mandatory format is “value1 ; value2”. Here is an example:

PIC

PIC

If the third method is selected for the starting values, i.e. ‘Select (Matrix Form)’, the corresponding window contains a column with the default starting values of the parameter vector (Column ‘Value’) and a Column ‘FIX’ that allows to fix some parameters to their starting value.

PIC

Note that estimating the same model with different values starting values is interesting to check the robustness of the maximum likelihood procedure.

Once this step is completed, the program starts the iteration process. Depending on the options selected8 , G@RCH prints intermediate iteration results or not. The final output is divided in two main parts: first, the model specification reminder; second, the estimated values and other useful statistics of the parameters.9 The outputs “Box 2 - Output of the ARMA(1,0)-GARCH(1,1)” and
Box 3 - Output of the ARMA(1,0)-GARCH(1,1) by QMLE” correspond respectively to the estimation results of the ARMA(1,0)-GARCH(1,1) model by ML and QMLE.

                                   Box 2 - Output of the ARMA(1,0)-GARCH(0,1)  
 ******************************  
 ** G@RCH( 1) SPECIFICATIONS **  
 ******************************  
Dependent variable : Nasdaq  
Mean Equation : ARMA (1, 0) model.  
1 regressor(s) in the mean.  
Variance Equation : GARCH (0, 1) model.  
1 regressor(s) in the variance.  
The distribution is a Gauss distribution.  
 
Strong convergence using numerical derivatives  
Log-likelihood = -6106.36  
Please wait : Computing the Std Errors ...  
 
 Maximum Likelihood Estimation (Std.Errors based on Second derivatives)  
                  Coefficient  Std.Error  t-value  t-prob  
Cst(M)               0.188314   0.016176    11.64  0.0000  
Monday (M)          -0.143636   0.033629   -4.271  0.0000  
AR(1)               -0.021047   0.017378   -1.211  0.2259  
Cst(V)               0.737026   0.028148    26.18  0.0000  
Friday (V)          -0.289467   0.040311   -7.181  0.0000  
ARCH(Alpha1)         0.746336   0.046922    15.91  0.0000  
 
No. Observations :      4093  No. Parameters  :         6  
Mean (Y)         :   0.05517  Variance (Y)    :   1.59189  
Skewness (Y)     :  -0.74128  Kurtosis (Y)    :  14.25531  
Log Likelihood   : -6106.357  Alpha[1]+Beta[1]:   0.74614  
 
The sample mean of squared residuals was used to start recursion.  
Positivity & stationarity constraints are not computed because  
there are explanatory variables in the conditional variance equation.  
 
Estimated Parameters Vector :  
 0.188314;-0.143636;-0.021047; 0.737026;-0.289467; 0.746341  
 
Elapsed Time : 1.542 seconds (or 0.0257 minutes).

Parameters labelled ‘(M)’ relate to the conditional mean while those labelled ‘(V)’ relate to the conditional variance equation. AR(1) and ARCH(Alpha1) correspond to ψ1 and α1, respectively.

Surprisingly, the AR(1) coefficient is not significantly different from 0 (we will come back to this issue latter) while it was expected to be significantly negative. Interestingly, the returns and volatility are, on average, found to be lower on Monday and on Friday, respectively. Furthermore, the ARCH coefficient α1 is highly significant (rejecting the null of no ARCH effects) and incompatible with the existence of the kurtosis (since it is above 0.577). The log-likelihood value is -6106.357.

                           Box 3 - Output of the ARMA(1,0)-GARCH(0,1) by QMLE  
 ******************************  
 ** G@RCH( 2) SPECIFICATIONS **  
 ******************************  
Dependent variable : Nasdaq  
Mean Equation : ARMA (1, 0) model.  
1 regressor(s) in the mean.  
Variance Equation : GARCH (0, 1) model.  
1 regressor(s) in the variance.  
The distribution is a Gauss distribution.  
 
Strong convergence using numerical derivatives  
Log-likelihood = -6106.36  
Please wait : Computing the Std Errors ...  
 
 Robust Standard Errors (Sandwich formula)  
                  Coefficient  Std.Error  t-value  t-prob  
Cst(M)               0.188314   0.025747    7.314  0.0000  
Monday (M)          -0.143636   0.049195   -2.920  0.0035  
AR(1)               -0.021047   0.055644  -0.3782  0.7053  
Cst(V)               0.737026   0.062300    11.83  0.0000  
Friday (V)          -0.289467   0.081034   -3.572  0.0004  
ARCH(Alpha1)         0.746336    0.10484    7.119  0.0000  
 
No. Observations :      4093  No. Parameters  :         6  
Mean (Y)         :   0.05517  Variance (Y)    :   1.59189  
Skewness (Y)     :  -0.74128  Kurtosis (Y)    :  14.25531  
Log Likelihood   : -6106.357  Alpha[1]+Beta[1]:   0.74634  
 
The sample mean of squared residuals was used to start recursion.  
Positivity & stationarity constraints are not be computed because  
there are explanatory variables in the conditional variance equation.  
 
Estimated Parameters Vector :  
 0.188314;-0.143636;-0.021047; 0.737026;-0.289467; 0.746341  
 
Elapsed Time : 1.522 seconds (or 0.0253667 minutes).

Ex-post, it is desirable to test the adequacy of the ARCH model. New options are thus available after the estimation of the model when clicking on the Test... button of the main G@RCH box: Tests, Graphic Analysis, Forecasts, Exclusion Restrictions, Linear Restrictions and Store.

PIC

PIC

3.7 Graphics

The Graphic Analysis... option allows to plot different graphics.

PIC

Figure 3.4 plots the conditional variance (ˆσt2) as well as the histogram of the standardized residuals (t = ˆεˆσtt) obtained with the AR(1)-ARCH(1) model, together with a kernel estimation of its unconditional distribution (solid line) and the N(0,1) (dotted line).


PIC

Figure 3.4: Conditional variance of the NASDAQ and estimated unconditional density of the standardized residuals

Just as any other graphs in the OxMetrics environment, all graphs plotted from G@RCH can be easily edited (color, size,…) and exported in many formats (.eps, .ps, .wmf, .emf and .gwg).

3.8 Misspecification Tests

The Tests... option allows the user to run different tests but also to print the variance-covariance matrix of the estimated parameters.

PIC

Once again, in addition to the possibilities offered by OxMetrics (ACF, PACF, QQ-plots,…), several misspecification tests are indeed provided in G@RCH:

In the example, 6 tests have been selected. The output is reported in
Box 4 - Misspecification Tests”.

                                               Box 4 - Misspecification Tests  
TESTS :  
------------  
Information Criterium (to be minimized)  
Akaike          2.986737  Shibata         2.986733  
Schwarz         2.995997  Hannan-Quinn    2.990016  
---------------  
 
                   Statistic       t-Test      P-Value  
Skewness            -0.28941       7.5616      0.00000  
Excess Kurtosis       5.9872       78.235      0.00000  
Jarque-Bera           6170.5         .NaN      0.00000  
---------------  
 
Q-Statistics on Standardized Residuals  
  --> P-values adjusted by 1 degree(s) of freedom  
  Q(  5) =  62.3925   [0.0000000]  
  Q( 10) =  68.3636   [0.0000000]  
  Q( 20) =  84.2257   [0.0000000]  
  Q( 50) =  125.350   [0.0000000]  
H0 : No serial correlation ==> Accept H0 when prob. is High [Q < Chisq(lag)]  
---------------  
 
Q-Statistics on Squared Standardized Residuals  
  --> P-values adjusted by 1 degree(s) of freedom  
  Q(  5) =  323.697   [0.0000000]  
  Q( 10) =  628.454   [0.0000000]  
  Q( 20) =  1035.75   [0.0000000]  
  Q( 50) =  1695.16   [0.0000000]  
H0 : No serial correlation ==> Accept H0 when prob. is High [Q < Chisq(lag)]  
---------------  
 
Adjusted Pearson Chi-square Goodness-of-fit test  
 
# Cells(g)  Statistic      P-Value(g-1)     P-Value(g-k-1)  
    40      526.9756         0.000000          0.000000  
    50      540.9238         0.000000          0.000000  
    60      565.9641         0.000000          0.000000  
Rem.: k = 6 = # estimated parameters  
---------------  
 
Residual-Based Diagnostic for Conditional Heteroskedasticity of Tse (2001)  
 
  RBD( 2) =  104.753   [0.0000000]  
  RBD( 5) =  246.916   [0.0000000]  
  RBD(10) =  303.489   [0.0000000]  
------------------------------------------------  
P-values in brackets

Without going too deeply into the analysis of these results, we can briefly argue that the model does not capture the dynamics of the the NASDAQ.

The Q-statistics on standardized and squared standardized residuals, and RBD test with various lag values as well as the adjusted Pearson Chi-square goodness-of-fit test (with different cell numbers) reject the null hypothesis of a correct specification. This result is not very surprising. Early empirical evidence has indeed shown that a high ARCH order has to be selected to catch the dynamics of the conditional variance (thus involving the estimation of numerous parameters).

3.9 Parameter Constraints

When numerical optimization is used to maximize the log-likelihood function with respect to the vector of parameters Ψ, the inspected range of the parameter space is (- ∞;∞ ). The problem is that some parameters might have to be constrained in a smaller interval. For instance, it is convenient to constrain the αi parameters of an ARCH(q) to be positive. Constraining parameters to lie between given lower and upper bounds is easily done by selecting the ‘BFGS-BOUNDS’ option in the Estimate - GARCH Models dialog box in G@RCH.

If the user fixes bounds on parameters, the program uses MaxSQPF instead of MaxBFGS (Broyden, Fletcher, Goldfarb and Shanno quasi-Newton method) to optimize the likelihood function. MaxSQPF enforces all iterates to be feasible, using the algorithm by Lawrence and Tits (2001). If a starting point is infeasible, MaxSQPF will try to minimize the squared constraint violations to find a feasible point. See Doornik (2007b) for more details on these two optimization functions.

To change the values of the bounds, select option ‘Select (Matrix Form)’ in the ‘Starting Value’ dialog box together with option ‘BFGS-BOUNDS’ in the Estimate - GARCH Models dialog box. In addition to columns ‘FIX’ and ‘Value’, two new columns appear with the default lower and upper bounds.

Furthermore, nonlinear constraints (like the stationarity constraint of the GARCH (1,1) model, α1 + β1 < 1) can be imposed during the estimation with the Console version. For more details, see 5.3.2.

PIC

3.10 Forecasts

The main purpose of building and estimating a model with financial data is probably to produce a forecast. With the Forecast... option, G@RCH 6.1 also provides forecasting tools: forecasts of both the conditional mean and the conditional variance are available as well as several forecast error measures.

The first parameter to specify is the horizon h of the h-step-ahead forecasts. The default value is 10. Three options are available to:

  1. print several forecasts error measures;
  2. print the forecasts;
  3. and make a graph of the forecasts.

Finally, graphical options are available for the standard error bands (error bands, bars or fans).

PIC

3.10.1 Forecasting the Conditional Mean

Our first goal is to give the optimal h-step-ahead predictor of yt+h given the information we have up to time t.

For instance, in an AR(1) process such as

yt = μ + ψ1(yt-1 - μ) + εt,

the optimal14 h-step-ahead predictor of yt+h (i.e. ŷt+h|t) is its conditional expectation at time t (given the estimated parameters ˆμ and ˆψ1):

           ˆ
ˆyt+h|t = ˆμ + ψ1(ˆyt+h-1|t - ˆμ),
(3.21)

where ŷt+i|t = yt+i for i 0.

For the AR(1), the optimal 1-step-ahead forecast equals ˆμ + ˆ
ψ1(ŷt -ˆμ). For h > 1, the optimal forecast can be obtained recursively or directly as ŷt+h|t = ˆμ + ˆψ1h(ŷt -ˆμ).

More generally, for the ARFIMA(n,ζ,s) model described Equation (3.8), the optimal h-step-ahead predictor of yt+h is:

          [                           ]
                  ∑∞
ˆyt+h|t  =   ˆμt+h|t +    ˆck(ˆyt+h-k - ˆμt+h|t)
           n   {  k=1    [        ∞                   ]}
          ∑  ˆ                   ∑
       +     ψi  ˆyt+h-i - ˆμt+h|t +   ˆck(ˆyt+h-i-k -μˆt+h|t)
          i=s1                    k=1
       +  ∑  ˆθ (ˆy     - ˆy     ).                         (3.22)
          j=1 j  t+h-j    t+h-j|t
Recall that when exogenous variables enter the conditional mean equation, μ becomes μt = μ + i=1n1δixi,t and consequently, provided that the information xi,t+h is available at time t (which is the case for instance if xi,t is a “day-of-the-week” dummy variable), ˆμt+h|t is also available at time t. When there is no exogenous variable in the ARFIMA model and n = 1,s = 0 and ζ = 0 (ck = 0), the forecast of the AR(1) process given in Equation (3.21) can be recovered.

Note that for ARCH-in-mean models, ˆμt+h|t = μ + i=1n1δixi,t+h|t + ϑσt+h|tk (with k = 1 or 2).

3.10.2 Forecasting the Conditional Variance

Independently from the conditional mean, one can forecast the conditional variance. In the simple ARCH(q) case, the optimal h-step-ahead forecast of the conditional variance, i.e. ˆσt+h|t2 is given by:

            q
σ2    = ˆω+ ∑  ˆα ε2    ,
 t+h|t      i=1 i t+h-i|t
(3.23)

where εt+i|t2 = σt+i|t2 for i > 0 while εt+i|t2 = εt+i2 for i 0. Equation (3.23) is usually computed recursively, even if a closed form solution of σt+h|t2 can be obtained by recursive substitution in Equation (3.23).

Leaving out the last 10 observation for the forecasting experiment (as shown in the Estimate Model windows here below) and performing a 10-step-ahead forecasts of the Nasdaq based on the AR(1)-ARCH(1) produces Figure 3.5.

PIC


PIC

Figure 3.5: 10-step-ahead forecasts of the Nasdaq

The forecasted bands are ±2ˆσt+h|t which gives a 95 % confidence interval (note that the critical value 2 can be changed).

Furthermore, if we leave enough observations for the out-of-sample period, G@RCH can report some standard measures of forecasting performance derived from the forecasts errors (see Box 5). Note that certain criteria are not computed on both the mean and the variance (because they are not relevant, e.g. Percentage Correct Sign(PCS) for the variance). In such a case, G@RCH reports a .NaN.

                                         Box 5 - Forecast Evaluation Measures  
                                                      Mean    Variance  
Mean Squared Error(MSE)                              16.81       438.5  
Median Squared Error(MedSE)                          11.71        72.5  
Mean Error(ME)                                      -1.781       13.72  
Mean Absolute Error(MAE)                              3.58       14.45  
Root Mean Squared Error(RMSE)                          4.1       20.94  
Mean Absolute Percentage Error(MAPE)                  .NaN       4.602  
Adjusted Mean Absolute Percentage Error(AMAPE)        .NaN       0.674  
Percentage Correct Sign(PCS)                           0.3        .NaN  
Theil Inequality Coefficient(TIC)                   0.9795      0.8254  
Logarithmic Loss Function(LL)                         .NaN       4.344

3.11 Further Options

Finally, three options are also available in the Test menu: an Exclusion Restrictions dialog box, a Linear Restrictions dialog box and a Store in database dialog.

3.11.1 Exclusion Restrictions Dialog Box

The Exclusion Restrictions dialog box option allows you to select explanatory variables and test whether they are jointly significant. A more general form is the test for linear restrictions.

Mark all the variables you wish to include in the test in this Multiple-Selection List box. G@RCH tests whether the selected variables can be deleted from the model.

3.11.2 Linear Restrictions Dialog Box

Tests for linear restrictions are specified in the form of a matrix R, and a vector r. These are entered as one matrix [R : r] in the dialog. (This is more general than testing for exclusion restrictions).

The first four columns are the columns of R, specifying two restrictions. The last column is r, which specifies what the restrictions should add up to.

The dimensions of the matrix must be specified in the rows and columns fields. It is your responsibility to specify the right values, G@RCH will not try to work it out (because elements of a row may be spread over several lines).

3.11.3 Store in Database Dialog

Finally, the residuals, the squared residuals, the standardized residuals, the conditional variance and the h-step-ahead forecasts (of the conditional mean and the conditional variance) can be stored in the database as new variables. When selecting this option, a first window appears and the user selects the series to be stored. A default name is then proposed for this series.

PIC

3.12 The random walk hypothesis (RWH)

This section has been largely inspired by Taylor (1995).

Are prices (or returns) of financial assets forecastable? According to the random walk hypothesis (RWH) not. The steps of a random walk are unpredictable. The RWH associates steps with returns, so that returns can not be predicted from past values. In G@RCH, the RWH is here defined by two statements about the stochastic process {rt} that provides observed returns: The mean is stationary, E[rt] = μ , and returns are uncorrelated, corr(rt,rt+τ) = 0,τ0.

When RWH is true, the latest return and all past returns are irrelevant if we attempt to predict future returns using linear predictors. In this case, the variables can be assumed to be a martingale difference and thus expected returns do not depend on the history of time series information.15

3.12.1 The Variance-ratio test

The Variance-ratio test of Lo and MacKinlay (1988) is designed to detect either mean reversion or price trend behaviour. Let xt = log (pt) be the price logarithm (with any dividends reinvested). Then one-period returns are rt = xt - xt-1. N-period returns are rt + ... + rt+N-1 = xt+N-1 - xt-1. Also, assuming the returns process is stationary, let V (N) = var(rt + ...+ rt+N-1). When RWH is true, V (N) = NV (1). The test attempts to decide if this property is true. N is any integer, 2.

For any stationary process, the variance-ratio is

 V(N )       N∑-1N - τ
------ = 1+ 2    ------ρτ,
N V (1)        τ=1   N

by using the formula for the variance of a linear combination. Consequently, the variance-ratio test is appropriate when any dependence occurs for at least N - 1 lags and when the autocorrelations all have the same sign. It is a good test when the alternative to RWH is an ARMA(1,1) process that have a positive autoregressive parameter for returns.

Implementation of the test requires:

  1. Estimates of V (1),V (N).
  2. An estimate of the standard error of the variance-ratio estimate.
  3. Five steps to implement the tests.

Assume there are n returns.

Step 1 : Calculate the average return and unbiased variance estimates, thus:

             n
Vˆ(1) =--1--∑   (rt - ¯r)2
       n - 1t=1

                n        n-N∑+1                      2
Vˆ(N) = (n---N-)(n--N-+-1)      (rt + ...+ rt+N -1 - N ¯r).
                           t=1

Step 2 : Calculate the sample variance ratio as

VRˆ(N) = Vˆ(N)-.
         N ˆV(1)

Reject RWH if V ˆR(N) is far from 1.

Recall that

         V-(N-)-       N∑-1 N---τ-
VR (N ) ≡ NV (1) = 1 +2     N   ρτ,
                      τ=1

and

         V (N )        N∑-1 N - τ
VRˆ(N ) ≡ ------~= 1 +2     -----ˆρτ.
         NV (1)       τ=1  N

Under H0,E(V ˆR(N)) = 1 and thus V ar(V ˆR(N)) = V ar(           )
  2N-∑ 1N-τˆρ
   τ=1  N  τ. An appropriate estimate of nV ar(ρτ) is provided by bτ.

Step 3 : Estimate variances for the sample autocorrelations, ˆρτ, of the n returns, for 1 τ N - 1, under the assumption that RWH is true.

      n∑-τ          n∑-τ      2         2
    n t=1 stst+τ   n t=1 (rt - ¯r) (rt+τ - ¯r)
bτ = ---n∑------ = ------n∑--------2------,
      (  st)2         [   (rt - ¯r) ]2
       t=1             t=1

where st = (rt -¯r )2.

A very good approximation is given by bτ~=1 + (ku - 1)ˆρτ,s, where ku is the sample kurtosis of the returns rt and ˆρτ,s is the sample autocorrelation at lag τ of the time series {s1,...,sn} defined by st = (rt - ¯r)2.

Step 4 : Estimate a variance for the variance-ratio V ˆR(N), under the assumption that RWH is true.

This is denoted by vnN. Then

     N∑-1[ 2(N - τ)]2
vN =      --------  bτ = nV ar(V ˆR).
     τ=1     N

Equivalently,

        N- 1
v  = -4-∑   (N  - τ )2b .
 N   N 2τ=1         τ

Step 5 : Calculate the test statistic,

       ˆ
zN = V-R∘(N)---1.
        vN /n

The asymptotic distribution of this statistic is N(0,1) when RWH is true.

Monte Carlo experiment

To study the performance of this test, let us consider a first simulation study (see Simulation_VR.ox). We simulate 1000 series of T = 2000 observations following a N-AR(0) model with μ = 0.1, i.e. (yt -μ) = εt, where εt ~ N(0,σ2) and σ = 0.2. We than apply the Variance-ratio test with N = 2,3 and 10. The 1000 realisations of the VR statistics are plotted in Figure 3.6 while the empirical distribution of the VR statistics is plotted in Figure 3.7 (together with a N(0,1)).

We see from Figure 3.6 that the VR statistics varies between -3 and 3. Furthermore, Figure 3.7 suggests that the VR statistics is close to be standard normal distributed.


PIC

Figure 3.6: VR statistics with N = 2,3 and 10. DGP is a N-AR(0)


PIC

Figure 3.7: SIZE: Empirical distribution of the VR test with N = 2,3 and 10. DGP is a N-AR(0)

The number of times that the null is rejected at the α% nominal size (called the empirical size of the test) is reported below.

Empirical size with alpha=0.10 and M=2:8.1  
Empirical size with alpha=0.05 and M=2:3.3  
Empirical size with alpha=0.01 and M=2:0.4  
Empirical size with alpha=0.10 and M=3:7.5  
Empirical size with alpha=0.05 and M=3:3.7  
Empirical size with alpha=0.01 and M=3:0.8  
Empirical size with alpha=0.10 and M=10:8.2  
Empirical size with alpha=0.05 and M=10:4.7  
Empirical size with alpha=0.01 and M=10:1.4

These results suggest that the test suffers from a minor size distortion for the three considered values of M.

To study the power of the test, we now simulate T = 2000 observations of a N-AR(1) model with μ = 0.1 and ρ = 0.1, i.e. (1 - ρL)(yt - μ) = εt, where εt ~ N(0,σ2) and σ = 0.2. To obtain this configuration of the model, chose the following options:

decl m_vAR=<0.05>;  
decl m_cAR=1;

The empirical distribution of the VR statistics (under the alternative) is plotted in Figure 3.8 (together with a N(0,1)).


PIC

Figure 3.8: POWER: Empirical distribution of the VR test with N = 2,3 and 10. DGP is a N-AR(1)

Both Figure 3.8 and the output here below suggest that the VR test has good power to detect the presence of serial correlation in the series.

Empirical power with alpha=0.10 and M=2:69.5  
Empirical power with alpha=0.05 and M=2:58.4  
Empirical power with alpha=0.01 and M=2:33.3  
Empirical power with alpha=0.10 and M=3:61.5  
Empirical power with alpha=0.05 and M=3:50.4  
Empirical power with alpha=0.01 and M=3:28  
Empirical power with alpha=0.10 and M=10:32.1  
Empirical power with alpha=0.05 and M=10:22.9  
Empirical power with alpha=0.01 and M=10:8.9

A potential weakness of the VR test is that it assumes a constant variance while it is clear that most financial time series do not have constant conditional variance. To study the impact of the presence of GARCH effects on the VR test, let us now simulate T = 2000 observations of a N-AR(0)-GARCH(1,1) model with μ = 0.1, i.e. (yt - μ) = εt, where εt ~ N(0,σt2), σt2 = ω + α1εt-12 + β1σt-12 with ω = 0.2,α1 = 0.1 and β1 = 0.8.

Again, we simulate 1000 series following this DGP and apply the VR test with the same values for M.

Chose now the following options in Simulation_VR.ox:

decl m_cModel=1;  
decl m_cAR=0;


PIC

Figure 3.9: Empirical size of the VR test with N = 2,3 and 10. DGP is a N-AR(0)-GARCH(1,1)

Empirical size with alpha=0.10 and M=2:12.1  
Empirical size with alpha=0.05 and M=2:6.2  
Empirical size with alpha=0.01 and M=2:0.9  
Empirical size with alpha=0.10 and M=3:10.4  
Empirical size with alpha=0.05 and M=3:5  
Empirical size with alpha=0.01 and M=3:0.7  
Empirical size with alpha=0.10 and M=10:8.5  
Empirical size with alpha=0.05 and M=10:3.5  
Empirical size with alpha=0.01 and M=10:0.7

The empirical distribution of the VR statistics is plotted in Figure 3.9 and the empirical size in the output just below. The main conclusion is that the presence of GARCH effects has a negligible impact on the size of the test.

However, the power of the test is slightly affected by the presence of GARCH effects. Indeed, adding an AR(1) component to this GARCH model (with ρ = 0.05) substantially reduces the power of the test as suggested below.

To obtain these results, chose the following options in Simulation_VR.ox:

decl m_cModel=1;  
decl m_vAR=<0.05>;  
decl m_cAR=1;

Empirical power with alpha=0.10 and M=2:59.2  
Empirical power with alpha=0.05 and M=2:47.4  
Empirical power with alpha=0.01 and M=2:25.4  
Empirical power with alpha=0.10 and M=3:53.1  
Empirical power with alpha=0.05 and M=3:40.6  
Empirical power with alpha=0.01 and M=3:21.4  
Empirical power with alpha=0.10 and M=10:29.9  
Empirical power with alpha=0.05 and M=10:19.7  
Empirical power with alpha=0.01 and M=10:8.4

To overcome this problem some authors have proposed to apply the VR test on the rescaled or standardized residuals of a GARCH-type model.

This is illustrated in Simulation_VR_GARCH.ox.

As suggested by the next output, applying the VR test on the rescaled returns restores its original power to the test (i.e. case AR(1) without GARCH effects).

Empirical power with alpha=0.10 and M=2:69.5  
Empirical power with alpha=0.05 and M=2:58.4  
Empirical power with alpha=0.01 and M=2:33.3  
Empirical power with alpha=0.10 and M=3:61.5  
Empirical power with alpha=0.05 and M=3:50.4  
Empirical power with alpha=0.01 and M=3:28  
Empirical power with alpha=0.10 and M=10:32.1  
Empirical power with alpha=0.05 and M=10:22.9  
Empirical power with alpha=0.01 and M=10:8.9

See Taylor (1995) for more details about the VR tests as well as some applications on real data.

3.12.2 Runs test

Another popular test of the RMH is the Runs test, first used by Fama (1965). The runs test (also called Wald-Wolfowitz test) is a non-parametric test that checks the randomness hypothesis of a two- or three-valued data sequence. Similar to a first-autocorrelation test but is non-parametric and does not require any assumption of normality and stationary distribution. A run’ is a sequence of adjacent equal elements. For example, the sequence “1111000111001111110000” is divided in six runs, three of which consist of 1’s and the others of 0’s. If the 1’s and 0’s alternate randomly, the number of runs is a random variable whose asymptotic distribution is N.

Let qt be the sign of the return rt, qt is 1,0,-1, respectively for positive, zero, negative values of rt. Let ct be 1 if qtqt+1 and 0 otherwise. The total number of runs of all types is

        n-1
        ∑
C = 1 +    ct.
        t=1

Suppose there are n1 positive returns, n2 zero returns, and n3 negative returns in a series of n returns (with 0 mean apply the test on rt -¯r ). Then the mean and variance of the random variable generating C, conditional upon n1, n2, and n3, are

E(C) = n+ 1- 1∕n ∑3   n2
         ∑3j=1n2j(n+n2j=+1∑3jj=1n2j)-n3-2n∑3j=1n3j
Var(C) = -------------n3-n-------------,

when the signs qt are generated by i.i.d. variables (Mood, 1940).

The statistic C has an approximate normal distribution, for large n. Tests can then be decided by evaluating

                ∘ -------
K  = (C - E (C))∕ Var(C),

with RWH rejected at the 5% level if |K| > 1.96. The Runs test avoids all the problems created by conditional heteroskedasticity. Note that trends in prices (vs. no trend) would give fewer runs than expected.

To study the performance of the Runs test, let us consider a first simulation study (see Simulation_VR.ox). We simulate 1000 series of T = 2000 observations following a N-AR(0) model with μ = 0.1, i.e. (yt - μ) = εt, where εt ~ N(0,σ2) and σ = 0.2. We than apply the Variance-ratio test with N = 2,3 and 10. The empirical distribution of the K statistics is plotted in Figure 3.10 (together with a N(0,1)).


PIC

Figure 3.10: Empirical size of the Runs test statistics K. DGP is a N-AR(0)

The output reported here below also suggests that the test has a correct size at the three chosen significance levels. Results not reported here suggest (as expected) that the test is not affected by the presence of GARCH effects.

Empirical size with alpha=0.10:11.1  
Empirical size with alpha=0.05:5.1  
Empirical size with alpha=0.01:0.9

Let us now study the power of the Runs test by considering a N-AR(1) model. The results suggest that this tests suffers from a reduction in power (compared to the VR test on the same DGP) due to the loss of information in the transformation form returns to their signs.

Empirical power with alpha=0.10:41.8  
Empirical power with alpha=0.05:30.7  
Empirical power with alpha=0.01:12.5

3.12.3 Rescaled Range Tests

Range statistics that have power to detect long-term dependence were first developed for hydrological data by Hurst (1951) and later applied to financial returns.

Lo (1991) provides many references and a rigorous description of appropriate tests when the preferred alternative to randomness is long-term dependence. The range defined by a set of returns {r1,...,rn}:

      [               ]  [               ]
            ∑T                  T∑
Mn  =  1m≤aTx≤n   (rt - ¯r) - 1m≤iTn≤n    (rt - ¯r) .
            t=1                 t=1

R/S-test statistics are ranges divided by scaled standard deviations

R-  --1-
S = √n-ˆσMn.

Two special cases define Mandelbrot (1972)’s and Lo (1991)’s test statistics:

ˆσ = s defines(R ∕S)
                Man

and

       ⌊                    ⌋
 2   2      ∑q (      j  )
ˆσ = s  ⌈1+ 2     1- q-+-1 ˆρj⌉ defines(R∕S )Lo
            j=1

with s2 the sample variance of returns.

Under certain assumptions, the distributions of these statistics converge, as n and q increase, to that of the range of a Brownian bridge on the unit interval. The rule is the following: do not reject the null when

R
S- ∈[0.861 ; 1.747]at the 10% level
R
S- ∈[0.809 ; 1.862] at the 5% level
R
S- ∈[0.721 ; 2.098] at the 1% level

The null hypothesis of an uncorrelated process can be tested using (R∕S)Man, and Lo focuses on the null hypothesis of a short memory process and then the appropriate test statistic is (R∕S)LO .

To study the performance of the R/S tests, let us consider the following simulation study (see Simulation_RS.ox). We simulate 1000 series of T = 2000 observations following a N-AR(0) model with μ = 0.1, i.e. (yt - μ) = εt, where εt ~ N(0,σ2) and σ = 0.2. We than apply the (R∕S)Man test and the (R∕S)LO test with q = 10 and 20.

The empirical size of the tests is reported below. The results suggest that the test is perfectly sized.

(R/S)Man Test  
Empirical size with alpha=0.10:10.6  
Empirical size with alpha=0.05:5.3  
Empirical size with alpha=0.01:1.4  
 
(R/S)Lo Test  
Empirical size with alpha=0.10 and q=10:9.5  
Empirical size with alpha=0.05 and q=10:5.3  
Empirical size with alpha=0.01 and q=10:1.5  
Empirical size with alpha=0.10 and q=20:9.1  
Empirical size with alpha=0.05 and q=20:5  
Empirical size with alpha=0.01 and q=20:1.1

The next output corresponds to the AR(1) case with ρ = 0.05, obtained with the following options

decl m_vAR=<0.05>;  
decl m_cAR=1;

It is clear that the tests have no power against short memory processes.

(R/S)Man Test  
Empirical power with alpha=0.10:11  
Empirical power with alpha=0.05:5.5  
Empirical power with alpha=0.01:1.4  
 
(R/S)Lo Test  
Empirical power with alpha=0.10 and q=10:9.7  
Empirical power with alpha=0.05 and q=10:5.4  
Empirical power with alpha=0.01 and q=10:1.4  
Empirical power with alpha=0.10 and q=20:8.9  
Empirical power with alpha=0.05 and q=20:4.8  
Empirical power with alpha=0.01 and q=20:1.1

With a much higher value of ρ, i.e. ρ = 0.5, we see that the statistics of Lo (1991) is close to its nominal size while the one of Mandelbrot (1972) has some power to detect short memory.

(R/S)Man Test  
Empirical power with alpha=0.10:74.4  
Empirical power with alpha=0.05:65.6  
Empirical power with alpha=0.01:45.1  
 
(R/S)Lo Test  
Empirical power with alpha=0.10 and q=10:10.6  
Empirical power with alpha=0.05 and q=10:6.2  
Empirical power with alpha=0.01 and q=10:1.2  
Empirical power with alpha=0.10 and q=20:9.4  
Empirical power with alpha=0.05 and q=20:5.5  
Empirical power with alpha=0.01 and q=20:1.2

Results not reported here suggest that theses two statistics are not affected by the presence of GARCH effects.

To study the ability of the (R∕S)LO statistics to detect long range dependance, we now use the ARFIMA package of Doornik and Ooms (1999) to simulate T = 2000 observations of a N-ARFIMA(0,0.2,0) model with μ = 0.1, i.e. (1 - L)0.2(yt - μ) = εt, where εt ~ N(0,σ2) and σ = 0.2.

This results of this simulation have been obtained using example file Simulation_RS.ox with the following options:

decl m_cAR=0;  
decl m_cD=1;  
decl m_vD=0.2;

The next output suggests that the (R∕S)LO statistics indeed has power to detect long-memory.

(R/S)Man Test  
Empirical size with alpha=0.10:96.1  
Empirical size with alpha=0.05:94.6  
Empirical size with alpha=0.01:87.2  
 
(R/S)Lo Test  
Empirical size with alpha=0.10 and q=10:64.4  
Empirical size with alpha=0.05 and q=10:55.9  
Empirical size with alpha=0.01 and q=10:37.6  
Empirical size with alpha=0.10 and q=20:47.5  
Empirical size with alpha=0.05 and q=20:37.9  
Empirical size with alpha=0.01 and q=20:22

Chapter 4
Further Univariate GARCH Models

While Engle (1982) is certainly the most important contribution in financial econometrics, the ARCH model is rarely used in practice due to its simplicity.

A useful generalization of this model is the GARCH model introduced by Bollerslev (1986). This model is also a weighted average of past squared residuals, but it has declining weights that never go completely to zero. This model is more parsimonious than the ARCH and, even in its simplest form, has proven surprisingly successful in predicting conditional variances.

The GARCH model is not the only extension. Indeed, G@RCH 6.1 proposes no less than 12 specifications. As shown below, choosing an alternative model is extremely easy in G@RCH.

4.1 GARCH Model

The Generalized ARCH (GARCH) model of Bollerslev (1986) is based on an infinite ARCH specification and it allows to reduce the number of estimated parameters by imposing nonlinear restrictions on them. The GARCH (p,q) model can be expressed as:

 2      ∑q    2   ∑p    2
σt = ω +   αiεt-i +   βjσt-j.
        i=1        j=1
(4.1)

Using the lag (or backshift) operator L, the GARCH (p,q) model becomes:

σ2t = ω+ α (L )ε2t +β (L )σ2t,

with α(L) = α1L + α2L2 + + αqLq and β(L) = β1L + β2L2 + + βpLp.

PIC

If all the roots of the polynomial |1 - β(L)| = 0 lie outside the unit circle, we have:

 2            -1               -1 2
σt = ω [1 - β (L )] + α (L )[1 - β (L )] εt,
(4.2)

which may be seen as an ARCH() process since the conditional variance linearly depends on all previous squared residuals. In this case, the conditional variance of yt can become larger than the unconditional variance given by

σ2 ≡ E (ε2t) =----q--ω---p---,
            1- ∑  αi - ∑ βj
               i=1    j=1
if past realizations of εt2 are larger than σ2 (Palm, 1996).

Applying variance targeting to the GARCH model implies replacing ω by σ2(               )
 1-  q∑ αi - p∑ β
    i=1    j=1 j, where σ2 is the unconditional variance of εt, which can be consistently estimated by its sample counterpart.1

Bollerslev (1986) has shown that for a GARCH(1,1) with normal innovations, the kurtosis of y is 3[1 - (α1 + β1)2][           2     2]
 1 - (α1 + β1) - 2α 1 > 3. The autocorrelations of εt2 have been derived by Bollerslev (1986). For a stationary GARCH(1,1), ρ1 = α1 + [α12β1(1 - 2α1β1 - β12)], and ρk = (α1 + β1)k-1ρ1, k = 2,3, In other words, the autocorrelations decline exponentially with a decay factor of α1 + β1.

As in the ARCH case, some restrictions are needed to ensure σt2 to be positive for all t. Bollerslev (1986) shows that imposing ω > 0, αi 0 (for i = 1,,q) and βj 0 (for j = 1,,p) is sufficient for the conditional variance to be positive. In practice, the GARCH parameters are often estimated without the positivity constraints. Nelson and Cao (1992) argue that imposing all coefficients to be nonnegative is too restrictive and that some of these coefficients are found to be negative in practice while the conditional variance remains positive (by checking on a case-by-case basis). Consequently, they relaxed this constraint and gave sufficient conditions for the GARCH(1,q) and GARCH(2,q) cases based on the infinite representation given in Equation (4.2). Indeed, the conditional variance is strictly positive provided ω[1- β(1)]-1 is positive and all the coefficients of the infinite polynomial α(L)[1 - β(L )]-1 in Equation (4.2) are nonnegative. The positivity constraints proposed by Bollerslev (1986) can be imposed during the estimation (see Section 3.9). If not, these constraints, as well as the ones implied by the ARCH() representation, will be tested a posteriori and reported in the output (if there is no explanatory variable in the conditional variance equation).

Estimation results of an ARMA(1,0)-GARCH(1,1) model by QML are reported in the next Output (labelled Box 6).

                           Box 6 - Output of the ARMA(1,0)-GARCH(1,1) by QMLE  
 ******************************  
 ** G@RCH( 3) SPECIFICATIONS **  
 ******************************  
Dependent variable : Nasdaq  
Mean Equation : ARMA (1, 0) model.  
1 regressor(s) in the mean.  
Variance Equation : GARCH (1, 1) model.  
1 regressor(s) in the variance.  
The distribution is a Gauss distribution.  
 
Strong convergence using numerical derivatives  
Log-likelihood = -5370.86  
Please wait : Computing the Std Errors ...  
 
 Robust Standard Errors (Sandwich formula)  
                  Coefficient  Std.Error  t-value  t-prob  
Cst(M)               0.116210   0.015919    7.300  0.0000  
Monday (M)          -0.174801   0.028920   -6.044  0.0000  
AR(1)                0.193905   0.017177    11.29  0.0000  
Cst(V)               0.009292   0.012566   0.7394  0.4597  
Friday (V)           0.067380   0.059745    1.128  0.2595  
ARCH(Alpha1)         0.164808   0.028030    5.880  0.0000  
GARCH(Beta1)         0.826238   0.026107    31.65  0.0000  
 
No. Observations :      4093  No. Parameters  :         7  
Mean (Y)         :   0.05517  Variance (Y)    :   1.59189  
Skewness (Y)     :  -0.74128  Kurtosis (Y)    :  14.25531  
Log Likelihood   : -5370.858  Alpha[1]+Beta[1]:   0.99105  
 
The sample mean of squared residuals was used to start recursion.  
 
Estimated Parameters Vector :  
 0.116210;-0.174801; 0.193905; 0.009292; 0.067380; 0.164808; 0.826243  
 
Elapsed Time : 2.975 seconds (or 0.0495833 minutes).

Interestingly, the log-likelihood now equals -5370.858 against -6106.357 for the corresponding ARCH(1) model. Any likelihood ratio test (LRT), asymptotically ~ χ2(1), would reject the ARCH(1) model in favour of the GARCH(1,1).

Furthermore, we report below the same 6 misspecification tests as for the ARCH(1) model. The output is reported in Box 7 - Misspecification Tests.

                                               Box 7 - Misspecification Tests  
TESTS :  
------------  
Information Criterium (to be minimized)  
Akaike          2.627832  Shibata         2.627826  
Schwarz         2.638636  Hannan-Quinn    2.631657  
---------------  
 
                   Statistic       t-Test      P-Value  
Skewness            -0.65157       17.024  5.4349e-065  
Excess Kurtosis       2.6513       34.645  5.2745e-263  
Jarque-Bera           1488.4         .NaN      0.00000  
---------------  
 
Q-Statistics on Standardized Residuals  
  --> P-values adjusted by 1 degree(s) of freedom  
  Q(  5) =  4.57820   [0.3333749]  
  Q( 10) =  5.22369   [0.8143890]  
  Q( 20) =  18.7431   [0.4734248]  
  Q( 50) =  58.5113   [0.1657199]  
H0 : No serial correlation ==> Accept H0 when prob. is High [Q < Chisq(lag)]  
---------------  
 
Q-Statistics on Squared Standardized Residuals  
  --> P-values adjusted by 2 degree(s) of freedom  
  Q(  5) =  3.79989   [0.2838986]  
  Q( 10) =  7.15170   [0.5203577]  
  Q( 20) =  16.8830   [0.5311632]  
  Q( 50) =  46.2948   [0.5429339]  
H0 : No serial correlation ==> Accept H0 when prob. is High [Q < Chisq(lag)]  
---------------  
 
Adjusted Pearson Chi-square Goodness-of-fit test  
 
# Cells(g)  Statistic      P-Value(g-1)     P-Value(g-k-1)  
    40      201.6787         0.000000          0.000000  
    50      221.5492         0.000000          0.000000  
    60      230.5035         0.000000          0.000000  
Rem.: k = 7 = # estimated parameters  
---------------  
 
Residual-Based Diagnostic for Conditional Heteroskedasticity of Tse(2001)  
 
  RBD( 2) =  2.02370   [0.3635463]  
  RBD( 5) =  3.62445   [0.6046453]  
  RBD(10) =  6.84825   [0.7396890]  
------------------------------------------------  
P-values in brackets

Unlike the ARCH(1) model, the Q-Statistics on standardized and squared standardized residuals, as well as the RBD test with various lag values suggest that the GARCH(1,1) does a good job in modelling the dynamics of the first two conditional moments of the NASDAQ.

However, the adjusted Pearson Chi-square goodness-of-fit test (with different cell numbers) still points out some misspecification of the overall conditional distribution.

Several authors have proposed to use a Student-t or GED distribution in combination with a GARCH model to model the fat tails of the high-frequency financial time-series. Furthermore, since the NASDAQ seems to be skewed, a skewed-Student distributions might be justified (see Section 6 for a discussion about non-normal distributions).

4.2 EGARCH Model

The Exponential GARCH (EGARCH) model, originally introduced by Nelson (1991), is re-expressed in Bollerslev and Mikkelsen (1996) as follows:

logσ2 = ω+ [1- β(L)]-1[1 + α(L)]g(z   ).
    t                            t- 1
(4.3)

The value of g(zt) depends on several elements. Nelson (1991) notes that, “to accommodate the asymmetric relation between stock returns and volatility changes (...) the value of g(zt) must be a function of both the magnitude and the sign of zt.2 That is why he suggests to express the function g(.) as

g(zt) ≡   γ1zt   + γ2[|zt|- E-|zt|]
      sig◟n◝◜e◞ffect  ◟    ◝◜    ◞
                m agnitudeeffect
(4.4)

E|zt| depends on the assumption made on the unconditional density of zt. Indeed, for the normal distribution,

E(|z|) = ∘2-∕π.
    t
(4.5)

For the skewed-Student distribution,

                (   )√ -----
        --4ξ2--Γ-1+2υ---υ--2-
E(|zt|) = ξ + 1∕ξ  √πΓ (υ∕2)
(4.6)

where ξ = 1 for the symmetric Student.

For the GED, we have

         (1∕υ)  Γ (2∕υ)
E(|zt|) = 2   λυΓ (1∕υ).
(4.7)

ξ,υ and λυ concern the shape of the non-normal densities and was defined in Section 3.6.2.

Note that the use of a log transformation of the conditional variance ensures that σt2 is always positive.

Applying variance targeting to the EGARCH model implies replacing ω by log(σ2), where σ2 is the unconditional variance of εt, which can be consistently estimated by its sample counterpart.3

The output reported below corresponds to the ARMA(1,0)-EGARCH(1,1) with a GED distribution. Interestingly, both θ1 and θ2 are significant. Note that the degree of freedom of the GED distribution is significantly lower than 2, confirming that the standardized residuals are fat-tailed.

                                                               Box 8 - EGARCH  
 ******************************  
 ** G@RCH( 4) SPECIFICATIONS **  
 ******************************  
Dependent variable : Nasdaq  
Mean Equation : ARMA (1, 0) model.  
1 regressor(s) in the mean.  
Variance Equation : EGARCH (1, 1) model.  
1 regressor(s) in the variance.  
The distribution is a GED distribution, with a tail coefficient of 1.31814.  
 
Strong convergence using numerical derivatives  
Log-likelihood = -5233.92  
Please wait : Computing the Std Errors ...  
 
 Robust Standard Errors (Sandwich formula)  
                  Coefficient  Std.Error  t-value  t-prob  
Cst(M)               0.133901   0.010949    12.23  0.0000  
Monday (M)          -0.166042   0.026034   -6.378  0.0000  
AR(1)                0.188276   0.014182    13.28  0.0000  
Cst(V)              -0.342968    0.21183   -1.619  0.1055  
Friday (V)          -0.203655   0.079556   -2.560  0.0105  
ARCH(Alpha1)        -0.355466    0.14267   -2.491  0.0128  
GARCH(Beta1)         0.987227  0.0058283    169.4  0.0000  
EGARCH(Theta1)      -0.085730   0.020159   -4.253  0.0000  
EGARCH(Theta2)       0.305338   0.037692    8.101  0.0000  
G.E.D.(DF)           1.318137   0.052628    25.05  0.0000  
 
No. Observations :      4093  No. Parameters  :        10  
Mean (Y)         :   0.05517  Variance (Y)    :   1.59189  
Skewness (Y)     :  -0.74128  Kurtosis (Y)    :  14.25531  
Log Likelihood   : -5233.919  
 
The sample mean of squared residuals was used to start recursion.  
 
Estimated Parameters Vector :  
0.133901;-0.166042; 0.188276;-0.342968;-0.203655;-0.355466;  
0.987227;-0.085730; 0.305338; 1.318142

4.3 GJR Model

This popular model is proposed by Glosten, Jagannathan, and Runkle (1993). Its generalized version is given by:

         ∑q                    ∑p
σ2t = ω +   (αiε2t-i + γiS-t-iε2t-i) +   βjσ2t-j,
         i=1                     j=1
(4.8)

where St- is a dummy variable that take the value 1 when γi is negative and 0 when it is positive.

In this model, it is assumed that the impact of εt2 on the conditional variance σt2 is different when εt is positive or negative. The TGARCH model of Zakoian (1994) is very similar to the GJR but models the conditional standard deviation instead of the conditional variance. Ling and McAleer (2002) provide, among other stationarity conditions for various GARCH models, the conditions of existence of the second and fourth moment of the GJR.

Applying variance targeting to the GJR model implies replacing ω by σ2[    q                 p   ]
 1- ∑  (αi - γiE(S-t ))- ∑ βj
    i=1               j=1, where σ2 is the unconditional variance of εt, which can be consistently estimated by its sample counterpart and E(St-) is 0.5 for symmetric distributions (i.e. Normal, Student and GED) and -1--
1+ξ2 for the SKST.4

A nice feature of the GJR model is that the null hypothesis of no leverage effect is easy to test. Indeed, γ1 = = γq = 0 implies that the news impact curve is symmetric, i.e. past positive shocks have the same impact on today’s volatility as past negative shocks.

The output reported below suggests the presence of such an effect on the NASDAQ since ˆγ1 = 0.107988 with a robust t-value of 2.826.

                                                                  Box 9 - GJR  
 ******************************  
 ** G@RCH( 5) SPECIFICATIONS **  
 ******************************  
Dependent variable : Nasdaq  
Mean Equation : ARMA (1, 0) model.  
1 regressor(s) in the mean.  
Variance Equation : GJR (1, 1) model.  
1 regressor(s) in the variance.  
The distribution is a Gauss distribution.  
 
Strong convergence using numerical derivatives  
Log-likelihood = -5354.08  
Please wait : Computing the Std Errors ...  
 
 Robust Standard Errors (Sandwich formula)  
                  Coefficient  Std.Error  t-value  t-prob  
Cst(M)               0.093388   0.015714    5.943  0.0000  
Monday (M)          -0.163882   0.028471   -5.756  0.0000  
AR(1)                0.203798   0.018417    11.07  0.0000  
Cst(V)               0.014065   0.013479    1.044  0.2968  
Friday (V)           0.053779   0.060397   0.8904  0.3733  
ARCH(Alpha1)         0.105963   0.018002    5.886  0.0000  
GARCH(Beta1)         0.825532   0.026830    30.77  0.0000  
GJR(Gamma1)          0.107988   0.038216    2.826  0.0047  
 
No. Observations :      4093  No. Parameters  :         8  
Mean (Y)         :   0.05517  Variance (Y)    :   1.59189  
Skewness (Y)     :  -0.74128  Kurtosis (Y)    :  14.25531  
Log Likelihood   : -5354.076  
 
The sample mean of squared residuals was used to start recursion.  
 
Estimated Parameters Vector :  
0.093388;-0.163882; 0.203798; 0.014065; 0.053779; 0.105963; 0.825532; 0.107993  
 
Elapsed Time : 4.086 seconds (or 0.0681 minutes).

4.4 APARCH Model

This model has been introduced by Ding, Granger, and Engle (1993). The APARCH (p,q) model can be expressed as:

         q                     p
σδ = ω+ ∑  α (|ε  |- γ ε  )δ + ∑ β σδ  ,
 t      i=1 i   t-i    it-i    j=1 j t-j
(4.9)

where δ > 0 and -1 < γi < 1 (i = 1,...,q).

The parameter δ plays the role of a Box-Cox transformation of σt while γi reflects the so-called leverage effect. Properties of the APARCH model are studied in He and Teräsvirta (1999a, 1999b).

The APARCH includes seven other ARCH extensions as special cases:5

Following Ding, Granger, and Engle (1993), if ω > 0 and i=1qαi E(|z|- γiz)δ+ j=1pβj < 1, a stationary solution for Equation (4.9) exists and is expressed as:

E (σδ) =------------α0-------------.
    t       q∑             δ   ∑p
        1 -i=1αiE (|z|- γiz) - j=1 βj
(4.10)

Notice that if we set γ = 0, δ = 2 and if zt has zero mean and unit variance, we have the usual stationarity condition of the GARCH(1,1) model (α1 + β1 < 1). However, if γ0 and/or δ2, this condition depends on the assumption made on the innovation process.

Ding, Granger, and Engle (1993) derive a closed form solution to κi = E(|z|- γiz)δ in the Gaussian case. Lambert and Laurent (2001) show that for the standardized skewed-Student:6

    {                            }   δ+1-  υ -δ    1+δ
κi = ξ- (1+δ)(1+ γi)δ +ξ1+δ(1 - γi)δ  Γ (2-)1Γ (√-2-)(υ-2)υ-2-.
                                    (ξ+ξ) (υ-2)πΓ (2)

For the GED, we can show that:

          δ     δ  δ-υ- δ+1 δ
κi = [(1+-γi)+-(1-γi)]12υ-Γ (-υ-)λυ-.
               Γ (υ)

Note that ξ,υ and λυ concern the shape of the non-normal densities and was defined in Section 3.6.2.

Applying variance targeting to the APARCH model implies replacing ω by σδ(    q        p   )
 1 - ∑ κiαi - ∑ βj
     i=1      j=1, where σ is the unconditional standard deviation of εt, which can be consistently estimated by its sample counterpart.7

Once again, the APARCH model suggest the presence of a leverage effect on the NASDAQ (see Box 10). Importantly, δ is significantly different from 2 (ˆδ = 1.146366) but not significantly different from 1. This suggests that, instead of modelling the conditional variance (GARCH), it is more relevant in this case to model the conditional standard deviation. This result is in line with those of Taylor (1986), Schwert (1990) and Ding, Granger, and Engle (1993) who indicate that there is substantially more correlation between absolute returns than squared returns, a stylized fact of high frequency financial returns (often called ‘long memory’).

                                                              Box 10 - APARCH  
 ******************************  
 ** G@RCH( 6) SPECIFICATIONS **  
 ******************************  
Dependent variable : Nasdaq  
Mean Equation : ARMA (1, 0) model.  
1 regressor(s) in the mean.  
Variance Equation : APARCH (1, 1) model.  
1 regressor(s) in the variance.  
The distribution is a Gauss distribution.  
 
Strong convergence using numerical derivatives  
Log-likelihood = -5341.37  
Please wait : Computing the Std Errors ...  
 
 Robust Standard Errors (Sandwich formula)  
                  Coefficient  Std.Error  t-value  t-prob  
Cst(M)               0.088279   0.019660    4.490  0.0000  
Monday (M)          -0.167957   0.028627   -5.867  0.0000  
AR(1)                0.194576   0.018647    10.43  0.0000  
Cst(V)               0.020683   0.011917    1.736  0.0827  
Friday (V)           0.028304   0.050441   0.5611  0.5747  
ARCH(Alpha1)         0.154370   0.024000    6.432  0.0000  
GARCH(Beta1)         0.855355   0.024859    34.41  0.0000  
APARCH(Gamma1)       0.288072   0.076177    3.782  0.0002  
APARCH(Delta)        1.146366    0.20559    5.576  0.0000  
 
No. Observations :      4093  No. Parameters  :         9  
Mean (Y)         :   0.05517  Variance (Y)    :   1.59189  
Skewness (Y)     :  -0.74128  Kurtosis (Y)    :  14.25531  
Log Likelihood   : -5341.369  
 
The sample mean of squared residuals was used to start recursion.  
 
Estimated Parameters Vector :  
0.088279;-0.167957; 0.194576; 0.020683; 0.028304; 0.154370; 0.855355;  
0.288072; 1.146371  
 
Elapsed Time : 7.941 seconds (or 0.13235 minutes).

4.5 IGARCH Model

In many high-frequency time-series applications, the conditional variance estimated using a GARCH(p,q) process exhibits a strong persistence, that is:

∑p      ∑q
   βj +    αi ≈ 1.
j=1     i=1

If j=1pβj + i=1qαi < 1, the process (εt) is second order stationary, and a shock to the conditional variance σt2 has a decaying impact on σt+h2, when h increases, and is asymptotically negligible. Indeed, let us rewrite the ARCH() representation of the GARCH(p,q), given in Equation (4.2), as follows:

σ2t = ω* + λ(L)ε2t,
(4.11)

where ω* = ω[1 - β (L )]-1, λ(L) = α(L)[1 - β(L)]-1 = i=1λiLi and λi are lag coefficients depending nonlinearly on αi and βi. For a GARCH(1,1), λi = α1β1i-1. Recall that this model is said to be second order stationary provided that α1 + β1 < 1 since it implies that the unconditional variance exists and equals ω(1 - α1 - β1). As shown by Davidson (2004), the amplitude of the GARCH(1,1) is measured by S = i=1λi = α1(1 - β1), which determines “how large the variations in the conditional variance can be” (and hence the order of the existing moments). This concept is often confused with the memory of the model that determines “how long shocks to the volatility take to dissipate”. In this respect, the GARCH(1,1) model has a geometric memory ρ = 1β1, where λi = O(- i)
 ρ. In practice, we often find α1 + β1 = 1. In this case, we are confronted with an Integrated GARCH (IGARCH) model.

The GARCH(p,q) model can be expressed as an ARMA process. Using the lag operator L, we can rearrange Equation (4.1) as:

                2               ( 2   2)
[1- α (L )- β(L)]εt = ω+ [1- β (L )] εt - σt .

When the [1- α (L )- β(L)] polynomial contains a unit root, i.e. the sum of all the αi and the βj is one, we have the IGARCH(p,q) model of Engle and Bollerslev (1986). It can then be written as:

           2                 2   2
ϕ(L)(1- L)εt = ω + [1 - β (L )](εt - σt),
(4.12)

where ϕ(L) = [1- α(L)- β(L )](1 - L)-1 is of order max{p,q}- 1.

We can rearrange Equation (4.12) to express the conditional variance as a function of the squared residuals. After some manipulations, we have its ARCH() representation:

        ω      {                      -1}
σ2t = [1--β(L)] + 1 - ϕ(L)(1 - L)[1 - β(L )]  ε2t.
(4.13)

For this model, S = 1 and thus the second moment does not exist. However, this process is still short memory. To show this, Davidson (2004) considers an IGARCH(0,1) model defined as εt = σtzt and σt2 = εt-12. This process is often wrongly compared to a random walk since the long-range forecast σt+h2 = εt2, for any h. However εt = ztεt-1 which means that the memory of a large deviation persists for only one period.

4.6 RiskMetricsTM

In October 1994, the risk management group at J.P. Morgan released a technical document describing its internal market risk management methodology (J.P.Morgan, 1996). This methodology, called RiskMetricsTM soon became a standard in the market risk measurement due to its simplicity.

Basically, the RiskMetricsTM model is an IGARCH(1,1) model where the ARCH and GARCH coefficients are fixed.

The model is given by:

 2             2      2
σt = ω+ (1- λ)εt- 1 + λσt-1,
(4.14)

where ω = 0 and λ is generally set to 0.94 with daily data and to 0.97 with weekly data.8 Note also that Equation 4.14 is the very basic conditional variance model of the RiskMetricsTM methodology, but there exist many extensions of the original model. See the RiskMetrics Group website for details.

To illustrate the need for flexible ARCH-type models, here is the output of the Box-Pierce test on squared standardized residuals and the RBD test applied after the estimation of the RiskMetrics model (including an AR(1) term and the two dummy variables). There is no doubt that the RiskMetrics specification is not appropriate.

Q-Statistics on Squared Standardized Residuals  
  --> P-values adjusted by 2 degree(s) of freedom  
  Q(  5) =  82.0593   [0.0000]  
  Q( 10) =  84.1246   [0.0000]  
  Q( 20) =  93.3285   [0.0000]  
  Q( 50) =  119.353   [0.0000]  
H0 : No serial correlation ==> Accept H0 when prob. is High [Q < Chisq(lag)]  
---------------  
 
Residual-Based Diagnostic for Conditional Heteroskedasticity of Tse (2001)  
 
  RBD( 2) =  54.0450   [0.0000]  
  RBD( 5) =  54.6773   [0.0000]  
  RBD(10) =  59.6488   [0.0000]  
------------------------------------------------  
P-values in brackets  

4.7 Fractionally Integrated Models

Volatility tends to change quite slowly over time, and, as shown in Ding, Granger, and Engle (1993) among others, the effects of a shock can take a considerable time to decay.9 Therefore the distinction between stationary and unit root processes seems to be far too restrictive. Indeed, the propagation of shocks in a stationary process occurs at an exponential rate of decay (so that it only captures the short-memory), while for an unit root process the persistence of shocks is infinite. In the conditional mean, the ARFIMA specification has been proposed to fill the gap between short and complete persistence, so that the short-run behavior of the time-series is captured by the ARMA parameters, while the fractional differencing parameter allows for modelling the long-run dependence.10

To mimic the behavior of the correlogram of the observed volatility, Baillie, Bollerslev, and Mikkelsen (1996) (hereafter denoted BBM) introduce the Fractionally Integrated GARCH (FIGARCH) model by replacing the first difference operator of Equation (4.13) by (1 - L)d.

The conditional variance of the FIGARCH (p,d,q) is given by:

                  {                         }
σ2t = ω [1- β(L )]-1+ 1 - [1 - β(L )]-1ϕ(L)(1- L)d ε2t,
    ◟----◝ω◜*----◞  ◟------------◝◜-----------◞
                              λ(L)
(4.15)

or σt2 = ω* + i=1λiLiεt2 = ω* + λ(L)εt2, with 0 d 1. It is fairly easy to show that ω > 0,β1 - d ϕ1 2-d
 3 and d(ϕ1 - 1-d)
      2 β1(ϕ1 - β1 + d) are sufficient to ensure that the conditional variance of the FIGARCH (1,d,1) is positive almost surely for all t. Setting ϕ1 = 0 gives the condition for the FIGARCH (1,d,0). See Section 3.9 to see how to impose these constraints.

When estimating a FIGARCH (1,d,1) model by QML on the NASDAQ dataset (see the next output, labelled Box 11), one sees that d is significantly different from 0 and 1 while ϕ1 is barely significant. Importantly, comparing its log-likelihood with the one of the simple GARCH(1,1), i.e. -5359.179 vs. -5370.858, justifies the use of a long-memory process in the conditional variance.

                                                         Box 11 - FIGARCH-BBM  
 ******************************  
 ** G@RCH( 7) SPECIFICATIONS **  
 ******************************  
Dependent variable : Nasdaq  
Mean Equation : ARMA (1, 0) model.  
1 regressor(s) in the mean.  
Variance Equation : FIGARCH (1, d, 1) model estimated with BBM’s method  
(Truncation order : 1000).  
1 regressor(s) in the variance.  
The distribution is a Gauss distribution.  
 
Strong convergence using numerical derivatives  
Log-likelihood = -5359.18  
Please wait : Computing the Std Errors ...  
 
 Robust Standard Errors (Sandwich formula)  
                  Coefficient  Std.Error  t-value  t-prob  
Cst(M)               0.119253   0.016127    7.394  0.0000  
Monday (M)          -0.174214   0.028834   -6.042  0.0000  
AR(1)                0.195242   0.017134    11.40  0.0000  
Cst(V)               0.023438   0.015515    1.511  0.1309  
Friday (V)           0.074531   0.065791    1.133  0.2573  
d-Figarch            0.581512   0.079626    7.303  0.0000  
ARCH(Phi1)           0.144459   0.075900    1.903  0.0571  
GARCH(Beta1)         0.536264   0.093287    5.749  0.0000  
 
No. Observations :      4093  No. Parameters  :         8  
Mean (Y)         :   0.05517  Variance (Y)    :   1.59189  
Skewness (Y)     :  -0.74128  Kurtosis (Y)    :  14.25531  
Log Likelihood   : -5359.179  
 
The sample mean of squared residuals was used to start recursion.  
 
Estimated Parameters Vector :  
0.119253;-0.174214; 0.195242; 0.023438; 0.074531; 0.581512; 0.144459; 0.536269  
 
Elapsed Time : 45.115 seconds (or 0.751917 minutes).

Davidson (2004) notes the interesting and counterintuitive fact that the memory parameter of this process is -d, and is increasing as d approaches zero, while in the ARFIMA model the memory increases when ζ increases. According to Davidson (2004), the unexpected behavior of the FIGARCH model may be due less to any inherent paradoxes than to the fact that, embodying restrictions appropriate to a model in levels, it has been transplanted into a model of volatility. The main characteristic of this model is that it is not stationary when d > 0. Indeed,

            ∑∞
(1 - L)d  =     ------Γ (d+-1)----Lk
            k=0Γ (k + 1)Γ (d- k+ 1)
                    1        2   1              3
         =  1- dL - 2d(1- d)L  - 6d(1- d)(2 - d)L  - ...
               ∑∞
         =  1-    ck(d)Lk,                             (4.16)
               k=1
where c1(d) = d,c2(d) = 1
2d(1 -d), etc. By construction, k=1ck(d) = 1 for any value of d, and consequently, the FIGARCH belongs to the same “knife-edge-nonstationary” class represented by the IGARCH model. To test whether this nonstationarity feature holds, Davidson (2004) proposes a generalized version of the FIGARCH and calls it the HYperbolic GARCH. The HYGARCH is given by Equation (4.15), when λ(L) is replaced by 1 -[1- β(L)]-1ϕ(L){     [      ]}
 1+ α (1- L )d. Note that G@RCH reports log(α) and not α. The ck(d) coefficients are thus weighted by α. Interestingly, the HYGARCH nests the FIGARCH when α = 1 (or equivalently when log(α) = 0) and the process is stationary when α < 1 (or equivalently when log(α) < 0) in which case the GARCH component observes the usual covariance stationarity restrictions (see Davidson, 2004 for more details).

Note that when estimating the HYGARCH model on the NASDAQ dataset (see the next output, labelled Box 12), one cannot reject the FIGARCH specification in favour of the HYGARCH since   ˆ
log(α) = -0.006962 with a robust standard error of 0.029515.

                                                         Box 12 - HYGARCH  
 ******************************  
 ** G@RCH( 8) SPECIFICATIONS **  
 ******************************  
Dependent variable : Nasdaq  
Mean Equation : ARMA (1, 0) model.  
1 regressor(s) in the mean.  
Variance Equation : HYGARCH (1, d, 1) model of Davidson  
(Truncation order : 1000).  
1 regressor(s) in the variance.  
The distribution is a Gauss distribution.  
 
Strong convergence using numerical derivatives  
Log-likelihood = -5359.13  
Please wait : Computing the Std Errors ...  

 Robust Standard Errors (Sandwich formula)  
                  Coefficient  Std.Error  t-value  t-prob  
Cst(M)               0.119324   0.016057    7.431  0.0000  
Monday (M)          -0.174009   0.028839   -6.034  0.0000  
AR(1)                0.195311   0.017189    11.36  0.0000  
Cst(V)               0.025119   0.017519    1.434  0.1517  
Friday (V)           0.074334   0.065858    1.129  0.2591  
d-Figarch            0.589652   0.081351    7.248  0.0000  
ARCH(Phi1)           0.143596   0.075199    1.910  0.0563  
GARCH(Beta1)         0.541468   0.091022    5.949  0.0000  
Log Alpha (HY)      -0.006962   0.029515  -0.2359  0.8135  
 
No. Observations :      4093  No. Parameters  :         9  
Mean (Y)         :   0.05517  Variance (Y)    :   1.59189  
Skewness (Y)     :  -0.74128  Kurtosis (Y)    :  14.25531  
Log Likelihood   : -5359.126  
 
The sample mean of squared residuals was used to start recursion.  
 
Estimated Parameters Vector :  
0.119324;-0.174009; 0.195311; 0.025119; 0.074334; 0.589652;  
0.143596; 0.541468;-0.006957  
 
Elapsed Time : 51.875 seconds (or 0.864583 minutes).

Chung (1999) underscores some additional drawbacks in the BBM model: there is a structural problem in the BBM specification since the parallel with the ARFIMA framework of the conditional mean equation is not perfect, leading to difficult interpretations of the estimated parameters. Indeed the fractional differencing operator applies to the constant term in the mean equation (ARFIMA) while it does not in the variance equation (FIGARCH). Chung (1999) proposes a slightly different process:

ϕ(L)(1- L)d(ε2t - σ2) = [1 - β (L )](ε2t - σ2t),
(4.17)

where σ2 is the unconditional variance of εt .

Applying variance targeting to this model implies replacing σ2 its sample counterpart.

If we keep the same definition of λ(L) as in Equation (4.15), we can formulate the conditional variance as:

 2   2  {            -1          d} ( 2   2)
σt = σ +  1- [1- β(L)] ϕ(L )(1- L )   εt - σ

or

             (      )
σ2t = σ2 + λ(L ) ε2t - σ2 .
(4.18)

Chung (1999) shows that σ2 > 0 and 0 ϕ1 β1 d 1 is sufficient to ensure the positivity of Equation (4.18) when p = q = 1.11

λ(L ) is an infinite summation which, in practice, has to be truncated. BBM propose to truncate λ(L) at 1000 lags (this truncation order has been implemented as the default value in our package, but it may be changed by the user) and replace the unobserved εt2’s by the empirical counterpart of E(εt2), i.e. 1∕T t=1Tˆε t2. Contrary to BBM, Chung (1999) proposes to truncate λ(L ) at the size of the information set (T - 1) and to initialize the unobserved (      )
 ε2t - σ2 at 0 (this quantity is small in absolute values and has a zero mean).12

Recently, Conrad and Haag (2006) and Conrad (2007) have derived non-negativity conditions for FIGARCH and HYGARCH models (respectively). Thanks to Christian Conrad, these conditions are implemented in the following examples: Stat_Constr_FIGARCH_Conrad_Haag_Check.ox and
Stat_Constr_HYGARCH_Conrad_Check.ox for a FIGARCH and HYGARCH(1,d,1) respectively. While the conditions are tested on the estimated parameters in the previous two example files, the conditions are imposed during the estimation in the next two, i.e. Stat_Constr_FIGARCH_Conrad_Haag_Impose.ox and
Stat_Constr_HYGARCH_Conrad_Impose.ox.

The idea of fractional integration has been extended to other GARCH types of models, including the Fractionally Integrated EGARCH (FIEGARCH) of Bollerslev and Mikkelsen (1996) and the Fractionally Integrated APARCH (FIAPARCH) of Tse (1998).13

Similarly to the GARCH(p,q) process, the EGARCH(p,q) of Equation (4.3) can be extended to account for long memory by factorizing the autoregressive polynomial [1- β (L )] = ϕ(L)(1 - L)d where all the roots of ϕ(z) = 0 lie outside the unit circle. The FIEGARCH (p,d,q) is specified as follows:

   ( 2)          -1      -d
log σt = ω + ϕ(L)  (1- L )  [1 + α(L )]g(zt-1).
(4.19)

Finally, the FIAPARCH (p,d,q) model can be written as:14

        {            -1           d}          δ
σδt = ω + 1 - [1- β (L)] ϕ (L)(1- L)   (|εt|- γεt) .
(4.20)

To illustrate, the next outputs, labelled Box 13 and 14, report the estimation results of a FIAPARCH(1,d,1) and a FIEGARCH(1,d,1) respectively. Once again, long-memory is detected in the conditional variance equation.

                                                            Box 13 - FIAPARCH  
 ******************************  
 ** G@RCH( 9) SPECIFICATIONS **  
 ******************************  
Dependent variable : Nasdaq  
Mean Equation : ARMA (1, 0) model.  
1 regressor(s) in the mean.  
Variance Equation : FIAPARCH (1, d, 1) model estimated with BBM’s method  
(Truncation order : 1000).  
1 regressor(s) in the variance.  
The distribution is a Gauss distribution.  
 
Strong convergence using numerical derivatives  
Log-likelihood = -5319.06  
Please wait : Computing the Std Errors ...  
 
 Robust Standard Errors (Sandwich formula)  
                  Coefficient  Std.Error  t-value  t-prob  
Cst(M)               0.090488   0.016690    5.422  0.0000  
Monday (M)          -0.155500   0.027083   -5.742  0.0000  
AR(1)                0.206201   0.018850    10.94  0.0000  
Cst(V)               0.069862   0.027352    2.554  0.0107  
Friday (V)           0.032353   0.062970   0.5138  0.6074  
d-Figarch            0.442479   0.048626    9.100  0.0000  
ARCH(Alpha1)         0.175341   0.085768    2.044  0.0410  
GARCH(Beta1)         0.444875    0.10163    4.377  0.0000  
APARCH(Gamma1)       0.358940   0.080621    4.452  0.0000  
APARCH(Delta)        1.500260    0.12889    11.64  0.0000  
 
No. Observations :      4093  No. Parameters  :        10  
Mean (Y)         :   0.05517  Variance (Y)    :   1.59189  
Skewness (Y)     :  -0.74128  Kurtosis (Y)    :  14.25531  
Log Likelihood   : -5319.060  
 
The sample mean of squared residuals was used to start recursion.  
 
Estimated Parameters Vector :  
0.090488;-0.155500; 0.206201; 0.069862; 0.032353; 0.442479; 0.175341;  
0.444875; 0.358940; 1.500265  
 
Elapsed Time : 173.209 seconds (or 2.88682 minutes).

                                                            Box 14 - FIEGARCH  
 ******************************  
 ** G@RCH(10) SPECIFICATIONS **  
 ******************************  
Dependent variable : Nasdaq  
Mean Equation : ARMA (1, 0) model.  
1 regressor(s) in the mean.  
Variance Equation : FIEGARCH (1, d, 1) model  
(Truncation order : 1000).  
1 regressor(s) in the variance.  
The distribution is a Gauss distribution.  
 
Strong convergence using numerical derivatives  
Log-likelihood = -5308.76  
Please wait : Computing the Std Errors ...  
 
 Robust Standard Errors (Sandwich formula)  
                  Coefficient  Std.Error  t-value  t-prob  
Cst(M)               0.096537   0.015428    6.257  0.0000  
Monday (M)          -0.172178   0.028035   -6.142  0.0000  
AR(1)                0.192984   0.017946    10.75  0.0000  
Cst(V)               0.588445    0.28539    2.062  0.0393  
Friday (V)          -0.100769   0.096499   -1.044  0.2964  
d-Figarch            0.493427   0.045323    10.89  0.0000  
ARCH(Alpha1)        -0.246505    0.25960  -0.9496  0.3424  
GARCH(Beta1)         0.603661    0.14050    4.297  0.0000  
EGARCH(Theta1)      -0.119277   0.026220   -4.549  0.0000  
EGARCH(Theta2)       0.302285   0.048533    6.228  0.0000  
 
No. Observations :      4093  No. Parameters  :        10  
Mean (Y)         :   0.05517  Variance (Y)    :   1.59189  
Skewness (Y)     :  -0.74128  Kurtosis (Y)    :  14.25531  
Log Likelihood   : -5308.762  
 
The sample mean of squared residuals was used to start recursion.  
 
Estimated Parameters Vector :  
0.096537;-0.172178; 0.192984; 0.588445;-0.100769; 0.493427;  
-0.246505; 0.603661;-0.119277; 0.302290  
 
Elapsed Time : 242.118 seconds (or 4.0353 minutes).

4.8 Forecasting the Conditional Variance of GARCH-type models

Like for the simple ARCH(q) model, it is rather easy to obtain h-step-ahead forecasts of these more complicated models. In the simple GARCH(p,q) case, the optimal h-step-ahead forecast of the conditional variance, i.e. ˆσt+h|t2 is given by:

            q             p
 2         ∑     2       ∑  ˆ  2
σt+h|t = ˆω+    ˆαiεt+h -i|t +   βjσt+h-j|t,
           i=1           j=1
(4.21)

where εt+i|t2 = σt+i|t2 for i > 0 while εt+i|t2 = εt+i2 and σt+i|t2 = σt+i2 for i 0. Equation (4.21) is usually computed recursively, even if a closed form solution of σt+h|t2 can be obtained by recursive substitution in Equation (4.21).

Similarly, one can easily obtain the h-step-ahead forecast of the conditional variance of an ARCH, IGARCH and FIGARCH model. By contrast, for thresholds models, the computation of out-of-sample forecasts is more complicated. Indeed, for EGARCH, GJR and APARCH models (as well as for their long-memory counterparts), the assumption made on the innovation process may have an effect on the forecast (especially for h > 1).

For instance, for the GJR (p,q) model, we have

           ∑q                              ∑p
ˆσ2t+h |t = ˆω +   (ˆαiε2t-i+h|t + ˆγiS-t-i+h|tε2t-i+h|t)+   ˆβjσ2t-j+h|t.
           i=1                              j=1
(4.22)

When γi = 0 for all i, we obtain the forecast of the GARCH model. Otherwise, St-i+h|t- has to be computed. Note first that St+i|t- = St+i- for i 0. However, when i > 0, St+i|t- depends on the choice of the distribution of zt. When the distribution of zt is symmetric around 0 (for the Gaussian, Student and GED density), the probability that εt+i is negative is St+i|t- = 0.5. If zt is (standardized) skewed-Student distributed with asymmetry parameter ξ and degree of freedom υ, St+i|t- =  1
1+ξ2 since ξ2 is the ratio of probability masses above and below the mode.

For the APARCH (p,q) model,

ˆσδ     =  E (σδ  |Ω )
 t+h|t       ( t+h  t                                     )
                 ∑q                     ˆ  ∑p    ˆ
       =  E ( ˆω+    ˆαi(|εt+h-i|- ˆγiεt+h-i)δ +   ˆβjσδt+h-j | Ωt)
                 i=1                       j=1
              ∑q    [                    ]  ∑p
       =  ˆω +    ˆαiE (εt+h-i - ˆγiεt+h-i)ˆδ|Ωt +   ˆβjσˆδt+h-j|t, (4.23)
              i=1                            j=1
where E[(ε   - ˆγε   )ˆδ|Ω ]
   t+k    it+k    t = κiσt+k|tˆδ , for k > 1 and κi = E(|z|- γ z)
      iˆδ (see Section 3.6.2).

For the EGARCH (p,q) model,

logˆσ2     =  E (logσ2  |Ω )
    t+h|t       {    t[+h  t  ]                       }
          =  E   ˆω+  1- ˆβ (L )-1 [1+ αˆ(L )]ˆg(zt+h-1) | Ωt

             [    ˆ  ]    ˆ       2
          =   1 - β(L ) ˆω+ β(L) logˆσt+h|t + [1+ αˆ(L )]ˆg(zt+h-1|t),(4.24)
where ĝ(zt+k|t) = ĝ(zt+k) for k 0 and 0 for k > 0.

Finally, the h-step-ahead forecast of the FIAPARCH and FIEGARCH models are obtained in a similar way.

4.9 Constrained Maximum Likelihood and Simulated Annealing

As explained in Section 3.9, it is possible to constrain the parameters to range between a lower and an upper bound by selecting the option MaxBFGS - Bounded Parameters in the Estimate window.

PIC

If the user selects the option Select (Individual or Matrix Form) in the Starting Values window, the program automatically opens a new box dialog before launching the estimation. Analogous to the procedure for the starting values, the user can change the bounds manually.

In the following example, an APARCH specification has been used. By default, we propose to impose the constraints -1 < γi < 1, i = 1,,q and 0 < δ < 3.

Finally, if the option MaxSA - Unbounded Parameters is selected in the Model Settings window, a new box dialog appears before the estimation.15 In this box dialog, the user may change the default values of the parameters used in the simulated annealing algorithm.

PIC

Simulated annealing is a global optimization method that potentially distinguishes between different local optima. Starting from an initial point, the algorithm takes a step and the function is evaluated. When minimizing a function, any downhill step is accepted and the process repeats from this new point. An uphill step may be accepted. Thus, it can escape from local optima. This uphill decision is made by the Metropolis criteria. As the optimization process proceeds, the length of the steps declines and the algorithm closes in on the global optimum. Since the algorithm makes very few assumptions regarding the function to be optimized, it is quite robust with respect to non-quadratic surfaces. The degree of robustness can be adjusted by the user. In fact, simulated annealing can be used as a local optimizer for difficult functions. This implementation of simulated annealing is used in Goffe, Ferrier, and Rogers (1994). Briefly, it is found to be competitive, if not superior, to multiple restarts of conventional optimization routines for difficult optimization problems. The price to pay is that it is slower than the previous two techniques. A comprehensive help is available on the MaxSA web page:
www.tinbergen.nl/~cbos/software/maxsa.html.

PIC

PIC

4.10 Accuracy of G@RCH

McCullough and Vinod (1999) and Brooks, Burke, and Persand (2001) use the daily German mark/British pound exchange rate data of Bollerslev and Ghysels (1996) to compare the accuracy of GARCH model estimation among several econometric softwares. They choose the GARCH(1,1) model described in Fiorentini, Calzolari, and Panattoni (1996) (hereafter denoted FCP) as the benchmark. In this section, we use the same methodology with the same dataset to check the accuracy of our procedures. Coefficients and standard errors estimates of G@RCH 4.2 are reported in Table 4.1 together with the results of McCullough and Vinod (1999) (FCP in the table).
















Coefficient
Hessian
Robust Standard Errors
G@RCH FCP G@RCH FCP G@RCH FCP







μ-0.006184-0.0061900.0084620.0084620.009187 0.009189
ω 0.010760 0.010761 0.0028510.0028520.006484 0.006493
α1 0.153407 0.153134 0.0265690.0265230.053595 0.053532
β1 0.805879 0.805974 0.0335420.0335530.072386 0.072461








Table 4.1: Accuracy of the GARCH procedure

G@RCH gives very satisfactory results since the first four digits (at least) are the same as those of the benchmark for all but two estimations.

Moreover, to investigate the accuracy of our forecasting procedures, we have run a 8-step ahead forecasts of the model, similar to Brooks, Burke, and Persand (2001). Table 4 in Brooks, Burke, and Persand (2001) reports the conditional variance forecasts given by six well-known softwares and the correct values. G@RCH hits the benchmarks for all steps to the third decimal.

Finally, Lombardi and Gallo (2001) extends the work of Fiorentini, Calzolari, and Panattoni (1996) to the FIGARCH model of Baillie, Bollerslev, and Mikkelsen (1996) and develops the analytic Hessian matrices of this long memory process. For the same DEM/UKP database as in the previous example, Table 4.2 reports the coefficients estimates and their standard errors for our package (using numerical gradients and the BFGS optimization method) and for Lombardi and Gallo (2001) (using analytical gradients and the Newton-Raphson algorithm).












Coefficient
Hessian
G@RCH LG G@RCH LG





μ0.0036060.0036210.0099850.009985
ω0.0157720.0157640.0035780.003581
α10.1981340.1984480.0425080.042444
β10.6756520.6752510.0518000.051693
d0.5707020.5699510.0750390.074762






Table 4.2: Accuracy of the FIGARCH procedure

Results show that G@RCH provides excellent numerical estimates that are quite close to the analytical ones, even for an advanced model such as the FIGARCH.16

4.11 Simulations

G@RCH 6.1 allows the simulation of four models, namely the GARCH, GJR, APARCH and EGARCH models. An ARMA specification is allowed in the conditional mean and four different distributions are available for the error term, i.e. a normal, Student, GED or skewed-student.

Simulation can be done either in ox or through the rolling menus. Simul_Garch.ox is an example of Ox code using the Garch class. Alternatively to simulate a GARCH model using the rolling menus, click on G@RCH in the Modules group in the workspace window on the left-hand side of OxMetrics. Then change the Category to Monte Carlo and Model Class to Simulation of GARCH Models and click on Formulate.

PIC

Then, select the model of interest and change the default values of the corresponding parameters (next window). The simulated series can be stored in a separate dataset and are plotted if requested.

PIC

PIC


PIC
Figure 4.1: DGP: AR(1)-GJR(1,1) with SKST errors. T=1000. The generated series and their conditional variance are plotted on the left and on the right hand side respectively

Chapter 5
Estimating Univariate Models using the Batch and Ox Versions

G@RCH is primarily a menu-driven module for OxMetrics. However, there are two additional ways of estimating GARCH-type models with G@RCH. The first makes use of the batch facilities of OxMetrics. In the second, an Ox program is written that imports the Garch class code into the program.

This chapter is devoted to the illustration of these two methods. No detailed analysis of the results will be undertaken as we concentrate on the mechanics of the procedures.

5.1 Using the Batch Version

A useful feature in G@RCH 6.1 is the possibility to use the algebra and batch languages in OxMetrics (see the OxMetrics handbook for more details). The batch language gives some control over OxMetrics through a command language. This allows for automating repetitive tasks, or as a quick way to get to a certain point in your analysis. The syntax of these commands is described below.

There are five ways of running Batch commands.

The most intuitive way is probably to estimate a model first and then click on Tools/Batch Editor ... in OxMetrics (or Alt+b). Then, a new box dialog appears with the batch code corresponding to this model. To illustrate, the next picture shows part of the batch code corresponding to a simple (without explanatory variable) ARMA(1,0)-GARCH(1,1) model.

PIC

To estimate a slightly different model, one has to change the batch code accordingly. Here is an example batch code used to estimate an ARMA(1,1)-GJR(1,1) model using the same database (note that only the commands ARMA_ORDERS() and MODEL() have been modified).

                                         Batch code for an ARMA(1,1)-GJR(1,1)  
// Batch code for G@RCH( 1)  
module("G@RCH");  
package("Garch", "GARCH");  
usedata("nasdaq.xls");  
system  
{  
    Y = Nasdaq;  
}  
CSTS(1,1);  
DISTRI(0);  
ARMA_ORDERS(1,0);  
ARFIMA(0);  
GARCH_ORDERS(0,1);  
MODEL("GJR");  
MLE(2);  
MaxControl(1000,0,1);  
MaxControlEps(0.0001,0.005);  
estimate("BFGS", 1984-10-12, 0, 2000-12-21, 0);

Here is a list of G@RCH specific commands (see Section 10.3 - G@RCH Members Functions for more details on these options).

  1. CSTS: Specifies if constants are wanted respectively in the conditional mean and in the conditional variance equations.
  2. DISTRI: Specifies the desired distribution, i.e. 0 for the Gaussian (Normal) distribution 1, for the Student-t distribution, 2, for the Generalized Error distribution (GED) and 3 for the skewed Student-t.
  3. ARMA_ORDERS: Specifies respectively the AR and MA orders.
  4. ARFIMA: 1 to add a long-memory component in the conditional mean equation, 0 otherwise.
  5. GARCH_ORDERS: Specifies the orders of the GARCH(p,q)-type model.
  6. MODEL: specification choice (string).
  7. "ARCH_IN_MEAN"; 1 or 2 to add the conditional variance or standard deviation in the conditional mean equation, 0 otherwise.
  8. estimate(method, year1=-1, period1=0, year2=-1, period2=0); Estimates the model.
    The first argument method = "BFGS" for unconstrained ML, "BFGS-BOUNDS" for Constrained ML (lower and upper bounds) and "MaxSA" for Simulated annealing.
    year1(period1) – year2(period2) is the estimation sample. Setting year1 to -1 will result in the earliest possible year1(period1), setting year2 to -1 will result in the latest possible year2(period2).
  9. TRUNC, NYBLOM, ITER and Maxsa are used as described in Section 10.3.
  10. KUPIEC_TEST; 1 to apply the KUPIEC test on the in-sample VaR. The VaR levels are specified using option VaR_LEVELS, where the VaR levels are separated by a comma, e.g. VaR_LEVELS(0.95,0.99).
  11. DQT; 1 to apply the Dynamic Quantile test presented in Section 6.2.2. The first argument is one to apply the test and the second is the number of lags of the Hit variable to include in the regression. The VaR levels are also specified using option VaR_LEVELS (see above).
  12. COVAR, BOXPIERCE, ARCHLAGS, RBD, PEARSON, SBT, MLE are also used as described in Section 10.3 except that the lag orders are now separated by a comma, e.g. BOXPIERCE(10,20,30);
  13. Tests(); To launch the miss-specification tests selected above.
  14. FORECAST; The first argument is 1 to run the forecasting procedure, the second argument is the forecasting horizon and the third argument is one to print the forecasts.
  15. Print_VaR_out_of_sample_Forecast; Print the VaR forecasts. The arguments are the VaR levels (see VaR_LEVELS).
  16. For_Graphs. See Chapter 10.
  17. MaxControl and MaxControlEps. See the ox documentation.

Here is another example batch code.

             Batch code for an ARMA(1,0)-APARCH(1,1) with various tests  
// Batch code for G@RCH( 1)  
module("G@RCH");  
package("Garch", "GARCH");  
usedata("nasdaq.xls");  
system  
{  
    Y = Nasdaq;  
}  
CSTS(1,1);  
DISTRI(0);  
ARMA_ORDERS(1,0);  
ARFIMA(0);  
GARCH_ORDERS(1,1);  
MODEL("APARCH");  
MLE(2);  
MaxControl(1000,0,1);  
MaxControlEps(0.0001,0.005);  
estimate("BFGS", 1984-10-12, 0, 2000-12-21, 0);  
BOXPIERCE(5,10,20,50);  
ARCHLAGS(2,5,10);  
NYBLOM(1);  
SBT(1);  
RBD(2,5,10);  
PEARSON(40,50,60);  
KUPIEC_TEST(1);  
DQT(1,5);  
VaR_LEVELS(0.95,0.975,0.99,0.995,0.9975);  
COVAR(1);  
Tests();  
 
TestGraphicAnalysis(1,1,1,1,1,1);  
QuantileGraphs(2,0.025,0.975);  
FORECAST(1,10, 1);  
For_Graphs(0,10,2,2,1);  
Print_VaR_out_of_sample_Forecast(0.05,0.95);  

Feel free to contact us if you need more flexibility for the batch mode.

5.2 Importing the Garch Class in Ox

This section explains how to use the Garch class in Ox. We assume that you have installed Ox (version 5 or later). For more details about Ox, see Jurgen Doornik’s web site (http://www.doornik.com).

5.2.1 GarchEstim.ox example

G@RCH is build upon the concept of object-oriented programming. For non specialists, object-oriented programming might sound rather daunting at first. But it is in fact quite easy to get the whole picture.

A major component of object-oriented programming is the “class”. Several useful classes are supplied with Ox, such as Database, Modelbase and Simulation classes. Garch is an additional class that helps in the estimation of GARCH-type models. Section 10.1 provides additional details on this concept.

GarchEstim.ox is an example of Ox code using the Garch class. As file editor, we strongly recommend to use OxMetrics or OxEdit.1

The GarchEstim.ox file is displayed in the following Box.

                                                                                           GarchEstim.ox  
#import <packages/Garch6/Garch>  
 
main()  
{  
    decl garchobj;  
    garchobj = new Garch();  
//*** DATA ***//  
    garchobj.Load("/data/nasdaq.xls");  
    garchobj.Info();  
    garchobj.Select(Y_VAR, {"Nasdaq",0,0});  
    garchobj.SetSelSample(-1, 1, 2000, 1);  
//*** SPECIFICATIONS ***//  
    garchobj.CSTS(1,1);             // cst in Mean (1 or 0), cst in Variance (1 or 0)  
    garchobj.DISTRI(3);             // 0 for Gauss, 1 for Student, 2 for GED, 3 for Skewed-Student  
    garchobj.ARMA_ORDERS(0,0);      // AR order (p), MA order (q).  
    garchobj.ARFIMA(0);             // 1 if Arfima wanted, 0 otherwise  
    garchobj.GARCH_ORDERS(1,1);     // p order, q order  
    garchobj.ARCH_in_mean(0);       // ARCH-in-mean: 1 or 2 to add the variance or std. dev.  
    garchobj.MODEL("GARCH");        //  0: RISKMETRICS  1:GARCH     2:EGARCH    3:GJR   4:APARCH  
                                    //  5:IGARCH 6:FIGARCH-BBM   7:FIGARCH-CHUNG   8:FIEGARCH  
                                    //  9:FIAPARCH-BBM  10: FIAPARCH-CHUNG  11: HYGARCH  
    garchobj.TRUNC(1000);           // Truncation order (only F.I. models with BBM method)  
 
//*** TESTS & FORECASTS ***//  
    garchobj.BOXPIERCE(<10;15;20>); // Lags for the Box-Pierce Q-statistics, <> otherwise  
    garchobj.ARCHLAGS(<2;5;10>);    // Lags for Engle’s LM ARCH test, <> otherwise  
    garchobj.NYBLOM(1);             // 1 to compute the Nyblom stability test, 0 otherwise  
    garchobj.SBT(1);                // 1 to compute the Sign Bias test, 0 otherwise  
    garchobj.PEARSON(<40;50;60>);   // Cells for the adjusted Pearson Chi-square GoF test,  
    garchobj.RBD(<10;15;20>);       // Lags for the Residual-Based Diagnostic test of Tse  
    garchobj.FORECAST(0,15,1);      // Arg.1 : 1 to launch the forecasting procedure, 0 otherwize  
                                    // Arg.2 : Number of forecasts  
                                    // Arg.3 : 1 to Print the forecasts, 0 otherwise  
//*** OUTPUT ***//  
    garchobj.MLE(2);                // 0 : MLE (Second derivatives), 1 : MLE (OPG Matrix), 2 : QMLE  
    garchobj.COVAR(0);              // if 1, prints variance-covariance matrix of the parameters.  
    garchobj.ITER(0);               // Interval of iterations between printed intermediary results  
    garchobj.TESTS(0,0);            // Arg. 1 : 1 to run tests PRIOR to estimation, 0 otherwise  
                                    // Arg. 2 : 1 to run tests AFTER estimation, 0 otherwise  
    garchobj.GRAPHS(0,0,"");        // Arg.1 : if 1, displays graphics of the estimations  
                                    // Arg.2 : if 1, saves these graphics in a EPS file  
                                    // Arg.3 : Name of the saved file.  
    garchobj.FOREGRAPHS(1,0,"");    // Same as GRAPHS(p,s,n) but for the graphics of the forecasts.  
//*** PARAMETERS ***//  
    garchobj.BOUNDS(0);             // 1 if bounded parameters wanted, 0 otherwise  
    garchobj.FIXPARAM(0,<0;0;0;0;1;0>);  
            // Arg.1 : 1 to fix some parameters to their starting values, 0 otherwize  
            // Arg.2 : 1 to fix (see garchobj.DoEstimation(<>)) and 0 to estimate  
            //         the corresponding parameter

//*** ESTIMATION ***//  
    garchobj.Maxsa(0,5,0.5,20,5,2,1);  
            // Arg.1 : 1 to use the MaxSA algorithm of Goffe, Ferrier and Rogers (1994)  
            //         and implemented in Ox by Charles Bos  
            // Arg.2 : dT=initial temperature  
            // Arg.3 : dRt=temperature reduction factor  
            // Arg.4 : iNS=number of cycles  
            // Arg.5 : iNT=Number of iterations before temperature reduction  
            // Arg.6 : vC=step length adjustment  
            // Arg.7 : vM=step length vector used in initial step  
    garchobj.Initialization(<>);  
 
    garchobj.PrintStartValues(0);    // 1: Prints the S.V. in a table form; 2: Individually;  
                                     // 3: in a Ox code to use in StartValues  
    garchobj.DoEstimation(<>);  
    garchobj.Output();  
    garchobj.STORE(0,0,0,1,1,"01",0);  //  Arg.1,2,3,4,5 : if 1 -> stored.  
                                       //  (Res-SqRes-CondV-MeanFor-VarFor)  
                                       //  Arg.6 : Suffix. The name of the saved series  
                                       //  will be "Res_ARG6".  
                                       //  Arg.7 : if 0, saves as an Excel spreadsheet (.xls).  
                                       //  If 1, saves  as a OxMetrics dataset (.in7)  
    delete garchobj;  
}

Let us study this file more in details. The #import statement indicates that this file is linked to the Garch.oxo and Garch.h files. In the body of the file (after the main() instruction), a new Garch object is first created and a database is loaded. The user has to enter the correct path of the database, but also has to pay attention to the structure of the database to be used. For instance, to use a Microsoft Excel file, the format of the spreadsheet is of crucial importance. The following convention has to be adopted when loading an Excel spreadsheet: variables are in columns, columns with variables are labelled, there is an unlabelled column containing the dates (with the form Year-Period) and the data form a contiguous sample. Here is an example:2







A B C D





1 RET MONHOL





21990-1 0.0439 1 0





31990-2-0.0302 0 0





41990-3 0.0845 0 1






OxMetrics also supports databases having a date variable which provides the dates for daily data (or possibly times for higher frequencies). Then selections are made by date, and the dates shown in the graphics. Dates can be read from and saved to Excel files.

We note then that the dependent variable (Y), the regressor(s) in the mean equation (X) and the regressor(s) in the variance equation (Z) are specified with the Select function. Ox being case-sensitive, the exact name of the variable has to be entered. The second and third arguments denote the starting and ending observations to be considered. By default, “0” and “0” mean that all the observations are selected. From this selection, a sample can be extracted with the SetSelSample function. The arguments are ordered as (StartYear, StartPeriod, EndYear, EndPeriod2) and the default (-1, 1, -1, 1) means all the selected observations.3

The GarchEstim.ox file is made up of six parts:4

5.2.2 Running an Ox Program

If you want to use the “Console Version” of G@RCH 6.1 , all you need is an Ox executable. To illustrate the various ways to run Ox code, we keep our GarchEstim.ox example.

Command Prompt

First, you can type

oxl GarchEstim

at the command prompt. This method is mainly for users of Ox Console.

Updating the environment

Skip this section if you managed to run the Ox programs in this booklet. Otherwise, under Windows and Unix you may wish to set the PATH environment variable.

The executable (oxl.exe etc.) is in the ox\bin folder, for example by default it is in:

    C:\Program files\OxMetrics5\Ox\bin

So, update your PATH variable if necessary.5

Without these, you can still run GarchEstim.ox, but more typing is needed:

    "C:\Program files\OxMetrics5\Ox\bin\oxl"  
    "-iC:\Program files\OxMetrics5\Ox\include"  
    GarchEstim.ox

The double quotes are required because of the space in the file name.

OxEdit

Alternatively, you may use OxEdit.6 Ox tools should be installed automatically. If not, run ox\bin\oxedit\oxcons.tool. To run the program, use the Modules/Ox (for Ox Console) or Modules/OxRun (OxMetrics), as shown below.

PIC

When using OxEdit, OxMetrics is needed to display the graphics but is not mandatory for running the estimation. Alternatively, graphs can be displayed on the screen using Gnudraw and Gnuplot. Indeed, G@RCH 6.1 can be combined with Gnudraw, an Ox package meant for creating GnuPlot7 developed by Charles Bos.8 The interface is completely based on the OxDraw package (even the documentation - gnudraw.html - uses the same structure as Jurgen Doornik’s oxdraw.html).9 Usage of GnuDraw is intended to be simple as the syntax is similar to the original Ox drawing routines. You just have to add the lines

#include <oxstd.h>
#include <packages/gnudraw/gnudraw.h>
before
#import <packages/Garch6/Garch>.
As GnuPlot can be called automatically from within Ox, ShowDrawWindow can be used, displaying graphs on screen.

See Cribari-Neto and Zarkos (2003) for a comprehensive overview of the GnuDraw package.

OxMetrics

A third possibility is to launch Ox programs directly from OxMetrics, as shown below.10 There are different ways for running an Ox code under OxMetrics. The first way is to use OxRun.

PIC

PIC

A new feature of G@RCH 6.1 (and OxMetrics 5 in general) is that Ox code can be generated.

The Model/Ox Batch Code command (or Alt+O) activates a new dialog box called ‘Generate Ox Code’ that allows the user to select an item for which to generate Ox code.

PIC

The code is than opened in a new window and provided Ox Professional is available, this code can be run, either from OxMetrics, or from OxEdit or the command line. This option is also available for the ‘Descriptive Statistics’ and ‘Simulation’ modules.

OxBatch_1.ox is an example of Ox Batch code generated by G@RCH 6.1 after the estimation of an APARCH model while OxBatch_2.ox and OxBatch_3.ox are two examples of Ox Batch code generated after the use of the ‘Descriptive Statistics’ and ‘Simulation’ modules.

                                                                                         OxBatch_1.ox  
#include <oxstd.h>  
#import <packages/Garch6/garch>  
#include <oxdraw.h>  
 
main()  
{  
    //--- Ox code for G@RCH( 3)  
    decl model = new Garch();  
 
    model.Load("D:\\G@RCH5\\Compilation\\Oxmetrics5\\data\\nasdaq.xls");  
    model.Deterministic(-1);  
 
    model.Select(Y_VAR, {"Nasdaq", 0, 0});  
 
    model.CSTS(1,1);  
    model.DISTRI(3);  
    model.ARMA_ORDERS(2,0);  
    model.ARFIMA(0);  
    model.GARCH_ORDERS(1,1);  
    model.MODEL(APARCH);  
    model.MLE(2);  
    model.ITER(0);  
 
    model.SetSelSampleByDates(dayofcalendar(1984, 10, 12), dayofcalendar(2000, 12, 21));  
    model.Initialization(<>);  
    model.DoEstimation(<>);  
    model.Output();  
 
    model.INFO_CRITERIA(1);  
    model.NORMALITY_TEST(1);  
    model.BOXPIERCE(<5;10;20;50>);  
    model.ARCHLAGS(<2;5;10>);  
    model.NYBLOM(1);  
    model.SBT(1);  
    model.RBD(<2;5;10>);  
    model.PEARSON(<40;50;60>);  
    model.KUPIEC_TEST(1);  
    model.DQT(1,5);  
    model.VaR_LEVELS(<0.95;0.975;0.99;0.995;0.9975>);  
    model.COVAR(1);  
    model.Tests();  
 
    model.TestGraphicAnalysis(1,1,1,1,1,1,0);  
    model.QuantileGraphs(2,<0.025;0.975>,6);  
    SetDrawWindow("G@RCH Graphics");  
    ShowDrawWindow();  
 
    model.FORECAST(1,10, 1);  
    model.Forecasting();  
    model.For_Graphs(0,10,2,2,1);  
    SetDrawWindow("G@RCH Forecasting");  
    ShowDrawWindow();  
    model.Print_VaR_out_of_sample_Forecast(<0.05;0.95>);  
 
    model.Append_in(model.m_vE,"Res");  
    model.Append_in(model.m_vE.^2,"SqRes");  
    model.Append_in(model.m_vStandErrors,"StdRes");  
    model.Append_in(model.m_vSigma2,"CondV");  
    model.Append_out(model.m_mForc[][0],"ForY");  
    model.Append_out(model.m_mForc[][1],"ForVar");  
    model.Save("D:\\G@RCH5\\Compilation\\Oxmetrics5\\data\\nasdaq.xls");  
 
    delete model;  
}

                                                                                         OxBatch_2.ox  
#include <oxstd.h>  
#import <packages/Garch6/garch>  
#include <oxdraw.h>  
#import <lib/testres>  
#include <arma.h>  
#import <Database>  
 
main()  
{  
    //--- Ox code for G@RCH( 1)  
    decl model = new Garch();  
 
    model.Load("D:\\G@RCH5\\Compilation\\Oxmetrics5\\data\\nasdaq.xls");  
    model.Deterministic(-1);  
 
    model.Select(Y_VAR, {"Nasdaq", 0, 0});  
 
    model.SetSelSampleByDates(dayofcalendar(1984, 10, 12), dayofcalendar(2000, 12, 21));  
    decl series =   model.GetGroup(Y_VAR),names,y,name;  
    model.GetGroupNames(Y_VAR, &names);  
    decl m_cT=rows(series);  
    decl nbser=columns(series);  
    model.Info();  
    for (decl i = 0; i < nbser; ++i)  
    {  
        y=series[][i];  
        name=names[i];  
        println("Series #", i+1,"/",nbser, ": ", name);  
        print("---------");  
        model.Normality(y);  
        decl m_cLagArch_test=<2;5;10>;  
        for (decl l=0; l < sizer(m_cLagArch_test); l++)  
            ArchTest(y, 1, m_cLagArch_test’[l],  0, TRUE);  
        println("Q-Statistics on Raw data");  
        model.BoxPQ(y,<5;10;20;50>, 0);  
        println("Q-Statistics on Squared data");  
        model.BoxPQ(y.^2,<5;10;20;50>, 0);  
        model.ADF(y,name,2,2);  
        model.EstimateGSP(y,2046,1);  
    }  
 
    delete model;  
}

                                                                                         OxBatch_3.ox  
#include <oxstd.h>  
#import <packages/Garch6/garch>  
#include <oxdraw.h>  
 
main()  
{  
    //--- Ox code for G@RCH( 4)  
    decl model = new Garch();  
 
    model.Load("D:\\G@RCH5\\Compilation\\Oxmetrics5\\data\\nasdaq.xls");  
    model.Deterministic(-1);  
 
    model.Select(Y_VAR, {"Nasdaq", 0, 0});  
 
    decl z,eps,sigma2,y,y_all=<>,sigma2_all=<>;  
    decl new_name_simul_y=new array[3];  
    decl new_name_simul_sigma2=new array[3];  
    for (decl i=0;i<3;++i)  
    {  
        z=rann(2000,1);  
        model.Simulate_APARCH(0.05,<0.1>,<0.8>,<0.01>,<2>, z, 0, &eps, &sigma2);  
        y=eps+0.01;  
        y_all~=y;  
        sigma2_all~=sigma2;  
        new_name_simul_y[i]=sprint("$y_t$","-",i+1);  
        new_name_simul_sigma2[i]=sprint("$\sigma_t^2$","-",i+1);  
    }  
    decl plot=0;  
    for (decl i=0;i<3;++i)  
    {  
        DrawTMatrix(plot++, y_all[][0]’, new_name_simul_y[i]);  
        DrawTMatrix(plot++, sigma2_all[][0]’, new_name_simul_sigma2[i]);  
    }  
    ShowDrawWindow();  
    decl dbase = new Database();  
    dbase.Create(1,1,1,rows(y),1);  
    dbase.Append(y_all,new_name_simul_y);  
    dbase.Append(sigma2_all,new_name_simul_sigma2);  
    dbase.Save("simulation.in7");  
    delete  dbase;  
 
    delete model;  
}

5.3 Advanced Ox Usage

5.3.1 Forecast.ox example

To illustrate the potential of writing Ox code based on G@RCH and its Garch class, we also provide Forecast.ox, an example that estimates an ARMA(1,0)-APARCH(1,1) model on the CAC40. In this program, we analyze the French CAC40 stock index for the years 1995-1999 (1249 daily observations). Daily returns in percentage are defined as 100 times the first difference of the log of the closing prices.

After the estimation of the ARMA(1,0)-APARCH(1,1) model with a skewed-student likelihood on the first 800 observations, 448 one-step-ahead forecasts of the conditional mean and conditional variance are computed.

Forecasting Performance

One of the most popular measures to check the forecasting performance of the ARCH-type models is the Mincer-Zarnowitz regression, i.e. ex-post volatility regression:

 2          2
ˇσt = a0 + a1ˆσt + ut,
(5.1)

where ˇσt2 is the ex-post volatility, ˆσt2 is the forecasted volatility and a0 and a1 are parameters to be estimated. If the model for the conditional variance is correctly specified (and the parameters are known) and if E(ˇσt2) = ˆσt2, we have a0 = 0 and a1 = 1. The R2 of this regression is often used as a simple measure of the degree of predictability of the ARCH-type model.

But ˇσt2 is never observed. It is thus common to use ˇσt2 = (yt -y)2, where y is the sample mean of yt. The R2 of this regression is often lower than 5% and this could lead to the conclusion that GARCH models produce poor forecasts of the volatility (see, among others, Schwert, 1990, or Jorion, 1996). But, as described in Andersen and Bollerslev (1998a), the reason of these poor results is the choice of what is considered as the “true” volatility. Instead, they propose to compute the daily realized volatility as the sum of squared intraday returns and use it as the “true” volatility. Actually, Andersen and Bollerslev (1998a) show that this measure is a more proper one than squared daily returns. Therefore, using h-minute returns (5-minute for instance), the realized volatility can be expressed as:

 2   K∑   2
σt =    yk,t,
     k=1
(5.2)

where yk,t is the return of the kth h-minutes interval of the tth day and K is the number of h-minutes intervals per day. See Section 7.3 for more details about realized volatility.

Coming back to our illustration, the CAC40 index is computed by the exchange as a weighted measure of the prices of its components and was originally available in our database on an intraday basis with the price index being computed every 15 minutes. For the time period under review, the opening hours of the French stock market were 10.00 am to 5.00 pm, thus 7 hours of trading per day. This translates into 28 intraday returns used to compute the daily realized volatility.11 Because the exchange is closed from 5.00 pm to 10.00 am the next day, the first intraday return is the first difference between the log price at 10.15 am and the log price at 5.00 pm the day before. Then, the intraday data are used to compute the daily realized volatility as the sum of the 28 squared intraday returns as shown in Equation (5.2).

Finally, to compare the adequacy of the different distributions in the selected forecasting model, a well-known tool is the density forecasts tests developed in Diebold, Gunther, and Tay (1998). The idea of density forecasts is quite simple.12 Let fi(yi|Ωi)i=1m be a sequence of m one-step-ahead density forecasts produced by a given model, where Ωi is the conditioning information set, and pi(yi|Ωi)i=1m is the sequence of densities defining the Data Generating Process yi (which is never observed). Testing whether this density is a good approximation of the true density p(.) is equivalent to testing:

           m            m
H0 : fi(yi|Ωi)i=1 = pi(yi|Ωi)i=1.
(5.3)

Diebold, Gunther, and Tay (1998) use the fact that, under Equation (5.3), the probability integral transform ˆζi = -∞yifi(t)dt is i.i.d. U(0,1), i.e. independent and identically distributed uniform. To check H0, they propose to use both a goodness-of-fit test and an independence test for i.i.d. U(0,1). The i.i.d.-ness property of ˆζi can be evaluated by plotting the correlograms of (   -)
 ζ - ˆζj, for j = 1,2,3,4,..., to detect potential dependence in the conditional mean, variance, skewness, kurtosis, etc. Departure from uniformity can also be evaluated by plotting an histogram of ˆζi. According to Bauwens, Giot, Grammig, and Veredas (2000), a humped shape of the ˆζ-histogram would indicate that the issued forecasts are too narrow and that the tails of the true density are not accounted for. On the other hand, a U-shape of the histogram would suggest that the model issues forecasts that either under- or overestimate too frequently. Moreover, Lambert and Laurent (2001) show that an inverted S shape of the histogram would indicate that the errors are skewed, i.e. the true density is probably not symmetric.13 An illustration is provided in Section 5 with some formal tests and graphical tools.

Results

The Mincer-Zarnowitz regression and some out-of-sample density forecast tests (as suggested by Diebold, Gunther, and Tay, 1998) are also performed.

The program Forecast.ox is printed in the next box. This code has been used to produce Figure 5.1 and the output labelled “Density Forecast Test on Standardized Forecast Errors”. In the first four panels of Figure 5.1, we show the correlograms of (   -)
 ˆζ - ˆζj, for j = 1,2,3,4, where ˆζ is the probability integral transform for the out-of-sample period (see the paragraph below Equation (5.3) for more details). This graphical tool has been proposed by Diebold, Gunther, and Tay (1998) to detect potential remaining dependence in the conditional mean, variance, skewness, kurtosis. In our example, it seems that the probability integral transform is independently distributed.