| GARCH Toolbox™ | ![]() |
The fourth part of this example graphically compares the forecasts from Forecasting with their counterparts derived from Forecasting Using Monte Carlo Simulation. The first four figures compare directly each of the garchpred outputs, in turn, with the corresponding statistical result obtained from simulation. The last two figures illustrate histograms from which you can compute approximate probability density functions and empirical confidence bounds.
Note For an EGARCH model, multi-period MMSE forecasts are generally downward-biased and underestimate their true expected values for conditional variance forecasts. This is not true for one-period-ahead forecasts, which are unbiased in all cases. For unbiased multi-period forecasts of sigmaForecast, sigmaTotal, and meanRMSE, you can perform Monte Carlo simulation using garchsim. For more information, see Asymptotic Behavior for Long-Range Forecast Horizons. |
Compare the first garchpred output, sigmaForecast (the conditional standard deviations of future innovations), with its counterpart derived from the Monte Carlo simulation:
figure
plot(sigmaForecast,'.-b')
hold('on')
grid('on')
plot(sqrt(mean(sSim.^2,2)),'.r')
title('Forecast of STD of Residuals')
legend('forecast results','simulation results')
xlabel('Forecast Period')
ylabel('Standard Deviation')

Compare the second garchpred output, meanForecast(the MMSE forecasts of the conditional mean of the nasdaq return series), with its counterpart derived from the Monte Carlo simulation:
figure(2)
plot(meanForecast,'.-b')
hold('on')
grid('on')
plot(mean(ySim,2),'.r')
title('Forecast of Returns')
legend('forecast results','simulation results',4)
xlabel('Forecast Period')
ylabel('Return')

Compare the third garchpred output, sigmaTotal, that is, cumulative holding period returns, with its counterpart derived from the Monte Carlo simulation:
holdingPeriodReturns = log(ret2price(ySim,1));
figure(3)
plot(sigmaTotal,'.-b')
hold('on')
grid('on')
plot(std(holdingPeriodReturns(2:end,:)'),'.r')
title('Forecast of STD of Cumulative Holding Period Returns')
legend('forecast results','simulation results',4)
xlabel('Forecast Period')
ylabel('Standard Deviation')

Compare the fourth garchpred output, meanRMSE, that is the root mean square errors (RMSE) of the forecasted returns, with its counterpart derived from the Monte Carlo simulation:
figure(4)
plot(meanRMSE,'.-b')
hold('on')
grid('on')
plot(std(ySim'),'.r')
title('Standard Error of Forecast of Returns')
legend('forecast results','simulation results')
xlabel('Forecast Period')
ylabel('Standard Deviation')

Use a histogram to illustrate the distribution of the cumulative holding period return obtained if an asset was held for the full 30-day forecast horizon. That is, plot the return obtained by purchasing a mutual fund that mirrors the performance of the NASDAQ Composite Index today, and sold after 30 days. This histogram is directly related to the final red dot in step 3:
figure(5)
hist(holdingPeriodReturns(end,:),30)
grid('on')
title('Cumulative Holding Period Returns at Forecast Horizon')
xlabel('Return')
ylabel('Count')

Use a histogram to illustrate the distribution of the single-period return at the forecast horizon, that is, the return of the same mutual fund, the 30th day from now. This histogram is directly related to the final red dots in steps 2 and 4:
figure(6)
hist(ySim(end,:),30)
grid('on')
title('Simulated Returns at Forecast Horizon')
xlabel('Return')
ylabel('Count')

Note Detailed analyses of such elaborate conditional mean and variance models are not usually required to describe typical financial time series. Furthermore, such a graphical analysis may not necessarily make sense for a given model. This example is intended to highlight the range of possibilities and provide a deeper understanding of the interaction between the simulation, forecasting, and estimation engines. For more information, see garchsim, garchpred, and garchfit. |
![]() | Forecasting Using Monte Carlo Simulation | Function Reference | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |