Модели, созданной 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 = 1x3 cell array
{[NaN]} {[0]} {[NaN]}
GARCH
имеет нулевой коэффициент в задержке 2, чтобы поддержать непротиворечивость с традиционной индексацией массива ячеек MATLAB®.