Efficient online (rolling window) estimation of a GARCH model I have a time series $x_t$ of length $n$. I would like to model it using rolling window approach with window length (width) $w$:


*

*window $1$: $x_1,\dots,x_w$,

*window $2$: $x_2,\dots,x_{w+1}$,

*$\dots$,

*window $n-w+1$: $x_{n-w+1},\dots,x_n$.


In each window, I would like to estimate a GARCH model. I could just do it using brute force. However, this is quite expensive computationally. 
I wonder if I could borrow information from neighbouring windows and make the estimation more computationally efficient. Is there an algorithm available that is doing that?
(E.g. if I was estimating a regression model, I could use the ideas suggested in the thread "Efficient online linear regression").
 A: Werge & Wintenberger "An Adaptive Recursive Volatility Prediction Method" (2020) seem to be doing something close to what the OP is interested in. Here is the abstract:

The Quasi-Maximum Likelihood (QML) procedure is widely used for statistical inference due to its robustness against overdispersion. However, while there are extensive references on non-recursive QML estimation, recursive QML estimation has attracted little attention until recently. In this paper, we investigate the convergence properties of the QML procedure in a general conditionally heteroscedastic time series model, extending the classical offline optimization routines to recursive approximation. We propose an adaptive recursive estimation routine for GARCH models using the technique of Variance Targeting Estimation (VTE) to alleviate the convergence difficulties encountered in the usual QML estimation. Finally, empirical results demonstrate a favorable trade-off between the ability to adapt to time-varying estimates and stability of the estimation routine.

(Emphasis is mine.) The actual algorithm is discussed in Section 3 and a schematic representation is available on p. 5. The online algorithm takes the initial estimate and updates it using first-order stochastic gradient descent once a new data point becomes available. I think the algorithm does not discard the initial observation, so the setup is one of expanding window rather than a rolling window.
