Class for the GO-GARCH forecast.

The class is returned by calling the function `gogarchforecast`

.

`mforecast`

:Multivariate forecast object.

`model`

:Object of class

`"vector"`

containing details of the GOGARCH model specification.

Class `"'>mGARCHforecast"`

, directly.
Class `"'>GARCHforecast"`

, by class "mGARCHforecast", distance 2.
Class `"'>rGARCH"`

, by class "mGARCHforecast", distance 3.

- convolution
`signature(object = "goGARCHforecast")`

: function:**convolution(object, weights, fft.step = 0.001, fft.by = 0.0001, fft.support = c(-1, 1), support.method = c("user", "adaptive"), use.ff = TRUE, cluster = NULL, trace = 0,...)**The convolution method takes a goGARCHforecast object and a weights vector or matrix and calculates the weighted density. If a vector is given, it must be the same length as the number of assets, otherwise a matrix with row dimension equal to the total forecast horizon. In the case of the multivariate normal distribution, this simply returns the linear and quadratic transformation of the mean and covariance matrix, while in the multivariate affine NIG distribution this is based on the numerical inversion by FFT of the characteristic function. In that case, the “fft.step” option determines the stepsize for tuning the characteristic function inversion, “fft.by” determines the resolution for the equally spaced support given by “fft.support”, while the use of the “ff” package is recommended to avoid memory problems on some systems and is turned on via the “use.ff” option. The “support.method” option allows either a fixed support range to be given (option ‘user’), else an adaptive method is used based on the min and max of the assets at each point in time at the 0.00001 and 1-0.00001 quantiles. The range is equally spaced subject to the “fft.by” value but the returned object no longer makes of the “ff” package returning instead a list. The option for parallel computation is available via the use of a cluster object as elsewhere in this package. There is no special treatment of the forecast type here (unconditional or rolling), since either n.ahead with no roll or rolling with 1-ahead only choices are available for the`gogarchforecast`

method. This means that the stored object does not distringuish between an unconditional or rolling forecast, calculating the density for all points (see note).- gportmoments
`signature(object = "goGARCHforecast")`

: function:**gportmoments(object, weights)**Calculates the first 4 standardized portfolio moments using the geometric properties of the model, given a matrix of asset weights with row dimension equal to the forecast n.ahead or n.roll horizon. Returns an array of dimensions n.ahead x 4 (moments) x n.roll, with the third array dimension labelled with the T+0 index times. If the number of assets > 100, then the kurtosis is not returned (see cokurtosis restrictions below).- rcoskew
`signature(object = "goGARCHforecast")`

: function:**rcoskew(object, standardize = TRUE, from = 1, to = 1, roll = 0)**Returns the 'time-varying' NxN^2 (coskewness tensor) x (to:from|roll) in array format. The “from” and “to” options indicate the time indices for which to return the array and “roll” the rolling index (base=0). The third dimension array label denotes the T+i (i=from:to) forecast horizon given the T+0 roll index which is returned as an attribute (attr(,“T+0”)) of the array. The “standardize” option indicates whether the coskewness should be standardized by the conditional sigma (see equations in vignette). It is also possible to set roll to the character ‘all’ in which case all the rolling 1-ahead forecasts are returned in an n by n^2 by (n.roll+1) array with 3rd dimension label the T+0 dates (instead of being an attribute).- rcokurt
`signature(object = "goGARCHforecast")`

: function:**rcokurt(object, standardize = TRUE, from = 1, to = 1, roll = 0)**Returns the 'time-varying' NxN^3 (cokurtosis tensor) x (to:from|roll) in array format. The “from” and “to” options indicate the time indices for which to return the array and “roll” the rolling index (base=0). Because of memory issues, this is only returned when the number of assets are less than 100. The third dimension array label denotes the T+i (i=from:to) forecast horizon given the T+0 roll index which is returned as an attribute (attr(,“T+0”)) of the array. The “standardize” option indicates whether the cokurtosis should be standardized by the conditional sigma (see equations in vignette). It is also possible to set roll to the character ‘all’ in which case all the rolling 1-ahead forecasts are returned in an n by n^3 by (n.roll+1) array with 3rd dimension label the T+0 dates (instead of being an attribute.- rcov
`signature(object = "goGARCHforecast")`

: Returns the conditional covariances, in a list of length (n.roll+1), with names the T+0 index, and each list slot having an array of dimensions n.asset x n.asset x n.ahead, with the third array dimension labelled as T+i (i>0). A further argument ‘output’ allows to switch between “array” and “matrix” returned object.- rcor
`signature(object = "goGARCHforecast")`

: Returns the conditional correlations, in a list of length (n.roll+1), with names the T+0 index, and each list slot having an array of dimensions n.asset x n.asset x n.ahead, with the third array dimension labelled as T+i (i>0). A further argument ‘output’ allows to switch between “array” and “matrix” returned object.- coef
`signature(object = "goGARCHforecast")`

: Extraction of independent factor GARCH model coefficients saved from the goGARCHfit object.- fitted
`signature(object = "goGARCHforecast")`

: Extracts the conditional mean forecast values. Returns an n.ahead x n.assets x (n.roll+1) array where the third dimension array labels are the T+0 index times.- sigma
`signature(object = "goGARCHforecast")`

: Extracts the conditional sigma forecast values. Returns an n.ahead x n.assets x (n.roll+1) array where the third dimension array labels are the T+0 index times. Takes optional argument “factors” (default TRUE) denoting whether to return the factor conditional sigma or the transformed sigma for the assets.- as.matrix
`signature(x = "goGARCHforecast")`

: function:**as.matrix(x, which = "A")**This returns four types of matrices relating to the estimation of the independent components in the GO-GARCH model. Valid choices are “A” for the mixing matrix, “W” for the unmixing matrix, “U” for the rotational matrix and “K” for the whitening matrix, “Kinv” for the de-whitening matrix.- betacovar
`signature(object = "goGARCHforecast")`

: function:**betacovar(object, weights, asset = 1)**Returns the covariance beta given a matrix (of length equal to the number of rows of the forecast horizon, or vector which is then recycled to the number of rows of the forecast horizon) of benchmark weights and the asset number.- betacoskew
`signature(object = "goGARCHforecast")`

: function:**betacoskew(object, weights, asset = 1)**Returns the coskewness beta given a matrix (of length equal to the number of rows of the forecast horizon, or vector which is then recycled to the number of rows of the forecast horizon) of benchmark weights and the asset number.- betacokurt
`signature(object = "goGARCHforecast")`

: function:**betacokurt(object, weights, asset = 1)**Returns the cokurtosis beta given a matrix (of length equal to the number of rows of the forecast horizon, or vector which is then recycled to the number of rows of the forecast horizon) of benchmark weights and the asset number.- show
`signature(object = "goGARCHforecast")`

: Summary method.

Chen, Y., Hardle, W., and Spokoiny, V. 2010, GHICA-Risk analysis with GH
distributions and independent components, *Journal of Empirical Finance*,
**17(2)**, 255--269.
de Athayde, G.M. and Flores Jr, R.G. 2002, On Certain Geometric Aspects of
Portfolio Optimisation with Higher Moments, *mimeo*.
Ghalanos, A., Rossi, E., and Urga, G. (2013). *Independent Factor
Autoregressive Conditional Density Model*, **forthcoming**.
Paolella, M.S. 2007, Intermediate Probability - A Computational Approach,
*Wiley-Interscience*.