GARCH parameter estimation with rugarch: estimates seem inaccurate

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

GARCH parameter estimation with rugarch: estimates seem inaccurate

Curtis Miller
Hello all,

Over a year ago I wrote a blog post about the problems I was having
estimating the parameters of GARCH models via fGarch. I got a lot of
feedback and I've now followed up with another article taking that
feedback into account:
https://ntguardian.wordpress.com/2019/01/28/problems-estimating-garch-parameters-r-part-2-rugarch/

First, I switched from fGarch to rugarch, which is supposedly still
maintained. I also looked at other parameter combinations in simulation
experiments that others requested.

It seems that rugarch isn't necessarily better when it comes to
parameter accuracy and one needs a lot of data (in the order of
thousands) to get good estimates of the parameter values. That said, CIs
computed are highly unreliable even at large sample sizes and there is
certainly no "silver bullet" optimization algorithm.

I'd like feedback if I'm not doing things right. I heard once that
others could not replicate my results; that is, they have reliable
estimates for GARCH parameters. But I never found out who those people
were and they did not give me their code to see what I was doing wrong.

If the community is aware of better approaches, I would like to hear
them as well.

Thank you all,

Curtis Miller

_______________________________________________
[hidden email] 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 | Threaded
Open this post in threaded view
|

Re: GARCH parameter estimation with rugarch: estimates seem inaccurate

alexios
Hi Curtis,

There is a function in rugarch called ugarchdistribution for performing these types of experiments:

spec1 <- ugarchspec(mean.model = list(armaOrder = c(0,0), include.mean = FALSE),
                    fixed.pars = list("omega" = 0.2, "alpha1" = 0.2, "beta1" = 0.2))
d=ugarchdistribution(spec1, n.sim=2000, m.sim=100, recursive = TRUE, recursive.length = 6000, solver.control=list(trace=1))

Try this and perhaps also read this blog post:
http://www.unstarched.net/2012/12/26/garch-parameter-uncertainty-and-data-size/

Could we benefit from a better nonlinear solver? Perhaps.
Could we benefit from code contributions to make it better? Definitely.
Feel free to contribute.

Best,

Alexios



On Mon, 28 Jan 2019 16:23:09 +0000, Curtis Miller <[hidden email]> wrote:

> Hello all,
>
> Over a year ago I wrote a blog post about the problems I was having
> estimating the parameters of GARCH models via fGarch. I got a lot of
> feedback and I've now followed up with another article taking that
> feedback into account:
> https://ntguardian.wordpress.com/2019/01/28/problems-estimating-garch-parameters-r-part-2-rugarch/
>
> First, I switched from fGarch to rugarch, which is supposedly still
> maintained. I also looked at other parameter combinations in simulation
> experiments that others requested.
>
> It seems that rugarch isn't necessarily better when it comes to
> parameter accuracy and one needs a lot of data (in the order of
> thousands) to get good estimates of the parameter values. That said, CIs
> computed are highly unreliable even at large sample sizes and there is
> certainly no "silver bullet" optimization algorithm.
>
> I'd like feedback if I'm not doing things right. I heard once that
> others could not replicate my results; that is, they have reliable
> estimates for GARCH parameters. But I never found out who those people
> were and they did not give me their code to see what I was doing wrong.
>
> If the community is aware of better approaches, I would like to hear
> them as well.
>
> Thank you all,
>
> Curtis Miller
>
> _______________________________________________
> [hidden email] 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.

_______________________________________________
[hidden email] 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 | Threaded
Open this post in threaded view
|

Alternative solvers in rugarch (was: GARCH parameter estimation with rugarch: estimates seem inaccurate)

Enrico Schumann-2
>>>>> "alexios" == alexios ghalanos <[hidden email]> writes:

    alexios> Hi Curtis,
    alexios> There is a function in rugarch called ugarchdistribution for performing these types of experiments:

    alexios> spec1 <- ugarchspec(mean.model = list(armaOrder = c(0,0), include.mean = FALSE),
    alexios>                     fixed.pars = list("omega" = 0.2, "alpha1" = 0.2, "beta1" = 0.2))
    alexios> d=ugarchdistribution(spec1, n.sim=2000, m.sim=100, recursive = TRUE, recursive.length = 6000, solver.control=list(trace=1))

    alexios> Try this and perhaps also read this blog post:
    alexios> http://www.unstarched.net/2012/12/26/garch-parameter-uncertainty-and-data-size/

    alexios> Could we benefit from a better nonlinear solver? Perhaps.
    alexios> Could we benefit from code contributions to make it better? Definitely.
    alexios> Feel free to contribute.

    alexios> Best,

    alexios> Alexios

I am not using 'rugarch' and only had a brief look at
the code. But is it possible to "plug in" alternative
solvers, i.e. without changing the package code?

If not, that could be a useful feature, as it would
allow to quickly test solvers. An "external" solver
would have to comply with some interface convention,
i.e. the solver would have to be provided as
a function that takes certain defined input arguments
and evaluates to defined outputs.



    alexios> On Mon, 28 Jan 2019 16:23:09 +0000, Curtis Miller <[hidden email]> wrote:

    >> Hello all,
    >>
    >> Over a year ago I wrote a blog post about the problems I was having
    >> estimating the parameters of GARCH models via fGarch. I got a lot of
    >> feedback and I've now followed up with another article taking that
    >> feedback into account:
    >> https://ntguardian.wordpress.com/2019/01/28/problems-estimating-garch-parameters-r-part-2-rugarch/
    >>
    >> First, I switched from fGarch to rugarch, which is supposedly still
    >> maintained. I also looked at other parameter combinations in simulation
    >> experiments that others requested.
    >>
    >> It seems that rugarch isn't necessarily better when it comes to
    >> parameter accuracy and one needs a lot of data (in the order of
    >> thousands) to get good estimates of the parameter values. That said, CIs
    >> computed are highly unreliable even at large sample sizes and there is
    >> certainly no "silver bullet" optimization algorithm.
    >>
    >> I'd like feedback if I'm not doing things right. I heard once that
    >> others could not replicate my results; that is, they have reliable
    >> estimates for GARCH parameters. But I never found out who those people
    >> were and they did not give me their code to see what I was doing wrong.
    >>
    >> If the community is aware of better approaches, I would like to hear
    >> them as well.
    >>
    >> Thank you all,
    >>
    >> Curtis Miller
    >>

--
Enrico Schumann
Lucerne, Switzerland
http://enricoschumann.net

_______________________________________________
[hidden email] 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.