Learn R Programming

fGarch (version 4033.92)

predict-methods: GARCH prediction function

Description

Predicts a time series from a fitted GARCH object.

Usage

# S4 method for fGARCH
predict(object, n.ahead = 10, trace = FALSE, mse = c("cond","uncond"),
        plot=FALSE, nx=NULL, crit_val=NULL, conf=NULL, ..., p_loss = NULL)

Value

a data frame containing n.ahead rows and 3 to 7 columns, see section ‘Details’

Arguments

n.ahead

an integer value, denoting the number of steps to be forecasted, by default 10.

object

an object of class "fGARCH" as returned by the function garchFit.

trace

a logical flag. Should the prediction process be traced? By default trace=FALSE.

mse

If set to "cond", meanError is defined as the conditional mean errors \(\sqrt{E_t[x_{t+h}-E_t(x_{t+h})]^2}\). If set to "uncond", it is defined as \(\sqrt{E[x_{t+h}-E_t(x_{t+h})]^2}\).

plot

If set to TRUE, the confidence intervals are computed and plotted

nx

The number of observations to be plotted along with the predictions. The default is round(n*0.25), where n is the sample size.

crit_val

The critical values for the confidence intervals when plot is set to TRUE. The intervals are defined as \(\hat{x}_{t+h}\) + crit_val[2] * meanError and \(\hat{x}_{t+h}\) + crit_val[1] * meanError if two critical values are provided and \(\hat{x}_{t+h} \pm\) crit_val * meanError if only one is given. If you do not provide critical values, they will be computed automatically.

conf

The confidence level for the confidence intervals if crit_val is not provided. By default it is set to 0.95. The critical values are then computed using the conditional distribution that was chosen to create the object with garchFit using the same shape and skew parameters. If the conditionnal distribution was set to "QMLE", the critical values are computed using the empirical distribution of the standardized residuals.

...

additional arguments to be passed.

p_loss

if not null, compute predictions for VaR and ES for loss level p_loss (typically, 0.05 or 0.01).

Author

Diethelm Wuertz for the Rmetrics R-port

Details

The predictions are returned as a data frame with columns "meanForecast", "meanError", and "standardDeviation". Row h contains the predictions for horizon h (so, n.ahead rows in total).

If plot = TRUE, the data frame contain also the prediction limits for each horizon in columns lowerInterval and upperInterval.

If p_loss is not NULL, predictions of Value-at-Risk (VaR) and Expected Shortfall (ES) are returned in columns VaR and ES. The data frame has attribute "p_loss" containing p_loss. Typical values for p_loss are 0.01 and 0.05.

These are somewhat experimental and the arguments and the returned values may change.

See Also

predict in base R

fitted, residuals,

plot, garchFit, class fGARCH,

Examples

Run this code
## Parameter Estimation of Default GARCH(1,1) Model
set.seed(123)
fit = garchFit(~ garch(1, 1), data = garchSim(), trace = FALSE)
fit

## predict
predict(fit, n.ahead = 10)
predict(fit, n.ahead = 10, mse="uncond")

## predict with plotting: critical values = +/- 2
predict(fit, n.ahead = 10, plot=TRUE, crit_val = 2)

## include also VaR and ES at 5%
predict(fit, n.ahead = 10, plot=TRUE, crit_val = 2, p_loss = 0.05)

## predict with plotting: automatic critical values 
## for different conditional distributions
set.seed(321)
fit2 = garchFit(~ garch(1, 1), data = garchSim(), trace=FALSE, cond.dist="sged")

## 95% confidence level
predict(fit2, n.ahead=20, plot=TRUE) 

set.seed(444)
fit3 = garchFit(~ garch(1, 1), data = garchSim(), trace=FALSE, cond.dist="QMLE")

## 90% confidence level and nx=100
predict(fit3, n.ahead=20, plot=TRUE, conf=.9, nx=100) 

Run the code above in your browser using DataLab