Description Objects from the Class Slots Extends Methods Note Author(s) References Examples
Class for the GO-GARCH fit.
The class is returned by calling the function gogarchfit
.
mfit
:Multivariate fit object.
ufit
:Univariate multifit of class "uGARCHmultifit"
.
Class "mGARCHfit"
, directly.
Class "GARCHfit"
, by class "mGARCHfit", distance 2.
Class "rGARCH"
, by class "mGARCHfit", distance 3.
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.
signature(object = "goGARCHfit")
: extraction of garch independent factor
model coefficients.
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”.
signature(object = "goGARCHfit")
: Extracts the fitted values.
signature(object = "goGARCHfit")
: Extracts the mean equation residual values.
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.
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
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.
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.
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.
signature(object = "goGARCHfit")
: Returns the time-varying NxN covariance matrix in
array format.
signature(object = "goGARCHfit")
: Returns the time-varying NxN correlation matrix in
array format.
signature(object = "goGARCHfit")
: Summary method for the fitted object.
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.
Alexios Ghalanos
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.
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)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.