-
Notifications
You must be signed in to change notification settings - Fork 18
Markov Switching GARCH models (MSGARCH)
Modeling the volatility of financial markets is central in risk management. A seminal contribution in this field was the development of the GARCH model by Bollerslev (1986) where the volatility is a function of past asset returns. The GARCH model is today a widespread tool in risk management. However, recent studies show that estimates of GARCH models can be biased by structural breaks in the volatility dynamics (Bauwens et al., 2010; Bauwens et al., 2014). These structural breaks typically occur during periods of financial turmoil. Estimating a GARCH model on data displaying a structural break yields a non-stationary estimated model and implies poor risk predictions. A way to cope with this problem is provided by Markov-switching GARCH models (MSGARCH) whose parameters vary over time according to some regimes. These models can quickly adapt to variations in the unconditional volatility level, which improves risk predictions (see Ardia, 2008).
There are well-know/standard packages dealing with single-regime GARCH models. The standard GARCH(1,1) model can be estimated in the “tseries” (Trapletti et al., 2015) package. Rmetrics contains the “fGarch” (Wuertz et al., 2013) package which has additional models. The “rugarch” (Ghalanos, 2015) package can be used to model a variety of univariate GARCH models with extensions such as ARFIMA, in-mean, external regressors and various other specifications. The “rmgarch” (Ghalanos, 2015) builds on it to provide the ability to estimate several multivariate GARCH models. The “betategarch” (Sucarrat, 2014) package can estimate and simulate the Beta-t-EGARCH model by Harvey. The “bayesGARCH” (Ardia, 2015) package can perform Bayesian estimation of a GARCH(1,1) model with Student’s t innovations. For multivariate models, the “ccgarch” (Nakatani, 2014) package can estimate (multivariate) Conditional Correlation GARCH models whereas the “gogarch” (Pfaff, 2012) package provides functions for generalized orthogonal GARCH models. The “GEVStableGarch” (Sousa et al., 2015) package can fit ARMA-GARCH or ARMA-APARCH models with GEV and stable conditional distributions. The “lgarch” (Sucarrat, 2015) package can estimate and fit log-Garch models. None of these package deal with Markov-switching GARCH models. Therefore, our MSGARCH package will be an important addition to the set of R packages dealing with volatility estimation.
The structure of the package should follow existing well-know/standard packages dealing with single-regime GARCH models. It should provide users with several tools to estimate, simulate and test MSGARCH models for financial data. The MSGARCH models specifications should follow the approach proposed by Haas et al. (2004) which can handle many different univariate GARCH variance specifications efficiently. We proposed the student to implement the GARCH (Bollerslev, 1986), GJR (Glosten et al., 1993), EGARCH (Nelson, 1991) and GAS (Creal et al., 2013) univariate specifications. In addition to the possibility of many scedastic (i.e., volatility) specifications, the package should include several errors (i.e., innovations) distributions (e.g., Normal, Student, Laplace, GED and skewed versions of those). The package should be as user-friendly as possible and functions’ usage should be intuitive. The estimation of the models will be performed by maximum likelihood.
The implementation of the various wrappers should be done in plain vanilla R code, while the core of the models should be coded in Rcpp/C++ (Eddelbuettel, 2013) for speedup purposes.
The project will be developed with https://www.rstudio.com/ and stored on https://github.com. In order to manage efficiently the development of the package, the various tasks and deadlines will be managed via https://asana.com/
The R language has become an important vector for knowledge transfer in quantitative finance over the last years. Currently, there is no package dealing with MSGARCH models available. This package will therefore provide a new useful tool to practitioners and academics in the financial community.
Prof. Dr. David Ardia and Prof. Dr. Kris Boudt
Applicants have to be able to show that they have:
- A good working knowledge of programming in R, Rcpp and C++.
- A good working knowledge of Roxygen for the documentation.
- A good working knowledge of knitr/LaTeX for the vignette.
- Familiarities with the construction of R packages.
- Good coding standards (Google’s C++ and R style guide).
- Familiarities with GARCH type model.
- Familiarities with Maximum Likelihood estimation.
Students should show their motivation by following the point below:
- Simulate and estimate a MSGARCH model in R following Haas et al. (2014). Choose the specification you want. Write a one page text in knitr/TeX introducing MSGARCH models illustrating your code.
Students, please send your sample code/draft to Prof. Dr. David Ardia.
Trapletti A, Hornik K, LeBaron B (2015). “tseries”: Time Series Analysis and Computational Finance. URL: https://cran.r-project.org/web/packages/tseries/
Ardia D (2008). Financial Risk Management with Bayesian Estimation of GARCH Models: Theory and Applications. Lecture Notes in Economics and Mathematical Systems 612. Springer. 206 pages
Ardia D (2015). “bayesGARCH”: Bayesian Estimation of the GARCH(1,1) Model with Student-t Innovations. URL: https://cran.r-project.org/web/packages/bayesGARCH/
Bauwens L, Preminger A, Rombouts JVK (2010). Theory and Inference for a Markov Switching GARCH Model. Econometrics Journal, 13(2), 218-244
Bauwens L, Backer B, Dufays A, (2014). A Bayesian Method of Change-Point Estimation with Recurrent Regimes: Application to GARCH Models, Journal of Empirical Finance, 29, issue C, 207-229
Bollerslev T (1986). Generalized Autoregressive Conditional Heteroskedasticity. Journal of Econometrics, 31(3), 307-327
Creal, D, Koopman, SJ, Lucas, A (2013). Generalized autoregressive score models with applications. Journal of Applied Econometrics 28 (5), 777–795
Wuertz D, Chalabi Y with contributions from Miklovic M, Boudt K, Chausse P and others (2013). “fGarch”: Rmetrics - Autoregressive Conditional Heteroskedastic Modelling. URL: https://cran.r-project.org/web/packages/fGarch/
Eddelbuettel D (2013). Seamless R and C++ Integration with “Rcpp”. Springer, New York. ISBN 978-1-4614-6867-7
Ghalanos A (2015). “rugarch”: Univariate GARCH models. R package version 1.3-6. URL: https://cran.r-project.org/web/packages/rugarch/
Ghalanos A (2015). “rmgarch”: Multivariate GARCH models. R package version 1.3-0. URL: https://cran.r-project.org/web/packages/rmgarch/
Glosten LR, Jagannathan R, Runkle DE (1993). On the Relation Between the Expected Value and the Volatility of the Nominal Excess Return on Stocks, Journal of Finance 48, 1779-1801
Haas M, Mittnik S, Paolella MS (2004). A New Approach to Markov-Switching GARCH Models. Journal of Financial Econometrics, 2(4), 493-530
Nakatani T (2014). “ccgarch”: Conditional Correlation GARCH models. URL: https://cran.r-project.org/web/packages/ccgarch/
Nelson, DB (1991). Conditional Heteroskedasticity in Asset Returns: A New Approach. Econometrica 59 (2): 347–370 Pfaff B (2012). “gogarch”: Generalized Orthogonal GARCH (GO-GARCH) models. URL: https://cran.r-project.org/web/packages/gogarch/
Sousa TR, Otiniano CEG, Lopes SRC (2015). “GEVStableGarch”. URL: https://cran.r-project.org/web/packages/GEVStableGarch/
Sucarrat G (2014). “betategarch”: Simulation, estimation and forecasting of Beta-Skew-t-EGARCH models. URL: https://cran.r-project.org/web/packages/betategarch/
Sucarrat G (2015). “lgarch”: Simulation and Estimation of Log-GARCH Models. URL: https://cran.r-project.org/web/packages/lgarch/