PDF version (NAG web site
, 64-bit version, 64-bit version)
NAG Toolbox: nag_rand_times_garch_exp (g05pg)
Purpose
nag_rand_times_garch_exp (g05pg) generates a given number of terms of an exponential
process (see
Engle and Ng (1993)).
Syntax
[
ht,
et,
r,
state,
ifail] = g05pg(
dist,
num,
ip,
iq,
theta,
df,
fcall,
r,
state, 'lr',
lr)
[
ht,
et,
r,
state,
ifail] = nag_rand_times_garch_exp(
dist,
num,
ip,
iq,
theta,
df,
fcall,
r,
state, 'lr',
lr)
Description
An exponential
process is represented by:
where
,
denotes the expected value of
, and
or
. Here
is a standardized Student's
-distribution with
degrees of freedom and variance
,
is the number of observations in the sequence,
is the observed value of the
process at time
,
is the conditional variance at time
, and
the set of all information up to time
.
One of the initialization functions
nag_rand_init_repeat (g05kf) (for a repeatable sequence if computed sequentially) or
nag_rand_init_nonrepeat (g05kg) (for a non-repeatable sequence) must be called prior to the first call to
nag_rand_times_garch_exp (g05pg).
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
Glosten L, Jagannathan R and Runkle D (1993) Relationship between the expected value and the volatility of nominal excess return on stocks Journal of Finance 48 1779–1801
Hamilton J (1994) Time Series Analysis Princeton University Press
Parameters
Compulsory Input Parameters
- 1:
– string (length ≥ 1)
-
The type of distribution to use for
.
- A Normal distribution is used.
- A Student's -distribution is used.
Constraint:
or .
- 2:
– int64int32nag_int scalar
-
, the number of terms in the sequence.
Constraint:
.
- 3:
– int64int32nag_int scalar
-
The number of coefficients,
, for .
Constraint:
.
- 4:
– int64int32nag_int scalar
-
The number of coefficients,
, for .
Constraint:
.
- 5:
– double array
-
The initial parameter estimates for the vector
. The first element must contain the coefficient
and the next
iq elements must contain the autoregressive coefficients
, for
. The next
iq elements must contain the coefficients
, for
. The next
ip elements must contain the moving average coefficients
, for
.
Constraints:
- ;
- .
- 6:
– int64int32nag_int scalar
-
The number of degrees of freedom for the Student's
-distribution.
If
,
df is not referenced.
Constraint:
if , .
- 7:
– logical scalar
-
If
, a new sequence is to be generated, otherwise a given sequence is to be continued using the information in
r.
- 8:
– double array
-
The array contains information required to continue a sequence if .
- 9:
– int64int32nag_int array
-
Note: the actual argument supplied
must be the array
state supplied to the initialization routines
nag_rand_init_repeat (g05kf) or
nag_rand_init_nonrepeat (g05kg).
Contains information on the selected base generator and its current state.
Optional Input Parameters
- 1:
– int64int32nag_int scalar
-
Default:
the dimension of the array
r.
The dimension of the array
r.
Constraint:
.
Output Parameters
- 1:
– double array
-
The conditional variances
, for , for the sequence.
- 2:
– double array
-
The observations
, for , for the sequence.
- 3:
– double array
-
Contains information that can be used in a subsequent call of nag_rand_times_garch_exp (g05pg), with .
- 4:
– int64int32nag_int array
-
Contains updated information on the state of the generator.
- 5:
– int64int32nag_int scalar
unless the function detects an error (see
Error Indicators and Warnings).
Error Indicators and Warnings
Errors or warnings detected by the function:
-
-
On entry,
dist is not valid.
-
-
Constraint: .
-
-
Constraint: .
-
-
Constraint: .
-
-
Constraint: .
-
-
ip or
iq is not the same as when
r was set up in a previous call.
-
-
On entry,
lr is not large enough,
: minimum length required .
-
-
On entry,
state vector has been corrupted or not initialized.
-
-
Invalid sequence generated, use different parameters.
-
An unexpected error has been triggered by this routine. Please
contact
NAG.
-
Your licence key may have expired or may not have been installed correctly.
-
Dynamic memory allocation failed.
Accuracy
Not applicable.
Further Comments
None.
Example
This example first calls
nag_rand_init_repeat (g05kf) to initialize a base generator then calls
nag_rand_times_garch_exp (g05pg) to generate two realizations, each consisting of ten observations, from an exponential
model.
Open in the MATLAB editor:
g05pg_example
function g05pg_example
fprintf('g05pg example results\n\n');
seed = [int64(1762543)];
genid = int64(1);
subid = int64(1);
[state, ifail] = g05kf( ...
genid, subid, seed);
dist = 'N';
num = int64(10);
ip = int64(1);
iq = int64(1);
theta = [0.1; -0.3; 0.1; 0.9];
df = int64(0);
fcall = true;
r = zeros(2*(2*ip+iq+2),1);
[ht, et, r, state, ifail] = g05pg( ...
dist, num, ip, iq, ...
theta, df, fcall, r, state);
fprintf('\n Realisation Number 1\n');
fprintf(' i ht(i) et(i)\n');
fprintf(' --------------------------------------\n');
for i=1:num
fprintf(' %2d %16.4f %16.4f\n', i, ht(i), et(i));
end
fcall = false;
[ht, et, r, state, ifail] = g05pg( ...
dist, num, ip, iq, ...
theta, df, fcall, r, state);
fprintf('\n Realisation Number 2\n');
fprintf(' i ht(i) et(i)\n');
fprintf(' --------------------------------------\n');
for i=1:num
fprintf(' %2d %16.4f %16.4f\n', i, ht(i), et(i));
end
g05pg example results
Realisation Number 1
i ht(i) et(i)
--------------------------------------
1 2.5098 0.5526
2 2.1785 -1.8383
3 3.3844 1.2180
4 2.6780 1.3672
5 2.0953 -1.8178
6 3.2813 -0.0343
7 2.9958 -0.5094
8 3.0815 1.3978
9 2.3961 -0.0070
10 2.2445 0.6661
Realisation Number 2
i ht(i) et(i)
--------------------------------------
1 1.9327 -2.2795
2 3.5577 -1.2249
3 4.1461 0.6424
4 3.4455 -2.9920
5 5.9199 0.5777
6 4.8221 -1.2894
7 5.3174 -1.6473
8 6.1095 6.1689
9 3.1579 2.2935
10 2.2189 0.1141
PDF version (NAG web site
, 64-bit version, 64-bit version)
© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015