garchMFit#
Purpose#
Estimates GARCH-in-mean model.
Format#
- gOut = garchMFit(y, p[, q, gctl])#
- gOut = garchMFit(y, x, p[, q, gctl])
- gOut = garchMFit(dataset, formula, p[, q, gctl])
- Parameters:
y (Matrix) – dependent variables.
x (Matrix) – independent variables.
dataset (string) – name of data set or null string.
formula (string) – formula string of the model. E.g. “y ~ X1 + X2” ‘y’ is the name of dependent variable, ‘X1’ and ‘X2’ are names of independent variables; E.g. “y ~ .” , ‘.’ means including all variables except dependent variable ‘y’;
p (scalar) – order of the GARCH parameters.
q (scalar) – Optional input, order of the ARCH parameters.
gctl –
Optional input,
garchControl
structure.gctl.density
scalar, density of error term:
0
Normal distribution. (Default)
1
Student’s t-distribution.
3
Skew generalized t-distribution.
gctl.asymmetry
scalar, if nonzero assymetry terms are added. (Default = 0)
gctl.inmean
scalar, GARCH-in-mean, square root of conditional variance is included in the mean equation.
gctl.stConstraintsType
scalar, type of enforcement of stationarity requirements:
1
Roots of characteristic polynomial constrained outside unit circle. (Default)
2
ARCH, GARCH parameters constrained to sum to less than one and greater than zero.
3
None.
gctl.cvConstraintsType
scalar, type of enforcement of nonnegative conditional variances:
0
Direct constraints. (Default)
1
Nelson & Cao constraints.
gctl.covType
scalar, type of covariance matrix of parameters:
1
Maximum Likelihood. (Default)
2
Quasi-Maximum Likelihood. (Default)
3
None.
gctl.sqpsolvemtControlProc
function pointer, pointer to a function that updates optimization settings by setting the
sqpsolvemtControl
structure members.gctl.cmlmtControlProc
function pointer, pointer to a function that updates optimization settings by setting the
cmlmtControl
structure members.gctl.start
PV structure, estimation starting values.
- Returns:
gOut –
garchEstimation
structure.gout.aic
scalar, Akiake criterion.
gout.bic
scalar, Bayesian information criterion.
gout.lrs
scalar, likelihood ratio statistic.
gout.numObs
scalar, number of observations.
gout.df
scalar, degrees of freedom.
gout.par
instance of PV structure containing parameter estimates.
gout.retcode
scalar, return code:
1
Normal convergence.
2
Forced exit.
3
Function calculation failed.
4
Gradient calculation failed.
5
Hessian calculation failed.
6
Line search failed.
7
Error with constraints.
8
Function complex.
gout.moment
KxK matrix, moment matrix of parameter estimates.
gout.climits
Kx2 matrix, confidence limits.
gout.tsmtDesc
An instance of the
tsmtModelDesc
structure containing the following members:tsmtDesc.depvar
Kx1 string array, names of endogenous variables.
tsmtDesc.indvars
Mx1 string array, names of exogenous variables.
tsmtDesc.timespan
2x1 string array, range of the time series. Available if date vector is passed as part of a dataframe input.
tsmtDesc.ncases
Scalar, number of observations.
tsmtDesc.df
Scalar, degrees of freedom.
tsmtDesc.model_name
String, model name.
gout.sumStats
An instance of the
tsmtSummaryStats
structure containing the following members:sumStats.sse
Vector, sum of the squared errors of estimates for endogenous variables in the model.
sumStats.mse
Vector, mean squared errors of estimates for endogenous variables in the model.
sumStats.rmse
Vector, root mean squared errors of estimates for endogenous variables in the model.
sumStats.see
Vector, standard error of the estimates for endogenous variables in the model.
sumStats.rsq
Vector, r-squared of estimates for endogenous variables in the model.
sumStats.AdjRsq
Scalar, adjusted r-squared of estimates for endogenous variables in the model.
sumStats.ssy
Scalar, total sum of the squares for endogenous variables in the model.
sumStats.DW
Scalar, Durbin-Watson statistic for residuals from the estimates for endogenous variables in the model.
Example#
new;
library tsmt;
// Declare 'c1' to be a garchControl struct
// and fill with default values
struct garchControl c1;
c1 = garchControlCreate();
// Assign pointer to procedure (defined below)
// to apply settings for internal optimization
c1.sqpsolvemtControlProc = &sqp;
proc sqp(struct sqpsolvemtControl c0);
c0.printiters = 0;
c0.trustRadius = 0;
c0.feasibletest = 0;
c0.gradproc = 0;
retp(c0);
endp;
struct garchEstimation gOut;
gOut = garchMFIT(__FILE_DIR $+ "garchx.gdat" ,"Y ~ X1 + X2", 1, 1, c1);
This prints the following out:
================================================================================
Model: GARCHM(1,1) Dependent variable: Y
Time Span: Unknown Valid cases: 1000
================================================================================
Coefficient Upper CI Lower CI
beta0[1,1] 0.02920 -0.01682 0.07522
beta[1,1] 0.40281 0.39450 0.41111
beta[2,1] 0.50075 0.49216 0.50934
garch[1,1] 0.11534 -0.21655 0.44723
arch[1,1] 0.25821 0.14992 0.36650
delta[1,1] -0.07041 -0.39261 0.25179
omega[1,1] 0.01378 0.00702 0.02054
================================================================================
AIC: 1040.04992
LRS: 1026.04992
Library#
tsmt
Source#
tsgarch.src
See also
Functions garchFit()
, garchGJRFit()
, igarchFit()