Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

# NAG Toolbox: nag_tsa_uni_garch_asym2_estim (g13fc)

## Purpose

nag_tsa_uni_garch_asym2_estim (g13fc) estimates the parameters of a univariate regression-type II $\text{AGARCH}\left(p,q\right)$ process.

## Syntax

[theta, se, sc, covr, hp, et, ht, lgf, ifail] = g13fc(dist, yt, x, ip, iq, nreg, mn, theta, hp, copts, maxit, tol, 'num', num, 'npar', npar)
[theta, se, sc, covr, hp, et, ht, lgf, ifail] = nag_tsa_uni_garch_asym2_estim(dist, yt, x, ip, iq, nreg, mn, theta, hp, copts, maxit, tol, 'num', num, 'npar', npar)
Note: the interface to this routine has changed since earlier releases of the toolbox:
 At Mark 25: nreg was made optional

## Description

A univariate regression-type II $\text{AGARCH}\left(p,q\right)$ process, with $q$ coefficients ${\alpha }_{\mathit{i}}$, for $\mathit{i}=1,2,\dots ,q$, $p$ coefficients, ${\beta }_{\mathit{i}}$, for $\mathit{i}=1,2,\dots ,p$, and $k$ linear regression coefficients ${b}_{\mathit{i}}$, for $\mathit{i}=1,2,\dots ,k$, can be represented by:
 $yt = bo + xtT b + εt$ (1)
 $ht=α0+∑i=1qαi εt-i+γεt-i 2+∑i=1pβiht-i, t=1,2,…,T.$ (2)
where ${\epsilon }_{t}\mid {\psi }_{t-1}=N\left(0,{h}_{t}\right)$ or ${\epsilon }_{t}\mid {\psi }_{t-1}={S}_{t}\left(\mathit{df},{h}_{t}\right)$. Here ${S}_{t}$ is a standardized Student's $t$-distribution with $\mathit{df}$ degrees of freedom and variance ${h}_{t}$, $T$ is the number of terms in the sequence, ${y}_{t}$ denotes the endogenous variables, ${x}_{t}$ the exogenous variables, ${b}_{o}$ the regression mean, $b$ the regression coefficients, ${\epsilon }_{t}$ the residuals, ${h}_{t}$ the conditional variance, and ${\psi }_{t}$ the set of all information up to time $t$.
nag_tsa_uni_garch_asym2_estim (g13fc) provides an estimate for the parameter vector $\theta =\left({b}_{o},{b}^{\mathrm{T}},{\omega }^{\mathrm{T}}\right)$ where ${b}^{\mathrm{T}}=\left({b}_{1},\dots ,{b}_{k}\right)$, ${\omega }^{\mathrm{T}}=\left({\alpha }_{0},{\alpha }_{1},\dots ,{\alpha }_{q},{\beta }_{1},\dots ,{\beta }_{p},\gamma \right)$ when ${\mathbf{dist}}=\text{'N'}$ and ${\omega }^{\mathrm{T}}=\left({\alpha }_{0},{\alpha }_{1},\dots ,{\alpha }_{q},{\beta }_{1},\dots ,{\beta }_{p},\gamma ,\mathit{df}\right)$ when ${\mathbf{dist}}=\text{'T'}$.
mn and nreg can be used to simplify the $\text{GARCH}\left(p,q\right)$ expression in (1) as follows:
No Regression and No Mean
• ${y}_{t}={\epsilon }_{t}$,
• ${\mathbf{mn}}=0$,
• ${\mathbf{nreg}}=0$ and
• $\theta$ is a $\left(p+q+2\right)$ vector when ${\mathbf{dist}}=\text{'N'}$ and a $\left(p+q+3\right)$ vector when ${\mathbf{dist}}=\text{'T'}$.
No Regression
• ${y}_{t}={b}_{o}+{\epsilon }_{t}$,
• ${\mathbf{mn}}=1$,
• ${\mathbf{nreg}}=0$ and
• $\theta$ is a $\left(p+q+3\right)$ vector when ${\mathbf{dist}}=\text{'N'}$ and a $\left(p+q+4\right)×1$ vector when ${\mathbf{dist}}=\text{'T'}$.
Note:  if the ${y}_{t}=\mu +{\epsilon }_{t}$, where $\mu$ is known (not to be estimated by nag_tsa_uni_garch_asym2_estim (g13fc)) then (1) can be written as ${y}_{t}^{\mu }={\epsilon }_{t}$, where ${y}_{t}^{\mu }={y}_{t}-\mu$. This corresponds to the case No Regression and No Mean, with ${y}_{t}$ replaced by ${y}_{t}-\mu$.
No Mean
• ${y}_{t}={x}_{t}^{\mathrm{T}}b+{\epsilon }_{t}$,
• ${\mathbf{mn}}=0$,
• ${\mathbf{nreg}}=k$ and
• $\theta$ is a $\left(p+q+k+2\right)$ vector when ${\mathbf{dist}}=\text{'N'}$ and a $\left(p+q+k+3\right)$ vector when ${\mathbf{dist}}=\text{'T'}$.

