Type: | Package |
Title: | Robust Bootstrap Forecast Densities for GARCH Models |
Version: | 1.2.0 |
Date: | 2020-12-16 |
Author: | Carlos Trucios |
Maintainer: | Carlos Trucios <ctrucios@gmail.com> |
Description: | Bootstrap forecast densities for GARCH (Generalized Autoregressive Conditional Heteroskedastic) returns and volatilities using the robust residual-based bootstrap procedure of Trucios, Hotta and Ruiz (2017) <doi:10.1080/00949655.2017.1359601>. |
Encoding: | UTF-8 |
License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
Depends: | R (≥ 3.6.0) |
Imports: | Rcpp (≥ 1.0.3), foreach, doParallel, doRNG |
LinkingTo: | Rcpp, RcppArmadillo |
LazyData: | true |
RoxygenNote: | 7.1.1 |
NeedsCompilation: | yes |
Packaged: | 2020-12-17 12:11:28 UTC; ctruciosm |
Repository: | CRAN |
Date/Publication: | 2020-12-17 13:40:02 UTC |
Robust Bootstrap Forecast Densities for GARCH Models
Description
Bootstrap forecast densities for returns and volatilities using the robust residual-based bootstrap procedure of Trucíos et at. (2017). The package also includes the robust GARCH (Generalized Autoregressive Conditional Heteroskedastic) estimator of Boudt et al. (2013) with the modification introduced by Trucíos et at. (2017).
Details
This package provides a robust bootstrap procedure to obtain forecast densities for both return and volatilities in a GARCH context. The forecast densities are useful to obtain forecast intervals as well as to estimate risk measures such as Value-at-Risk (VaR) and Expected Shortfall (ES). We also provide the robust GARCH estimator of Boudt et al. (2013) with the modification introduced by Trucíos et at. (2017). This procedure has shown good finite sample properties in both Monte Carlo experiments and empirical data. See; Trucíos et al. (2017), Trucíos (2019) and Trucíos et al. (2020) for recent implementations.
Author(s)
Carlos Trucíos <ctrucios@gmail.com>
References
Boudt, Kris, Jon Danielsson, and Sébastien Laurent. Robust forecasting of dynamic conditional correlation GARCH models. International Journal of Forecasting 29.2 (2013): 244-257.
Trucíos, Carlos, Luiz K. Hotta, and Esther Ruiz. Robust bootstrap forecast densities for GARCH returns and volatilities. Journal of Statistical Computation and Simulation 87.16 (2017): 3152-3174.
Trucíos, Carlos. Forecasting Bitcoin risk measures: A robust approach. International Journal of Forecasting 35.3 (2019): 836-847.
Trucíos, Carlos, Aviral K. Tiwari, and Faisal Alqahtani. Value-at-risk and expected shortfall in cryptocurrencies' portfolio: a vine copula–based approach. Applied Economics 52.24 (2020): 2580-2593.
Robust GARCH Estimator
Description
Robust GARCH (Generalized Autoregressive Conditional Heteroskedastic) estimator of Boudt et al. (2013) with the modification introduced by Trucíos et at. (2017).
Usage
ROBUSTGARCH(y)
Arguments
y |
Vector of time series returns. |
Details
More details can be found in Boudt et al. (2013) and Trucíos et at. (2017).
Value
The function returns the estimated parameters.
Author(s)
Carlos Trucíos
References
Boudt, Kris, Jon Danielsson, and Sébastien Laurent. Robust forecasting of dynamic conditional correlation GARCH models. International Journal of Forecasting 29.2 (2013): 244-257.
Trucíos, Carlos, Luiz K. Hotta, and Esther Ruiz. Robust bootstrap forecast densities for GARCH returns and volatilities. Journal of Statistical Computation and Simulation 87.16 (2017): 3152-3174.
Examples
# Estimating the parameters of the GARCH model in a robust way.
ROBUSTGARCH(returnsexample*100)
Loss function used in GARCH robust estimation.
Description
Loss function used in GARCH (Generalized Autoregressive Conditional Heteroskedastic) robust estimation.
Usage
ROBUSTGARCHloss_RCPP(theta, r, sigma2)
Arguments
theta |
Vector of robust estimated (or initial values) parameters obtained from ROBUSTGARCH function. |
r |
Vector of time series returns. |
sigma2 |
robust squared volatility estimation (or initial value of squared volatility) |
Details
This function is used in the robust estimation. We can use it to evaluate the value of the loss function using several values of the vector parameters (theta)
Value
Returns the value of the loss function
Author(s)
Carlos Trucíos
References
Boudt, Kris, Jon Danielsson, and Sébastien Laurent. Robust forecasting of dynamic conditional correlation GARCH models. International Journal of Forecasting 29.2 (2013): 244-257.
Trucíos, Carlos, Luiz K. Hotta, and Esther Ruiz. Robust bootstrap forecast densities for GARCH returns and volatilities. Journal of Statistical Computation and Simulation 87.16 (2017): 3152-3174.
Examples
# Using the Bitcoin daily returns, we estimate the parameter of the GARCH model in a robust way
param = ROBUSTGARCH(returnsexample)
# We can evaluate the loss function using the estimated parameters
ROBUSTGARCHloss_RCPP(param[2:3], returnsexample, param[1]/(1-param[2]-param[3]))
Robust GARCH bootstrap procedure
Description
Robust GARCH (Generalized Autoregressive Conditional Heteroskedastic) Bootstrap procedure of Trucíos et al. (2017)
Usage
RobGARCHBoot(data, n.boot = 1000, n.ahead = 1, ins = FALSE)
Arguments
data |
Vector of time series returns. |
n.boot |
Number of bootsrap replications. By default n.boot = 1000 |
n.ahead |
Numbers of steps-ahead. By default n.ahead = 1 |
ins |
If TRUE in-sample bootstrap returns are calculated. By default ins = FALSE |
Details
More details can be found in Trucíos et at. (2017), Hotta and Trucíos (2018), and Trucíos (2019).
Value
The function returns two lists with the empirical H-steps-ahead bootstrap densities for returns and squared volatilities. If ins = TRUE, a third list with in-sample bootstrap returns is also provided.
Author(s)
Carlos Trucíos
References
Hotta, Luiz Koodi, and Carlos Trucíos. Inference in (M)GARCH models in the presence of additive outliers: Specification, estimation, and prediction. Advances in Mathematics and Applications. Springer, Cham, 2018. 179-202.
Trucíos, Carlos, Luiz K. Hotta, and Esther Ruiz. Robust bootstrap forecast densities for GARCH returns and volatilities. Journal of Statistical Computation and Simulation 87.16 (2017): 3152-3174.
Trucíos, Carlos. Forecasting Bitcoin risk measures: A robust approach. International Journal of Forecasting 35.3 (2019): 836-847.
Examples
# Robust bootstrap forecast densities for returns and volatilities
boot = RobGARCHBoot(returnsexample, n.boot = 1000, n.ahead = 1)
# Obtaining the forecast intervals for returns (95%)
quantile(boot[[1]], prob = c(0.025, 0.975))
# Obtaining the forecast intervals for volatilities (95%)
quantile(boot[[2]], prob = c(0.025, 0.975))
# Risk measures can also be obtained
VaR1 = quantile(boot[[1]], prob = 0.01)
Parallel implementation of the Robust GARCH bootstrap procedure
Description
Robust GARCH (Generalized Autoregressive Conditional Heteroskedastic) Bootstrap procedure of Trucíos et al. (2017)
Usage
RobGARCHBootParallel(data, n.boot = 1000, n.ahead = 1, ncl = 2)
Arguments
data |
Vector of time series returns. |
n.boot |
Number of bootsrap replications. By default n.boot = 1000 |
n.ahead |
Numbers of steps-ahead. By default n.ahead = 1 |
ncl |
Numbers of parallel processes. By default ncl = 2 |
Details
More details can be found in Trucíos et at. (2017), Hotta and Trucíos (2018), and Trucíos (2019).
Value
The function returns two lists with the empirical H-steps-ahead bootstrap densities for returns and squared volatilities.
Author(s)
Carlos Trucíos
References
Hotta, Luiz Koodi, and Carlos Trucíos. Inference in (M)GARCH models in the presence of additive outliers: Specification, estimation, and prediction. Advances in Mathematics and Applications. Springer, Cham, 2018. 179-202.
Trucíos, Carlos, Luiz K. Hotta, and Esther Ruiz. Robust bootstrap forecast densities for GARCH returns and volatilities. Journal of Statistical Computation and Simulation 87.16 (2017): 3152-3174.
Trucíos, Carlos. Forecasting Bitcoin risk measures: A robust approach. International Journal of Forecasting 35.3 (2019): 836-847.
Examples
# Robust bootstrap forecast densities for returns and volatilities
boot = RobGARCHBootParallel(returnsexample, n.boot = 1000, n.ahead = 1)
# Obtaining the forecast intervals for returns (95%)
quantile(boot[[1]], prob = c(0.025, 0.975))
# Obtaining the forecast intervals for volatilities (95%)
quantile(boot[[2]], prob = c(0.025, 0.975))
# Risk measures can also be obtained
VaR1 = quantile(boot[[1]], prob = 0.01)
Estimated Volatility
Description
Using the robust estimated parameters of Boudt et al. (2013) with the modification introduced by Trucíos et at. (2017), we obtain the estimated volatility.
Usage
fitted_Vol(theta,r)
Arguments
theta |
Vector of robust estimated parameters obtained from ROBUSTGARCH function. |
r |
Vector of time series returns. |
Details
More details can be found in Boudt et al. (2013) and Trucíos et at. (2017).
Value
The function returns the estimated volatility from 1 to T+1.
Author(s)
Carlos Trucíos
References
Boudt, Kris, Jon Danielsson, and Sébastien Laurent. Robust forecasting of dynamic conditional correlation GARCH models. International Journal of Forecasting 29.2 (2013): 244-257.
Trucíos, Carlos, Luiz K. Hotta, and Esther Ruiz. Robust bootstrap forecast densities for GARCH returns and volatilities. Journal of Statistical Computation and Simulation 87.16 (2017): 3152-3174.
Examples
# Using the Bitcoin daily returns, we estimate the parameter of the GARCH model in a robust way
param = ROBUSTGARCH(returnsexample)
# With the estimated parameters, we estimate the volatiltiy in a robust way
vol = fitted_Vol(param, returnsexample)
Time series returns for illustrative purposes
Description
Cryptocurrencies report large returns over time. In this sense and with illustrative purposes, we use Bitcoin daily returns from July 2014 to February 2017.