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')

Симулированные ответы похожи, чертит от стационарного стохастического процесса.

Постройте 2.5th, 50-й (медиана), и 97.5th процентили симулированных условных отклонений.

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')

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

Симулируйте условное отклонение и пути к ответу из модели 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)')

Симулированные ответы похожи, чертит от стационарного стохастического процесса.

Постройте 2.5th, 50-й (медиана), и 97.5th процентили симулированных условных отклонений.

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')

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

Симулируйте условное отклонение и пути к ответу из модели 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)')

Симулированные ответы похожи, чертит от стационарного стохастического процесса.

Постройте 2.5th, 50-й (медиана), и 97.5th процентили симулированных условных отклонений.

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')

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

Симулируйте условные отклонения ежедневного Сводного индекса 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, и каждая ячейка содержит выведенные условные отклонения из соответствующей, оцененной модели.

Симулируйте 1 000 демонстрационных путей с 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

Входные параметры

свернуть все

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

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

Демонстрационная длина пути в виде положительного целого числа. Таким образом, количество случайных наблюдений, чтобы сгенерировать на выход path. 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' и числовой вектор-столбец или матрица. Преддемонстрационные инновации вводят начальные значения для инновационного процесса условной модели 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 наборы любые необходимые преддемонстрационные инновации к независимой последовательности воздействий со средним нулем и отклонением равняются exponentiated безусловному среднему значению логарифма процесса отклонения EGARCH.

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

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

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

  • Если 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 наборы любые необходимые преддемонстрационные отклонения к exponentiated безусловному среднему значению логарифма процесса отклонения 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 обычно представляет средний нуль, heteroscedastic временные ряды инноваций с условными отклонениями, данными в V (продолжение преддемонстрационной инновационной серии E0).

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

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

Ссылки

[1] Боллерслев, T. “Обобщенный Авторегрессивный Условный Heteroskedasticity”. Журнал Эконометрики. Издание 31, 1986, стр 307–327.

[2] Боллерслев, T. “Условно Модель Временных рядов Heteroskedastic за Спекулятивные Цены и Нормы прибыли”. Анализ Экономики и Статистики. Издание 69, 1987, стр 542–547.

[3] Поле, G. E. P. Г. М. Дженкинс и Г. К. Рейнсель. Анализ Временных Рядов: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.

[4] Enders, W. Прикладные эконометрические временные ряды. Хобокен, NJ: John Wiley & Sons, 1995.

[5] Энгл, R. F. “Авторегрессивный Условный Heteroskedasticity с Оценками Отклонения Инфляции Соединенного Королевства”. Econometrica. Издание 50, 1982, стр 987–1007.

[6] Glosten, L. R. Р. Джейгэннэзэн и Д. Э. Ранкл. “На Отношении между Ожидаемым значением и Энергозависимостью Номинального Избыточного Возврата на Запасах”. Журнал Финансов. Издание 48, № 5, 1993, стр 1779–1801.

[7] Гамильтон, J. D. Анализ Временных Рядов. Принстон, NJ: Издательство Принстонского университета, 1994.

[8] Нельсон, D. B. “Условный Heteroskedasticity в Активе Возвращается: Новый Подход”. Econometrica. Издание 59, 1991, стр 347–370.

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

Для просмотра документации необходимо авторизоваться на сайте