| HestonNandiGarchFit {fOptions} | R Documentation |
A collection and description of functions to model
the GARCH(1,1) price paths which underly Heston and
Nandi's option pricing model.
The functions are:
hngarchSim | Simulates a Heston-Nandi Garch(1,1) process, |
hngarchFit | MLE for a Heston Nandi Garch(1,1) model, |
hngarchStats | True moments of the log-Return distribution, |
print.hngarch | Print method, |
summary.hngarch | Diagnostic summary. |
hngarchSim(model, n, innov, n.start, start.innov, rand.gen, ...)
hngarchFit(x, model = list(lambda = -0.5, omega = var(x), alpha =
0.1 * var(x), beta = 0.1, gamma = 0, rf = 0), symmetric = TRUE,
trace = FALSE, title = NULL, description = NULL, ...)
hngarchStats(model)
## S3 method for class 'hngarch':
print(x, ...)
## S3 method for class 'hngarch':
summary(object, ...)
description |
a brief description of the porject of type character. |
innov |
[hngarchSim] - is a univariate time series or vector of innovations to produce the series. If not provided, innov will be generated using
the random number generator specified by rand.gen.
Missing values are not allowed. By default the normal
random number generator will be used.
|
model |
a list of GARCH model parameters with the following entries:
lambda,
omega, the constant coefficient of the variance equation,
alpha the autoregressive coefficient,
beta the variance coefficient,
gamma the asymmetry coefficient,
and rf, the risk free rate, numeric values.
|
n |
[hngarchSim] - is the length of the series to be simulated. The default value is 1000. |
n.start |
[hngarchSim] - gives the number of start-up values to be discarded. The default value is 100. |
object |
[summary] - a fitted HN-GARCH(1,1) time series object of class "hngarch"
as returned from the function hngarchFit.
|
rand.gen |
[hngarchSim] - is the function which is called to generate the innovations. Usually, rand.gen will be a random number generator.
Additional arguments required by the random number generator
rand.gen, usually the location, scale and/or shape
parameter of the underlying distribution function, have to be
passed through the dots argument.
|
start.innov |
[hngarchSim] - is a univariate time series or vector of innovations to be used as start up values. Missing values are not allowed. |
symmetric |
[hngarchFit] - a logical, if TRUE a symmetric model is estimated, otherwise the parameters are estimated for an asymmetric HN Garch(1,1) model. |
title |
a character string which allows for a project title. |
trace |
[hngarchFit] - a logical value. Should the optimizarion be traced? If trace=FALSE, no tracing is done of the
iteration path.
|
x |
[hngarchFit] - an univariate vector or time series. [print] - a fitted HN-GARCH(1,1) time series object of class "hngarch"
as returned from the function hngarchFit.
|
... |
additional arguments to be passed. |
Path Simulation:
The function hngarchSim simulates a Heston-Nandi Garch(1,1)
process with structure parameters specified through the list
model(lambda, omega, alpha, beta, gamma, rf).
Parameter Estimation:
The function hngarchFit estimates by the maximum log-likelihood
approach the parameters either for a symmetric or an asymmetric
Heston-Nandi Garch(1,1) model from the log returns x of a
financial time series. For optimization R's optim function is
used. Additional optimization parameters may be passed throught the
... argument.
Diagnostic Analysis:
The function summary.hngarch performs a diagnostic analysis
and recalculates conditional variances and innovations from the time
series.
Calculation of Moments:
The function hngarchStats calculates the first four true
moments of the unconditional log return distribution for a stationary
Heston-Nandi Garch(1,1) process with standard normally distributed
innovations. In addition the persistence and the expectation values
of sigma to the power 2, 4, 6, and 8 can be accessed.
hngarchSim
returns numeric vector with the simulated time
series points neglecting those from the first start.innov
innovations.
hngarchFit
returns list with two entries: The estimated model parmeters
model, where model is a list of the parameters
itself, and llh the value of the log likelihood.
hngarchStats
returns a list with the following components:
persistence, the value of the persistence,
meansigma2, meansigma4, meansigma6, meansigma8,
the expectation value of sigma to the power of 2, 4, 6, and 8,
mean, variance, skewness, kurtosis,
the mean, variance, skewness and kurtosis of the log returns.
summary.hngarch
returns list with the following elements: h,
a numeric vector with the conditional variances, z, a numeric
vector with the innovations.
Diethelm Wuertz for the Rmetrics R-port.
Heston S.L., Nandi S. (1997); A Closed-Form GARCH Option Pricing Model, Federal Reserve Bank of Atlanta.
## Not run:
## hngarchSim -
# Simulate a Heston Nandi Garch(1,1) Process:
# Symmetric Model - Parameters:
model = list(lambda = 4, omega = 8e-5, alpha = 6e-5,
beta = 0.7, gamma = 0, rf = 0)
ts = hngarchSim(model = model, n = 500, n.start = 100)
par(mfrow = c(2, 1), cex = 0.75)
ts.plot(ts, col = "steelblue", main = "HN Garch Symmetric Model")
grid()
## hngarchFit -
# HN-GARCH log likelihood Parameter Estimation:
# To speed up, we start with the simulated model ...
mle = hngarchFit(model = model, x = ts, symmetric = TRUE)
mle
## summary.hngarch -
# HN-GARCH Diagnostic Analysis:
par(mfrow = c(3, 1), cex = 0.75)
summary(mle)
## hngarchStats -
# HN-GARCH Moments:
hngarchStats(mle$model)
## End(Not run)