dcc_fit {dccmidas}R Documentation

DCC fit (first and second steps)

Description

Obtains the estimation of a variety of DCC models, using as univariate models both GARCH and GARCH-MIDAS specifications.

Usage

dcc_fit(
  r_t,
  univ_model = "sGARCH",
  distribution = "norm",
  MV = NULL,
  K = NULL,
  corr_model = "cDCC",
  lag_fun = "Beta",
  N_c = NULL,
  K_c = NULL,
  out_of_sample = NULL
)

Arguments

r_t

List of daily returns on which estimate a DCC model. Each daily return must be an 'xts' object. Note that the sample period of the returns should be the same. Otherwise, a merge is performed

univ_model

Specification of the univariate model. Valid choices are: some of the specifications used in the rugarch (ugarchspec) and rumidas (ugmfit) packages. More in detail, the models coming from rugarch are: model Valid models (currently implemented) are 'sGARCH', 'eGARCH', 'gjrGARCH', 'iGARCH', and 'csGARCH'. The models implemented from rumidas are: 'GM_skew','GM_noskew', 'DAGM_skew', and 'DAGM_noskew'

distribution

optional Distribution chosen for the univariate estimation. Valid choices are: "norm" (by default) and "std", respectively, for the Normal and Student's t distributions

MV

optional MIDAS variable to include in the univariate estimation, if the model specificied is a GARCH-MIDAS (GM, Engle et al. (2013)) or a Double Asymmetric GM (DAGM, Engle et al. (2013)). In the case of MIDAS-based models, please provide a list of the MIDAS variables obtained from the mv_into_mat function. If the same MV variable is used, then provide always a list, with the same (transformed) variable repeated

K

optional The number of lagged realization of MV variable to use, if 'univ_model' has a MIDAS term

corr_model

Correlation model used. Valid choices are: "cDCC" (the corrected DCC of Aielli (2013)), "aDCC" (the asymmetric DCC model of Cappiello et al. (2006)), "DECO" (Dynamic equicorrelation of Engle and Kelly (2012)), and "DCCMIDAS" (the DCC-MIDAS of Colacito et al. (2011)). By detault, it is "cDCC"

lag_fun

optional. Lag function to use. Valid choices are "Beta" (by default) and "Almon", for the Beta and Exponential Almon lag functions, respectively, if 'univ_model' has a MIDAS term and/or if 'corr_model' is "DCCMIDAS"

N_c

optional Number of (lagged) realizations to use for the standarized residuals forming the long-run correlation, if 'corr_model' is "DCCMIDAS"

K_c

optional Number of (lagged) realizations to use for the long-run correlation, if 'corr_model' is "DCCMIDAS"

out_of_sample

optional A positive integer indicating the number of periods before the last to keep for out of sample forecasting

Details

Function dcc_fit implements the two-steps estimation of the DCC models. In the first step, a variety of univariate models are considered. These models can be selected using for the parameter 'univ_model' one of the following choices: 'sGARCH' (standard GARCH of Bollerslev (1986)), 'eGARCH' of Nelson (1991), 'gjrGARCH' of Glosten et al. (1993), 'iGARCH' (Integrated GARCH of Engle and Bollerslev (1986)), 'csGARCH' (the Component GARCH of Engle and Lee (1999)), 'GM_noskew' and 'GM_skew' (the GARCH-MIDAS model of Engle et al. (2013), respectively, without and with the asymmetric term in the short-run component), and 'DAGM_noskew' and 'DAGM_skew' (the Double Asymmetric GARCH-MIDAS model of Amendola et al. (2019), respectively, without and with the asymmetric term in the short-run component).

Value

dcc_fit returns an object of class 'dccmidas'. The function summary.dccmidas can be used to print a summary of the results. Moreover, an object of class 'dccmidas' is a list containing the following components:

References

Aielli GP (2013). “Dynamic conditional correlation: on properties and estimation.” Journal of Business & Economic Statistics, 31(3), 282–299. doi:10.1080/07350015.2013.771027.

Amendola A, Candila V, Gallo GM (2019). “On the asymmetric impact of macro–variables on volatility.” Economic Modelling, 76, 135–152. doi:10.1016/j.econmod.2018.07.025.

Bollerslev T (1986). “Generalized autoregressive conditional heteroskedasticity.” Journal of Econometrics, 31(3), 307–327. doi:10.1016/0304-4076(86)90063-1.

Bollerslev T, Wooldridge JM (1992). “Quasi-maximum likelihood estimation and inference in dynamic models with time-varying covariances.” Econometric Reviews, 11, 143–172. doi:10.1080/07474939208800229.

Cappiello L, Engle RF, Sheppard K (2006). “Asymmetric dynamics in the correlations of global equity and bond returns.” Journal of Financial Econometrics, 4(4), 537–572. doi:10.1093/jjfinec/nbl005.

Colacito R, Engle RF, Ghysels E (2011). “A component model for dynamic correlations.” Journal of Econometrics, 164(1), 45–59. doi:10.1016/j.jeconom.2011.02.013.

Engle R, Kelly B (2012). “Dynamic equicorrelation.” Journal of Business & Economic Statistics, 30(2), 212–228. doi:10.1080/07350015.2011.652048.

Engle RF, Bollerslev T (1986). “Modelling the persistence of conditional variances.” Econometric Reviews, 5(1), 1–50. doi:10.1080/07474938608800095.

Engle RF, Ghysels E, Sohn B (2013). “Stock market volatility and macroeconomic fundamentals.” Review of Economics and Statistics, 95(3), 776–797. doi:10.1162/REST_a_00300.

Engle RF, Lee GJ (1999). “A Long-run and Short-run Component Model of Stock Return Volatility.” In Engle RF, White H (eds.), Cointegration, Causality, and Forecasting: A Festschrift in Honor of Clive W. J. Granger, 475–497. Oxford University Press, Oxford.

Glosten LR, Jagannathan R, Runkle DE (1993). “On the relation between the expected value and the volatility of the nominal excess return on stocks.” The Journal of Finance, 48(5), 1779–1801. doi:10.1111/j.1540-6261.1993.tb05128.x.

Nelson DB (1991). “Conditional heteroskedasticity in asset returns: A new approach.” Econometrica, 59(2), 347–370. doi:10.2307/2938260.

Examples


require(xts)
# daily log-returns
# close to close daily log-returns
r_t_s<-diff(log(sp500['2010/2019'][,3]))
r_t_s[1]<-0
r_t_n<-diff(log(nasdaq['2010/2019'][,3]))
r_t_n[1]<-0
r_t_f<-diff(log(ftse100['2010/2019'][,3]))
r_t_f[1]<-0
db_m<-merge.xts(r_t_s,r_t_n,r_t_f)
db_m<-db_m[complete.cases(db_m),]
colnames(db_m)<-c("S&P500","NASDAQ","FTSE100")
# list of returns
r_t<-list(db_m[,1],db_m[,2],db_m[,3])
# MV transformation (same MV for all the stocks)
require(rumidas)
mv_m<-mv_into_mat(r_t[[1]],diff(indpro),K=12,"monthly")
# list of MV
MV<-list(mv_m,mv_m,mv_m)
# estimation
K_c<-144
N_c<-36
dccmidas_est<-dcc_fit(r_t,univ_model="GM_noskew",distribution="norm",
MV=MV,K=12,corr_model="DCCMIDAS",N_c=N_c,K_c=K_c)
dccmidas_est
summary.dccmidas(dccmidas_est)


[Package dccmidas version 0.1.2 Index]