## References

Bollerslev T (1986) Generalised autoregressive conditional heteroskedasticity Journal of Econometrics 31 307–327
Engle R (1982) Autoregressive conditional heteroskedasticity with estimates of the variance of United Kingdom inflation Econometrica 50 987–1008
Engle R and Ng V (1993) Measuring and testing the impact of news on volatility Journal of Finance 48 1749–1777
Hamilton J (1994) Time Series Analysis Princeton University Press

## Parameters

### Compulsory Input Parameters

1:     $\mathrm{dist}$ – string (length ≥ 1)
The type of distribution to use for ${e}_{t}$.
${\mathbf{dist}}=\text{'N'}$
A Normal distribution is used.
${\mathbf{dist}}=\text{'T'}$
A Student's $t$-distribution is used.
Constraint: ${\mathbf{dist}}=\text{'N'}$ or $\text{'T'}$.
2:     $\mathrm{yt}\left({\mathbf{num}}\right)$ – double array
The sequence of observations, ${y}_{\mathit{t}}$, for $\mathit{t}=1,2,\dots ,T$.
3:     $\mathrm{x}\left(\mathit{ldx},:\right)$ – double array
The first dimension of the array x must be at least ${\mathbf{num}}$.
The second dimension of the array x must be at least ${\mathbf{nreg}}$.
Row $\mathit{t}$ of x must contain the time dependent exogenous vector ${x}_{\mathit{t}}$, where ${x}_{\mathit{t}}^{\mathrm{T}}=\left({x}_{\mathit{t}}^{1},\dots ,{x}_{\mathit{t}}^{k}\right)$, for $\mathit{t}=1,2,\dots ,T$.
4:     $\mathrm{ip}$int64int32nag_int scalar
The number of coefficients, ${\beta }_{\mathit{i}}$, for $\mathit{i}=1,2,\dots ,p$.
Constraint: ${\mathbf{ip}}\ge 0$ (see also npar).
5:     $\mathrm{iq}$int64int32nag_int scalar
The number of coefficients, ${\alpha }_{\mathit{i}}$, for $\mathit{i}=1,2,\dots ,q$.
Constraint: ${\mathbf{iq}}\ge 1$ (see also npar).
6:     $\mathrm{nreg}$int64int32nag_int scalar
$k$, the number of regression coefficients.
Constraint: ${\mathbf{nreg}}\ge 0$ (see also npar).
7:     $\mathrm{mn}$int64int32nag_int scalar
If ${\mathbf{mn}}=1$, the mean term ${b}_{0}$ will be included in the model.
Constraint: ${\mathbf{mn}}=0$ or $1$.
8:     $\mathrm{theta}\left({\mathbf{npar}}\right)$ – double array
The initial parameter estimates for the vector $\theta$.
The first element must contain the coefficient ${\alpha }_{o}$ and the next iq elements must contain the coefficients ${\alpha }_{\mathit{i}}$, for $\mathit{i}=1,2,\dots ,q$.
The next ip elements must contain the coefficients ${\beta }_{\mathit{j}}$, for $\mathit{j}=1,2,\dots ,p$.
The next element must contain the asymmetry parameter $\gamma$.
If ${\mathbf{dist}}=\text{'T'}$, the next element must contain $\mathit{df}$, the number of degrees of freedom of the Student's $t$-distribution.
If ${\mathbf{mn}}=1$, the next element contains the mean term ${b}_{o}$.
If ${\mathbf{copts}}\left(2\right)=\mathit{false}$, the remaining nreg elements are taken as initial estimates of the linear regression coefficients ${b}_{\mathit{i}}$, for $\mathit{i}=1,2,\dots ,k$.
9:     $\mathrm{hp}$ – double scalar
If ${\mathbf{copts}}\left(2\right)=\mathit{false}$, hp is the value to be used for the pre-observed conditional variance; otherwise hp is not referenced.
10:   $\mathrm{copts}\left(2\right)$ – logical array
The options to be used by nag_tsa_uni_garch_asym2_estim (g13fc).
${\mathbf{copts}}\left(1\right)=\mathit{true}$
Stationary conditions are enforced, otherwise they are not.
${\mathbf{copts}}\left(2\right)=\mathit{true}$
The function provides initial parameter estimates of the regression terms, otherwise these are to be provided by you.
11:   $\mathrm{maxit}$int64int32nag_int scalar
The maximum number of iterations to be used by the optimization function when estimating the $\text{GARCH}\left(p,q\right)$ parameters. If maxit is set to $0$, the standard errors, score vector and variance-covariance are calculated for the input value of $\theta$ in theta when ${\mathbf{dist}}=\text{'N'}$; however the value of $\theta$ is not updated.
Constraint: ${\mathbf{maxit}}\ge 0$.
12:   $\mathrm{tol}$ – double scalar
The tolerance to be used by the optimization function when estimating the $\text{GARCH}\left(p,q\right)$ parameters.

