В этом примере показано, как предсказать условную модель отклонения использование forecast.
Загрузите данные об обменном курсе валюты Дойчмарки/Британского фунта, включенные с тулбоксом, и преобразуйте в возвраты. Для числовой устойчивости преобразуйте, возвращается к проценту, возвращается.
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.3897e-17
GARCH{1} 0.80452 0.016038 50.162 0
ARCH{1} 0.15433 0.013852 11.141 7.9449e-29
Используйте подобранную модель, чтобы сгенерировать прогнозы 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
Прогнозы MMSE сходятся к теоретическому безусловному отклонению приблизительно после 160 шагов.