exponenta event banner

моделировать

Монте-Карло моделирование моделей условной дисперсии

Описание

пример

V = simulate(Mdl,numObs) моделирует numObs-период пути условной дисперсии из полностью заданной модели условной дисперсии Mdl. Mdl может быть garch, egarch, или gjr модель.

пример

V = simulate(Mdl,numObs,Name,Value) моделирует пути условных отклонений с дополнительными опциями, заданными одним или несколькими Name,Value аргументы пары. Например, можно создать несколько путей выборки или указать пути предварительной выборки инноваций.

пример

[V,Y] = simulate(___) дополнительно моделирует пути ответа с использованием любого из входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Моделирование путей условной дисперсии и отклика из модели GARCH (1,1 ).

Укажите модель GARCH (1,1) с известными параметрами .

Mdl = garch('Constant',0.01,'GARCH',0.7,'ARCH',0.2);

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

rng default; % For reproducibility
[V,Y] = simulate(Mdl,100,'NumPaths',500);

figure
subplot(2,1,1)
plot(V)
title('Simulated Conditional Variances')

subplot(2,1,2)
plot(Y)
title('Simulated Responses')

Figure contains 2 axes. Axes 1 with title Simulated Conditional Variances contains 500 objects of type line. Axes 2 with title Simulated Responses contains 500 objects of type line.

Смоделированные ответы выглядят как черпания из стационарного стохастического процесса.

Постройте график 2,5-го, 50-го (медиана) и 97,5-го процентилей моделируемых условных дисперсий.

lower = prctile(V,2.5,2);
middle = median(V,2);
upper = prctile(V,97.5,2);

figure
plot(1:100,lower,'r:',1:100,middle,'k',...
		 1:100,upper,'r:','LineWidth',2)
legend('95% Interval','Median')
title('Approximate 95% Intervals')

Figure contains an axes. The axes with title Approximate 95% Intervals contains 3 objects of type line. These objects represent 95% Interval, Median.

Интервалы асимметричны из-за ограничений позитивности условной дисперсии.

Моделирование путей условных отклонений и ответов из модели EGARCH (1,1 ).

Укажите модель EGARCH (1,1) с известными параметрами .

Mdl = egarch('Constant',0.001,'GARCH',0.7,'ARCH',0.2,...
            'Leverage',-0.3);

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

rng default; % For reproducibility
[V,Y] = simulate(Mdl,100,'NumPaths',500);

figure
subplot(2,1,1)
plot(V)
title('Simulated Conditional Variances')

subplot(2,1,2)
plot(Y)
title('Simulated Responses (Innovations)')

Figure contains 2 axes. Axes 1 with title Simulated Conditional Variances contains 500 objects of type line. Axes 2 with title Simulated Responses (Innovations) contains 500 objects of type line.

Смоделированные ответы выглядят как черпания из стационарного стохастического процесса.

Постройте график 2,5-го, 50-го (медиана) и 97,5-го процентилей моделируемых условных дисперсий.

lower = prctile(V,2.5,2);
middle = median(V,2);
upper = prctile(V,97.5,2);

figure
plot(1:100,lower,'r:',1:100,middle,'k',...
     1:100, upper,'r:','LineWidth',2)
legend('95% Interval','Median')
title('Approximate 95% Intervals')

Figure contains an axes. The axes with title Approximate 95% Intervals contains 3 objects of type line. These objects represent 95% Interval, Median.

Интервалы асимметричны из-за ограничений позитивности условной дисперсии.

Моделирование путей условной дисперсии и отклика из модели GJR (1,1 ).

Укажите модель GJR (1,1) с известными параметрами .

Mdl = gjr('Constant',0.001,'GARCH',0.7,'ARCH',0.2,...
    'Leverage',0.1);

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

rng default; % For reproducibility
[V,Y] = simulate(Mdl,100,'NumPaths',500);

figure
subplot(2,1,1)
plot(V)
title('Simulated Conditional Variances')

subplot(2,1,2)
plot(Y)
title('Simulated Responses (Innovations)')

Figure contains 2 axes. Axes 1 with title Simulated Conditional Variances contains 500 objects of type line. Axes 2 with title Simulated Responses (Innovations) contains 500 objects of type line.

Смоделированные ответы выглядят как черпания из стационарного стохастического процесса.

Постройте график 2,5-го, 50-го (медиана) и 97,5-го процентилей моделируемых условных дисперсий.

lower = prctile(V,2.5,2);
middle = median(V,2);
upper = prctile(V,97.5,2);

figure
plot(1:100,lower,'r:',1:100,middle,'k',...
     1:100, upper,'r:','LineWidth',2)
legend('95% Interval','Median')
title('Approximate 95% Intervals')

Figure contains an axes. The axes with title Approximate 95% Intervals contains 3 objects of type line. These objects represent 95% Interval, Median.

Интервалы асимметричны из-за ограничений позитивности условной дисперсии.

Моделирование условных отклонений ежедневных возвратов NASDAQ Composite Index в течение 500 дней. Используйте моделирование для составления прогнозов и аппроксимации 95% интервалов прогноза. Сравните прогнозы между GARCH (1,1), EGARCH (1,1) и GJR (1,1).

