egarch

Модель временных рядов условных отклонений EGARCH

Описание

Использовать egarch для задания одномерной модели EGARCH (экспоненциальная обобщенная авторегрессивная условная гетероскедастическая). egarch функция возвращает egarch объект, задающий функциональную форму модели EGARCH (P, Q), и сохраняющий ее значения параметров.

Ключевые компоненты egarch модель включают:

  • Полином GARCH, который состоит из отстающих, записанных условных отклонений. Степень обозначается P.

  • Полином ARCH, который состоит из величин отстающих стандартизированных инноваций.

  • Используйте полином, который состоит из отстающих стандартизированных инноваций.

  • Максимум ARCH и используйте полиномиальные степени, обозначенные Q.

P является максимальной ненулевой задержкой в полиноме GARCH, а Q - максимальной ненулевой задержкой в ARCH и полиномах использования. Другие компоненты модели включают среднее смещение модели инновации, константу модели условного отклонения и распределение инноваций.

Все коэффициенты неизвестны (NaN значения) и оценочные, если вы не задаете их значения с помощью синтаксиса аргумента пары "имя-значение". Чтобы оценить модели, содержащие все или частично неизвестные значения параметров, данные, используйте estimate. Для полностью заданных моделей (моделей, в которых все значения параметров известны) моделируйте или прогнозируйте ответы, используя simulate или forecast, соответственно.

Создание

Описание

пример

Mdl = egarch создает условное отклонение нулевой степени egarch объект.

пример

Mdl = egarch(P,Q) создает объект модели условного отклонения EGARCH (Mdl) с полиномом GARCH со степенью P, и ARCH и использование полиномов каждый со степенью Q. Все полиномы содержат все последовательные лаги от 1 до их степеней, и все коэффициенты NaN значения.

Этот краткий синтаксис позволяет вам создать шаблон, в котором вы явно задаете полиномиальные степени. Шаблон модели подходит для неограниченной оценки параметра, то есть оценки без каких-либо ограничений равенства параметров. Однако после создания модели можно изменить значения свойств с помощью записи через точку.

пример

Mdl = egarch(Name,Value) устанавливает свойства или дополнительные опции, используя аргументы пары "имя-значение". Заключайте каждое имя в кавычки. Для примера, 'ARCHLags',[1 4],'ARCH',{0.2 0.3} задает два коэффициента ARCH в ARCH при лагах 1 и 4.

Этот синтаксис longhand позволяет вам создавать более гибкие модели.

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

расширить все

Синтаксис стенограммы предоставляет вам простой способ создать шаблоны модели, которые подходят для неограниченной оценки параметра. Для примера, чтобы создать модель EGARCH (1,2), содержащую неизвестные значения параметров, введите:

Mdl = egarch(1,2);
Чтобы наложить ограничения равенства на значения параметров во время оценки, установите соответствующие значения свойств с помощью записи через точку.

Степень полинома GARCH, определенная как неотрицательное целое число. В полиноме GARCH и в t времени MATLAB® включает все последовательные записанные условия условного отклонения от задержки t - 1 до задержки t - P.

Вы можете задать этот аргумент, используя egarch(P,Q) синтаксис только краткого представления.

Если P > 0, затем необходимо указать Q как положительное целое число.

Пример: egarch(1,1)

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

Степень полинома ARCH, заданная как неотрицательное целое число. В полиноме ARCH и в t времени MATLAB включает все последовательные величины стандартизированных инновационных членов (для полинома ARCH) и все стандартизированные инновационные условия (для полинома рычага) от задержки t - 1 до задержки t - Q.

Вы можете задать этот аргумент, используя egarch(P,Q) синтаксис только краткого представления.

Если P > 0, затем необходимо указать Q как положительное целое число.

Пример: egarch(1,1)

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

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

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

Синтаксис longhand позволяет вам создать модели, в которых известны некоторые или все коэффициенты. Во время оценки, estimate накладывает ограничения равенства на любые известные параметры.

Пример: 'ARCHLags',[1 4],'ARCH',{NaN NaN} задает модель EGARCH (0,4) и неизвестные, но ненулевые, матрицы коэффициентов ARCH при задержках 1 и 4.