### Optional Input Parameters

1:     $\mathrm{num}$int64int32nag_int scalar
Default: the dimension of the array yt and the first dimension of the array x. (An error is raised if these dimensions are not equal.)
$T$, the number of terms in the sequence.
Constraints:
• ${\mathbf{num}}\ge \mathrm{max}\phantom{\rule{0.125em}{0ex}}\left({\mathbf{ip}},{\mathbf{iq}}\right)$;
• ${\mathbf{num}}\ge {\mathbf{nreg}}+{\mathbf{mn}}$.
2:     $\mathrm{npar}$int64int32nag_int scalar
Default: the dimension of the array theta.
The number of parameters to be included in the model. ${\mathbf{npar}}=2+{\mathbf{iq}}+{\mathbf{ip}}+{\mathbf{mn}}+{\mathbf{nreg}}$ when ${\mathbf{dist}}=\text{'N'}$ and ${\mathbf{npar}}=3+{\mathbf{iq}}+{\mathbf{ip}}+{\mathbf{mn}}+{\mathbf{nreg}}$ when ${\mathbf{dist}}=\text{'T'}$.
Constraint: ${\mathbf{npar}}<20$.

### Output Parameters

1:     $\mathrm{theta}\left({\mathbf{npar}}\right)$ – double array
The estimated values $\stackrel{^}{\theta }$ for the vector $\theta$.
The first element contains the coefficient ${\alpha }_{o}$, the next iq elements contain the coefficients ${\alpha }_{\mathit{i}}$, for $\mathit{i}=1,2,\dots ,q$.
The next ip elements are the coefficients ${\beta }_{\mathit{j}}$, for $\mathit{j}=1,2,\dots ,p$.
The next element contains the estimate for the asymmetry parameter $\gamma$.
If ${\mathbf{dist}}=\text{'T'}$, the next element contains an estimate for $\mathit{df}$, the number of degrees of freedom of the Student's $t$-distribution.
If ${\mathbf{mn}}=1$, the next element contains an estimate for the mean term ${b}_{o}$.
The final nreg elements are the estimated linear regression coefficients ${b}_{\mathit{i}}$, for $\mathit{i}=1,2,\dots ,k$.
2:     $\mathrm{se}\left({\mathbf{npar}}\right)$ – double array
The standard errors for $\stackrel{^}{\theta }$.
The first element contains the standard error for ${\alpha }_{o}$ and the next iq elements contain the standard errors for ${\alpha }_{\mathit{i}}$, for $\mathit{i}=1,2,\dots ,q$.
The next ip elements are the standard errors for ${\beta }_{\mathit{j}}$, for $\mathit{j}=1,2,\dots ,p$.
The next element contains the standard error for $\gamma$.
If ${\mathbf{dist}}=\text{'T'}$, the next element contains the standard error for $\mathit{df}$, the number of degrees of freedom of the Student's $t$-distribution.
If ${\mathbf{mn}}=1$, the next element contains the standard error for ${b}_{o}$.
The final nreg elements are the standard errors for ${b}_{\mathit{j}}$, for $\mathit{j}=1,2,\dots ,k$.
3:     $\mathrm{sc}\left({\mathbf{npar}}\right)$ – double array
The scores for $\stackrel{^}{\theta }$.
The first element contains the score for ${\alpha }_{o}$ and the next iq elements contain the score for ${\alpha }_{\mathit{i}}$, for $\mathit{i}=1,2,\dots ,q$.
The next ip elements are the scores for ${\beta }_{\mathit{j}}$, for $\mathit{j}=1,2,\dots ,p$.
The next element contains the score for $\gamma$.
If ${\mathbf{dist}}=\text{'T'}$, the next element contains the score for $\mathit{df}$, the number of degrees of freedom of the Student's $t$-distribution.
If ${\mathbf{mn}}=1$, the next element contains the score for ${b}_{o}$.
The final nreg elements are the scores for ${b}_{\mathit{j}}$, for $\mathit{j}=1,2,\dots ,k$.
4:     $\mathrm{covr}\left(\mathit{ldcovr},{\mathbf{npar}}\right)$ – double array
The covariance matrix of the parameter estimates $\stackrel{^}{\theta }$, that is the inverse of the Fisher Information Matrix.
5:     $\mathrm{hp}$ – double scalar
If ${\mathbf{copts}}\left(2\right)=\mathit{true}$, hp is the estimated value of the pre-observed conditional variance.
6:     $\mathrm{et}\left({\mathbf{num}}\right)$ – double array
The estimated residuals, ${\epsilon }_{\mathit{t}}$, for $\mathit{t}=1,2,\dots ,T$.
7:     $\mathrm{ht}\left({\mathbf{num}}\right)$ – double array
The estimated conditional variances, ${h}_{\mathit{t}}$, for $\mathit{t}=1,2,\dots ,T$.
8:     $\mathrm{lgf}$ – double scalar
The value of the log-likelihood function at $\stackrel{^}{\theta }$.
9:     $\mathrm{ifail}$int64int32nag_int scalar
${\mathbf{ifail}}={\mathbf{0}}$ unless the function detects an error (see Error Indicators and Warnings).

