Обнаружение эффектов ARCH с помощью приложения Econometric Modeler

Эти примеры показывают, как оценить, имеет ли серия кластеризацию волатильности с помощью Econometric Modeler приложения. Методы включают проверку коррелограмм квадратов невязок и тестирование на значительные лаги ARCH. Набор данных, хранящийся в Data_EquityIdx.mat, содержит серию ежедневных цен закрытия NASDAQ с 1990 по 2001 год.

Смотрите коррелограммы квадратов невязок на эффекты ARCH

Этот пример показывает, как визуально определить, имеет ли ряд значительные эффекты ARCH, путем построения графика автокорреляционной функции (ACF) и частичной автокорреляционной функции (PACF) ряда квадратов невязок.

В командной строке загрузите Data_EquityIdx.mat набор данных.

load Data_EquityIdx

Набор данных содержит таблицу цен на закрытие NASDAQ и NYSE, среди других переменных. Для получения дополнительной информации о наборе данных введите Description в командной строке.

Преобразуйте таблицу DataTable к расписанию (для получения дополнительной информации см. раздел «Подготовка данных временных рядов для приложения Econometric Modeler»).

dates = datetime(dates,'ConvertFrom','datenum',...
     'Format','ddMMMyyyy');                              % Convert dates to datetimes
DataTable.Properties.RowNames = {};                      % Clear row names
DataTable = table2timetable(DataTable,'RowTimes',dates); % Convert table to timetable

В командной строке откройте приложение Econometric Modeler.

econometricModeler

Также откройте приложение из галереи Apps (см. Econometric Modeler).

Импортируйте DataTable в приложение:

  1. На вкладке Econometric Modeler, в разделе Import, нажмите.

  2. В Import Data окне в столбце Import? установите флажок для DataTable переменная.

  3. Нажмите Import.

Переменные появляются на панели Time Series, а график временных рядов всех рядов появляется в Time Series Plot(NASDAQ) окне рисунка.

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

  1. На панели Time Series выберите NASDAQ.

  2. На вкладке Econometric Modeler, в разделе Transforms, нажмите Log.

  3. С NASDAQLog выделенный, в Transforms разделе, нажмите Difference.

  4. На панели Time Series переименуйте NASDAQLogDiff переменная, дважды кликнув ее, чтобы выбрать ее имя и ввести NASDAQReturns.

График временных рядов возвратов NASDAQ появляется в Time Series Plot(NASDAQReturns) окне рисунка.

Возвраты, по-видимому, колеблются вокруг постоянного уровня, но демонстрирует волатильность кластеризации. Большие изменения в возвратах, как правило, кластеризуются вместе, а небольшие изменения, как правило, кластеризуются вместе. То есть серия проявляет условную гетероскедастичность.

Вычисление квадратов невязок:

  1. Экспорт NASDAQReturns в MATLAB® Рабочая область:

    1. На панели Time Series щелкните правой кнопкой мыши NASDAQReturns.

    2. В контекстном меню выберите Export.

    NASDAQReturns появляется в Рабочем пространстве MATLAB.

  2. В командной строке:

    1. Для числовой устойчивости масштабируйте возвраты в 100 раз.

    2. Создайте остаточный ряд путем удаления среднего значения из масштабируемого ряда возвратов. Поскольку вы взяли первое различие в ценах NASDAQ, чтобы создать возвраты, первый элемент возвратов отсутствует. Поэтому, чтобы оценить среднее значение выборки серии, вызовите mean(NASDAQReturns,'omitnan').

    3. Квадрат невязок.

    4. Добавьте квадратные невязки как новую переменную к DataTable timetable.

    NASDAQReturns = 100*NASDAQReturns;
    NASDAQResiduals = NASDAQReturns - mean(NASDAQReturns,'omitnan');
    NASDAQResiduals2 = NASDAQResiduals.^2;
    DataTable.NASDAQResiduals2 = NASDAQResiduals2;

В Econometric Modeler, импорт DataTable:

  1. На вкладке Econometric Modeler, в разделе Import, нажмите.

  2. В диалоговом окне Econometric Modeler нажмите OK, чтобы удалить все переменные и документы в приложении.

  3. В Import Data окне в столбце Import? установите флажок для DataTable.

  4. Нажмите Import.

Постройте график ACF и PACF:

  1. На панели Time Series выберите NASDAQResiduals2 временные ряды.

  2. Перейдите на вкладку Plots и нажмите ACF.

  3. Перейдите на вкладку Plots и нажмите PACF.

  4. Закройте Time Series Plot(NASDAQ) окно рисунка. Затем расположите ACF(NASDAQResiduals2) окно рисунка над PACF(NASDAQResiduals2) окном рисунка.

Выборки ACF и PACF показывают значительную автокорреляцию в квадрате невязок. Этот результат указывает, что кластеризация волатильности присутствует.

Проведите Q-тест Ljung-Box на квадратичных невязках

Этот пример показывает, как протестировать квадратные невязки на значительные эффекты ARCH с помощью Q-теста Ljung-Box.

