[R] fSeries

Diethelm Wuertz wuertz at itp.phys.ethz.ch
Thu Nov 11 09:27:51 CET 2004


1. Currently I'm writing a complete new GARCH package, and as long as it 
is not
yet ready I have added the garch function from Adrian Trapletti's 
tseries package
to the fSeries package.

2. But the error in the output you  observed  comes not from the "garch" 
function,
it comes from my "garchSim" function. Please modify the function 
garchSim() in the
following way ----


garchSim =
function(model = list(omega = 1.0e-06, alpha = 0.1, beta = 0.8, mu = 0),
n = 100, innov = NULL, n.start = 100, start.innov = NULL, rand.gen = 
rnorm, ...)
{    
    # Doesn't work, replace the three following lines ... 
    # if (!exists("model$alpha")) model$alpha = 0
    # if (!exists("model$beta")) model$beta = 0
    # if (!exists("model$mu")) model$mu = 0
   
    # with ...
    if (is.null(model$alpha)) model$alpha = 0
    if (is.null(model$beta)) model$beta = 0
    if (is.null(model$mu)) model$mu = 0

    max.order = max(length(model$alpha), length(model$beta))
    if (n.start < max.order)
        stop("n.start must be greater or equal max(alpha, beta)")
    if (is.null(start.innov))
        start.innov = rand.gen(n.start, ...)
    if (is.null(innov))
        innov = rand.gen(n, ...)
    h = x = z = c(start.innov, innov)
    for (i in 1:max.order) {
        h[i] = model$omega/(1 - sum(model$alpha) - sum(model$beta))
        x[i] = sqrt(h[i]) * z[i] + model$mu
    }
    n.alpha = length(model$alpha)
    n.beta = length(model$beta)
    for (i in (max.order + 1):(n.start + n)) {
        h[i] = model$omega + sum(model$alpha * x[i - (1:n.alpha)]^2) +
            sum(model$beta * h[i - (1:n.beta)])
        x[i] = sqrt(h[i]) * z[i] + model$mu
    }
    as.ts(x[-(1:n.start)])
}


and try the folloowing examples:


require(fSeries)

garchFit(garchSim(n = 1000))

garchFit(garchSim(model = list(omega = 1.0e-06, alpha = 0.1, beta = 0.8,
    mu = 0), n =1000))

garchFit(garchSim(model = list(omega = 1.0e-06, alpha = 0.6), n = 1000))
garchFit(garchSim(model = list(omega = 1.0e-06, alpha = 0.6), n = 1000),
    order=c(0, 1))
   

The code will be updated in the next fSeries package.
I apologize for any inconvenience caused by this bug.

Diethelm Wuertz



CYRIL.CAILLAULT at FORTISINVESTMENTS.COM wrote:

>Good morning everyone,
>
>I use for the first time the package fSeries and i try to run the example
>given by Diethelm Würtz. But when i run its example which is the following 
>#
># Example: 
>#	Model a GARCH time series process 
>#
># Description:
>#	PART I: Estimate GARCH models of the following type ARCH(2) 
>#     and GARCH(1,1) with normal conditional distribution functions.
>#   PART II: Simulate GARCH models of the following type, ARCH(2) 
>#     and GARCH(1,1),
>#	with normal conditional distribution functions.
>#
># Author:
>#	(C) 2002, Diethelm Wuertz, GPL
>#
>
>
>############################################################################
>####
># PART I: Estimation:
>
>	# Settings:
>	set.seed(547)
>    # Bollerslev's GARCH(1,1) with normal innovations:
>	model = list(omega = 1e-6, alpha = 0.1, beta = 0.8, mu = 0)
>	x = garchSim(model, n = 1000)
>	fit = garchFit(as.numeric(x), order = c(1, 1))
>	print(fit)
>	# Summary and Diagnostic Analysis:
>	summary(fit)
>	# Plot Results:
>	par(mfrow = c(2, 2))
>	plot(fit)
>	###
>
>Results of the estimations are false.
>
>Call:
>garchFit(x = as.numeric(x), order = c(1, 1))
>
>Coefficient(s):
>    omega         a1         b1  
>8.564e-07  5.000e-02  5.000e-02  
>
>To compare with : omega = 1e-6, alpha = 0.1, beta = 0.8.
>
>Do you have some information about this?
>Can I give some initials values to start the estimations?
>Can I use different innovation process like student-t and GED
>
>Thanks for your answers
>
>Cyril 
>
>
>
>
>
>	[[alternative HTML version deleted]]
>
>______________________________________________
>R-help at stat.math.ethz.ch mailing list
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>
>  
>




More information about the R-help mailing list