Comparing Forecasts with Simulation Results

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.

  1. 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')
    

  2. 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')
    

  3. 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')
    

  4. 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')
    

  5. 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')
    

  6. 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')
    

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS