0

my issue is that I'm trying to simulate modifications of GARCH model like IGARCH, FIGARCH or HYGARCH. I have already found that some of them is possible to generate in R (rugarch or (no more existing) fSeries package) or in Python (arch library). I will organize my questions into the following points:

1. How can I simulate an IGARCH model in Python?

I tried these two ways:

1) used GARCH.simulate with fixed parameters where alfas and betas sum to 1. But there was an error message about non-stationarity and it took intercept in order to initialize the model. And I'm not sure if it is OK and the simulated series is still IGARCH (in my opinion it is only moved by constant so it should have had no crucial effect). I have also programmed my own function for GARCH simulation, and it works also for coefficients that sum to 1. Hopefully, the implementation is good...The only restriction for IGARCH that differentiates it from GARCH is that the sum of coefficients equals 1, right?.

2) used FIGARCH.simulate with fixed parameters where d=1 which is a special case of FIGARCH models which in that case become IGARCH(p,q) models. But the error there was *invalid value encountered in sqrt: data[t] = errors[t] * np.sqrt(sigma2[t])*.

2. Is there any free software in which the HYGARCH is implemented? If not, could somebody advise me how to implement that model in R or Python?

The model is already implemented in Ox Metrics 8, but it is a paid software. I found that the interface to these Ox Metrics functions were implemented in the R package fSeries which, however doesn't exist anymore and I'm not able to install the older version on my R version 3.5.1. And in Python there is no such a model implemented.

3. Corresponds model specification "fgarch" in the function ugarchspec(...) of rugarch package in R to the FIGARCH model? If not, is FIGARCH implemented in the R software?
My R Code is:

 spec=ugarchspec(variance.model=list(model="fGARCH", garchOrder=c(1,1), submodel="GARCH"),
            mean.model=list(armaOrder=c(0,0), include.mean=TRUE), distribution.model="std",
            fixed.pars=list(mu=0.001,omega=0.00001, alpha1=0.05,beta1=0.90,delta = 0.00001,
                            shape=4))

I found somewhere on the Internet that there is also possible to specify "figarch" in upper function instead of "fgarch", but in that case I'm not able to simulate the path by using ugarchpath(...).

Thank you in advance! I need this for my master thesis so I appreciate any recommendations, advises etc.

Domca

  • I think you should reconsider posting this question on Cross Validated as it is focused more on statistics as on programming. There, you may get better responses. – tmfmnk Jun 14 '20 at 20:03
  • Nevertheless, according to documentation, the FIGARCH models are implemented in the `R rugarch` library: https://cran.r-project.org/web/packages/rugarch/vignettes/Introduction_to_the_rugarch_package.pdf – tmfmnk Jun 14 '20 at 20:10
  • @tmfmnk thank you, I'll try it. To the *rugarch* package, yes, this I've read also but I don't know, how to implement it with the functions *ugarchspec(...)* while when I specify as an argument *model="fiGARCH"* I can't use *ugarchpath(...)* to simulate series and plot them and I don't know, what I am doing wrong...I obtain **Error - $ operator is invalid for atomic vectors**. – Dominika Kollárová Jun 14 '20 at 21:14

0 Answers0