# How can I apply the GARCH-MIDAS model to the FTSE MIB using the CPU as an explanatory variable?

I am trying to understand how climate risk impacts the financial market and I am calculating VaR and ES. I am applying the GARCH-MIDAS model to the FTSE MIB, using the Climate Policy Uncertainty Index (CPU) by Konstantinos Gavriilidis as an explanatory variable.

The problem is that within my model confidence set, the best results are given by the GARCH and GJR models, while the GARCH-MIDAS is always the worst. Is this possible?

P.S. I am using functions provided by my professor to calculate the GARCH-MIDAS.

• What is impossible is that GARCH-MIDAS would never be the worst model. The opposite is therefore a given, and so your case is possible. We would need more details to evaluate how plausible that is, though. Commented Jun 27 at 8:37
• FTSEMIB presents daily returns and CPU is monthly. To calculate the VaR and ES in the GARCH MIDAS, I use this function: fit_gm_nA <- ugmfit( model = "GM", skew = "NO", distribution = "norm", daily_ret = rendimenti_FTSEMIB_day, mv_m = cpu_mv, K = K, R = 1000, out_of_sample = 639) To calculate the VaR and ES out of sample, the code is as follows: VaR_gm_n_oos<-qnorm(0.05)*fit_gm_nA$est_vol_oos ES_gm_n_oos<- -fit_gm_nA$est_vol_oos*dnorm(qnorm(0.05))/0.05
– ELIO
Commented Jun 27 at 10:13
• While to calculate the VaR and ES in GARCH and also in GJR, I use: pred_garch_11oos <- ugarchforecast( fitORspec = fit_garch_11is, data = rendimenti_FTSEMIB_day, n.ahead = 1, n.roll = (TT_oos - 1)) # Conditional variance pred_garch_11_cond_var <- pred_garch_11oos@forecast\$sigmaFor u_garch_11 <- residuals(fit_garch_11is) h_garch_11 <- sigma(fit_garch_11is) z_garch_11 <- u_garch_11 / h_garch_11 # 5% quantile of standardized residuals z05_garch_11 <- quantile(z_garch_11, 0.05) z05_garch_11
– ELIO
Commented Jun 27 at 10:18
• # Conditional mean of standardized residuals below the 5% quantile c05_garch_11 <- mean(z_garch_11[z_garch_11 < z05_garch_11]) c05_garch_11 # VaR # Multiply the standardized quantile by the conditional var VaR_garch_oos_n <- z05_garch_11 * pred_garch_11_cond_var # ES # Multiply the standardized conditional mean by the conditional var ES_garch_oos_n <- c05_garch_11 * pred_garch_11_cond_var
– ELIO
Commented Jun 27 at 10:19