Log returns and GARCH models

I try to model currency rates volatility using GARCH models through the RUGARCH package in R.

Starting from the observed currency rate series, I compute the log-return through:

data <- diff(log(series)) # Log-return


Then (after some statistical analysis) I decide to use a GARCH(1,1) model with a skew-student distribution, hence I use

spec_final <- ugarchspec(mean.model=list(armaOrder=c(0,0),include.mean=FALSE),variance.model=list(model="sGARCH",garchOrder=c(1,1)),distribution.model="sstd")
fit_final <- ugarchfit(spec_final,data=data)


I then try to simulate future outcomes of this series with an horizon of 260 days with the code

horizon <- 260
exp(diffinv(ugarchsim(fit_final,n.sim=horizon)@simulation\$seriesSim))[horizon+1]


If I perform this a great number of times (200,000) I can compute quantiles. More especially I see that the quantile at 0.5% is equal to 0.605 and the quantile at 99.5% is equal to 1.623. The distribution has a mean very close to 1 but is not symmetric.

I would like to understand why there is a lack of symmetry in the simulated distribution, even if the GARCH model is known to be symmetric. It does not happen only for one currency but for all those I tried to model. This is really an issue to me as I do not have any particular reason to explain why the model predicts larger upward shocks than downward shocks.

Thanks.