Hi,

I managed to advance a bit. So far the GARCHSK method looks like this:
llhGarchSK11N <- function(par, x)
{
mu              <- par[1];
omega   <- par[2];
alpha   <- par[3];
beta    <- par[4];
gamma0  <- par[5];
gamma1  <- par[6];
delta0  <- par[7];
delta1  <- par[8];
eta             <- par[9];
numrowx <- nrow(x)
#Error
e <- x - mu
eta=e/e2t
e2 <- e^2
#Skewness
sk <- (((x - mu)^3) / length(x))/ sd(x)^3
#Kurtosis
ku <- (((x - mu)^4 / length(x))/ sd(x)^4) - 3

#Conditional Skewness
#st = γ0 + γ1 ηt−1 + γ2 st−1
skt <- gamma0 + gamma1*c(mean(sk),sk[-length(x)])
# Conditional Kurtosis
#kt = δ0 + δ1 ηt−1 + δkt−1
kut=delta0 + delta1*c(mean(ku),ku[-length(x)])
#Conditional Variance
e2t <- omega + alpha*c(mean(e2),e2[-length(x)])


s2 <- filter(e2t, beta, "recursive", init = mean(e2))
sk <-filter(skt, gamma, "recursive", init = mean(skt))
ku <- filter(kut, delta, "recursive", init = mean(kut))

#Likelihood function
# -sum(log(dnorm(e, mean = 0, sd = sqrt(abs(s2)))))
 #Augmented Likelihood function
-sum( -0.5*(log(h) - 0.5*(eta)^2 + log(1+(sk/6)*(eta^3-3*eta)+((ku-3)/24)*(eta^4-6*eta^2+3))^2-log(1+((sk^2)/6)+(ku-3)^2/24)))
}

If I execute the function with the following command:
mu <- mean(x) ;omega <- 0.1*var(x); alpha <- 0.1; beta <- 0.1; gamma0 <- 0; gamma1 <-0; delta0 <- 0; delta1 <- 0; eta<- 0
parNSK <- c(mu,omega, alpha, beta, gamma0, gamma1, delta0, delta1, eta)
llhGarchSK11N (parNSK,x)

I only get the following error:
  cannot coerce type 'builtin' to vector of type 'double'
In addition: Warning message:
In is.na(filter) :
  is.na() applied to non-(list or vector) of type 'builtin'

I don't really know if the method is working somehow and would be grateful to any hints.

Thanks in advance!

Johannes

On 02/18/2011 11:57 AM, Yohan Chalabi wrote:
Hi Johannes,

You can start with the code I sent you on R-help  
https://stat.ethz.ch/pipermail/r-help/2011-February/268953.html and

  * add the definition of skewness and kurtosis in the likelihood function
  * modify the conditional variance as defined in the paper
  * replace the normal probability function by the one defined in the paper.

You might get more help if you show us what you have tried.

HTH,
Yohan

On Feb 18, 2011, at 11:05 AM, Johannes Lips wrote:

Hello,

I'm quite new to R but tried to learn as much as possible in the last
few months.
My problem is that I would like to estimate the model of Leon et al. (2005).
I have shortly summarised the most important equations in the following
pdf file:
http://hannes.fedorapeople.org/leon2005.pdf

My main question is now how could I introduce these two additional terms
into the Likelihood function of a(n) (existing) GARCH method.

I looked into some GARCH packages but wasn't really sure where to start.
I know that this is not really an easy task but I would be very grateful
if you could help me out by giving me some hints on how to solve this
problem.

Thanks in advance!

Johannes Lips

P.S. I sent this e-mail also to the R-help mailing list but was told I
should better send it to the finance-sig.
https://stat.ethz.ch/pipermail/r-help/2011-February/268871.html

        [[alternative HTML version deleted]]

_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-finance
-- Subscriber-posting only. If you want to post, subscribe first.
-- Also note that this is not the r-help list where general R questions should 
go.


--
PhD candidate
Swiss Federal Institute of Technology
Zurich

www.ethz.ch


_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-finance
-- Subscriber-posting only. If you want to post, subscribe first.
-- Also note that this is not the r-help list where general R questions should 
go.

Reply via email to