gjr

Условная модель временных рядов отклонения GJR

Описание

Используйте gjr, чтобы задать одномерный GJR (Glosten, Jagannathan и Runkle) модель. Функция gjr возвращает объект gjr, задающий функциональную форму GJR (P, Q) модель, и хранит ее значения параметров.

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

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

  • Полином ДУГИ, который состоит из изолированных инноваций в квадрате.

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

  • Максимум ДУГИ и степеней полинома рычагов, обозначенных Q.

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

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

Создание

Синтаксис

Mdl = gjr
Mdl = gjr(P,Q)
Mdl = gjr(Name,Value)

Описание

пример

Mdl = gjr возвращает условный объект gjr отклонения нулевой степени.

пример

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

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

пример

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

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

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

развернуть все

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

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

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

Можно задать этот аргумент с помощью краткого синтаксиса (P,Q) gjr только.

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

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

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

Степень полинома ДУГИ, заданная как неотрицательное целое число. В полиноме ДУГИ и во время t, MATLAB включает все последовательные инновационные условия в квадрате (для полинома ДУГИ) и отрицательные инновационные условия в квадрате (для полинома рычагов) от задержки t – 1 через задержку tQ.

Можно задать этот аргумент с помощью краткого синтаксиса (P,Q) gjr только.

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

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

Пример: 'ARCHLags',[1 4],'ARCH',{NaN NaN} задает модель GJR(0,4) и неизвестные, но ненулевые, содействующие матрицы ДУГИ в задержках 1 и 4.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Распределение условной вероятности инновационного процесса, заданного как пара, разделенная запятой, состоящая из 'Distribution' и строки или массива структур.

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

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

  • DoF> 2 или DoF = NaN.

  • DoF является допускающим оценку. Если вы хотите, чтобы estimate оценил этот параметр наряду со всеми другими неизвестными параметрами, то его значением должен быть NaN.

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

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

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

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

Свойства

развернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Если вы задаете ARCH или Leverage, то Q является максимальным количеством элементов между этими двумя спецификациями. Если вы также задаете ARCHLags или LeverageLags, то gjr использует их значения, чтобы определить 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.

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

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

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

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

    • ARCH{j} является коэффициентом задержки ARCHLags(j).

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

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

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

    • ARCH{j} является коэффициентом задержки j.

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

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

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

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

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

    • Leverage{j} является коэффициентом задержки LeverageLags(j).

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

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

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

    • Leverage{j} является коэффициентом задержки j.

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

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

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

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

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

σε2=κ(1i=1Pγij=1Qαj12j=1Qξj).

κ является условной моделью отклонения, постоянной (Constant).

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

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

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

Распределение условной вероятности инновационного процесса, заданного как массив структур.

Поле Name хранит имя распределения, или "Gaussian" для Распределения Гаусса или "t" для распределения t.

Если Name является "t", то Distribution также содержит поле DoF, которое хранит t - степени свободы распределения.

По умолчанию Distribution является struct('Name',"Gaussian"). Когда вы создаете объект, если вы указываете, что базовый инновационный процесс имеет распределение t при помощи аргумента пары "имя-значение" Distribution, затем полем DoF является NaN по умолчанию.

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

Образцовое описание, заданное как скаляр строки или вектор символов. По умолчанию это свойство описывает параметрическую форму модели, например, "GJR(1,1) Conditional Variance Model (Gaussian Distribution)".

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

Примечание

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

  • Весь GARCH, ARCH и коэффициенты Leverage подвергаются тесту исключения почти неприятия. Таким образом, программное обеспечение:

    1. Создает полиномы оператора задержки для каждого из компонентов ARCH и GARCH.

    2. Сравнивает каждый коэффициент с неприятием оператора задержки по умолчанию, 1e-12.

    3. Включает коэффициент в модель, если ее значение больше, чем 1e-12 и исключает коэффициент в противном случае. Другими словами, программное обеспечение полагает, что исключенные коэффициенты достаточно близко к нулю.

    Для получения дополнительной информации смотрите LagOp.

  • Как правило, задержки в ДУГЕ и полиномах рычагов являются тем же самым, но их равенство не является требованием. Отличающиеся полиномы происходят когда:

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

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

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

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

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

Примеры

свернуть все

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

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

Mdl = gjr
Mdl = 
  gjr with properties:

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

Mdl является объектом модели gjr. Это содержит неизвестную константу, ее смещением является 0, и инновационным распределением является 'Gaussian'. Модель не имеет GARCH, ДУГИ, или усиливает полиномы.

Задайте две неизвестных ДУГИ и усильте коэффициенты для задержек одна и две записи через точку использования.

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

     Description: "GJR(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

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

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

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

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

     Description: "GJR(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 является объектом модели gjr. Все свойства Mdl, кроме P, Q, и Distribution, являются значениями NaN. По умолчанию, программное обеспечение:

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

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

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

  • Включает все условия задержки в ДУГУ и полиномы рычагов, чтобы изолировать Q

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

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

