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

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

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

Загрузите данные курса иностранного обмена Deutschmark/British pound, включенные в тулбокс, и преобразуйте в возвраты. Задайте и подбирайте модель GARCH (1,1 ).

load Data_MarkPound
r = price2ret(Data);
T = length(r);
Mdl = garch(1,1);
EstMdl = estimate(Mdl,r);
 
    GARCH(1,1) Conditional Variance Model (Gaussian Distribution):
 
                  Value       StandardError    TStatistic      PValue  
                __________    _____________    __________    __________

    Constant    1.0535e-06     3.5048e-07        3.0058       0.0026487
    GARCH{1}       0.80657        0.01291        62.478               0
    ARCH{1}        0.15436       0.011574        13.336      1.4293e-40
v0 = infer(EstMdl,r);

Шаг 2. Моделирование возвратов валютного курса.

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

rng default; % For reproducibility
[V,Y] = simulate(EstMdl,1000,'NumPaths',25,...
    'E0',r,'V0',v0);

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

subplot(2,1,2)
plot(r)
hold on
plot(T+1:T+1000,Y)
xlim([0,T+1000])
title('Returns')
hold off

Figure contains 2 axes. Axes 1 with title Conditional Variances contains 26 objects of type line. Axes 2 with title Returns contains 26 objects of type line.

Шаг 3. Постройте график распределения возвращаемых значений в будущем.

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

rng default; % For reproducibility
[V,Y] = simulate(EstMdl,500,'NumPaths',1000,...
    'E0',r-EstMdl.Offset,'V0',v0);

figure
histogram(Y(500,:),10)
title('Return Distribution in 500 Days')

Figure contains an axes. The axes with title Return Distribution in 500 Days contains an object of type histogram.

См. также

Объекты

Функции

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

Подробнее о