Полиномиальные лаги GARCH, заданные как разделенная разделенными запятой парами, состоящая из 'GARCHLags' и числовой вектор уникальных положительных целых чисел.

GARCHLags (j) - задержка, соответствующая коэффициенту GARCH {j}. Длины GARCHLags и GARCH должно быть равным.

Принимая все коэффициенты GARCH (заданные GARCH свойство) положительны или NaN значения, max(GARCHLags) определяет значение P свойство.

Пример: 'GARCHLags',[1 4]

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

Полиномиальные лаги ARCH, заданные как разделенная разделенными запятой парами, состоящая из 'ARCHLags' и числовой вектор уникальных положительных целых чисел.

ARCHLags (j) - задержка, соответствующая коэффициенту ARCH {j}. Длины ARCHLags и ARCH должно быть равным.

Принимая все ARCH и коэффициенты использования (заданные ARCH и Leverage свойства) положительны или NaN значения, max([ARCHLags LeverageLags]) определяет значение Q свойство.

Пример: 'ARCHLags',[1 4]

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

Используйте полиномиальные лаги, заданные как разделенная разделенными запятой парами, состоящая из 'LeverageLags' и числовой вектор уникальных положительных целых чисел.

LeverageLags (j) - задержка, соответствующая коэффициенту Leverage {j}. Длины LeverageLags и Leverage должно быть равным.

Принимая все ARCH и коэффициенты использования (заданные ARCH и Leverage свойства) положительны или NaN значения, max([ARCHLags LeverageLags]) определяет значение Q свойство.

Пример: 'LeverageLags',1:4

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

Свойства

расширить все

Можно задать значения свойств записи, когда вы создаете объект модели с помощью синтаксиса аргумента пары "имя-значение" или после того, как вы создаете объект модели с помощью записи через точку. Например, чтобы создать модель EGARCH (1,1) с неизвестными коэффициентами, а затем задать t инновационное распределение с неизвестными степенями свободы, введите:

Mdl = egarch('GARCHLags',1,'ARCHLags',1);
Mdl.Distribution = "t";

Это свойство доступно только для чтения.

Степень полинома GARCH, определенная как неотрицательное целое число. P - максимальная задержка в полиноме GARCH с коэффициентом, который положителен или NaN. Лаги, которые меньше P может иметь коэффициенты, равные 0.

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

Если для создания модели используются аргументы пары "имя-значение", то MATLAB реализует одну из этих альтернатив (предполагая, что коэффициент наибольшей задержки положителен или NaN):

  • Если вы задаете GARCHLags, затем P - наибольшая заданная задержка.

  • Если вы задаете GARCH, затем P - количество элементов заданного значения. Если вы также задаете GARCHLags, затем egarch использует GARCHLags для определения P вместо этого.

  • В противном случае P является 0.

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

Это свойство доступно только для чтения.

Максимальная степень ARCH и использования полиномов, заданная как неотрицательное целое число. Q является максимальной задержкой в ARCH и использует полиномы в модели. В любом типе полинома лаги, которые меньше Q может иметь коэффициенты, равные 0.

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

Если вы используете аргументы пары "имя-значение" для создания модели, то MATLAB реализует одну из этих альтернатив (предполагая, что коэффициенты самых больших лагов в ARCH и полиномы рычагов положительны или NaN):

  • Если вы задаете ARCHLags или LeverageLags, затем Q является максимальным между этими двумя спецификациями.

  • Если вы задаете ARCH или Leverage, затем Q - максимальное количество элементов между этими двумя спецификациями. Если вы также задаете ARCHLags или LeverageLags, затем egarch использует их значения, чтобы определить Q вместо этого.

  • В противном случае Q является 0.

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

Условная константа модели отклонения, заданная как числовой скаляр или NaN значение.

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

