Модель создается 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
. Второе поле соответствует степеням свободы для t распределения Студента и только требуется если Name
имеет значение 't'
.
Задавать 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
Обновленная модель имеет t распределение Студента с 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
. Это свойство обновляется автоматически, когда задержка, соответствующая самой большой ненулевой ДУГЕ или рычагам, называет изменения.
Не всеми аргументами пары "имя-значение", которые можно использовать для создания модели, являются свойства созданной модели. А именно, можно задать аргументы GARCHLags
и ARCHLags
(и LeverageLags
для моделей EGARCH и GJR) во время создания модели. Это не, однако, свойства garch
, egarch
, или gjr
модель. Это означает, что вы не можете получить или изменить их в существующей модели.
ДУГА, 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, ДУГУ и коэффициенты рычагов в задержке 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®.