Симулируйте модели 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')

Figure contains 2 axes objects. Axes object 1 with title Conditional Variances contains 5 objects of type line. Axes object 2 with title Innovations contains 5 objects of type line.

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

Шаг 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')

Figure contains 2 axes objects. Axes object 1 with title Conditional Variances contains 5 objects of type line. Axes object 2 with title Innovations contains 5 objects of type line.

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

Обратите внимание на то, что даже с тем же стартовым отклонением, реализация инновационного ряда имеет различные начальные точки. Это вызвано тем, что каждый ε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

Figure contains an axes object. The axes object with title Unconditional Variance contains 2 objects of type line. These objects represent Simulated, Theoretical.

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

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

Объекты

Функции

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

Больше о