Загрузите данные NASDAQ, включенные в набор инструментов. Преобразовать индекс в возвращаемые значения.

load Data_EquityIdx
nasdaq = DataTable.NASDAQ;
r = price2ret(nasdaq);
T = length(r);

Подгоните модели GARCH (1,1), EGARCH (1,1) и GJR (1,1) ко всему набору данных. Определите условные отклонения для использования в качестве предварительных условных отклонений при моделировании прогноза.

Mdl = cell(3,1); % Preallocation
Mdl{1} = garch(1,1);
Mdl{2} = egarch(1,1);
Mdl{3} = gjr(1,1);

EstMdl = cellfun(@(x)estimate(x,r,'Display','off'),Mdl,...
    'UniformOutput',false);
v0 = cellfun(@(x)infer(x,r),EstMdl,'UniformOutput',false);

EstMdl представляет собой клеточный вектор 3 на 1. Каждая ячейка является различным типом модели оцененной условной дисперсии, например, EstMdl{1} является оценочной моделью GARCH (1,1 ).V0 является вектором ячейки 3 на 1, и каждая ячейка содержит выведенные условные дисперсии из соответствующей оценочной модели.

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

vSim = cell(3,1); % Preallocation

for j = 1:3
    rng default; % For reproducibility
    vSim{j} = simulate(EstMdl{j},500,'NumPaths',1000,'E0',r,'V0',v0{j});  
end

vSim является вектором ячейки 3 на 1, и каждая ячейка содержит матрицу 500 на 1000 моделируемых условных дисперсий, генерируемых из соответствующей оценочной модели.

Постройте график средних прогнозов моделирования и приблизите 95% интервалы прогноза вместе с условными отклонениями, выведенными из данных.

lower = cellfun(@(x)prctile(x,2.5,2),vSim,'UniformOutput',false);
upper = cellfun(@(x)prctile(x,97.5,2),vSim,'UniformOutput',false);
mn = cellfun(@(x)mean(x,2),vSim,'UniformOutput',false);
datesPlot = dates(end - 250:end);
datesFH = dates(end) + (1:500)';

h = zeros(3,4);

figure
for j = 1:3
    col = zeros(1,3);
    col(j) = 1;    
    h(j,1) = plot(datesPlot,v0{j}(end-250:end),'Color',col);
    hold on
    h(j,2) = plot(datesFH,mn{j},'Color',col,'LineWidth',3);
    h(j,3:4) = plot([datesFH datesFH],[lower{j} upper{j}],':',...
        'Color',col,'LineWidth',2);
end
hGCA = gca;
plot(datesFH(1)*[1 1],hGCA.YLim,'k--');
datetick;
axis tight;
h = h(:,1:3);
legend(h(:),'GARCH - Inferred','EGARCH - Inferred','GJR - Inferred',...
      'GARCH - Sim. Mean','EGARCH - Sim. Mean','GJR - Sim. Mean',...
      'GARCH - 95% Fore. Int.','EGARCH - 95% Fore. Int.',...
      'GJR - 95% Fore. Int.','Location','NorthEast')
title('Simulated Conditional Variance Forecasts')
hold off

Figure contains an axes. The axes with title Simulated Conditional Variance Forecasts contains 13 objects of type line. These objects represent GARCH - Inferred, GARCH - Sim. Mean, GARCH - 95% Fore. Int., EGARCH - Inferred, EGARCH - Sim. Mean, EGARCH - 95% Fore. Int., GJR - Inferred, GJR - Sim. Mean, GJR - 95% Fore. Int..

Входные аргументы

свернуть все

Модель условного отклонения без неизвестных параметров, указанная как garch, egarch, или gjr объект модели.

Mdl не может содержать свойства, имеющие NaN значение.

Длина пути образца, заданная как положительное целое число. То есть количество случайных наблюдений, генерируемых на выходной тракт. V и Y имеют numObs строк.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'numPaths',1000,'E0',[0.5; 0.5] определяет для генерации 1000 образцы путей и для использования [0.5; 0.5] в качестве предварительного примера инноваций по тракту.

Количество генерируемых путей выборки, указанных как пара, разделенная запятыми, состоящая из 'NumPaths' и положительное целое число. V и Y имеют NumPaths столбцы.

Пример: 'NumPaths',1000

Типы данных: double

Инновации Presample, указанные как пара, разделенная запятыми, состоящая из 'E0' и вектор или матрицу числового столбца. Предварительные инновации обеспечивают начальные значения для процесса инноваций модели условной дисперсии. Mdl. Предварительные нововведения получаются из распределения со средним значением 0.

E0 должен содержать не менее Mdl.Q элементы или строки. Если E0 содержит дополнительные строки, simulate использует последние Mdl.Q только.

