GarchModelling            package:fSeries            R Documentation

_U_n_i_v_a_r_i_a_t_e _G_A_R_C_H _T_i_m_e _S_e_r_i_e_s _M_o_d_e_l_l_i_n_g

_D_e_s_c_r_i_p_t_i_o_n:

     A collection and description of functions to  simulate artificial
     ARCH time series processes,  to fit the parameters of univariate
     time series  to ARCH models, to perform a diagnostic analysis of 
     the fit, and to predict future values of the time  series. 

     The family of GARCH time series models includes the following 
     processes:

       'garch'   generalized AR conditional heteroskedastic models,
       'aparch'  asymmetric power GARCH models.

     Included functions are:

       'garchSpec'   Specifies a GARCH model,
       'garchSim'    simulates a GARCH process,
       'garchFit'    fits parameters of a GARCH model,
       'garchKappa'  computes ARCH expectation value.

     Included methods are:

       'print'      Prints results from a GARCH fit,
       'summary'    creates a summary report from a GARCH fit,
       'plot'       creates diagnostic plots for a fitted GARCH process,
       'residuals'  returns residuals for a GARCH model,
       'fitted'     returns fitted values for a GARCH model,
       'predict'    predicts mean and variance from a GARCH model.

     *Note:* This collection is still under a complete reconstruction.

_U_s_a_g_e:

     garchSpec(model = list(omega = 1.0e-6, alpha = 0.1, beta = 0.8), 
         presample = NULL, cond.dist = c("rnorm", "rged", "rstd", "rsnorm", 
         "rsged", "rsstd"), rseed = NULL)
     ## S3 method for class 'garchSpec':
     print(x, ...)

     garchSim(model = list(omega = 1.0e-6, alpha = 0.1, beta = 0.8), n = 100, 
         n.start = 100, presample = NULL, cond.dist = c("rnorm", "rged", "rstd", 
         "rsnorm", "rsged", "rsstd"), rseed = NULL)
         
     garchFit(formula.mean = ~arma(0, 0), formula.var = ~garch(1, 1), 
         series = x, init.rec = c("mci", "uev"), delta = 2, skew = 1, shape = 4,
         cond.dist = c("dnorm", "dsnorm", "dged", "dsged", "dstd", "dsstd"), 
         include.mean = TRUE, include.delta = NULL, include.skew = NULL,
         include.shape = NULL, leverage = NULL, trace = TRUE,  
         algorithm = c("sqp", "nlminb", "lbfgsb", "nlminb+nm", "lbfgsb+nm"), 
         control = list(), title = NULL, description = NULL, ...)
         
     garchKappa(cond.dist = c("dnorm", "dged", "dstd", "dsnorm", "dsged", "dsstd"), 
         gamma = 0, delta = 2, skew = NA, shape = NA)

     ## S3 method for class 'fGARCH':
     print(x, ...)
     ## S3 method for class 'fGARCH':
     summary(object, ...)
     ## S3 method for class 'fGARCH':
     plot(x, which = "ask", ...)
     ## S3 method for class 'fGARCH':
     residuals(object, ...)
     ## S3 method for class 'fGARCH':
     fitted(object, ...)
     ## S3 method for class 'fGARCH':
     predict(object, n.ahead = 10, trace = FALSE, ...)

_A_r_g_u_m_e_n_t_s:

algorithm: [garchFit] - 
           a string parameter that determines the algorithm used for
          maximum  likelihood estimation. Allowed values are '"sqp"', 
          '"nlminb"', and '"bfgs"' where the first is the default
          setting. 

cond.dist: [garchSpec, garchSim, garchFit] - 
           a character string naming the desired conditional
          distribution. Valid values are '"dnorm"', '"dged"', '"dstd"',
           '"dsnorm"', '"dsged"', '"dsstd"'. The default value  is the
          normal distribution. 

 control: [garchFit] - 
           control parameters, the same as used for the functions from
          'nlminb', and 'bfgs' and 'Nelder-Mead' from 'optim'. 

delta, include.delta: [garchFit][kappa] - 
           the exponent 'delta' of the variance recursion. By default,
          this value will be fixed, otherwise the exponent will be
          estimated  together with the other model parameters if
          'include.delta=FALSE'. 

description: [garchFit] - 
           a character string which allows for a brief description.  

