模拟
蒙特卡罗模拟的条件方差模型
语法
描述
返回表或时间表资源描述
=模拟(Mdl
,numobs
Presample =Presample
,名称=值
)资源描述
包含随机条件方差和反应级数,模型模拟的结果Mdl
。模拟
利用创新的表或时间表或条件方差presample数据Presample
初始化模型。如果您指定Presample
,您必须指定包含presample创新或条件方差的变量数据使用PresampleInnovationVariable
或PresampleVarianceVariable
名称-值参数。
例子
返回矩阵模拟GARCH模型的条件方差和响应
模拟条件方差和响应路径的GARCH(1,1)模型。返回结果的数字矩阵。
指定一个GARCH(1,1)模型与已知参数。
Mdl = garch(常数= 0.01,garch = 0.7,拱= 0.2);
模拟500个样本路径,每个100观察。
rng (“默认”)%的再现性[V, Y] =模拟(100年Mdl NumPaths = 500);
V
和Y
100 - 500年- 500年矩阵模拟路径的条件方差和响应,分别。
图tiledlayout (2, 1) nexttile情节(V)标题(“模拟条件方差”)nexttile情节(Y)标题(“模拟反应”)
模拟反应看起来像从一个平稳随机过程。
情节2.5、50(中值)和第97.5百分位数的模拟条件方差。
低= prctile (V, 2.5, 2);中间=值(V, 2);上= prctile (V, 97.5, 2);图绘制(1:10 0,降低,r:“1:10 0,中间,“k”,…1:10 0,上,r:“线宽= 2)传说(“95%置信区间”,“中值”)标题(“近似95%间隔”)
间隔的不对称是由于积极约束条件方差。
模拟条件方差EGARCH模型和响应
模拟条件方差和响应路径从一个EGARCH(1,1)模型。
指定一个EGARCH(1,1)模型与已知参数。
Mdl = egarch(常数= 0.001,GARCH = 0.7,拱= 0.2,…杠杆= -0.3);
模拟500个样本路径,每个100观察。
rng (“默认”)%的再现性[V, Y] =模拟(100年Mdl NumPaths = 500);图tiledlayout (2, 1) nexttile情节(V)标题(“模拟条件方差”)nexttile情节(Y)标题(“模拟反应(创新)”)
模拟反应看起来像从一个平稳随机过程。
情节2.5、50(中值)和第97.5百分位数的模拟条件方差。
低= prctile (V, 2.5, 2);中间=值(V, 2);上= prctile (V, 97.5, 2);图绘制(1:10 0,降低,r:“1:10 0,中间,“k”,…1:10 0,上,r:“线宽= 2)传说(“95%置信区间”,“中值”)标题(“近似95%间隔”)
间隔的不对称是由于积极约束条件方差。
模拟GJR模型条件方差和响应
从GJR模拟条件方差和响应路径(1,1)模型。
指定一个GJR(1,1)模型与已知参数。
Mdl = gjr(常数= 0.001,GARCH = 0.7,拱= 0.2,…杠杆= 0.1);
模拟500个样本路径,每个100观察。
rng (“默认”)%的再现性[V, Y] =模拟(100年Mdl NumPaths = 500);图tiledlayout (2, 1) nexttile情节(V)标题(“模拟条件方差”)nexttile情节(Y)标题(“模拟反应(创新)”)
模拟反应看起来像从一个平稳随机过程。
情节2.5、50(中值)和第97.5百分位数的模拟条件方差。
低= prctile (V, 2.5, 2);中间=值(V, 2);上= prctile (V, 97.5, 2);图绘制(1:10 0,降低,r:“1:10 0,中间,“k”,…1:10 0,上,r:“线宽= 2)传说(“95%置信区间”,“中值”)标题(“近似95%间隔”)
间隔的不对称是由于积极约束条件方差。
通过蒙特卡罗模拟预测条件方差
自从R2023a
模拟条件方差的日常纳斯达克综合指数收益为500天。利用模拟预测和近似区间预测的95%。比较预测在GARCH (1, 1), EGARCH (1,1), GJR (1,1)。供应presample数据的时间表。
负载纳斯达克工具箱中包含的数据。将指数的回报。
负载Data_EquityIdxDTTRet = price2ret (DataTimeTable);DTTRet。间隔= [];T =身高(DTTRet);
适合GARCH (1,1)、EGARCH(1,1),和GJR(1,1)模型对整个数据集。
Mdl =细胞(3,1);%预先配置Mdl {1} = garch (1,1);Mdl {2} = egarch (1,1);Mdl {3} = gjr (1,1);EstMdl = cellfun (@ (x)估计(x, DTTRet ResponseVariable =“纳斯达克”,…显示=“关闭”)、Mdl UniformOutput = false);
EstMdl
3×1细胞向量。每个细胞都是一个不同类型的条件方差估计模型,例如,EstMdl {1}
是一个估计GARCH(1,1)模型。
模拟1000个样本路径与500年的观察。推断出条件方差和残差作为presample预测仿真。
DTTSim =细胞(3,1);%预先配置PS =细胞(3,1);为j = 1:3 rng (“默认”)%的再现性p {j} =推断(EstMdl {j}, DTTRet, ResponseVariable =“纳斯达克”);DTTSim {j} =模拟(EstMdl {j}, 500年,NumPaths = 1000,…Presample = p {j}, PresampleInnovationVariable =“Y_Residual”,…PresampleVarianceVariable =“Y_Variance”);结束
DTTSim
是一个3×1细胞向量,每个单元格包含一个500 - 1000年- 2时间表模拟路径的条件方差和反应生成相应的估计模型。
情节仿真预测和近似95%预测区间,随着条件方差从数据推断。
低= cellfun (@ (x) prctile (x.Y_Variance, 2.5, 2), DTTSim, UniformOutput = false);上= cellfun (@ (x) prctile (x.Y_Variance, 97.5, 2), DTTSim, UniformOutput = false);mn = cellfun (@ (x)的意思是(x.Y_Variance, 2), DTTSim, UniformOutput = false);datesPlot = DTTRet。时间(250年年底:结束);datesFH = DTTRet.Time(结束)+ caldays (1:50 0) ';h = 0 (3、4);图为j = 1:3坳= 0 (1、3);坳(j) = 1;h (j, 1) =情节(datesPlot、PS {j} .Y_Variance(端- 250:端),颜色=坳);持有在h (j, 2) =情节(datesFH, mn {j},颜色=坳,线宽= 3);h (j, 3:4) =情节([datesFH datesFH],[上限{j} {j}],”:“,…颜色=坳,线宽= 2);结束甘氨胆酸hGCA =;情节(datesFH ([1]), hGCA.YLim,“k——”);轴紧;h = h (:, 1:3);传奇(h (:),GARCH -推断的,“EGARCH -推断”,“GJR -推断”,…“GARCH - Sim卡。的意思是“,“EGARCH - Sim卡。的意思是“,“GJR - Sim卡。的意思是“,…前的GARCH - 95%。Int。,前的EGARCH - 95%。Int。,…“GJR - 95%。Int。,“位置”,“东北”)标题(“模拟条件方差预测”)举行从
输入参数
Presample
- - - - - -Presample数据
表|时间表
自从R2023a
Presample数据创新εt或条件方差σt2初始化模型,指定为一个表或时间表,相同的类型Tbl1
,numprevars
变量和numpreobs
行。使用Presample
只有当你提供一个数据表或时间表Tbl1
。
模拟
输出表中返回模拟变量或时间表资源描述
,这是符合Presample
。
每个选定的变量是一个路径(numpreobs
1的向量)或多个路径(numpreobs
——- - - - - -numprepaths
矩阵)numpreobs
观察presample的代表numpreobs
观察的创新或有条件的差异。
每一行是一个presample观察和测量每一行同时发生。最后一行包含最新presample观察。numpreobs
必须是下列值之一:
Mdl.Q
当Presample
只提供presample创新。GARCH (P,问)和GJR (P,问)模型:
Mdl.P
当Presample
只提供presample条件方差。马克斯([Mdl。P Mdl.Q])
当Presample
同时提供presample创新和条件方差
EGARCH (P,问)模型,
马克斯([Mdl。P Mdl.Q])
当Presample
提供presample条件方差
如果numpreobs
超过最低数量,模拟
只使用了最新的所需数量的观察。
如果Presample
是一个时间表,所有下列条件必须是真实的:
Presample
必须代表一个样本与正则datetime时间步(看到了吗isregular
)。datetime向量样本的时间戳
Presample.Time
必须升序或降序。
如果Presample
是一个表,最后一行包含最新presample观察。
默认值是:
GARCH (P,问)和GJR (P,问)模型,
模拟
集任何必要presample创新的平均平方值的平方根offset-adjusted反应级数Y
。EGARCH (P,问)模型,
模拟
任何必要的presample创新设置为零。模拟
集任何必要presample条件方差的无条件方差的过程。
如果你指定Presample
,你必须指定presample创新或使用的条件方差的变量名PresampleInnovationVariable
或PresampleVarianceVariable
名称-值参数。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:100年模拟(Mdl NumPaths = 1000, E0 = (0.5;0.5])
指定生成1000年
从模型中样本路径长度为100Mdl
,使用(0.5;0.5)
作为创新的presample /路径。
E0
- - - - - -Presample创新路径εt
数字列向量|数字矩阵
Presample创新路径εt指定为一个numpreobs
1数字或列向量numpreobs
——- - - - - -numprepaths
矩阵。使用E0
只有当你提供可选的数据输入数字数组。
presample创新提供初始值条件方差的创新过程模型Mdl
。presample创新源自一个分布均值为0。
numpreobs
是presample观测的数量。numprepaths
presample路径的数量。
每一行是一个presample观察和测量每一行同时发生。最后一行包含最新presample观察。numpreobs
必须至少Mdl.Q
。如果numpreobs
>Mdl.Q
,模拟
只使用了最新的所需数量的观察。最后一个元素或行包含最新的观测。
如果
E0
是一个列向量,它代表一个潜在的创新系列的路径。模拟
它适用于每个输出路径。如果
E0
是一个矩阵,每一列代表一个系列presample路径潜在的创新。numprepaths
必须至少NumPaths
。如果numprepaths
>NumPaths
,模拟
使用第一个NumPaths
只列。
默认值是:
GARCH (P,问)和GJR (P,问)模型,
模拟
集任何必要presample创新独立的干扰序列是一个零和标准偏差等于无条件的标准偏差的条件方差的过程。EGARCH (P,问)模型,
模拟
集任何必要presample创新独立自主的干扰序列平均值为零,方差等于取幂无条件均值EGARCH对数的方差的过程。
例子:E0 = (0.5;0.5)
半
- - - - - -积极presample条件方差的路径σt2
数字列向量|数字矩阵
积极presample条件方差路径,指定为一个numpreobs
1积极或列向量numpreobs
——- - - - - -numprepaths
积极的矩阵。半
提供初始值的条件方差模型。使用半
只有当你提供可选的数据输入数字数组。
每一行是一个presample观察和测量每一行同时发生。最后一行包含最新presample观察。
GARCH (P,问)和GJR (P,问)模型,
numpreobs
必须至少Mdl.P
。EGARCH (P,问)模型,
numpreobs
必须至少马克斯([Mdl。P Mdl.Q])
。
如果numpreobs
超过最低数量,模拟
只使用最新的观测。最后一个元素或行包含最新的观测。
如果
半
是一个列向量,它代表了一个路径的条件方差系列。模拟
它适用于每个输出路径。如果
半
是一个矩阵,每一列代表一个presample路径的条件方差系列。numprepaths
必须至少NumPaths
。如果numprepaths
>NumPaths
,模拟
使用第一个NumPaths
只列。
默认值是:
GARCH (P,问)和GJR (P,问)模型,
模拟
集任何必要presample方差的无条件方差条件方差的过程。EGARCH (P,问)模型,
模拟
集任何必要presample方差取幂无条件均值EGARCH对数的方差的过程。
例子:V0 = [1;0.5)
数据类型:双
PresampleInnovationVariable
- - - - - -变量的Presample
包含presample创新路径εt
字符串标量|特征向量|整数|逻辑向量
自从R2023a
变量的Presample
包含presample创新路径εt指定为下列数据类型之一:
字符串标量或特征向量包含一个变量名
Presample.Properties.VariableNames
变量指数(整数)可供选择
Presample.Properties.VariableNames
一个长度
numprevars
逻辑向量,PresampleInnovationVariable (
选择变量j
)= true
从j
Presample.Properties.VariableNames
,总和(PresampleInnovationVariable)
是1
选定的变量必须是一个数字矩阵和不能包含缺失值(南
)。
如果您指定presample创新数据使用Presample
名称-值参数,您必须指定PresampleInnovationVariable
。
例子:PresampleInnovationVariable = " StockRateInnov0 "
例子:PresampleInnovationVariable =(假假真假)
或PresampleInnovationVariable = 3
选择第三个表变量作为presample创新变量。
数据类型:双
|逻辑
|字符
|细胞
|字符串
PresampleVarianceVariable
- - - - - -变量的Presample
包含数据presample条件方差σt2
字符串标量|特征向量|整数|逻辑向量
自从R2023a
变量的Presample
包含数据presample条件方差σt2指定为下列数据类型之一:
字符串标量或特征向量包含一个变量名
Presample.Properties.VariableNames
变量指数(整数)可供选择
Presample.Properties.VariableNames
一个长度
numprevars
逻辑向量,PresampleVarianceVariable (
选择变量j
)= true
从j
Presample.Properties.VariableNames
,总和(PresampleVarianceVariable)
是1
所选变量必须是数字矢量和不能包含缺失的值(南
)。
如果您指定presample条件方差数据使用Presample
名称-值参数,您必须指定PresampleVarianceVariable
。
例子:PresampleVarianceVariable = " StockRateVar0 "
例子:PresampleVarianceVariable =(假假真假)
或PresampleVarianceVariable = 3
选择第三个表变量presample条件方差的变量。
数据类型:双
|逻辑
|字符
|细胞
|字符串
笔记
南
值E0
,半
显示缺失值。模拟
删除缺失值由list-wise删除指定的数据。模拟
横向连接E0
和半
,然后删除任何包含至少一个连接矩阵的行南
。这种类型的数据减少降低了有效的样本大小,可以创建一个不规则的时间序列。数字数据输入,
模拟
假设您同步presample最新数据,观察同时发生。模拟
问题一个错误当任何表或时间表输入包含缺失值。如果
E0
和半
是列向量,模拟
他们适用于每一列的输出V
和Y
。这个应用程序允许模拟路径共享一个共同的起点预测和预测误差分布的蒙特卡罗模拟。
输出参数
资源描述
——模拟条件方差σt2和响应yt路径
表|时间表
模拟条件方差σt2和响应yt路径,作为一个表或时间表,返回相同的数据类型Presample
。模拟
返回资源描述
只有当你提供输入Presample
。
资源描述
包含以下变量:
模拟条件方差路径,在
numobs
——- - - - - -NumPaths
数字矩阵,行代表观察和列代表独立的路径。每个路径代表presample条件方差的相应路径的延续Presample
。模拟
模拟的条件方差的变量的名称资源描述
,在那里responseName
_Variance
是responseName
Mdl.SeriesName
。例如,如果Mdl.SeriesName
是StockReturns
,资源描述
包含一个变量对应的模拟条件方差的路径名称StockReturns_Variance
。在模拟的反应路径
numobs
——- - - - - -NumPaths
数字矩阵,行代表观察和列代表独立的路径。每个路径代表相应的presample创新路径的延续Presample
。模拟
模拟响应变量名称资源描述
,在那里responseName
_Response
是responseName
Mdl.SeriesName
。例如,如果Mdl.SeriesName
是StockReturns
,资源描述
包含一个变量对应的模拟响应路径的名称StockReturns_Response
。
如果资源描述
是一个时间表,下列条件:
行顺序
资源描述
升序或降序,匹配的行顺序Preample
。Tbl.Time (1)
后下次Presample(结束)
相对的采样频率Tbl.Time (2: numobs)
是相对于采样频率以下的时期。
引用
[1]Bollerslev, t .“广义自回归条件异方差性。”计量经济学杂志。31卷,1986年,页307 - 327。
[2]Bollerslev, t .“有条件地Heteroskedastic投机性价格和时间序列模型的回报。”经济学和统计学的评审。69卷,1987年,页542 - 547。
[3],g . e . P。,G. M. Jenkins, and G. C. Reinsel.时间序列分析:预测与控制。第三。恩格尔伍德悬崖,新泽西:普伦蒂斯霍尔,1994年。
恩德斯[4],W。应用计量经济学时间序列。新泽西州霍博肯:约翰威利& Sons, 1995。
[5]·恩格尔,r . f .“自回归条件异方差性与英国通货膨胀率的方差的估计。”费雪。50卷,1982年,页987 - 1007。
[6]Glosten, l·R。,R. Jagannathan, and D. E. Runkle. “On the Relation between the Expected Value and the Volatility of the Nominal Excess Return on Stocks.”《金融。48卷,5号,1993年,页1779 - 1801。
[7]汉密尔顿,j . D。时间序列分析。普林斯顿,纽约:普林斯顿大学出版社,1994年。
[8]纳尔逊,d . b .”条件异方差性资产的回报:一个新方法。”费雪。59卷,1991年,页347 - 370。
版本历史
介绍了R2012aR2023a:模拟
接受输入数据表和时间表,并返回结果表和时间表
除了接受presample数值数组中的数据,模拟
接受presample数据表或常规的时间表。当你提供一个表中的数据或时间表,适用下列条件:
如果指定可选presample创新或条件方差数据初始化模型,您还必须指定presample创新或条件方差系列名称。
模拟
返回结果在表或时间表。
名称-值参数表格工作流支持包括:金宝app
Presample
指定的输入表或常规时间表presample创新和条件方差数据。PresampleInnovationVariable
指定变量名的创新路径选择Presample
。PresampleVarianceVariable
指定条件方差的变量名称的路径选择Presample
。
另请参阅
对象
功能
MATLAB명령
다음MATLAB명령에해당하는링크를클릭했습니다。
명령을실행하려면MATLAB명령창에입력하십시오。웹브라우저는MATLAB명령을지원하지않습니다。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。