## Error Indicators and Warnings

Note: nag_tsa_uni_garch_asym2_estim (g13fc) may return useful information for one or more of the following detected errors or warnings.
Errors or warnings detected by the function:
${\mathbf{ifail}}=1$
 On entry, ${\mathbf{nreg}}<0$, or ${\mathbf{mn}}>1$, or ${\mathbf{mn}}<0$, or ${\mathbf{iq}}<1$, or ${\mathbf{ip}}<0$, or ${\mathbf{npar}}\ge 20$, or $\mathit{ldcovr}<{\mathbf{npar}}$, or $\mathit{ldx}<{\mathbf{num}}$, or ${\mathbf{dist}}\ne \text{'N'}$, and ${\mathbf{dist}}\ne \text{'T'}$, or ${\mathbf{maxit}}<0$, or ${\mathbf{num}}<{\mathbf{nreg}}+{\mathbf{mn}}$, or npar has an invalid value ${\mathbf{num}}<\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left({\mathbf{ip}},{\mathbf{iq}}\right)$.
${\mathbf{ifail}}=2$
On entry, $\mathit{lwork}<\left({\mathbf{nreg}}+3\right)×{\mathbf{num}}+3$.
${\mathbf{ifail}}=3$
The matrix $X$ is not full rank.
${\mathbf{ifail}}=4$
The information matrix is not positive definite.
${\mathbf{ifail}}=5$
The maximum number of iterations has been reached.
${\mathbf{ifail}}=6$
The log-likelihood cannot be optimized any further.
${\mathbf{ifail}}=7$
No feasible model parameters could be found.
${\mathbf{ifail}}=-99$
An unexpected error has been triggered by this routine. Please contact NAG.
${\mathbf{ifail}}=-399$
Your licence key may have expired or may not have been installed correctly.
${\mathbf{ifail}}=-999$
Dynamic memory allocation failed.

