simulate

Симуляция Монте-Карло моделей условного отклонения

Описание

пример

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 возвратов в течение 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

Предварительный пример нововведений, заданный как разделенная разделенными запятой парами, состоящая из 'E0' и числовой вектор-столбец или матрица. Нововведения presample обеспечивают начальные значения для процесса инноваций модели условного отклонения 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-by- NumPaths матрица, в которой каждый столбец соответствует моделируемому условному пути отклонения. Строки V являются периодами, соответствующими периодичности Mdl.

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

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

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

Ссылки

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

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

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

[4] Enders, W. Applied Econometric Time Series. Hoboken, NJ: John Wiley & Sons, 1995.

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

[6] Glosten, L. R., R. Jagannathan, and D. E. Runkle. «О связи между Ожидаемым значением и волатильностью номинального избыточного Возврата по акциям». The Journal of Finance. Том 48, № 5, 1993, с. 1779-1801.

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

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

Введенный в R2012a