GARCH полинома коэффициенты, заданные как камера вектор положительных скалярных величин или NaN значения.

  • Если вы задаете GARCHLags, затем применяются следующие условия.

    • Длины GARCH и GARCHLags равны.

    • GARCH {j} - коэффициент задержки GARCHLags (j).

    • По умолчанию GARCH является numel(GARCHLags)-by-1 вектор камеры NaN значения.

  • В противном случае применяются следующие условия.

    • Длина GARCH является P.

    • GARCH {j} - коэффициент задержки j.

    • По умолчанию GARCH является P-by-1 вектор камеры NaN значения.

Коэффициенты в GARCH соответствуют коэффициентам в базовом LagOp полином оператора задержки, и подлежат критерию исключения допуска около нуля. Если вы задаете коэффициент 1e–12 или ниже, egarch исключает этот коэффициент и соответствующее ему отставание в GARCHLags из модели.

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

ARCH полинома коэффициенты, заданные как камера вектор положительных скалярных величин или NaN значения.

  • Если вы задаете ARCHLags, затем применяются следующие условия.

    • Длины ARCH и ARCHLags равны.

    • АРКА {j} - коэффициент задержки ARCHLags (j).

    • По умолчанию ARCH является Q-by-1 вектор камеры NaN значения. Для получения дополнительной информации смотрите Q свойство.

  • В противном случае применяются следующие условия.

    • Длина ARCH является Q.

    • АРКА {j} - коэффициент задержки j.

    • По умолчанию ARCH является Q-by-1 вектор камеры NaN значения.

Коэффициенты в ARCH соответствуют коэффициентам в базовом LagOp полином оператора задержки, и подлежат критерию исключения допуска около нуля. Если вы задаете коэффициент 1e–12 или ниже, egarch исключает этот коэффициент и соответствующее ему отставание в ARCHLags из модели.

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

Используйте полиномиальные коэффициенты, заданные как вектор камеры из числовых скаляров или NaN значения.

  • Если вы задаете LeverageLags, затем применяются следующие условия.

    • Длины Leverage и LeverageLags равны.

    • Использование {j} - коэффициент задержки LeverageLags (j).

    • По умолчанию Leverage является Q-by-1 вектор камеры NaN значения. Для получения дополнительной информации смотрите Q свойство.

  • В противном случае применяются следующие условия.

    • Длина Leverage является Q.

    • Использование {j} - коэффициент задержки j.

    • По умолчанию Leverage является Q-by-1 вектор камеры NaN значения.

Коэффициенты в Leverage соответствуют коэффициентам в базовом LagOp полином оператора задержки, и подлежат критерию исключения допуска около нуля. Если вы задаете коэффициент 1e–12 или ниже, egarch исключает этот коэффициент и соответствующее ему отставание в LeverageLags из модели.

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

Это свойство доступно только для чтения.

Модель безусловное отклонение, заданная как положительная скалярная величина.

Безусловное отклонение

σε2=exp{κ(1i=1Pγi)}.

κ - константа модели условного отклонения (Constant).

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

Среднее смещение модели инновации, или аддитивная константа, заданная как числовой скаляр или NaN значение.

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

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

РаспределениеСтрокаМассив структур
Гауссовский"Gaussian"struct('Name',"Gaussian")
Студенческое t"t"struct('Name',"t",'DoF',DoF)

The 'DoF' поле задает параметр t степени свободы распределения.

  • DoF > 2 или DoF = NaN.

  • DoF является оценочным.

  • Если вы задаете "t", DoF является NaN по умолчанию. Вы можете изменить его значение с помощью записи через точку после создания модели. Для примера, Mdl.Distribution.DoF = 3.

  • Если вы поставляете массив структур, чтобы задать распределение t Student, то необходимо задать оба 'Name' и 'DoF' поля.

Пример: struct('Name',"t",'DoF',10)

Описание модели, заданное как строковый скаляр или вектор символов. egarch сохраняет значение как строковый скаляр. Значение по умолчанию описывает параметрическую форму модели, например "EGARCH(1,1) Conditional Variance Model (Gaussian Distribution)".

Типы данных: string | char