В командной строке:

  1. Загрузите Data_EquityIdx.mat набор данных.

  2. Преобразуйте цены NASDAQ в возвраты. Чтобы сохранить правильную временную основу, подготовьте результат возвратов с помощью NaN значение.

  3. Масштабирование возвращаемых значений NASDAQ.

  4. Вычислите невязки путем удаления среднего значения из масштабированных возвратов.

  5. Квадрат невязок.

  6. Добавьте вектор квадратов невязок как переменную к DataTable.

  7. Преобразование DataTable от таблицы к расписанию.

Для получения дополнительной информации о шагах см. «Просмотр коррелограмм квадратов невязок» для эффектов ARCH.

load Data_EquityIdx

NASDAQReturns = 100*price2ret(DataTable.NASDAQ);
NASDAQReturns = [NaN; NASDAQReturns];
NASDAQResiduals2 = (NASDAQReturns - mean(NASDAQReturns,'omitnan')).^2;
DataTable.NASDAQResiduals2 = NASDAQResiduals2;

dates = datetime(dates,'ConvertFrom','datenum');
DataTable.Properties.RowNames = {};
DataTable = table2timetable(DataTable,'RowTimes',dates);

В командной строке откройте приложение Econometric Modeler.

econometricModeler

Также откройте приложение из галереи Apps (см. Econometric Modeler).

Импортируйте DataTable в приложение:

  1. На вкладке Econometric Modeler, в разделе Import, нажмите.

  2. В Import Data окне в столбце Import? установите флажок для DataTable переменная.

  3. Нажмите Import.

Переменные появляются на панели Time Series, а график временных рядов всех рядов появляется в Time Series Plot(NASDAQ) окне рисунка.

Протестируйте нулевую гипотезу о том, что первые m = 5 автокорреляционных лагов квадратов невязок совместно равны нулю при помощи Q-теста Ljung-Box. Затем проверьте нулевую гипотезу, что первые m = 10 автокорреляционных лагов квадратов невязок совместно равны нулю.

  1. На панели Time Series выберите NASDAQResiduals2 временные ряды.

  2. На вкладке Econometric Modeler, в разделе Tests, нажмите New Test > Ljung-Box Q-Test.

  3. На вкладке LBQ, в разделе Parameters, установите и Number of Lags, и DOF 5. Чтобы сохранить уровень значимости 0,05 для двух тестов, установите Significance Level равным 0,025.

  4. В Tests разделе нажмите Run Test.

  5. Повторите шаги 3 и 4, но установите и Number of Lags, и DOF равными 10 вместо этого.

Результаты тестирования отображаются в таблице Results документа LBQ(NASDAQResiduals2).

Нулевая гипотеза отклонена для двух тестов. Значение p для каждого теста равняется 0. Результаты показывают, что не каждая автокорреляция до лага 5 (или 10) равна нулю, что указывает на кластеризацию волатильности в квадратах невязок.

Проведите тест ARCH Engle

В этом примере показано, как протестировать невязки на значительные эффекты ARCH с помощью теста ARCH Engle.

В командной строке:

  1. Загрузите Data_EquityIdx.mat набор данных.

  2. Преобразуйте цены NASDAQ в возвраты. Чтобы сохранить правильную временную основу, подготовьте результат возвратов с помощью NaN значение.

  3. Масштабирование возвращаемых значений NASDAQ.

  4. Вычислите невязки путем удаления среднего значения из масштабированных возвратов.

  5. Добавьте вектор невязок как переменную к DataTable.

  6. Преобразование DataTable от таблицы к расписанию.

Для получения дополнительной информации о шагах см. «Просмотр коррелограмм квадратов невязок» для эффектов ARCH.

load Data_EquityIdx

NASDAQReturns = 100*price2ret(DataTable.NASDAQ);
NASDAQReturns = [NaN; NASDAQReturns];
NASDAQResiduals = NASDAQReturns - mean(NASDAQReturns,'omitnan');
DataTable.NASDAQResiduals = NASDAQResiduals;

dates = datetime(dates,'ConvertFrom','datenum');
DataTable.Properties.RowNames = {};
DataTable = table2timetable(DataTable,'RowTimes',dates);

В командной строке откройте приложение Econometric Modeler.

econometricModeler

Также откройте приложение из галереи Apps (см. Econometric Modeler).

Импортируйте DataTable в приложение:

  1. На вкладке Econometric Modeler, в разделе Import, нажмите.

  2. В Import Data окне в столбце Import? установите флажок для DataTable переменная.

  3. Нажмите Import.

Переменные появляются на панели Time Series, а график временных рядов всех рядов появляется в Time Series Plot(NASDAQ) окне рисунка.

Протестируйте нулевую гипотезу о том, что серия невязок NASDAQ не показывает эффектов ARCH при помощи теста ARCH Engle. Задайте, что ряд невязок является моделью ARCH (2).

  1. На панели Time Series выберите NASDAQResiduals временные ряды.

  2. На вкладке Econometric Modeler, в разделе Tests, нажмите New Test > Engle's ARCH Test.

  3. На вкладке ARCH, в разделе Parameters, установите Number of Lags равным 2.

  4. В Tests разделе нажмите Run Test.

Результаты тестирования отображаются в таблице Results документа ARCH(NASDAQResiduals).

Нулевая гипотеза отвергается в пользу альтернативы ARCH (2). Результат теста указывает на значительную кластеризацию волатильности в невязках.

См. также

Приложения

Функции

Похожие темы