Изменение свойств моделей условных отклонений

Запись через точку

Модель, созданная garch, egarch, или gjr имеет значения, присвоенные всем свойствам модели. Чтобы изменить любое из этих значений свойств, вам не нужно восстанавливать целую модель. Можно изменить значения свойств существующей модели с помощью записи через точку. То есть введите имя модели, затем имя свойства, разделенное '.' (а).

Для примера начните с этой спецификации модели:

Mdl = garch(1,1)
Mdl = 
  garch with properties:

     Description: "GARCH(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]
          Offset: 0

Модель по умолчанию не имеет среднего смещения, поэтому Offset свойство не отображается в выходных данных модели. Однако свойство существует:

Offset = Mdl.Offset
Offset = 0

Измените модель, чтобы добавить неизвестный термин смещения среднего значения:

Mdl.Offset = NaN
Mdl = 
  garch with properties:

     Description: "GARCH(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]
          Offset: NaN

Offset теперь появляется в выходах модели с обновленным ненулевым значением.

Имейте в виду, что каждое свойство модели имеет тип данных. Любые изменения, вносимые в значение свойства, должны соответствовать типу данных свойства. Для примера, GARCH и ARCHLeverage для egarch и gjr модели) все являются векторами камер. Это означает, что вы должны индексировать их с помощью синтаксиса массива ячеек.

Для примера начните со следующей модели:

GJRMdl = gjr(1,1)
GJRMdl = 
  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

Чтобы изменить значение свойства GARCH, назначать GARCH массив ячеек. Здесь присвойте известные значения коэффициентов GARCH:

GJRMdl.GARCH = {0.6,0.2}
GJRMdl = 
  gjr with properties:

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

Обновленная модель теперь имеет два условия GARCH (при лагах 1 и 2) с заданными ограничениями равенствами.

Точно так же тип данных Distribution является структурой данных. Структура данных по умолчанию имеет только одно поле, Name, со значением 'Gaussian'.

Distribution = GJRMdl.Distribution
Distribution = struct with fields:
    Name: "Gaussian"

Чтобы изменить инновационное распределение, присвойте Distribution новое имя или структура данных. Структура данных может иметь до двух полей, Name и DoF. Второе поле соответствует степеням свободы для распределения Student's t, и требуется только при Name имеет значение 't'.

Чтобы задать распределение студента с неизвестными степенями свободы, введите:

GJRMdl.Distribution = 't'
GJRMdl = 
  gjr with properties:

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

Обновленная модель имеет распределение Student с NaN степени свободы. Чтобы задать распределение t с восемью степенями свободы, скажем:

GJRMdl.Distribution = struct('Name','t','DoF',8)
GJRMdl = 
  gjr with properties:

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

Свойство степеней свободы в модели обновляется. Обратите внимание, что DoF область Distribution не может непосредственно назначаться. Для примера, GJRMdl.Distribution.DoF = 8 не является допустимым назначением. Однако можно получить отдельные поля:

DistributionDoF = GJRMdl.Distribution.DoF
DistributionDoF = 8

Немодифицируемые свойства

Не все свойства модели являются изменяемыми. Вы не можете изменить эти свойства в существующей модели:

  • P. Это свойство автоматически обновляется, когда изменяется задержка, соответствующая наибольшему ненулевому термину GARCH.

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

Не все аргументы пары "имя-значение", которые вы можете использовать для создания модели, являются свойствами созданной модели. В частности, можно задать аргументы GARCHLags и ARCHLagsLeverageLags для моделей EGARCH и GJR) во время создания модели. Однако это не свойства garch, egarch, или gjr модель. Это означает, что вы не можете извлечь или изменить их в существующей модели.

ARCH, GARCH и используйте автоматическое обновление лагов, если вы добавляете какие-либо элементы в (или удаляете) массивы ячеек коэффициентов GARCH, ARCH, или Leverage.

Для примера задайте модель EGARCH (1,1):

Mdl = egarch(1,1)
Mdl = 
  egarch with properties:

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

Выходы модели показывают ненулевые коэффициенты GARCH, ARCH и lag 1.

Добавьте новый коэффициент GARCH с задержкой 3:

Mdl.GARCH{3} = NaN
Mdl = 
  egarch with properties:

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

Ненулевые коэффициенты GARCH в лагах 1 и 3 теперь отображаются в выходе модели. Однако массив ячеек, назначенный GARCH возвращает три элемента:

garchCoefficients = Mdl.GARCH
garchCoefficients=1×3 cell array
    {[NaN]}    {[0]}    {[NaN]}

GARCH имеет нулевой коэффициент в лаге 2 для поддержания согласованности с традиционной индексацией массива ячеек MATLAB ®.

См. также

Объекты

Похожие примеры

Подробнее о