Примечание

  • Все NaN- ценные параметры модели, которые включают коэффициенты и t - степени свободы инновационного распределения (если есть), почтенные. Когда вы передаете полученную egarch объект и данные estimateMATLAB оценивает все NaN-значенные параметры. Во время оценки, estimate рассматривает известные параметры как ограничения равенства, то есть,estimate содержит любые известные параметры, фиксированные по их значениям.

  • Как правило, лаги в ARCH и полиномах рычагов одинаковы, но их равенство не является требованием. Различные полиномы происходят, когда:

    • Либо ARCH{Q} или Leverage{Q} соответствует нулевому допуску исключения. В этом случае MATLAB исключает соответствующую задержку из полинома.

    • Полиномы различной длины задаются путем определения ARCHLags или LeverageLags, или путем установки ARCH или Leverage свойство.

    В любом случае Q - максимальная задержка между двумя полиномами.

Функции объекта

estimateПодбор модели условных отклонений к данным
filterФильтруйте нарушения порядка через модель условного отклонения
forecastПрогнозируйте условные отклонения от моделей условных дисперсий
inferВывод условных отклонений моделей условных отклонений
simulateСимуляция Монте-Карло моделей условного отклонения
summarizeОтобразите результаты оценки модели условного отклонения

Примеры

свернуть все

Создайте egarch по умолчанию моделируйте объект и задайте его значения параметров с помощью записи через точку.

Создайте модель EGARCH (0,0).

Mdl = egarch
Mdl = 
  egarch with properties:

     Description: "EGARCH(0,0) Conditional Variance Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 0
               Q: 0
        Constant: NaN
           GARCH: {}
            ARCH: {}
        Leverage: {}
          Offset: 0

Mdl является egarch модель. Он содержит неизвестную константу, его смещение 0, и инновационное распределение 'Gaussian'. Модель не имеет GARCH, ARCH или использует полиномы.

Задайте два неизвестных ARCH и используйте коэффициенты для лагов один и два, используя запись через точку.

Mdl.ARCH = {NaN NaN};
Mdl.Leverage = {NaN NaN};
Mdl
Mdl = 
  egarch with properties:

     Description: "EGARCH(0,2) Conditional Variance Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 0
               Q: 2
        Constant: NaN
           GARCH: {}
            ARCH: {NaN NaN} at lags [1 2]
        Leverage: {NaN NaN} at lags [1 2]
          Offset: 0

The Q, ARCH, и Leverage обновление свойств на 2, {NaN NaN}, {NaN NaN}, соответственно. Два коэффициента ARCH и рычага связаны с лагами 1 и 2.

Создайте egarch моделировать объект с помощью краткого обозначения egarch(P,Q), где P - степень полинома GARCH и Q - степень ARCH и полинома рычага.

Создайте модель EGARCH (3,2).

Mdl = egarch(3,2)
Mdl = 
  egarch with properties:

     Description: "EGARCH(3,2) Conditional Variance Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 3
               Q: 2
        Constant: NaN
           GARCH: {NaN NaN NaN} at lags [1 2 3]
            ARCH: {NaN NaN} at lags [1 2]
        Leverage: {NaN NaN} at lags [1 2]
          Offset: 0

Mdl является egarch объект модели. Все свойства Mdl, кроме P, Q, и Distribution, являются NaN значения. По умолчанию программное обеспечение:

  • Включает константу модели условного отклонения

  • Исключает условное среднее смещение модели (т.е. смещение 0)

  • Включает все условия задержки в полиноме GARCH до задержки P

  • Включает все условия задержки в ARCH и использует полиномы до задержки Q

Mdl задает только функциональную форму модели EGARCH. Поскольку он содержит неизвестные значения параметров, можно передать Mdl и данные timeseries для estimate для оценки параметров.

Создайте egarch объекта модели с использованием аргументов пары "имя-значение".

Задайте модель EGARCH (1,1). По умолчанию условное среднее смещение модели равняется нулю. Задайте, что смещение NaN. Включите термин рычага.

Mdl = egarch('GARCHLags',1,'ARCHLags',1,'LeverageLags',1,'Offset',NaN)
Mdl = 
  egarch with properties:

     Description: "EGARCH(1,1) Conditional Variance Model with Offset (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 1
               Q: 1
        Constant: NaN
           GARCH: {NaN} at lag [1]
            ARCH: {NaN} at lag [1]
        Leverage: {NaN} at lag [1]
          Offset: NaN

