garch
GARCH条件方差时间序列模型
描述
使用garch
指定单变量GARCH(广义自回归条件异方差)模型。的garch
函数返回garch
对象的函数形式GARCH (P,问)模型,并保存其参数值。
a的关键组成部分garch
模型包括:
GARCH多项式,由滞后条件方差组成。度表示为P.
ARCH多项式,由滞后平方变换组成。度表示为问.
P而且问分别为GARCH多项式和ARCH多项式的最大非零滞后。模型的其他组成部分包括创新均值模型偏移量、条件方差模型常数和创新分布。
所有系数均为未知(南
值)和可估计的,除非您使用名称-值对参数语法指定它们的值。要估计包含给定数据的全部或部分未知参数值的模型,请使用估计
.对于完全指定的模型(其中所有参数值都已知的模型),使用模拟
或预测
,分别。
创建
描述
返回一个0度的条件方差Mdl
= garchgarch
对象。
输入参数
简写语法为您提供了一种创建模型模板的简便方法,该模型模板适用于不受限制的参数估计。例如,要创建一个包含未知参数值的GARCH(1,2)模型,输入:
Mdl = garch(1,2);
P
- - - - - -GARCH多项式次
非负整数
GARCH多项式度,指定为非负整数。在GARCH多项式和时间上t, MATLAB®包括来自滞后的所有连续条件方差项t- 1通过延迟t- - - - - -P
.
属性指定此参数garch
(P, Q)
仅限速记语法。
如果P
> 0,那么你必须指定问
作为正整数。
例子:garch (1, 1)
数据类型:双
问
- - - - - -ARCH多项式次
非负整数
ARCH多项式度,指定为非负整数。在ARCH多项式和时间上t, MATLAB包含了所有来自滞后的连续平方创新项t- 1通过延迟t- - - - - -问
.
属性指定此参数garch
(P, Q)
仅限速记语法。
如果P
> 0,那么你必须指定问
作为正整数。
例子:garch (1, 1)
数据类型:双
指定可选参数对为Name1 = Value1,…,以=家
,在那里名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字
在报价。
手动语法使您能够创建部分或所有系数已知的模型。在评估期间,估计
对任何已知参数施加相等约束。
例子:'ARCHLags',[1 4],'ARCH',{NaN NaN}
指定GARCH(0,4)模型和滞后时未知但非零的ARCH系数矩阵1
而且4
.
GARCHLags
- - - - - -GARCH多项式滞后
1: P
(默认)|唯一正整数的数字向量
GARCH多项式滞后,指定为逗号分隔的对,由“GARCHLags”
和一个唯一正整数的数字向量。
GARCHLags (
滞后是否与系数相对应j
)GARCH {
.的长度j
}GARCHLags
而且GARCH
必须是相等的。
假设所有GARCH系数(由GARCH
属性)为正或南
值,马克斯(GARCHLags)
属性的值P
财产。
例子:“GARCHLags”,[1 - 4]
数据类型:双
ARCHLags
- - - - - -ARCH多项式滞后
1:问
(默认)|唯一正整数的数字向量
ARCH多项式滞后,指定为逗号分隔的对,由“ARCHLags”
和一个唯一正整数的数字向量。
ARCHLags (
滞后是否与系数相对应j
)弓{
.的长度j
}ARCHLags
而且拱
必须是相等的。
假设所有ARCH系数(由拱
属性)为正或南
值,马克斯(ARCHLags)
属性的值问
财产。
例子:“ARCHLags”,[1 - 4]
数据类型:双
属性
当您使用名称-值对参数语法创建模型对象时,或者在您使用点表示法创建模型对象之后,您可以设置可写的属性值。例如,要创建一个具有未知系数的GARCH(1,1)模型,然后指定一个t自由度未知的创新分布,进入:
Mdl = garch(' garchlag ',1,' archlag ',1);Mdl。分布= "t";
P
- - - - - -GARCH多项式次
非负整数
此属性是只读的。
GARCH多项式度,指定为非负整数。P
GARCH多项式的最大滞后系数是正的还是南
.小于的滞后P
系数可以是0。
P
指定初始化模型所需的预采样条件方差的最小数目。
如果使用名称-值对参数来创建模型,那么MATLAB将实现这些替代方案之一(假设最大滞后系数为正或南
):
如果你指定
GARCHLags
,然后P
是指定的最大滞后。如果你指定
GARCH
,然后P
指定值的元素数。如果你还指定GARCHLags
,然后garch
使用GARCHLags
来确定P
代替。否则,
P
是0
.
数据类型:双
问
- - - - - -ARCH多项式次
非负整数
此属性是只读的。
ARCH多项式度,指定为非负整数。问
ARCH多项式的最大滞后系数是正的还是南
.小于的滞后问
系数可以是0。
问
指定初始化模型所需的最少预采样革新次数。
如果使用名称-值对参数来创建模型,那么MATLAB将实现这些替代方案之一(假设最大滞后系数为正或南
):
如果你指定
ARCHLags
,然后问
是指定的最大滞后。如果你指定
拱
,然后问
指定值的元素数。如果你还指定ARCHLags
,然后garch
使用它的值来确定问
代替。否则,
问
是0
.
数据类型:双
常数
- - - - - -条件方差模型常数
南
(默认)|积极的标量
条件方差模型常数,指定为正标量或南
价值。
数据类型:双
GARCH
- - - - - -GARCH多项式系数
或正标量的单元向量南
值
GARCH多项式系数,指定为正标量或正标量的单元向量南
值。
如果你指定
GARCHLags
,则适用以下条件。的长度
GARCH
而且GARCHLags
是相等的。GARCH {
是滞后系数吗j
}GARCHLags (
.j
)默认情况下,
GARCH
是一个元素个数(GARCHLags)
的-by-1单元向量南
值。
否则,适用以下条件。
的长度
GARCH
是P
.GARCH {
是滞后系数吗j
}j
.默认情况下,
GARCH
是一个P
的-by-1单元向量南
值。
里面的系数GARCH
对应于底层的系数LagOp
滞后算子多项式,并进行了近零容差排除检验。如果你设一个系数为1 e-12
或以下,garch
不包括该系数及其相应的滞后GARCHLags
从模型中。
数据类型:细胞
拱
- - - - - -ARCH多项式系数
或正标量的单元向量南
值
ARCH多项式系数,指定为正标量或单元向量南
值。
如果你指定
ARCHLags
,则适用以下条件。的长度
拱
而且ARCHLags
是相等的。弓{
是滞后系数吗j
}ARCHLags (
.j
)默认情况下,
拱
是一个元素个数(ARCHLags)
的-by-1单元向量南
值。
否则,适用以下条件。
的长度
拱
是问
.弓{
是滞后系数吗j
}j
.默认情况下,
拱
是一个问
的-by-1单元向量南
值。
里面的系数拱
对应于底层的系数LagOp
滞后算子多项式,并进行了近零容差排除检验。如果你设一个系数为1 e-12
或以下,garch
不包括该系数及其相应的滞后ARCHLags
从模型中。
数据类型:细胞
UnconditionalVariance
- - - - - -无条件方差模型
积极的标量
此属性是只读的。
模型的无条件方差,指定为正标量。
无条件方差是
κ条件方差模型常量(常数
).
数据类型:双
抵消
- - - - - -创新平均模型偏移
0
(默认)|数字标量|南
创新平均模型偏移量,或附加常数,指定为数值标量或南
价值。
数据类型:双
分布
- - - - - -创新过程的条件概率分布
“高斯”
(默认)|“t”
|结构数组
创新过程的条件概率分布,指定为字符串或结构数组。garch
将值存储为结构数组。
分布 | 字符串 | 结构数组 |
---|---|---|
高斯 | “高斯” |
结构(“名字”,“高斯”) |
学生的t | “t” |
结构(“名字”,“t”,景深,景深) |
的“景深”
字段指定t分布自由度参数。
景深
> 2或景深
=南
.景深
是有价值的。如果你指定
“t”
,景深
是南
默认情况下。您可以在创建模型后使用点表示法更改它的值。例如,mld . distribution . dof = 3
.如果您提供一个结构数组来指定学生的t分布,则必须同时指定
“名字”
而且“景深”
字段。
例子:结构(“名字”,“t”、“景深”,10)
描述
- - - - - -模型描述
字符串标量|特征向量
模型描述,指定为字符串标量或字符向量。garch
将值存储为字符串标量。例如,默认值描述模型的参数形式GARCH(1,1)条件方差模型(高斯分布)
.
例子:“描述”、“模式1”
数据类型:字符串
|字符
SeriesName
- - - - - -响应系列名称
字符串标量|特征向量|“Y”
自从R2023a
响应系列名称,指定为字符串标量或字符向量。garch
将值存储为字符串标量。
例子:“StockReturn”
数据类型:字符串
|字符
请注意
所有南
-值模型参数,包括系数和t-创新-分配自由度(如果存在)是可估计的。当你传递结果时garch
对象和数据估计
, MATLAB估计南
有价值的参数。在评估期间,估计
将已知参数作为等式约束,即:估计
将任何已知参数固定为其值。
对象的功能
例子
创建默认GARCH模型
创建默认值garch
建模对象并使用点表示法指定其参数值。
创建GARCH(0,0)模型。
Mdl = garch
描述:“garch(0,0)条件方差模型(高斯分布)”SeriesName: "Y"分布:Name = "高斯" P: 0 Q: 0常量:NaN GARCH: {} ARCH:{}偏移量:0
Mdl
是一个garch
模型。它包含一个未知的常数,它的偏移量为0
,创新分布为“高斯”
.该模型没有GARCH或ARCH多项式。
使用点表示法为滞后1和滞后2指定两个未知的ARCH系数。
Mdl。一个RCH = {NaN NaN}
描述:“garch(0,2)条件方差模型(高斯分布)”SeriesName: "Y"分布:Name = "高斯" P: 0 Q: 2常量:NaN GARCH: {} ARCH: {NaN NaN} at lag[1 2]偏移量:0
的问
而且拱
属性更新为2
而且{南南}
.两个ARCH系数与滞后1和滞后2有关。
使用速记语法创建GARCH模型
创建一个garch
使用速记符号建模garch (P, Q)
,在那里P
是GARCH多项式的次,问
为ARCH多项式的次。
创建GARCH(3,2)模型。
Mdl = garch(3,2)
描述:“garch(3,2)条件方差模型(高斯分布)”SeriesName: "Y"分布:Name = "高斯" P: 3 Q: 2常量:NaN GARCH: {NaN NaN NaN} at lag [1 2 3] ARCH: {NaN NaN} at lag[1 2]偏移量:0
Mdl
是一个garch
模型对象。所有属性Mdl
,除了P
,问
,分布
,都是南
值。默认情况下,软件:
包括一个条件方差模型常数
不包括条件平均模型偏移量(即偏移量为
0
)包括ARCH和GARCH滞后算子多项式中的所有滞后项,直到滞后
问
而且P
分别
Mdl
只指定GARCH模型的功能形式。因为它包含未知的参数值,所以可以通过Mdl
时间序列数据估计
估计参数。
使用Longhand语法创建GARCH模型
创建一个garch
使用名称-值对参数建模。
指定GARCH(1,1)模型。默认情况下,条件平均模型偏移量为零。指定偏移量为南
.
Mdl = garch(“GARCHLags”, 1“ARCHLags”, 1“抵消”南)
描述:“garch(1,1)条件方差模型与偏移(高斯分布)”SeriesName: "Y"分布:Name = "高斯" P: 1 Q: 1常量:NaN GARCH: {NaN} at lag [1] ARCH: {NaN} at lag[1]偏移量:NaN
Mdl
是一个garch
模型对象。该软件将所有参数(模型对象的属性)设置为南
,除了P
,问
,分布
.
自Mdl
包含南
值,Mdl
仅适用于估计。通过Mdl
和时间序列数据估计
.
创建已知系数的GARCH模型
创建具有平均偏移量的GARCH(1,1)模型,
在哪里
而且 是独立同分布的标准高斯过程。
Mdl = garch(“不变”, 0.0001,“四国”, 0.75,...“拱”, 0.1,“抵消”, 0.5)
描述:“garch(1,1)条件方差模型与偏移(高斯分布)”SeriesName: "Y"分布:Name = "高斯" P: 1 Q: 1常量:0.0001 GARCH: {0.75} at lag [1] ARCH: {0.1} at lag[1]偏移量:0.5
garch
将默认值赋给未使用名值对参数指定的任何属性。
访问GARCH模型属性
属性的属性garch
使用点表示法建模对象。
创建一个garch
模型对象。
Mdl = garch(3,2)
描述:“garch(3,2)条件方差模型(高斯分布)”SeriesName: "Y"分布:Name = "高斯" P: 3 Q: 2常量:NaN GARCH: {NaN NaN NaN} at lag [1 2 3] ARCH: {NaN NaN} at lag[1 2]偏移量:0
从模型中删除第二个GARCH项。也就是说,指定第二个滞后条件方差的GARCH系数为0
.
Mdl。Garch {2} = 0
描述:“garch(3,2)条件方差模型(高斯分布)”SeriesName: "Y"分布:Name = "高斯" P: 3 Q: 2常量:NaN GARCH: {NaN NaN} at lag [1 3] ARCH: {NaN NaN} at lag[1 2]偏移量:0
GARCH多项式有两个未知参数,对应滞后1和滞后3。
显示扰动的分布。
Mdl。分布
ans =带字段的结构:名称:“高斯”
扰动是均值为0,方差为1的高斯分布。
指定潜在的I.I.D.干扰具有t5个自由度的分布。
Mdl。分布= struct(“名字”,“t”,“景深”5)
Mdl = garch属性:描述:“garch(3,2)条件方差模型(t分布)”SeriesName: "Y"分布:Name = "t", DoF = 5 P: 3 Q: 2常量:NaN GARCH: {NaN NaN} at lag [1 3] ARCH: {NaN NaN} at lag[1 2]偏移量:0
指定ARCH系数对于第一个滞后为0.2,对于第二个滞后为0.1。
Mdl。一个RCH = {0.2 0.1}
Mdl = garch属性:描述:“garch(3,2)条件方差模型(t分布)”SeriesName: "Y"分布:Name = "t", DoF = 5 P: 3 Q: 2常量:NaN GARCH: {NaN NaN} at lag [1 3] ARCH: {0.2 0.1} at lag[1 2]偏移量:0
要估计剩下的参数,可以通过Mdl
你的数据估计
并使用指定的参数作为等式约束。或者,您可以指定其余的参数值,然后通过将完全指定的模型传递给GARCH模型来模拟或预测GARCH模型的条件方差模拟
或预测
,分别。
GARCH模型估计
用GARCH模型拟合丹麦1922-1999年名义股票收益率的年度时间序列。
加载Data_Danish
数据集。绘制名义回报率(nr
).
负载Data_Danish;nr = dattable . rn;图;情节(日期、nr);持有在;Plot([日期(1)日期(结束)],[0 0],“:”);y = 0持有从;标题(“丹麦名义股票收益”);ylabel (“名义回报率(%)”);包含(“年”);
名义收益系列似乎有一个非零的条件平均偏移,似乎表现出波动性聚类。也就是说,早期的变异性比后期的变异性要小。对于这个例子,假设GARCH(1,1)模型适用于这个系列。
创建GARCH(1,1)模型。默认情况下,条件平均偏移量为零。要估计偏移量,请指定为南
.
Mdl = garch(“GARCHLags”, 1“ARCHLags”, 1“抵消”、南);
将GARCH(1,1)模型与数据拟合。
EstMdl =估计(Mdl,nr);
GARCH(1,1)带偏移量的条件方差模型(高斯分布):Value StandardError TStatistic PValue _________ _____________ __________ _________ Constant 0.0044476 0.007814 0.56918 0.56923 GARCH{1} 0.84932 0.26495 3.2056 0.0013477 ARCH{1} 0.07325 0.14953 0.48986 0.62423 Offset 0.11227 0.039214 2.8629 0.0041974
EstMdl
是完全指定的garch
模型对象。也就是说,它不包含南
值。您可以通过使用生成残差来评估模型的充分性推断出
,然后分析它们。
若要模拟条件方差或响应,则通过EstMdl
来模拟
.
预测创新,通过EstMdl
来预测
.
模拟GARCH模型观测值和条件方差
模拟完全指定的条件方差或响应路径garch
模型对象。也就是说,从估计值进行模拟garch
模型或已知的garch
模型,其中指定所有参数值。
加载Data_Danish
数据集。
负载Data_Danish;nr = dattable . rn;
创建一个具有未知条件平均偏移量的GARCH(1,1)模型。将模型拟合到年名义收益系列。
Mdl = garch(“GARCHLags”, 1“ARCHLags”, 1“抵消”、南);EstMdl =估计(Mdl,nr);
GARCH(1,1)带偏移量的条件方差模型(高斯分布):Value StandardError TStatistic PValue _________ _____________ __________ _________ Constant 0.0044476 0.007814 0.56918 0.56923 GARCH{1} 0.84932 0.26495 3.2056 0.0013477 ARCH{1} 0.07325 0.14953 0.48986 0.62423 Offset 0.11227 0.039214 2.8629 0.0041974
从估计的GARCH模型中模拟每个周期的100条条件方差和响应路径。
numObs =数字(nr);样本容量(T)numPaths = 100;%要模拟的路径数rng (1);%用于再现性[VSim,YSim] =模拟(EstMdl,numObs,“NumPaths”, numPaths);
VSim
而且YSim
是T
——- - - - - -numPaths
矩阵。行对应采样周期,列对应模拟路径。
绘制模拟路径的平均值和97.5%和2.5%百分位数。将模拟统计数据与原始数据进行比较。
VSimBar = mean(VSim,2);VSimCI =分位数(VSim,[0.025 0.975],2);YSimBar = mean(YSim,2);YSimCI =分位数(YSim,[0.025 0.975],2);图;次要情节(2,1,1);h1 = plot(日期,VSim,“颜色”, 0.8 *(1、3));持有在;h2 = plot(日期,VSimBar,“k——”,“线宽”2);h3 = plot(日期,VSimCI,“r——”,“线宽”2);持有从;标题(“模拟条件方差”);ylabel (的电导率。var。);包含(“年”);次要情节(2,1,2);h1 = plot(日期,YSim,“颜色”, 0.8 *(1、3));持有在;h2 = plot(日期,YSimBar,“k——”,“线宽”2);h3 = plot(日期,YSimCI,“r——”,“线宽”2);持有从;标题(“模拟名义收益”);ylabel (“名义回报率(%)”);包含(“年”);图例([h1(1) h2 h3(1)],{“模拟路径”“的意思是”“信心界限”},...“字形大小”7“位置”,“西北”);
预测GARCH模型条件方差
预测完全指定的条件方差garch
模型对象。也就是说,从估计中预测garch
模型或已知的garch
模型,其中指定所有参数值。示例如下GARCH模型估计.
加载Data_Danish
数据集。
负载Data_Danish;nr = dattable . rn;
创建一个具有未知条件平均偏移量的GARCH(1,1)模型,并将模型拟合到年名义收益系列。
Mdl = garch(“GARCHLags”, 1“ARCHLags”, 1“抵消”、南);EstMdl =估计(Mdl,nr);
GARCH(1,1)带偏移量的条件方差模型(高斯分布):Value StandardError TStatistic PValue _________ _____________ __________ _________ Constant 0.0044476 0.007814 0.56918 0.56923 GARCH{1} 0.84932 0.26495 3.2056 0.0013477 ARCH{1} 0.07325 0.14953 0.48986 0.62423 Offset 0.11227 0.039214 2.8629 0.0041974
用估计的GARCH模型预测未来10年名义收益序列的条件方差。指定整个返回序列作为预样本观测值。该软件利用预样本观测值和模型推断预样本条件方差。
numPeriods = 10;vF = forecast(EstMdl,numPeriods,nr);
画出名义收益的预测条件方差。将预测结果与观测到的条件方差进行比较。
v = infer(EstMdl,nr);图;情节(日期、v、凯西:”,“线宽”2);持有在;plot(日期(结束):日期(结束)+ 10,[v(结束);vF],“r”,“线宽”2);标题(“名义收益的预测条件方差”);ylabel (“有条件的差异”);包含(“年”);传奇({'估计样本cond。var。,预测电导率。var。},...“位置”,“最佳”);
更多关于
GARCH模型
一个GARCH模型是一个动态模型,解决创新过程中的条件异方差或波动聚类。当创新过程不表现出显著的自相关,但过程方差随时间变化时,就会出现波动率聚类。
GARCH模型假定当前条件方差是这些线性过程的和,每个项都有系数:
过去的条件方差(GARCH分量或多项式)
过去的平方创新(ARCH分量或多项式)
创新均值和条件方差模型的常数偏移
考虑时间序列
在哪里 GARCH (P,问)条件方差过程, ,具有
在滞后运算符表示法中,模型为
的属性对应的变量garch
模型对象。
变量 | 描述 | 财产 |
---|---|---|
μ | 创新均值模型恒定偏移 | “抵消” |
κ> 0 | 条件方差模型常数 | “不变” |
GARCH分量系数 | “四国” |
|
ARCH分量系数 | “拱” |
|
zt | 均值为0,方差为1的独立随机变量序列 | “分布” |
对于平稳性和正性,GARCH模型使用以下约束条件:
恩格尔的原始ARCH(问)模型等价于GARCH(0,问)规范。
当等量的正面和负面冲击对波动率的贡献相同时,GARCH模型是合适的[1].
提示
您可以指定garch
模型作为条件均值和方差模型组成的一部分。详细信息请参见华宇电脑
.
参考文献
[1]蔡瑞。财务时间序列分析.霍博肯,新泽西州:John Wiley & Sons, Inc., 2010年。
版本历史
在R2012a中引入R2023a:命名一个GARCH模型响应系列
属性来命名GARCH模型的响应序列SeriesName
属性的关联模型。当您向表或时间表中的模型对象函数提供输入响应数据时,这些函数将选择带有名称的变量SeriesName
默认情况下作为响应变量。
R2018a:描述一个GARCH模型
描述GARCH模型描述
属性设置为字符串标量。
R2018a:使用与。一致的索引MATLAB单元格数组索引
滞后算子多项式系数单元数组的索引遵循MATLAB单元数组索引规则。
受影响的模型属性为GARCH
而且拱
属性。
的索引不能访问任何滞后零系数
0
.例如,Mdl。一个R{0}
产生一个错误。从代码中删除此类0下标的任何实例。所有滞后零系数的值为
1
除了滞后算子多项式对应于拱
属性,其值为0
.你不能索引超过多项式的最大滞后。例如,如果
Mdl。P
那么是4Mdl。一个RCH{p}
在以下情况下发出错误p
大于4
.关于滞后算子多项式的最大滞后的详细信息,请参见相应的属性说明。从代码中删除超过最大延迟的此类索引的任何实例。所有超过最大滞后的系数都是
0
.
模型将创新分布名称存储为字符串标量
的名字
字段分布
的属性garch
模型对象将创新分布名称存储为字符串标量,例如,“高斯”
高斯变换。
例如,在R2018a之前,MATLAB将创新分布名称存储为字符向量“高斯”
高斯变换。尽管大多数文本数据操作接受字符向量和字符串标量作为文本数据输入,但这两种数据类型之间还是有一些区别。详情请参见字符串和字符数组中的文本.
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。