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.
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).
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).
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).
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.
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.
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.
signature(object = "goGARCHforecast")
:
Extraction of independent factor GARCH model coefficients saved from the
goGARCHfit object.
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.
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.
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.
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.
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.
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.
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.