В этом примере показано, как предсказать ответы и условные отклонения от составного условного среднего значения и модели отклонения.
Загрузите данные NASDAQ, включенные с тулбоксом. Соответствуйте условному среднему значению и модели отклонения к данным.
load Data_EquityIdx nasdaq = DataTable.NASDAQ; r = price2ret(nasdaq); N = length(r); Mdl = arima('ARLags',1,'Variance',garch(1,1),... 'Distribution','t'); EstMdl = estimate(Mdl,r,'Variance0',{'Constant0',0.001});
ARIMA(1,0,0) Model (t Distribution):
Value StandardError TStatistic PValue
_________ _____________ __________ __________
Constant 0.0010108 0.00016919 5.9744 2.3088e-09
AR{1} 0.14268 0.019128 7.4593 8.6982e-14
DoF 7.6096 0.92474 8.2289 1.8891e-16
GARCH(1,1) Conditional Variance Model (t Distribution):
Value StandardError TStatistic PValue
__________ _____________ __________ __________
Constant 1.5013e-06 6.2224e-07 2.4127 0.015833
GARCH{1} 0.89624 0.011398 78.633 0
ARCH{1} 0.099554 0.011663 8.5358 1.392e-17
DoF 7.6096 0.92474 8.2289 1.8891e-16
[E0,V0] = infer(EstMdl,r);
Используйте forecast вычислить прогнозы MMSE возвратов и условных отклонений для будущего горизонта с 1000 периодами. Используйте наблюдаемые возвраты и выведенные остаточные значения и условные отклонения как преддемонстрационные данные.
[Y,YMSE,V] = forecast(EstMdl,1000,r,'E0',E0,'V0',V0); upper = Y + 1.96*sqrt(YMSE); lower = Y - 1.96*sqrt(YMSE); figure subplot(2,1,1) plot(r,'Color',[.75,.75,.75]) hold on plot(N+1:N+1000,Y,'r','LineWidth',2) plot(N+1:N+1000,[upper,lower],'k--','LineWidth',1.5) xlim([0,N+1000]) title('Forecasted Returns') hold off subplot(2,1,2) plot(V0,'Color',[.75,.75,.75]) hold on plot(N+1:N+1000,V,'r','LineWidth',2); xlim([0,N+1000]) title('Forecasted Conditional Variances') hold off

Условные прогнозы отклонения сходятся к асимптотическому отклонению условной модели отклонения GARCH. Предсказанные возвраты сходятся к предполагаемой константе модели (безусловное среднее значение условной средней модели AR).