I want to generate an EGARCH process. My problem is that I do not see how to create new processes beyond those available.

The process itself is :

$$\epsilon(t) = \sigma(t) \eta(t)$$

$$\log(\sigma(t)^2 ) = w + b\log(\sigma(t-1)^2) + c\eta(t-1) + d \lvert\eta(t-1)\rvert$$

Notice that I want to use RandomFunction to generate the simulated values.

Then I'd like to estimate it using the EstimatedProcess to estimate the parameters. I want to experiment with false models..

  • $\begingroup$ I forgot to say that "eta(t)" are iid from N(0,1) $\endgroup$
    – Moez K
    Commented Apr 16, 2013 at 20:09
  • 1
    $\begingroup$ look here verbeia.com/mathematica/mma/gen_timeseries.nb $\endgroup$ Commented Apr 16, 2013 at 23:13
  • $\begingroup$ To be fair, that notebook on Verbeia.com is very old - probably version 4 vintage. @PlatoManiac - how come you remember what is on my web site better than I do? $\endgroup$
    – Verbeia
    Commented Apr 17, 2013 at 6:36
  • $\begingroup$ @Verbeia Not my ordinary neural net but all credit goes to proper keyword search in Google! However if you change AppendRows[a,b] with Join[a,b,2] and ZeorMatrix using ConstantArray you will be left with properly using the new version 9 ARMAProcess to replace your ARMAList. Then we can have a nice post here from you. Looking forward to it! $\endgroup$ Commented Apr 17, 2013 at 7:19
  • $\begingroup$ @PlatoManiac I'll try to get to it tonight. $\endgroup$
    – Verbeia
    Commented Apr 17, 2013 at 8:02

2 Answers 2


From PlatoManiac's comments:

You could try Verbeia's notebook, and replace AppendRows[a,b] with Join[a,b,2] and ZeroMatrix using ConstantArray you can use the new version 9 ARMAProcess to replace the ARMAList in the notebook.


You can try package I have written for estimating garch process parameters -although it's not finished yet but you can estimate around 10 kinds of garch processes.Just type Ugarch in documentation when you install the package.Any feedback is more than welcome.


These are actually ported R functions package via Rlink.

And here you have example of mathematica code for estimating parameters,this is the fastest code I could write,there are other examples but they are 5-10 times slower... You will see that the Mathematica optimizer isn't up to task unfortunately so you would have to adjust precision goal for satisfying results...



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.