Mdl является egarch объект модели. Программное обеспечение устанавливает все параметры равными NaN, кроме P, Q, и Distribution.

Начиная с Mdl содержит NaN значения, Mdl подходит только для оценки. Передайте Mdl и данные timeseries для estimate.

Создайте модель EGARCH (1,1) со средним смещением ,

yt=0.5+εt,

где εt=σtzt,

σt2=0.0001+0.75logσt-12+0.1(|εt-1|σt-1-2π)-0.3εt-1σt-1+0.01εt-3σt-3,

и zt является независимым и идентично распределенным стандартным Гауссовым процессом.

Mdl = egarch('Constant',0.0001,'GARCH',0.75,...
    'ARCH',0.1,'Offset',0.5,'Leverage',{-0.3 0 0.01})
Mdl = 
  egarch with properties:

     Description: "EGARCH(1,3) Conditional Variance Model with Offset (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 1
               Q: 3
        Constant: 0.0001
           GARCH: {0.75} at lag [1]
            ARCH: {0.1} at lag [1]
        Leverage: {-0.3 0.01} at lags [1 3]
          Offset: 0.5

egarch присваивает значения по умолчанию любым свойствам, не заданным с аргументы пары "имя-значение". Альтернативный способ задать компонент кредитного плеча 'Leverage',{-0.3 0.01},'LeverageLags',[1 3].

Доступ к свойствам созданного egarch моделировать объект используя запись через точку.

Создайте egarch объект модели.

Mdl = egarch(3,2)
Mdl = 
  egarch with properties:

     Description: "EGARCH(3,2) Conditional Variance Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 3
               Q: 2
        Constant: NaN
           GARCH: {NaN NaN NaN} at lags [1 2 3]
            ARCH: {NaN NaN} at lags [1 2]
        Leverage: {NaN NaN} at lags [1 2]
          Offset: 0

Удалите второй термин GARCH из модели. То есть задайте, что коэффициент GARCH второй отстающего условного отклонения 0.

Mdl.GARCH{2} = 0
Mdl = 
  egarch with properties:

     Description: "EGARCH(3,2) Conditional Variance Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 3
               Q: 2
        Constant: NaN
           GARCH: {NaN NaN} at lags [1 3]
            ARCH: {NaN NaN} at lags [1 2]
        Leverage: {NaN NaN} at lags [1 2]
          Offset: 0

Полином GARCH имеет два неизвестных параметра, соответствующих лагам 1 и 3.

Отобразите распределение нарушений порядка.

Mdl.Distribution
ans = struct with fields:
    Name: "Gaussian"

Нарушения порядка Гауссовы со средним 0 и отклонением 1.

Задайте, что базовые нарушения порядка имеют t- распределения с пятью степенями свободы.

Mdl.Distribution = struct('Name','t','DoF',5)
Mdl = 
  egarch with properties:

     Description: "EGARCH(3,2) Conditional Variance Model (t Distribution)"
    Distribution: Name = "t", DoF = 5
               P: 3
               Q: 2
        Constant: NaN
           GARCH: {NaN NaN} at lags [1 3]
            ARCH: {NaN NaN} at lags [1 2]
        Leverage: {NaN NaN} at lags [1 2]
          Offset: 0

Задайте, что коэффициенты ARCH равны 0,2 для первой задержки и 0,1 для второй задержки.

Mdl.ARCH = {0.2 0.1}
Mdl = 
  egarch with properties:

     Description: "EGARCH(3,2) Conditional Variance Model (t Distribution)"
    Distribution: Name = "t", DoF = 5
               P: 3
               Q: 2
        Constant: NaN
           GARCH: {NaN NaN} at lags [1 3]
            ARCH: {0.2 0.1} at lags [1 2]
        Leverage: {NaN NaN} at lags [1 2]
          Offset: 0

Чтобы оценить оставшиеся параметры, можно пройти Mdl и ваши данные для оценки и использования заданных параметров в качестве ограничений равенства. Или можно задать остальные значения параметров, а затем моделировать или прогнозировать условные отклонения от модели GARCH путем передачи полностью заданной модели в simulate или forecast, соответственно.

