Suppose I downloaded the closing price of a company, say Google or whatever, I want to use GARCH model to model and forecast the volatility of the return.
To simplify, I only have two questions.
As we know, GARCH is used to predict volatility. But, after we get the new return(or price) data, how well is the GARCH prediction? Is there any quantitative method to evaluate this?
Once we decided to use GARCH(p,q), how do we choose the order p and q?(for example, if we choose (p,q)=(1,1), then why we do not choose(2,2) or whatever)
To be more specific,
If I use GARCH(1,1) to model the returns, how do we know that the result fit the real data very well? Is there any way to evaluate this thing? (Is this the goodness-of-fit problem? )
When I was thinking about the previous problem, a new one came to me. Suppose I use the ARMA-GARCH model to model the return data. ARMA is to model the return, and GARCH to model the volatility. In this way, how do we evaluate the fitted ARMA-GARCH result? Suppose I use the data up to last week to forecast the return and its volatility in this week. Then, I can use this week's price to calculate real return, and then compare with the predicted return by ARMA, to see how well it works. BUT, how do we know how well is the predicted volatility by GARCH???I mean, the return in this week is a random variable in the view of last week, and it has a standard deviation, which is the volatility, and we can use the GARCH to forecast it. However, after I know the real return in this week, it becomes a constant, and there is no volatility since there is no randomness. Thus, I do not have the real volatility...In this way, how do I evaluate the result of GARCH? I do not have a standard to compare with.
How do we determine the orders of GARCH. Once I download the data, how do I know whether I need to use ARMA(1,1)-GARCH(1,1) or ARMA(20,30)-GARCH(40,50)? Or, is there any theory or function in Matlab help us to do the selection?