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

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

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

Загрузите данные 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.6174e-13
    DoF           7.4775       0.88261          8.472      2.4125e-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.4125e-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 object. The axes object 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 object. The axes object 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 object. The axes object with title Simulated Standardized Innovations contains 100 objects of type line.

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

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

| | |

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

Больше о