В этом примере показано, как предсказать ответы и условные отклонения от составного условного среднего значения и модели отклонения.
Загрузите данные 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.00091729 0.00016853 5.4428 5.2456e-08 AR{1} 0.14199 0.019173 7.4055 1.3064e-13 DoF 7.8762 0.96375 8.1725 3.0201e-16 GARCH(1,1) Conditional Variance Model (t Distribution): Value StandardError TStatistic PValue __________ _____________ __________ __________ Constant 1.2593e-06 5.937e-07 2.1211 0.033917 GARCH{1} 0.90095 0.010844 83.084 0 ARCH{1} 0.096954 0.011281 8.5947 8.3491e-18 DoF 7.8762 0.96375 8.1725 3.0201e-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).