Derek
All notes

Filtered historical simulation in four steps

Aug 20, 2026, filed under risk, time series · part of VaR/ES risk engine

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 σt\sigma_t to get standardized residuals. Rescale those residuals by today’s forecast σt+1\sigma_{t+1}. Read VaR and ES off the rescaled sample.

σt2=ω+αrt12+βσt12\sigma_t^2 = \omega + \alpha r_{t-1}^2 + \beta \sigma_{t-1}^2

The simulation on the front page of this site runs this same process forward with Student-tt shocks.