goGARCHfit-class: class: GO-GARCH Fit Class

Description Objects from the Class Slots Extends Methods Note Author(s) References Examples

Description

Class for the GO-GARCH fit.

Objects from the Class

The class is returned by calling the function gogarchfit.

Slots

mfit:

Multivariate fit object.

ufit:

Univariate multifit of class "uGARCHmultifit".

Extends

Class "mGARCHfit", directly. Class "GARCHfit", by class "mGARCHfit", distance 2. Class "rGARCH", by class "mGARCHfit", distance 3.

Methods

as.data.frame

signature(x = "goGARCHfit"): function:
as.data.frame(x, type = "A")
This returns four types of data.frame relating to the estimation of the independent components in the GO-GARCH model. Valid choices for “A” are “A” for the mixing matrix, “AA” for the unconditional covariance matrix, “U” for the rotational matrix and “K” for the whitening matrix. Note that for the latter, usually derived by an eigen or singular value decomposition, some ICA methods do return this and hence “U” cannot be calculated.

coef

signature(object = "goGARCHfit"): extraction of garch independent factor model coefficients.

convolution

signature(object = "goGARCHfit"):
function:
convolution(object, weights, fft.step = 0.01, fft.by = 0.0001, fft.support = c(-1, 1), support.method = c("user", "adaptive"), use.ff = TRUE, parallel = FALSE, parallel.control = list(pkg = c("multicore", "snowfall"), cores = 2), trace = 0,...)
The convolution method takes a goGARCHfit 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 row dimension of the filtered dataset (i.e. less any lags). 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. Finally, the option for parallel computation is available, though it is far more efficient to use (in unix based systems only) using the “multicore” package than “snowfall”.

fitted

signature(object = "goGARCHfit"): Extracts the fitted values.

residuals

signature(object = "goGARCHfit"): Extracts the mean equation residual values.

likelihood

signature(object = "goGARCHfit"): The quasi log-likelihood of the model, which being an independent factor model is the sum of the univariate GARCH log-likelihoods plus a term for the mixing matrix.

nisurface

signature(object = "goGARCHfit"):
function:
nisurface(object, type = "cov", pair = c(1, 2), factor = c(1,2), plot = TRUE)
Creates the covariance or correlation (determined by “type” being either “cov” or “cor”) news impact surface for a pair of assets and factors. Since the shocks impact the factors independently, the news impact surface is a combination of the independent news impact curves of the factors which when combined via the mixing matrix A, create the dynamics for the underlying asset-factor surface function

gportmoments

signature(object = "goGARCHfit"):
function:
gportmoments(object, weights)
Calculates the first 4 portfolio moments using the geometric properties of the model, given a vector or matrix of asset weights. If a matrix is given it must have row dimension equal to the row dimension of the filtered dataset (i.e. less any lags), else if a vector is given it will be replicated for all time points. The kurtosis is not returned for systems of dimensions greater than 11 because of the memory issues related to calculations on the co-kurtosis tensor.

rcokurt

signature(object = "goGARCHfit"):
function:
rcokurt(object, from = 1, to = 1)
Returns the 'time-varying' NxN^4 cokurtosis tensor in array format and is limited to a dimensions of 11 assets. The “from” and “to” options indicate the time indices for which to return the arrays. Because of memory issues, this is limited to 100 indices.

rcoskew

signature(object = "goGARCHfit") function:
rcoskew(object, from = 1, to = 1)
Returns the 'time-varying' NxN^3 coskewness tensor in array format. The “from” and “to” options indicate the time indices for which to return the arrays. Because of memory issues, this is limited to 100 indices.

rcov

signature(object = "goGARCHfit"): Returns the time-varying NxN covariance matrix in array format.

rcor

signature(object = "goGARCHfit"): Returns the time-varying NxN correlation matrix in array format.

show

signature(object = "goGARCHfit"): Summary method for the fitted object.

Note

The reference by Paolella (2007) contains more details on the algorithm for the characteristic function inversion via FFT. The de Athayde and Flores (2002) paper is the basis for the geometric properties of the higher moment tensors in finance.

Author(s)

Alexios Ghalanos

References

de Athayde, G.M. and Flores Jr, R.G. On Certain Geometric Aspects of Portfolio Optimisation with Higher Moments, 2002, mimeo.
Broda, S.A. and Paolella, M.S. CHICAGO: A Fast and Accurate Method for Portfolio Risk Calculation, 2009, Journal of Financial Econometrics 7(4), 412-436 .
Paolella, M.S.Intermediate Probability - A Computational Approach, 2007, Wiley-Interscience.
Schmidt, R., Hrycej, T. and Stutzle Multivariate distribution models with generalized hyperbolic margins, 2006, Computational Statistics \& Data Analysis 50(8), 2065-2096.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
## Not run: 
data(dji30ret)
spec = gogarchspec(mean.model = list(demean = "constant"), 
		variance.model = list(model = "sGARCH", garchOrder = c(1,1), submodel = NULL), 
		distribution.model = list(distribution = "manig"),
		ica = "fastica")

fit = gogarchfit(spec = spec, data  = dji30ret[,1:4, drop = FALSE],  out.sample = 50, gfun = "tanh")
# The likelihood of the model
likelihood(fit)
# the GARCH coefficients of the independent factors
coef(fit)
# a news-impact surface plot
#ni = nisurface(fit, type = "cov", pair = c(1, 2), factor = c(1,2), plot = TRUE)
# the time varying correlation array
mc = rcor(fit)
# plot(mc[1,2,], type = "l")
# The moments of an equally weighted portfolio (subtract the out.sample from dimension)
gm = gportmoments(fit, weights = matrix(1/4, ncol = 4, nrow = dim(dji30ret)[1]-50), debug = TRUE)

## End(Not run)

rgarch documentation built on May 2, 2019, 5:22 p.m.