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

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

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

Загрузите данные об обменном курсе валюты Дойчмарки/Британского фунта, включенные с тулбоксом, и преобразуйте в возвраты. Задайте и подбирайте модель 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.0538e-06     3.5053e-07        3.0063       0.0026443
    GARCH{1}       0.80653       0.012913        62.458               0
    ARCH{1}        0.15439       0.011578        13.335      1.4463e-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 objects. Axes object 1 with title Conditional Variances contains 26 objects of type line. Axes object 2 with title Returns contains 26 objects of type line.

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

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

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 object. The axes object with title Return Distribution in 500 Days contains an object of type histogram.

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

Объекты

Функции

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

Больше о