4

I used ugarchroll to backtest my garch model on S&P returns

this is my code

library(rugarch)
library(quantmod)
getSymbols("SPY")

rets = ROC(SPY$SPY.Close, na.pad = FALSE)

tgarch = ugarchspec(mean.model = list(armaOrder = c(1, 1)), 
                    variance.model = list(model = "sGARCH"),
                    distribution.model = "std")


garchroll <- ugarchroll(tgarch, data=rets, n.start=500, 
                        refit.window="window", refit.every=200)

however I am having trouble evaluating my model backtest . I tried to evaluate my model using MAPE - this was the code I used to get the MAPE OF my backtest

library(forecast)
preds<-as.data.frame(garchroll)

accuracy(preds$Mu, preds$Realized)

however When I tried to get my MAPE got

Inf

I also tried to use the report function to evaluate my model

report(garchroll)

however I do not know how to interpret the results of my model

VaR Backtest Report
===========================================
Model:              sGARCH-std
Backtest Length:    2719
Data:               

==========================================
alpha:              1%
Expected Exceed:    27.2
Actual VaR Exceed:  50
Actual %:           1.8%

Unconditional Coverage (Kupiec)
Null-Hypothesis:    Correct Exceedances
LR.uc Statistic:    15.491
LR.uc Critical:     3.841
LR.uc p-value:      0
Reject Null:        YES

Conditional Coverage (Christoffersen)
Null-Hypothesis:    Correct Exceedances and
                    Independence of Failures
LR.cc Statistic:    16.486
LR.cc Critical:     5.991
LR.cc p-value:      0
Reject Null:        YES

please help me interpret the results of my garch model your help will be greatly appreciated

Pelumi
  • 329
  • 1
  • 8

1 Answers1

1

If your label data contains any zeroes, the MAPE of any prediction when the label is 0 is infinite...

Psi
  • 191
  • 1
  • 6
  • 1
    Thank you for responding to my question .Is there a reason that there are zeroes in my data . Also How do I interpret the results of my model from the var backtest report – Pelumi Oct 22 '19 at 15:15
  • There are many reasons why zeros can arise (and indeed why they cause division by zero issues, such as exploding MAPE that you see). While I cannot tell you exactly which reason you are facing as I don't see your data, here are some ideas/possibilities:
    1. Zeros in data can arise from your original data provider (scrapers can return the value 0 when they don't find the data).

    2. Zeros can also arise from poor NA-value handling (some csv readers will treat missing values or "nan" values as zero).

    – Psi Oct 22 '19 at 16:20