Подгонка модели EGARCH к ежегодному временному ряду номинальных запасов Дании в 1922-1999 годах.

Загрузите Data_Danish набор данных. Постройте график номинальных возвратов (RN).

load Data_Danish;
nr = DataTable.RN;

figure;
plot(dates,nr);
hold on;
plot([dates(1) dates(end)],[0 0],'r:'); % Plot y = 0
hold off;
title('Danish Nominal Stock Returns');
ylabel('Nominal return (%)');
xlabel('Year');

Figure contains an axes. The axes with title Danish Nominal Stock Returns contains 2 objects of type line.

Номинальный возвратный ряд, по-видимому, имеет ненулевое условное среднее смещение и, по-видимому, показывает кластеризацию волатильности. То есть изменчивость меньше на более ранние годы, чем на более поздние годы. В данном примере предположим, что модель EGARCH (1,1) подходит для этой серии.

Создайте модель EGARCH (1,1). Условное среднее смещение по умолчанию равняется нулю. Чтобы оценить смещение, задайте, что оно NaN. Включите задержку рычага.

Mdl = egarch('GARCHLags',1,'ARCHLags',1,'LeverageLags',1,'Offset',NaN);

Подбор модели EGARCH (1,1) к данным.

EstMdl = estimate(Mdl,nr);
 
    EGARCH(1,1) Conditional Variance Model with Offset (Gaussian Distribution):
 
                     Value       StandardError    TStatistic     PValue  
                   __________    _____________    __________    _________

    Constant         -0.62723       0.74401        -0.84304       0.39921
    GARCH{1}          0.77419       0.23628          3.2766     0.0010507
    ARCH{1}           0.38636       0.37361          1.0341       0.30107
    Leverage{1}    -0.0024989       0.19222          -0.013       0.98963
    Offset            0.10325      0.037727          2.7368     0.0062047

EstMdl является полностью заданным egarch объект модели. То есть не содержит NaN значения. Можно оценить адекватность модели, сгенерировав невязки с помощью inferи затем анализируем их.

Чтобы симулировать условные отклонения или отклики, передайте EstMdl на simulate.

Чтобы прогнозировать инновации, пройдите EstMdl на forecast.

Симулируйте условные пути отклонения или отклика от полностью заданного egarch объект модели. То есть моделируйте из предполагаемого egarch модель или известное egarch модель, в которой вы задаете все значения параметров.

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

load Data_Danish;
rn = DataTable.RN;

Создайте модель EGARCH (1,1) с неизвестным условным средним смещением. Подбор модели к годовому номинальному возврату серии. Включите термин рычага.

Mdl = egarch('GARCHLags',1,'ARCHLags',1,'LeverageLags',1,'Offset',NaN);
EstMdl = estimate(Mdl,rn);
 
    EGARCH(1,1) Conditional Variance Model with Offset (Gaussian Distribution):
 
                     Value       StandardError    TStatistic     PValue  
                   __________    _____________    __________    _________

    Constant         -0.62723       0.74401        -0.84304       0.39921
    GARCH{1}          0.77419       0.23628          3.2766     0.0010507
    ARCH{1}           0.38636       0.37361          1.0341       0.30107
    Leverage{1}    -0.0024989       0.19222          -0.013       0.98963
    Offset            0.10325      0.037727          2.7368     0.0062047

Симулируйте 100 путей условных отклонений и откликов от предполагаемой модели EGARCH.

numObs = numel(rn); % Sample size (T)
numPaths = 100;     % Number of paths to simulate
rng(1);             % For reproducibility
[VSim,YSim] = simulate(EstMdl,numObs,'NumPaths',numPaths);

VSim и YSim являются T-by- numPaths матрицы. Строки соответствуют периоду дискретизации, а столбцы соответствуют моделируемому пути.

Постройте график среднего значения и 97,5% и 2,5% процентилей симулирующих путей. Сравните статистику симуляции с исходными данными.

VSimBar = mean(VSim,2);
VSimCI = quantile(VSim,[0.025 0.975],2);
YSimBar = mean(YSim,2);
YSimCI = quantile(YSim,[0.025 0.975],2);

