The R package MSGARCH implements a comprehensive
set of functionalities for Markov-switching GARCH (Haas et al. 2004a) and Mixture of GARCH (Haas et al. 2004b) models,
This includes fitting, filtering, forecasting, and simulating.
Other functions related to Value-at-Risk and Expected-Shortfall are also available.
The main functions of the package are coded
in C++
using Rcpp (Eddelbuettel and Francois, 2011)
and RcppArmadillo (Eddelbuettel and Sanderson, 2014).
MSGARCH focuses on the conditional variance (and higher moments) process.
Hence, there is no equation for the mean.
Therefore, you must pre-filter via AR(1) before applying the model.
The MSGARCH package implements a variety of GARCH specifications together with several conditional distributions.
This allows for a rich modeling
environment for Markov-switching GARCH models. Each single-regime process
is a one-lag process (e.g., GARCH(1,1)).
When optimization is performed, we ensure that the variance in each regime is covariance-stationary
and strictly positive (refer to the vignette for more information).
We refer to Ardia et al. (2019a) for a detailed
introduction to the package and its usage. Refer to Ardia et al. (2018) and Ardia et al. (2019b) for
further applications.
The authors acknowledge Google for financial support via the Google Summer of Code 2016 & 2017,
the International Institute of Forecasters and Industrielle-Alliance.
Maintainer: Keven Bluteau Keven.Bluteau@usherbrooke.ca (ORCID)
Authors:
David Ardia david.ardia.ch@gmail.com (ORCID)
Leopoldo Catania leopoldo.catania@econ.au.dk (ORCID)
Denis-Alexandre Trottier denis-alexandre.trottier.1@ulaval.ca
Other contributors:
Kris Boudt kris.boudt@ugent.be (ORCID) [contributor]
Alexios Ghalanos alexios@4dscape.com [contributor]
Brian Peterson brian@braverock.com [contributor]
Ardia, D. Bluteau, K. Boudt, K. Catania, L. (2018). Forecasting risk with Markov-switching GARCH models: A large-scale performance study. International Journal of Forecasting, 34(4), 733-747. tools:::Rd_expr_doi("10.1016/j.ijforecast.2018.05.004")
Ardia, D. Bluteau, K. Boudt, K. Catania, L. Trottier, D.-A. (2019a). Markov-switching GARCH models in R: The MSGARCH package. Journal of Statistical Software, 91(4), 1-38. tools:::Rd_expr_doi("10.18637/jss.v091.i04")
Ardia, D. Bluteau, K. Ruede, M. (2019b). Regime changes in Bitcoin GARCH volatility dynamics. Finance Research Letters, 29, 266-271. tools:::Rd_expr_doi("10.1016/j.frl.2018.08.009")
Eddelbuettel, D. & Francois, R. (2011).
Rcpp: Seamless R and C++
integration.
Journal of Statistical Software, 40, 1-18.
tools:::Rd_expr_doi("10.18637/jss.v040.i08")
Eddelbuettel, D. & Sanderson, C. (2014).
RcppArmadillo: Accelerating R with high-performance C++
linear algebra.
Computational Statistics & Data Analysis, 71, 1054-1063.
tools:::Rd_expr_doi("10.1016/j.csda.2013.02.005")
Haas, M. Mittnik, S. & Paolella, MS. (2004). A new approach to Markov-switching GARCH models. Journal of Financial Econometrics, 2, 493-530. tools:::Rd_expr_doi("10.1093/jjfinec/nbh020")
Haas, M. Mittnik, S. & Paolella, M. S. (2004b). Mixed normal conditional heteroskedasticity. Journal of Financial Econometrics, 2, 211-250. tools:::Rd_expr_doi("10.1093/jjfinec/nbh009")
Useful links: