# Forecasting returns and volatility using ARIMA-GARCH model in R

I am using rugarch package in R to forecast returns and volatility of a stock. I train an ARIMA (p ,d q) + GARCH(s, r) model on the log-returns using ugarchspec and ugarchfit functions. As a part of literature, I understood that the optimizer performs better with scaled values of log-returns. With this, the model gets trained on the log-returns multiplied by 100 as the scaling factor.

Post which, for the forecast across a horizon, I use the ugarchsim function as:

model.forecast = ugarchsim(model.garch.fit, n.sim=horizon, m.sim=simulations, startMethod="sample")


Now, I can obtain the simulations using:

volatilitySimulations = model.forecast@simulation$sigmaSim seriesSimulations = model.forecast@simulation$seriesSim


As per my understanding, because we scaled the returns earlier, should we:

1. Rescale the series simulations by dividing by 100?
2. Rescale the volatility simulations by dividing by 100, i.e., sqrt(10000)? My assumption is, this would be required as the variance is proportional to residual^2 and (historical volatility)^2 in GARCH models and volatility is equal to sqrt(variance) - so, volatility is proportional to 100. Please correct me if I am wrong.

I have a mathematical understanding of why we need this. But, I want clarify if I am not making any mistakes in above calculations!