Последний элемент или строка содержит последние предварительные инновации.

  • Если E0 является вектором-столбцом, он представляет единственный путь лежащего в основе ряда инноваций. simulate применяется E0 к каждому моделируемому тракту.

  • Если E0 является матрицей, то каждый столбец представляет предварительный путь к базовому ряду инноваций. E0 должен иметь по крайней мере NumPaths столбцы. Если E0 имеет больше столбцов, чем необходимо, simulate использует первый NumPaths только столбцы.

Значения по умолчанию:

  • Для моделей GARCH (P, Q) и GJR (P, Q),simulate устанавливает любые необходимые предшествующие инновации к независимой последовательности возмущений со средним нулем и стандартным отклонением, равным безусловному стандартному отклонению процесса условной дисперсии.

  • Для моделей EGARCH (P, Q),simulate устанавливает любые необходимые предварительные нововведения к независимой последовательности возмущений со средним нулем и дисперсией, равной возведенному в степень безусловному среднему логарифма процесса дисперсии EGARCH.

Пример: 'E0',[0.5; 0.5]

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

  • Если V0 является вектором столбца, то simulate применяет его к каждому выходному пути.

  • Если V0 является матрицей, то она должна иметь по крайней мере NumPaths столбцы. Если V0 имеет больше столбцов, чем необходимо, simulate использует первый NumPaths только столбцы.

  • Для моделей GARCH (P, Q) и GJR (P, Q):

    • V0 должен иметь по крайней мере Mdl.P для инициализации уравнения дисперсии.

    • По умолчанию simulate устанавливает все необходимые отклонения предварительного отбора для безусловной дисперсии процесса условной дисперсии.

  • Для моделей EGARCH (P, Q),simulate:

    • V0 должен иметь по крайней мере max(Mdl.P,Mdl.Q) для инициализации уравнения дисперсии.

    • По умолчанию simulate задает любые необходимые отклонения предварительного примера для возведенного в степень безусловного среднего логарифма процесса дисперсии EGARCH.

Если количество строк в V0 превышает необходимое число, то simulate использует только последнее, требуемое количество наблюдений. Последний элемент или строка содержит последнее наблюдение.

Пример: 'V0',[1; 0.5]

Типы данных: double

Примечания

  • Если E0 и V0 - векторы столбцов, simulate применяет их к каждому столбцу выходных данных V и Y. Это приложение позволяет моделируемым путям совместно использовать общую начальную точку для моделирования прогнозов и распределения ошибок прогноза в Монте-Карло.

  • NaNs указывает на отсутствие значений. simulate удаляет отсутствующие значения. Программное обеспечение объединяет предварительные данные (E0 и V0), а затем использует удаление на основе списка для удаления любых строк, содержащих по крайней мере одну NaN. Удаление NaNs в данных уменьшает размер выборки. Удаление NaNs может также создавать нерегулярные временные ряды.

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

Выходные аргументы

свернуть все

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

V является numObsоколо-NumPaths матрица, в которой каждый столбец соответствует моделируемому пути условной дисперсии. Ряды V - периоды, соответствующие периодичности Mdl.

Моделируемые пути отклика, возвращаемые в виде числового вектора столбца или матрицы. Y обычно представляет собой средний-нулевой, гетероскедастический временной ряд инноваций с условными дисперсиями, приведенными в V (продолжение серии предварительных инноваций E0).

Y может также представлять временной ряд средних нулевых гетероскедастических инноваций плюс смещение. Если Mdl включает смещение, затем simulate добавляет смещение к базовому среднему нулю, гетероскедастическим инновациям, так что Y представляет временной ряд инноваций с поправкой на смещение.

Y является numObsоколо-NumPaths матрица, в которой каждый столбец соответствует моделируемому пути отклика. Ряды Y - периоды, соответствующие периодичности Mdl.

Ссылки

[1] Боллерслев, Т. «Обобщенная авторегрессионная условная гетероскедастичность». Журнал эконометрики. Том 31, 1986, стр. 307-327.

[2] Боллерслев, Т. «Условно гетероскедастическая модель временных рядов для спекулятивных цен и ставок доходности». Обзор экономики и статистики. Том 69, 1987, стр. 542-547.

[3] Бокс, Г. Э. П., Г. М. Дженкинс и Г. К. Рейнсель. Анализ временных рядов: прогнозирование и контроль. 3-й ред. Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 1994.

[4] Enders, W. Applied Econometric Time Series. Хобокен, Нью-Джерси: John Wiley & Sons, 1995.

[5] Энгл, Р. Ф. «Авторегрессивная условная гетероскедастичность с оценками дисперсии инфляции Соединенного Королевства». Эконометрика. Том 50, 1982, стр. 987-1007.

[6] Глостен, Л. Р., Р. Джаганнатан и Д. Э. Ранкл. «О связи между ожидаемой стоимостью и волатильностью номинальной избыточной доходности акций». Финансовый журнал. т. 48, № 5, 1993, с. 1779-1801.

[7] Гамильтон, Дж. Д. Анализ временных рядов. Принстон, Нью-Джерси: Princeton University Press, 1994.

[8] Нельсон, Д. Б. «Условная гетероскедастичность в возвратах активов: новый подход». Эконометрика. Том 59, 1991, стр. 347-370.

Представлен в R2012a