Моделируйте модели GARCH

Этот пример показывает, как моделировать от процесса GARCH с и не задавая преддемонстрационные данные. Демонстрационные безусловные отклонения симуляций Монте-Карло аппроксимируют теоретическое безусловное отклонение GARCH.

Шаг 1. Задайте модель GARCH.

Задайте модель GARCH(1,1) εt=σtzt, где распределение zt является Гауссовым и

σt2=0.01+0.7σt-12+0.25εt-12.

Mdl = garch('Constant',0.01,'GARCH',0.7,'ARCH',0.25)
Mdl = 
  garch with properties:

     Description: "GARCH(1,1) Conditional Variance Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 1
               Q: 1
        Constant: 0.01
           GARCH: {0.7} at lag [1]
            ARCH: {0.25} at lag [1]
          Offset: 0

Шаг 2. Моделируйте из модели, не используя преддемонстрационные данные.

Моделируйте пять путей длины 100 из модели GARCH(1,1), не задавая преддемонстрационных инноваций или условных отклонений. Отобразите первое условное отклонение для каждого из пяти демонстрационных путей. Моделируемая модель не имеет среднего смещения, таким образом, ряд ответа является инновационным рядом.

rng default; % For reproducibility
[Vn,Yn] = simulate(Mdl,100,'NumPaths',5);

Vn(1,:) % Display variances
ans = 1×5

    0.1645    0.3182    0.4051    0.1872    0.1551

figure
subplot(2,1,1)
plot(Vn)
xlim([0,100])
title('Conditional Variances')

subplot(2,1,2)
plot(Yn)
xlim([0,100])
title('Innovations')

Стартовые условные отклонения отличаются для каждой реализации, потому что никакие преддемонстрационные данные не были заданы.

Шаг 3. Моделируйте из модели с помощью преддемонстрационных данных.

Моделируйте пять путей длины 100 из модели, задав ту требуемые преддемонстрационные инновации и условное отклонение. Отобразите первое условное отклонение для каждого из пяти демонстрационных путей.

rng default;
[Vw,Yw] = simulate(Mdl,100,'NumPaths',5,...
    'E0',0.05,'V0',0.001);
 
Vw(1,:)
ans = 1×5

    0.0113    0.0113    0.0113    0.0113    0.0113

 
figure
subplot(2,1,1)
plot(Vw)
xlim([0,100])
title('Conditional Variances')
 
subplot(2,1,2)
plot(Yw)
xlim([0,100])
title('Innovations')

Все пять демонстрационных путей имеют то же стартовое условное отклонение, вычисленное использование преддемонстрационных данных.

Обратите внимание на то, что даже с тем же стартовым отклонением, реализация инновационного ряда имеет различные отправные точки. Это вызвано тем, что каждый ε1 случайная ничья от Распределения Гаусса со средним значением 0 и отклонением σ1=0.0113.

Шаг 4. Посмотрите на безусловные отклонения.

Моделируйте 10 000 демонстрационных путей длины 500 из заданной модели GARCH. Постройте демонстрационные безусловные отклонения симуляций Монте-Карло и сравните их с теоретическим безусловным отклонением,

σε2=κ(1-γ1-α1)=0.01(1-0.7-0.25)=0.2.

sig2 = 0.01/(1-0.7-0.25);

rng default;
[V,Y] = simulate(Mdl,500,'NumPaths',10000);

figure
plot(var(Y,0,2),'Color',[.7,.7,.7],'LineWidth',1.5)
xlim([0,500])
hold on
plot(1:500,ones(500,1)*sig2,'k--','LineWidth',2)
legend('Simulated','Theoretical','Location','NorthWest')
title('Unconditional Variance')
hold off

Моделируемые безусловные отклонения колеблются вокруг теоретического безусловного отклонения.

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

Объекты

Функции

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

Больше о