Filtered historical simulation in four steps
Plain historical simulation assumes yesterday’s volatility is today’s. Filtering fixes that.
Steps
Fit GARCH(1,1) to returns. Divide each return by its fitted to get standardized residuals. Rescale those residuals by today’s forecast . Read VaR and ES off the rescaled sample.
The simulation on the front page of this site runs this same process forward with Student- shocks.