由garch
,egarch
,或gjr
具有分配给所有模型属性的值。要更改这些属性值,您不需要重构整个模型。您可以使用点符号来修改现有模型的属性值。也就是说,输入模型名,然后是属性名,用“。”
(一段时间)。
例如,从以下模型规范开始:
Mdl = garch (1,1)
描述:“garch(1,1)条件方差模型(高斯分布)”分布:Name = "Gaussian" P: 1 Q: 1 Constant: NaN GARCH: {NaN} at lag [1] ARCH: {NaN} at lag [1] Offset: 0
默认模型没有平均偏移量,所以抵消
属性没有出现在模型输出中。但是,该属性存在:
抵消= Mdl。抵消
抵消= 0
修改模型,添加一个未知的平均偏移项:
Mdl。抵消=南
描述:“garch(1,1)带偏移的条件方差模型(高斯分布)”分布:Name = "Gaussian" P: 1 Q: 1 Constant: NaN GARCH: {NaN} at lag [1] ARCH: {NaN} at lag [1] Offset: NaN
抵消
现在出现在模型输出中,带有更新后的非零值。
请注意,每个模型属性都有一个数据类型。对属性值所做的任何修改都必须与属性的数据类型一致。例如,GARCH
和拱
(和利用
为egarch
和gjr
模型)都是细胞载体。这意味着您必须使用单元格数组语法对它们进行索引。
例如,从以下模型开始:
GJRMdl = gjr (1,1)
描述:“gjr(1,1)条件方差模型(高斯分布)”分布: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}
描述:“gjr(2,1)条件方差模型(高斯分布)”分布:Name = "Gaussian" P: 2 Q: 1 Constant: NaN GARCH: {0.6 0.2} at lag [1 2] ARCH: {NaN} at lag [1] Leverage: {NaN} at lag [1] Offset: 0
更新后的模型现在有两个具有指定等式约束的GARCH项(滞后1和2)。
类似地,的数据类型分布
是一个数据结构。默认数据结构只有一个字段,的名字
,价值“高斯”
.
= GJRMdl分布。分布
分布=结构体字段:名称:“高斯”
修改创新分配,分配分布
一个新的名称或数据结构。数据结构最多可以有两个字段,的名字
和景深
.第二个场对应于学生的自由度t分配,并且只在的名字
的值“t”
.
指定一个学生的t自由度未知的分布,进入:
GJRMdl。分布=“t”
描述:“gjr(2,1)条件方差模型(t分布)”分布:Name = "t", DoF = NaN P: 2 Q: 1 Constant: NaN GARCH: {0.6 0.2} at lag [1 2] ARCH: {NaN} at lag [1] Leverage: {NaN} at lag [1] Offset: 0
更新后的模型有一个Student'st分布与南
的自由度。指定一个t八自由度分布,即:
GJRMdl。分布=结构(“名字”,“t”,“景深”, 8)
描述:“gjr(2,1)条件方差模型(t分布)”分布:Name = "t", DoF = 8 P: 2 Q: 1 Constant: NaN GARCH: {0.6 0.2} at lag [1 2] ARCH: {NaN} at lag [1] Leverage: {NaN} at lag [1] Offset: 0
对模型中的自由度属性进行了更新。请注意,景深
领域的分布
不能直接分配。例如,GJRMdl.Distribution.DoF = 8
不是有效的转让。但是,你可以获得单独的字段:
DistributionDoF = GJRMdl.Distribution.DoF
DistributionDoF = 8
并不是所有的模型属性都可以修改。您不能在现有模型中更改这些属性:
P
.当对应于最大非零GARCH项的延迟发生变化时,此属性将自动更新。
问
.当对应于最大的非零ARCH或杠杆项更改的延迟时,此属性将自动更新。
并非所有可以用于模型创建的名称-值对参数都是所创建模型的属性。具体来说,您可以指定参数GARCHLags
和ARCHLags
(和LeverageLags
用于EGARCH和GJR模型)。然而,这些不是garch
,egarch
,或gjr
模型。这意味着您不能在现有模型中检索或修改它们。
如果在系数单元阵列中添加(或删除)任何元素,ARCH、GARCH和杠杆会自动更新GARCH
,拱
,或利用
.
例如,指定一个EGARCH(1,1)模型:
Mdl = egarch (1,1)
描述:“egarch(1,1)条件方差模型(高斯分布)”分布: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
模型输出显示了滞后1的非零GARCH、ARCH和杠杆系数。
在滞后3时添加一个新的GARCH系数:
Mdl。GARCH {3} = NaN
描述:“egarch(3,1)条件方差模型(高斯分布)”分布:Name = "Gaussian" P: 3 Q: 1 Constant: NaN GARCH: {NaN NaN} at lag [1 3] ARCH: {NaN} at lag [1] Leverage: {NaN} at lag [1] Offset: 0
滞后1和3处的非零GARCH系数现在显示在模型输出中。然而,单元格数组分配给GARCH
返回三个要素:
garchCoefficients = Mdl。GARCH
garchCoefficients =1×3单元阵列(南){}{[0]}{(南)}
GARCH
在滞后2时系数为零,以保持与传统MATLAB®单元阵列索引的一致性。