Class for the GO-GARCH portfolio density

The class is returned by calling the function `convolution`

on
objects of class `'>goGARCHfit`

, `'>goGARCHfilter`

,
`'>goGARCHforecast`

, `'>goGARCHsim`

and
`'>goGARCHroll`

`dist`

:A list with the portfolio density and other details.

`model`

:A list with the model details carried across objects.

- dfft
`signature(object = "goGARCHfft")`

: The takes additional argument “index” to indicate the particular time point, and returns an interpolated density function which may be called like any other “d” type density function.- pfft
`signature(object = "goGARCHfft")`

The takes additional argument “index” to indicate the particular time point, and returns an interpolated distribution function which may be called like any other “p” type distribution function.- qfft
`signature(object = "goGARCHfft")`

This takes additional argument “index” to indicate the particular time point, and returns an interpolated quantile function which may be called like any other “q” type quantile function. This may also be used to generate pseudo-random variables from the distribution by using random standard uniform numbers as inputs.- nportmoments
`signature(object = "goGARCHfft")`

: Calculate and returns a matrix of the first 4 standardized moments by evaluation of the portfolio density using quadrature based method (i.e. calling R's “integrate” function on the portfolio FFT based density). Depending on the GOGARCH class the density was based (e.g. goGARCHfit vs goGARCHforecast), the format of the output will be different, and generally follow the format ‘rules’ of that class.

In the case that `convolution`

was called on a `'>goGARCHforecast`

or `'>goGARCHroll`

object, the `dist`

slot will contain the max
of n.ahead or n.roll. There should be no confusion here since the multivariate
forecast methods in rmgarch only allow either n.ahead>1 with n.roll = 0
(pure unconditional), or n.ahead = 1 with n.roll>=0 (pure rolling), and only the
latter in the case of a `gogarchroll`

. While the `nportmoments`

method reconstitutes the forecasts into a more familiar form (n.ahead x n.moments x
(n.roll+1)), this does not make sense for the distribution methods (d*, p*,
and q*), and it is understood that when the user calls for example
`dfft(object, index=5)`

on an object created from a forecast with
n.ahead=10 and n.roll=0, the index is meant to indicate the unconditional
density forecast at time T+5. Similarly, when calling
codedfft(object, index=0) on an object created from a forecast with
n.ahead=1 and n.roll = 1 (remember that n.roll is zero based), the index is
meant to indicate the first (of two, since rolls = 0:1) rolling forecast
density.