Симулируйте условные модели среднего и отклонения

Этот пример показывает, как моделировать отклики и условные отклонения от композитной условной модели среднего и дисперсии.

Загрузка данных и подбор модели

Загрузите данные NASDAQ, включенные в тулбокс. Подгонка условной модели среднего и отклонения к ежедневным возвратам. Масштабируйте возвраты к процентам для числовой устойчивости

load Data_EquityIdx
nasdaq = DataTable.NASDAQ;
r = 100*price2ret(nasdaq);
T = 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.093488      0.016694         5.6002      2.1413e-08
    AR{1}        0.13911      0.018857         7.3771      1.6175e-13
    DoF           7.4775       0.88261          8.472      2.4126e-17

 
 
    GARCH(1,1) Conditional Variance Model (t Distribution):
 
                 Value      StandardError    TStatistic      PValue  
                ________    _____________    __________    __________

    Constant    0.011246      0.0036305        3.0976       0.0019511
    GARCH{1}     0.90766       0.010516        86.315               0
    ARCH{1}     0.089897       0.010835        8.2966      1.0712e-16
    DoF           7.4775        0.88261         8.472      2.4126e-17
[e0,v0] = infer(EstMdl,r);

Симулируйте возвраты, инновации и условные отклонения

Использование simulate чтобы сгенерировать 100 путей расчета для возвратов, инноваций и условных отклонений для 1000-периодического будущего горизонта. Используйте наблюдаемые возвраты и выведенные невязки и условные отклонения в качестве предварительных образцов данных.

rng 'default';
[y,e,v] = simulate(EstMdl,1000,'NumPaths',100,...
    'Y0',r,'E0',e0,'V0',v0);

figure
plot(r)
hold on
plot(T+1:T+1000,y)
xlim([0,T+1000])
title('Simulated Returns')
hold off

Figure contains an axes. The axes with title Simulated Returns contains 101 objects of type line.

Симуляция показывает повышенную волатильность по прогнозному горизонту.

Построение условных отклонений

Постройте график выводимых и моделируемых условных отклонений.

figure
plot(v0)
hold on
plot(T+1:T+1000,v)
xlim([0,T+1000])
title('Simulated Conditional Variances')
hold off

Figure contains an axes. The axes with title Simulated Conditional Variances contains 101 objects of type line.

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

Построение стандартизированных инноваций

Стандартизируйте инновации, используя квадратный корень процесса условного отклонения. Постройте график стандартизированных инноваций на прогнозном горизонте.

figure
plot(e./sqrt(v))
xlim([0,1000])
title('Simulated Standardized Innovations')

Figure contains an axes. The axes with title Simulated Standardized Innovations contains 100 objects of type line.

Подобранная модель предполагает, что стандартизированные инновации следуют стандартизированному распределению Student's t. Таким образом, моделируемые инновации имеют более большие значения, чем ожидалось бы от Гауссова инновационного распределения.

См. также

| | |

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

Подробнее о