Моделируйте условные модели среднего значения и отклонения

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

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

Загрузите данные 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.1414e-08
    AR{1}        0.13911      0.018857         7.3771      1.6172e-13
    DoF           7.4775       0.88262          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.0711e-16
    DoF           7.4775        0.88262         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
plot(v0)
hold on
plot(T+1:T+1000,v)
xlim([0,T+1000])
title('Simulated Conditional Variances')
hold off

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

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

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

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

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

Смотрите также

| | |

Связанные примеры

Больше о