Задайте модель GJR(1,1).

Mdl = gjr('GARCHLags',1,'ARCHLags',1,'LeverageLags',1)
Mdl = 
  gjr with properties:

     Description: "GJR(1,1) Conditional Variance Model (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: 0

Mdl является объектом модели gjr. Программное обеспечение устанавливает все параметры на NaN, кроме P, Q, Distribution и Offset (который является 0 по умолчанию).

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

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

yt=0.5+εt,

где εt=σtzt,

σt2=0.0001+0.35σt-12+0.1εt-12+0.03εt-12I(εt-1<0)+0.01εt-32I(εt-3<0),

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

Mdl = gjr('Constant',0.0001,'GARCH',0.35,...
    'ARCH',0.1,'Offset',0.5,'Leverage',{0.03 0 0.01})
Mdl = 
  gjr with properties:

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

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

Доступ к свойствам объекта модели gjr с помощью записи через точку.

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

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

     Description: "GJR(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 = 
  gjr with properties:

     Description: "GJR(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 = 
  gjr with properties:

     Description: "GJR(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

Укажите, что коэффициенты ДУГИ 0.2 для первой задержки и 0.1 для второй задержки.

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

     Description: "GJR(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, соответственно.

Соответствуйте модель GJR к ежегодным временным рядам индекса курса акций возвращается от 1861-1970.

Загрузите набор данных Нельсона-Плоссера. Преобразуйте ежегодные индексы курса акций (SP) в возвраты. Постройте возвраты.

load Data_NelsonPlosser;
sp = price2ret(DataTable.SP);

figure;
plot(dates(2:end),sp);
hold on;
plot([dates(2) dates(end)],[0 0],'r:'); % Plot y = 0
hold off;
title('Returns');
ylabel('Return (%)');
xlabel('Year');
axis tight;

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

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

Mdl = gjr('GARCHLags',1,'ARCHLags',1,'LeverageLags',1);

Соответствуйте модели GJR(1,1) к данным.

EstMdl = estimate(Mdl,sp);
 
    GJR(1,1) Conditional Variance Model (Gaussian Distribution):
 
                     Value      StandardError    TStatistic     PValue 
                   _________    _____________    __________    ________

    Constant       0.0045728      0.0044199        1.0346       0.30086
    GARCH{1}         0.55808           0.24        2.3253      0.020057
    ARCH{1}          0.20461        0.17886         1.144       0.25263
    Leverage{1}      0.18066        0.26802       0.67406       0.50027

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

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

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

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

Загрузите набор данных Нельсона-Плоссера. Преобразуйте ежегодные индексы курса акций в возвраты.

load Data_NelsonPlosser;
sp = price2ret(DataTable.SP);

Создайте модель GJR(1,1). Соответствуйте модели к ряду возврата.

Mdl = gjr(1,1);
EstMdl = estimate(Mdl,sp);
 
    GJR(1,1) Conditional Variance Model (Gaussian Distribution):
 
                     Value      StandardError    TStatistic     PValue 
                   _________    _____________    __________    ________

    Constant       0.0045728      0.0044199        1.0346       0.30086
    GARCH{1}         0.55808           0.24        2.3253      0.020057
    ARCH{1}          0.20461        0.17886         1.144       0.25263
    Leverage{1}      0.18066        0.26802       0.67406       0.50027

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

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

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

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

dates = dates(2:end);
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');
axis tight;

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');
axis tight;
legend([h1(1) h2 h3(1)],{'Simulated path' 'Mean' 'Confidence bounds'},...
    'FontSize',7,'Location','NorthWest');

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

Загрузите набор данных Нельсона-Плоссера. Преобразуйте ежегодные индексы курса акций (SP) в возвраты.

load Data_NelsonPlosser;
sp = price2ret(DataTable.SP);

Создайте модель GJR(1,1) и соответствуйте ей к ряду возврата.

Mdl = gjr('GARCHLags',1,'ARCHLags',1,'LeverageLags',1);
EstMdl = estimate(Mdl,sp);
 
    GJR(1,1) Conditional Variance Model (Gaussian Distribution):
 
                     Value      StandardError    TStatistic     PValue 
                   _________    _____________    __________    ________

    Constant       0.0045728      0.0044199        1.0346       0.30086
    GARCH{1}         0.55808           0.24        2.3253      0.020057
    ARCH{1}          0.20461        0.17886         1.144       0.25263
    Leverage{1}      0.18066        0.26802       0.67406       0.50027

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

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

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

v = infer(EstMdl,sp);
nV = size(v,1);
dates = dates((end - nV + 1):end);

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 Returns');
ylabel('Conditional variances');
xlabel('Year');
axis tight;
legend({'Estimation Sample Cond. Var.','Forecasted Cond. var.'},...
    'Location','NorthWest');

Больше о

развернуть все

Советы

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

Ссылки

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

[2] Tsay, R. S. Анализ Финансовых Временных рядов. 3-й редактор Хобокен, NJ: John Wiley & Sons, Inc., 2010.

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