Get startedGet started for free

Model risk

1. Model risk is the risk of using the wrong model

GARCH models are used for financial decision making. Unfortunately, there is always a risk of making bad decisions by using a wrong model.

2. Sources of model risk and solutions

You can have a wrong model for several reasons. The most obvious one is that you made the wrong assumptions when modeling. The second one is that the optimization failed to find accurate parameters due to bad starting values. Third, there can be outliers in the return series leading to a biased volatility prediction. The solution for this is to protect yourself by taking a robust approach to GARCH modeling. Don't use a single model for your prediction but take an average across the predictions of several plausible models. It is also important to check the sensitivity of the results with respect to the starting values used, and to remove the outliers from your data.

3. Model averaging

Here you see an example of model averaging. Assume that you cannot choose between a standard GARCH or GJR GARCH, and that you also think that the normal, student t, or skewed student t are all three plausible distributions, then you could decide to estimate all six model combinations.

4. All six vol predictions

You then get six different volatility predictions for each date. You see that they are highly correlated with each other. Instead of picking just one, a robust approach is to take the average one.

5. The average vol prediction

The daily average of the six prediction correspond to the mean of each row.

6. Robustness to starting values

A second source of model risk is a bad estimation of the GARCH model parameters. There are many parameters to estimate by optimizing the likelihood function. This optimization is numeric and uses iterative improvements to find the solution. These iterations are initialized at starting value for which rugarch sets good default values. It is however relevant to check whether your estimation results change when changing the starting values. You can do this by applying the `setstart()` method to your `ugarchspec()` model specification.

7. Estimation with default starting values

Here you see first the results of a GARCH estimation using the default starting values. Note in particular that the estimated alpha is 0-point-07, the estimated beta is 0-point-92 and the shape parameter is around 6-point-3.

8. Estimation with modified starting values

Suppose now that we set the starting values for alpha at 0-point-05, for beta at 0-point-9 and for the shape at 8. We then find that the new estimates are very similar to the previous ones and that they reach the same likelihood. In this case we find that there is almost no sensitivity to the starting values and you can thus trust the default ones.

9. Cleaning the data

A final issue is the potential presence of outliers in the return data that can distort the volatility predictions. A simple solution is to clean them through winsorization. This means that the magnitude of the extremes is reduced to a sensible level. You can do this using the Return.clean function in PerformanceAnalytics. Make sure to set the argument method to Boudt such that you use my method of cleaning the data. You see here an illustration for the daily Microsoft returns.

10. Raw versus cleaned Microsoft returns

In red are the original returns. In blue the cleaned ones. You clearly see the winsorization of the extreme ones, while preserving the volatility clusters.

11. Impact of cleaning on volatility prediction

To see the impact of the cleaning on the volatility prediction you can estimate it once on the raw return and once on the cleaned returns. The volatility predictions are then shown together in a time series plot.

12. Impact of cleaning on predicted volatility

You can see that the cleaning leads to less extreme spikes in the volatility series.

13. Be a robustnik: it is better to be roughly right than exactly wrong

To conclude, it's good to be a robustnik. Design your analysis in a robust way to avoid model risk. It is better to roughly right than exactly wrong.