Not applicable.

None.

## Example

This example fits a $\text{GARCH}\left(1,1\right)$ model with Student's $t$-distributed residuals to some simulated data.
The process parameter estimates, $\stackrel{^}{\theta }$, are obtained using nag_tsa_uni_garch_asym2_estim (g13fc), and a four step ahead volatility estimate is computed using nag_tsa_uni_garch_asym2_forecast (g13fd).
The data was simulated using nag_rand_times_garch_asym2 (g05pe).
```function g13fc_example

fprintf('g13fc example results\n\n');

mn  = int64(1);
nreg = int64(2);
yt = [ 8.87;  9.82;  9.02;  9.24;  9.46;
8.93; 10.20;  9.19;  8.27;  9.08;
9.11;  9.95;  8.11;  9.13;  9.49;
10.08;  9.74; 10.72;  8.94; 10.10;
10.19;  9.68;  9.09;  9.88;  9.55;
9.52;  8.45;  9.14;  9.52;  9.27;
9.50;  9.93;  9.86;  9.16;  9.00;
9.28;  9.83;  9.86;  9.55; 10.12;
8.47; 10.10;  8.70;  9.44;  9.10;
7.54;  8.08;  9.47; 12.32; 10.75;
11.66; 10.59; 10.93; 10.21;  9.39;
9.74; 10.91;  9.46; 10.32; 11.00;
9.47;  8.14;  9.88; 11.15; 11.21;
10.06;  9.50;  9.56;  9.23; 10.88;
10.93;  9.89;  9.89;  9.37; 10.44;
9.52;  9.92;  7.44; 10.36;  7.73;
10.53;  9.38; 11.14; 10.73; 10.02;
10.36; 10.18;  9.52;  9.59; 12.73;
9.38;  8.69;  9.78; 11.85;  9.23;
10.13; 10.77;  8.68; 10.39;  9.74];
x = [0.12, 2.40;  0.12, 2.40;  0.13, 2.40;  0.14, 2.40;
0.14, 2.40;  0.15, 2.40;  0.16, 2.40;  0.16, 2.40;
0.17, 2.40;  0.18, 2.41;  0.19, 2.41;  0.19, 2.41;
0.20, 2.41;  0.21, 2.41;  0.21, 2.41;  0.22, 2.41;
0.23, 2.41;  0.23, 2.41;  0.24, 2.41;  0.25, 2.42;
0.25, 2.42;  0.26, 2.42;  0.26, 2.42;  0.27, 2.42;
0.28, 2.42;  0.28, 2.42;  0.29, 2.42;  0.30, 2.42;
0.30, 2.42;  0.31, 2.43;  0.32, 2.43;  0.32, 2.43;
0.33, 2.43;  0.33, 2.43;  0.34, 2.43;  0.35, 2.43;
0.35, 2.43;  0.36, 2.43;  0.37, 2.43;  0.37, 2.44;
0.38, 2.44;  0.38, 2.44;  0.39, 2.44;  0.39, 2.44;
0.40, 2.44;  0.41, 2.44;  0.41, 2.44;  0.42, 2.44;
0.42, 2.44;  0.43, 2.45;  0.43, 2.45;  0.44, 2.45;
0.45, 2.45;  0.45, 2.45;  0.46, 2.45;  0.46, 2.45;
0.47, 2.45;  0.47, 2.45;  0.48, 2.45;  0.48, 2.46;
0.49, 2.46;  0.49, 2.46;  0.50, 2.46;  0.50, 2.46;
0.51, 2.46;  0.51, 2.46;  0.52, 2.46;  0.52, 2.46;
0.53, 2.46;  0.53, 2.47;  0.54, 2.47;  0.54, 2.47;
0.54, 2.47;  0.55, 2.47;  0.55, 2.47;  0.56, 2.47;
0.56, 2.47;  0.57, 2.47;  0.57, 2.47;  0.57, 2.48;
0.58, 2.48;  0.58, 2.48;  0.59, 2.48;  0.59, 2.48;
0.59, 2.48;  0.60, 2.48;  0.60, 2.48;  0.61, 2.48;
0.61, 2.48;  0.61, 2.49;  0.62, 2.49;  0.62, 2.49;
0.62, 2.49;  0.63, 2.49;  0.63, 2.49;  0.63, 2.49;
0.64, 2.49;  0.64, 2.49;  0.64, 2.49;  0.64, 2.50];
dist = 't';
ip = int64(1);
iq = int64(1);
copts = [true; true];
maxit = int64(200);
tol = 0.00001;
hp = 0;

% Theta is [alpha_0; alpha_1; beta_1; gamma; df; b_0]
theta = [ 0.05; 0.05; 0.4; -0.2; 2.6; 1.5; 0; 0];
nt = int64(4);
% Fit the GARCH model
[theta, se, sc, covar, hp, et, ht, lgf, ifail] = ...
g13fc( ...
dist, yt, x, ip, iq, mn, theta, hp, copts, maxit, tol);

% Extract the estimate of the asymmetry parameter from theta
gamma = theta(4);

% Calculate the volatility forecast
[fht, ifail] = g13fd( ...
nt, ip, iq, theta, gamma, ht, et);

% Output the results
fprintf('\n               Parameter        Standard\n');
fprintf('               estimates         errors\n');

% Output the coefficient alpha_0
fprintf('Alpha0 %16.2f%16.2f\n', theta(1), se(1));
l = 2;

% Output the coefficients alpha_i
for i = l:l+iq-1
fprintf('Alpha%d %16.2f%16.2f\n', i-1, theta(i), se(i));
end
l = l+iq;

% Output the coefficients beta_j
fprintf('\n');
for i = l:l+ip-1
fprintf(' Beta%d %16.2f%16.2f\n', i-l+1, theta(i), se(i));
end
l = l+ip;

% Output the estimated asymmetry parameter, gamma
fprintf('\n Gamma %16.2f%16.2f\n', theta(l), se(l));
l = l+1;

% Output the estimated degrees of freedom, df
if (dist == 't')
fprintf('\n    DF %16.2f%16.2f\n', theta(l), se(l));
l = l + 1;
end

% Output the estimated mean term, b_0
if (mn == 1)
fprintf('\n    B0 %16.2f%16.2f\n', theta(l), se(l));
l = l + 1;
end

% Output the estimated linear regression coefficients, b_i
for i = l:l+nreg-1
fprintf('    B%d %16.2f%16.2f\n', i-l+1, theta(i), se(i));
end

% Display the volatility forecast
fprintf('\nVolatility forecast = %12.2f\n', fht(nt));

```
```g13fc example results

Parameter        Standard
estimates         errors
Alpha0             6.82            1.68
Alpha1             0.00            1.00

Beta1             0.00            3.17

Gamma            -0.36            1.01

DF             2.10            0.33

B0           -25.14            4.80
B1            -0.95            0.90
B2            14.41            2.08

Volatility forecast =         6.82
```

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015