figure;
subplot(2,1,1);
h1 = plot(dates,VSim,'Color',0.8*ones(1,3));
hold on;
h2 = plot(dates,VSimBar,'k--','LineWidth',2);
h3 = plot(dates,VSimCI,'r--','LineWidth',2);
hold off;
title('Simulated Conditional Variances');
ylabel('Cond. var.');
xlabel('Year');

subplot(2,1,2);
h1 = plot(dates,YSim,'Color',0.8*ones(1,3));
hold on;
h2 = plot(dates,YSimBar,'k--','LineWidth',2);
h3 = plot(dates,YSimCI,'r--','LineWidth',2);
hold off;
title('Simulated Nominal Returns');
ylabel('Nominal return (%)');
xlabel('Year');
legend([h1(1) h2 h3(1)],{'Simulated path' 'Mean' 'Confidence bounds'},...
    'FontSize',7,'Location','NorthWest');

Figure contains 2 axes. Axes 1 with title Simulated Conditional Variances contains 103 objects of type line. Axes 2 with title Simulated Nominal Returns contains 103 objects of type line. These objects represent Simulated path, Mean, Confidence bounds.

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

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

load Data_Danish;
nr = DataTable.RN;

Создайте модель EGARCH (1,1) с неизвестным условным средним смещением и включите термин рычага. Подбор модели к ежегодному номинальному возврату серии.

Mdl = egarch('GARCHLags',1,'ARCHLags',1,'LeverageLags',1,'Offset',NaN);
EstMdl = estimate(Mdl,nr);
 
    EGARCH(1,1) Conditional Variance Model with Offset (Gaussian Distribution):
 
                     Value       StandardError    TStatistic     PValue  
                   __________    _____________    __________    _________

    Constant         -0.62723       0.74401        -0.84304       0.39921
    GARCH{1}          0.77419       0.23628          3.2766     0.0010507
    ARCH{1}           0.38636       0.37361          1.0341       0.30107
    Leverage{1}    -0.0024989       0.19222          -0.013       0.98963
    Offset            0.10325      0.037727          2.7368     0.0062047

Прогнозируйте условное отклонение номинального ряда возврата 10 лет в будущее с помощью предполагаемой модели EGARCH. Задайте целую серию возвратов как предварительные наблюдения. Программа выводит предварительную выборку условных отклонений, используя предварительные наблюдения и модель.

numPeriods = 10;
vF = forecast(EstMdl,numPeriods,nr);

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

v = infer(EstMdl,nr);

figure;
plot(dates,v,'k:','LineWidth',2);
hold on;
plot(dates(end):dates(end) + 10,[v(end);vF],'r','LineWidth',2);
title('Forecasted Conditional Variances of Nominal Returns');
ylabel('Conditional variances');
xlabel('Year');
legend({'Estimation sample cond. var.','Forecasted cond. var.'},...
    'Location','Best');

Figure contains an axes. The axes with title Forecasted Conditional Variances of Nominal Returns contains 2 objects of type line. These objects represent Estimation sample cond. var., Forecasted cond. var..

Подробнее о

расширить все

Совет

  • Можно задать egarch модель как часть состава условных средних и дисперсионных моделей. Для получения дополнительной информации смотрите arima.

  • Спецификация EGARCH (1,1) достаточно сложна для большинства применений. Как правило, в этих моделях коэффициенты GARCH и ARCH положительны, а коэффициенты рычага отрицательны. Если вы получите эти признаки, то большие непредвиденные нисходящие толчки увеличивают отклонение. Если вы получаете знаки, противоположные тем знакам, которые ожидаются, вы можете столкнуться с трудностями, ограничивающими последовательности волатильности и прогнозирование. Отрицательный коэффициент ARCH проблематичен. В этом случае модель EGARCH может быть не лучшим выбором для вашего приложения.

Ссылки

[1] Tsay, R.S. Analysis of Financial Time Series. 3-й эд. Hoboken, NJ: John Wiley & Sons, Inc., 2010.

Введенный в R2012a