formula.mean, formula.var: [garchFit] - 
           two formula objects describing the mean and variance
          equation of the ARMA-GARCH/APARCH model. By default a pure
          GARCH(1,1) mode is selected, this means:
          'formula.mean=~arma(0,0)',  and 'formula.var=~garch(1,1)'. To
          specify for example an  APARCH(1,1) use:
          'formula.var=~apaarch(1,1)' 

   gamma: [kappa] - 
           APARCH leverage parameter entering into the formula for
          calculating the expectation value. 

include.mean: this flag determines if the parameter for the mean will
          be estimated or not. If 'include.mean=TRUE' this will be the
          case, otherwise the parameter will be kept fixed durcing the
          process of parameter optimization. 

include.skew, include.shape: this flag determines if the parameters for
          the skew and shape of the conditional distribution will be
          estimated or not. If  'include.skew=TRUE' and/or
          'include.shape=TRUE' this will  be the case, otherwise the
          parameters will be kept fixed durcing  the process of
          parameter optimization. 

init.rec: [garchFit] - 
           a character string indicating the method how to initialize
          the  mean and varaince recursion relation.  

leverage: a logical flag for APARCH models. Should the model be
          leveraged? By default 'leverage=TRUE'. 

   model: [garchSpec, garchSim] - 
           List of GARCH model parameters: 
           'omega' - the constant coefficient of the variance equation; 
           'alpha' - the vector of autoregressive coefficients; 
           'beta' - the vector of variance coefficients; 
           Further Optional Values: 
           'mu' - the mean value; 
           'ar' - the autoregressive ARMA coefficients; 
           'ma' - the moving average ARMA coefficients; 

           The default model is Bollerslev's GARCH(1,1) model. 

       n: [garchSim] - 
           length of output series, an integer value. An integer value,
          by default 'n=100'. 

 n.ahead: [predict] - 
            number of steps to be forecasted, an integer value, by
          default 10. 

 n.start: [garchSim] - 
           length of "burn-in" period, by default 100. 

  object: [predict][summary] - 
           an object of class 'fGARCH' as returned from the function
          'garchFit()'. 

presample: a numeric three column matrix with start values for the
          series,  innovations, and conditional variances. For an
          ARMA(m,n)-GARCH(p,q) process the number of rows must be at
          least max(m,n,p,q), longer  presamples are cutted. 

   rseed: [garchSpec][garchSpec] - 
           single integer argument, the seed for the intitialization of
          the random number generator for the innovations. 

  series: [garchFit] - 
           a numeric vector or univariate 'timeSeries' object to be 
          fitted. By default 'series=x'. 

skew, shape: [garchFit][kappa] - 
           skewness and shape parameter of the conditional
          distribution. 

   title: [garchFit][predict] - 
           a character string which allows for a project title. 

   trace: [garchFit] - 
           a logical flag. Should the optimization process of fitting
          the model parameters be printed? By default 'trace=TRUE'.
           [predict] - 
           a logical flag. Should the prediction process be printed? By
           default 'trace=FALSE'. 

   which: if 'which' is set to '"ask"' the function will  interactively
          ask which plot should be displayed. This is the default value
          and then those plots will be displayed for which the elements
          in the logical vector 'which' ar set to 'TRUE'; by default
          all four elements are set to '"all"'. 

       x: [print][plot]  - 
           either an object of class 'garchSpec' for printing
          specification structures, or an object of class 'fGARCH' for
          printing fitted GARCH/APARCH models or plotting results from
          the diagnostic analysis of fitted models. 

     ...: additional arguments to be passed. 

_D_e_t_a_i_l_s:

     *Parameter Estimation:* 

      'garchFit' uses the 'nlminb()' optimizer to find the maximum
     likelihood estimates.

     *Residuals Methods:* 

      The method for the computation of the residuals may have an
     additional argument named 'standardize' which allows to
     standardize the  residuals by the conditional variances.

_V_a_l_u_e:

     'garchSpec'

      returns a S4 object of class 'fGARCH' with the following slots:

   @call: the call of the 'garch' function. 

@formula: a list with two formula entries for the mean and variance 
          equation. 

  @model: a list with the model parameters. 

@presample: a numeric matrix with presample values. 

@distribution: a character string with the name of the conditional
          distribution. 

   @call: the call of the 'garch' function. 

