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").

  • $\begingroup$ I have glimpsed at the source code of the functionugarchroll in the rugarch package in R and it seems it just uses brute force. But I may be mistaken. $\endgroup$ Commented Dec 10, 2019 at 16:52
  • $\begingroup$ Hi: if you model garch using a state space formulation, then you have the updating equations ( the KF equations ) at your disposal which make computations convenient. I think there's a paper by harvey and ruiz on how to do that but it might be for arch. I forget exactly. If you google for "garch state space", I bet something will turn up. good luck. $\endgroup$
    – mlofton
    Commented Dec 10, 2019 at 17:22
  • $\begingroup$ @mlofton, thank you! I suspected the idea of Kalman filter might be worthwhile but was not aware of any existing attempts. I will look up the reference and see if it provides anything interesting. $\endgroup$ Commented Dec 10, 2019 at 17:23
  • $\begingroup$ Hi Richard: I didn't realize that it was you asking the question. Note that the one drawback is that you're not going to get the results that a rolling ugarch estimation procedure would give. Duncan and Horne is the paper for doing regresssions by using the previous value's estimate. The problem is that GARCH is different enough from regression that I don't know how hard it would be to do the Duncan and Horne thing for GARCH. If you could do that then I think you could match the results of a rolling sum procedure. Let me find the link to that paper and I'll put it in another comment. $\endgroup$
    – mlofton
    Commented Dec 11, 2019 at 3:38
  • $\begingroup$ This is it but it doesn't look that easy to get. I had ( or have ?) a hardcopy somewhere so I might have the pdf somewhere also. If you have trouble, let me know and I can look to see if I have the pdf somewhere. tandfonline.com/doi/abs/10.1080/01621459.1972.10481299 $\endgroup$
    – mlofton
    Commented Dec 11, 2019 at 3:46

1 Answer 1


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.

  • $\begingroup$ I have not read the paper in detail, so there is a chance I have misunderstood it. $\endgroup$ Commented Oct 5, 2020 at 12:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.