Модель, созданная 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
и ARCH
(и Leverage
для 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
и ARCHLags
(и LeverageLags
для моделей 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 ®.