@formula: a list with two formula entries, one for the mean and the
          other one for the variance equation. 

 @method: a string denoting the optimization method, by default the 
          returneds string is "Max Log-Likelihood Estimation". 

   @data: a list with one entry named 'x', containing the data of the
          time series to be estimated, the same as given by the input
          argument 'series'. 

    @fit: a list with the results from the parameter estimation. The
          entries of the list depend on the selected algorithm, see
          below. 

@residuals: a numeric vector with the residual values. 

@fitted.values: a numeric vector with the fitted values. 

@cvariances: a numeric vector with the conditional variances. 

  @title: a title string. 

@description: a string with a brief description. 

    $par: The best set of parameters found. 

  $value: The value of the max log likelihood function corresponding to
           the optimal values of '$par'. 

 $counts: A two-element integer vector giving the number of calls to
          'fn' and 'gr' respectively. This excludes those calls needed
          to compute the Hessian, if requested, and any calls to 'fn'
          to compute a finite-difference approximation to the gradient. 

$convergence: An integer code. '0' indicates successful convergence.
          Values  different from zero indicate an error code. For
          details, please  consult the help page of 'optim'. 

 message: 

 hessian: Only if control list argument 'hessian' is true. A  symmetric
          matrix giving an estimate of the Hessian at the  solution
          found. Note that this is the Hessian of the  unconstrained
          problem even if the box constraints are active. 

    $par: The best set of parameters found. 

  $value: The value of the max log likelihood function corresponding to
           the optimal values of '$par'. 

_N_o_t_e:

     *What's next?*  

      The software will be extended to further GARCH models including 
     integrated GARCH models, EGARCH models, GARCH-in-Mean models as 
     well as fractionally integrated GARCH models. In the next version 
     also the fixing of individual ARMA-GARCH/APARCH coefficients will 
     become available. Furthermore, we will provide additional
     conditional  distribution functions including for example members
     from the family  of the hyperbolic distribution. Concerning
     performance analysis we  plan to offer in addition several
     performance measures for the  residuals like Theil's inequality
     coefficient, and Mincer and  Zarnowitz's R2 coefficient.
     Concerning hypothesis testing we will  add some specific tests
     including Engle's LM ARCH test to test  the presence of ARCH
     effects, Engle and Ng's test to investigate  possible
     misspecifications of the conditional variance equation,  and
     Nyblom's test to check the constancy of model parameters over 
     time.

_A_u_t_h_o_r(_s):

     Diethelm Wuertz for the Rmetrics R-port,
      R Core Team for the 'optim' R-port,
      Douglas Bates and Deepayan Sarkar for the 'nlminb' R-port,
      Bell-Labs for the underlying PORT Library,
      Ladislav Luksan for the underlying SQP Routine, 
      Zhu, Byrd, Lu-Chen and Nocedal for the underlying L-BFGS-B
     Routine.

_R_e_f_e_r_e_n_c_e_s:

     ATT (1984); _PORT Library Documentation_, 
     http://netlib.bell-labs.com/netlib/port/.

     Bera A.K., Higgins M.L. (1993); _ARCH Models: Properties,
     Estimation and Testing_, J. Economic Surveys 7, 305-362.

     Bollerslev T. (1986); _Generalized Autoregressive Conditional
     Heteroscedasticity_, Journal of Econometrics 31, 307-327.

     Byrd R.H., Lu P., Nocedal J., Zhu C. (1995); _A Limited Memory
     Algorithm for Bound Constrained Optimization_, SIAM Journal of
     Scientific Computing 16, 1190-1208.

     Engle R.F. (1982); _Autoregressive Conditional Heteroscedasticity
     with Estimates  of the Variance of United Kingdom Inflation_,
     Econometrica 50, 987-1008.

     Nash J.C. (1990); _Compact Numerical Methods for Computers_,
     Linear Algebra and Function Minimisation, Adam Hilger.

     Nelder J.A., Mead R. (1965); _A Simplex Algorithm for Function
     Minimization_, Computer Journal 7, 308-313.

     Nocedal J., Wright S.J. (1999); _Numerical Optimization_,
     Springer, New York.

_E_x_a_m_p_l_e_s:

     ## SOURCE("fSeries1.34C-GarchModelling")
     ## Not run: 
     #   garchSpec -
     #   garchSim - 
     #   garchFit -

         # For examples we refer to: demo/xmpDWChapter34.R ...
     ## End(Not run)

