Симулируйте модели 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. Axes 1 with title Conditional Variances contains 5 objects of type line. Axes 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. Axes 1 with title Conditional Variances contains 5 objects of type line. Axes 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. The axes with title Unconditional Variance contains 2 objects of type line. These objects represent Simulated, Theoretical.

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

См. также

Объекты

Функции

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

Подробнее о