Прогнозирование модели условного отклонения

В этом примере показано, как спрогнозировать модель условного отклонения с помощью forecast.

Загрузите данные и задайте модель.

Загрузите данные курса иностранного обмена Deutschmark/British pound, включенные в тулбокс, и преобразуйте в возвраты. Для численной устойчивости преобразуйте возврат в процентные возвраты.

load Data_MarkPound
r  = price2ret(Data);
pR = 100*r;
T  = length(r);

Задайте и подбирайте модель GARCH (1,1).

Mdl = garch(1,1);
EstMdl = estimate(Mdl,pR);
 
    GARCH(1,1) Conditional Variance Model (Gaussian Distribution):
 
                 Value      StandardError    TStatistic      PValue  
                ________    _____________    __________    __________

    Constant    0.010868      0.0012972        8.3779      5.3898e-17
    GARCH{1}     0.80452       0.016038        50.162               0
    ARCH{1}      0.15432       0.013852        11.141      7.9447e-29

Сгенерируйте прогнозы MMSE.

Используйте подобранную модель, чтобы сгенерировать прогнозы MMSE в 200-периодическом горизонте. Используйте наблюдаемую последовательность возвратов в качестве предварительных образцов данных. По умолчанию forecast выводит соответствующие предварительные условные отклонения. Сравните асимптоту прогноза отклонения с теоретическим безусловным отклонением модели GARCH (1,1 ).

v = forecast(EstMdl,200,pR);
sig2 = EstMdl.Constant/(1-EstMdl.GARCH{1}-EstMdl.ARCH{1});

figure
plot(v,'r','LineWidth',2)
hold on
plot(ones(200,1)*sig2,'k--','LineWidth',1.5)
xlim([0,200])
title('Forecast Conditional Variance')
legend('Forecast','Theoretical','Location','SouthEast')
hold off

Figure contains an axes. The axes with title Forecast Conditional Variance contains 2 objects of type line. These objects represent Forecast, Theoretical.

Прогнозы MMSE сходятся к теоретическому безусловному отклонению примерно после 160 шагов.

См. также

Объекты

Функции

Похожие примеры

Подробнее о