# Fitting ARIMA-GARCH model using "rugarch" package

I try to fit a model to forecast tourists' arrivals in Sri Lanka. I fitted a SARIMA(3,1,3)(1,0,1)12 model first. I was also trying to fit ARIMA-GARCH model using "rugarch" package in R, but it looks that the only possible model in that package is ARMA-GARCH. My questions are,

1. Is there any possibility to fit ARIMA-GARCH model in "rugarch" package? (Since my best fitted model is SARIMA I think ARMA-GARCH model will not fit to my data.)
2. Is there any evidence to fit ARMA-GARCH model on differenced data? (Because my data is stationary after taking first differences.)
• What do you think about my answer? If it is helpful and clear, you may accept it by clicking on the tick mark to the left. Otherwise, you may ask for further clarification. This is how Cross Validated works. Sep 22 '20 at 9:44

1. Even though you cannot specify an ARIMA model for the conditional mean directly in function ugarchspec, you can do this indirectly by differencing your data a desired number of times before feeding into estimation via ugarchfit. So if the desired model for series x is ARIMA$(p,d,q)$, then specify ARMA$(p,q)$ in ugarchspec and feed diff(x,d) instead of x to the function ugarchfit.
2. If I understand your question correctly, you are asking whether you can fit an ARMA-GARCH model on differenced data -- presumably instead of fitting an ARIMA-GARCH model on the original data. Yes, this is fine, and this is exactly what I suggest in part 1. If there was an option to specify ARIMA-GARCH with an integration order greater than zero, the function would start with differencing your data the specified number of times ($d$) and then proceed as with an ARMA-GARCH model.
Note that there does not seem to be an option to use SARMA models in the "rugarch" package, so you will have to let the "S" part go. But if there is a seasonal pattern (and that is quite likely when it comes to tourist arrivals), you will have to account for it somehow. Consider using exogenous seasonal variables (dummies or Fourier terms) in the conditional mean model via the argument external.regressors inside the argument mean.model in function ugarchspec. Alternatively, note that a SARMA model corresponds to a restricted ARMA model. An approximation of SARMA could thus be an ARMA with the appropriate lag order but without the SARMA-specific parameter restrictions (since those might not be available in "rugarch").