VEC Model Monte Carlo预测

此示例显示如何从VEC生成Monte Carlo预报()模型。该示例将生成的预测与最小均方误差(MMSE)预测和来自VAR(+1)模型等效于VEC()模型。

假设具有H1 Johansen形式的VEC(2)模型恰当地描述了由1954年至1994年的短期、中期和长期债券利率组成的三维多元时间序列的动态。假设这个级数的协整秩为2。

加载和预处理数据

加载Data_Canada数据集。提取利率数据,占据数据的最后一列占据第三个数据。

负载Data_CanadaY = DataTable {:,3:结束};名称= dataTable.properties.variablenames(3:结束);t =尺寸(y,1)
T = 41
numseries = size(y,2)
numSeries = 3

用同样的图形绘制这个系列。

图绘图(日期,y,“线宽”, 2)包含“年”;ylabel.“百分比”;传奇(名称,'地点''nw') 标题'{bf加拿大利率,1954-1994}';轴紧的网格

VEC模型估计

创建一个协整秩为2的3D VEC(2)模型。

numLags = 2;r = 2;Mdl =结果(numSeries r numLags);

估计VEC(2)模型。

EstMdl =估计(Mdl Y);

默认情况下,估计适用H1 Johansen表格并使用第一个+ 1 = 3个观察值作为样本数据。

生成蒙特卡罗预测

从估计的VEC模型生成蒙特卡罗预测在10年的水平使用模拟.提供最新的三行数据来初始化预测,并指定生成1000条响应路径。

numpaths = 1000;地平线= 10;y0 = y((结束-2):结束,:);RNG(1);重复性的%ysimvec =模拟(Estmdl,Horizo​​ n,'numpaths',numpaths,“Y0”, Y0);

ysimvec.是响应序列的模拟值的一个10 × 3 × 1000的数字数组。行对应预测视界中的时间段,列对应预测视界中的序列Y,页面和页面对应于模拟路径

估算所有路径的每个时段和时间序列的预测的手段。为每个时段和时间序列构建95%百分位的预测间隔。

ymcvec =均值(ysimvec,3);YMCVECCI = Smasterile(YSIMVEC,[0.025,0.975],3);

YMCVEC.是一个10×3个数字矩阵,包含每个时段(行)和时间序列(列)的蒙特卡罗预报。YMCVECCI是一个10×3-of-2数字数组,包含每个时段(行)和时间序列(列)的2.5%和97.5%百分位数(页面)。

绘制有效样本观察、平均预测和95%百分位置信区间。

fdates =日期(结束)+(0:Horizo​​ n)';图;h1 = plot([日期; fdates(2:结束)],[y; ymcvec],“线宽”2);甘氨胆酸h2 =;持有h3 = plot(repmat(fdates,1,3),[y(结束,:,:); ymcvecci(:,:,1)],“——”...“线宽”2);H3(1).Color = H1(1).Color;H3(2).color = h1(2).color;H3(3).Color = H1(3).Color;H4 = plot(repmat(fdates,1,3),[y(结束,:,:,:); ymcvecci(:,:,2)],“——”...“线宽”2);H4(1).Color = H1(1).Color;H4(2).Color = H1(2).Color;H4(3).Color = H1(3).Color;补丁([FDATES(1)FDATES(1)FDATES(END)FDATES(END)],...[H2.YLIM(1)H2.YLIM(2)H2.YLIM(2)H2.YLIM(1)],“b”“FaceAlpha”(0.1)包含“年”)ylabel(“百分比”) 标题('{\bf VEC模型蒙特卡罗预测}')轴紧的网格传奇(h1, DataTable.Properties.VariableNames(3:结束),'地点'“最佳”);

生成MMSE预测

通过使用,从估计的VEC模型中估算MMSE预测预测.提供最新的三行数据来初始化预测。返回预测和各自的多元均方误差。

[ymmse,ymmsemse] =预测(Estmdl,Horizo​​ n,Y0);

YMMSE为MMSE预测的10 × 3数值矩阵。行对应预测地平线的周期,列对应预测中的序列YYMMSEMSE是3×3个数字矩阵的10×1个细胞矢量。细胞中的矩阵j是估计的,多元的MSE的三个预测值在时期j.矩阵的对角线值为预测mse,非对角线值为预测协方差。

估计wald型95%的预测区间。绘制MMSE预测和预测区间。

YMMSECI =零(Horizo​​ n,Numseries,2);%预先配置YMMSEMSE = cell2mat (cellfun (@ (x)诊断接头(x)的YMMSEMSE,“UniformOutput”、假));ymmseci(:,:,1)= ymmse  -  1.96 * sqrt(ymmsemse);ymmseci(:,:,2)= ymmse + 1.96 * sqrt(ymmsemse);图;h1 = plot([日期; fdates(2:结束)],[y; ymmse],“线宽”2);甘氨胆酸h2 =;持有h3 = plot(repmat(fdates,1,3),[y(结束,:,:); ymmseci(:,:,1)],“——”...“线宽”2);H3(1).Color = H1(1).Color;H3(2).color = h1(2).color;H3(3).Color = H1(3).Color;h4 = plot(repmat(fdates,1,3),[y(结束,:,:); ymmseci(:,:,2)],“——”...“线宽”2);H4(1).Color = H1(1).Color;H4(2).Color = H1(2).Color;H4(3).Color = H1(3).Color;补丁([FDATES(1)FDATES(1)FDATES(END)FDATES(END)],...[H2.YLIM(1)H2.YLIM(2)H2.YLIM(2)H2.YLIM(1)],“b”“FaceAlpha”(0.1)包含“年”)ylabel(“百分比”) 标题(“{\bf VEC模型MMSE预报}”)轴紧的网格传奇(h1, DataTable.Properties.VariableNames(3:结束),'地点'“最佳”);

VAR (+ 1)表示MMSE预测

将估计的VEC(2)表示为VAR(3)模型。

Estmdlvar = Varm(estmdl)
Estmdlvar = Varm具有属性:“AR-NOTSTORATIONARY 3维var(3)型号”系列型:“Y1”“Y2”“Y3”NUMSERIES:3 P:3常数:[-1.73631 -0.313676 0.0649337'AR:{3×3矩阵}在滞后[1 2 3]趋势:[3×1 Zeros载体] Beta:[3×0矩阵]协方差:[3×3矩阵]

MdlVAR是一个varm模型对象。

通过使用10年来的VAR模型估算MMSE预测预测.提供最新的三行数据来初始化预测。返回预测和各自的多元均方误差。

[YMMSEVAR, YMMSEMSEVAR] =预测(EstMdlVAR地平线,Y0);

的尺寸ymmsevar.YMMSEMSEVAR是一样的YMMSEYMMSEMSE,分别。

估计wald型95%的预测区间。绘制MMSE预测和预测区间。

YMMSEVARCI = 0(地平线numSeries 2);YMMSEMSEVAR = cell2mat (cellfun (@ (x)诊断接头(x)的YMMSEMSEVAR,“UniformOutput”、假));YMMSEVARCI(:,: 1) = YMMSE - 1.96*sqrt(YMMSEMSEVAR);YMMSEVARCI(:,: 2) = YMMSE + 1.96*sqrt(YMMSEMSEVAR);图;h1 = plot([日期; fdates(2:结束)],[y; ymmse],“线宽”2);甘氨胆酸h2 =;持有h3 =情节(repmat (fDates 1 3), [Y (:,:);YMMSEVARCI (:,: 1)),“——”...“线宽”2);H3(1).Color = H1(1).Color;H3(2).color = h1(2).color;H3(3).Color = H1(3).Color;h4 =情节(repmat (fDates 1 3), [Y (:,:);YMMSEVARCI (:: 2)),“——”...“线宽”2);H4(1).Color = H1(1).Color;H4(2).Color = H1(2).Color;H4(3).Color = H1(3).Color;补丁([FDATES(1)FDATES(1)FDATES(END)FDATES(END)],...[H2.YLIM(1)H2.YLIM(2)H2.YLIM(2)H2.YLIM(1)],“b”“FaceAlpha”(0.1)包含“年”)ylabel(“百分比”) 标题('{\ bf var model mmse预测}')轴紧的网格传奇(h1, DataTable.Properties.VariableNames(3:结束),'地点'“最佳”);

确认来自VEC和VAR模型的MMSE预测是相同的。

(ymmse  -  ymmsevar)'*(ymmse  -  ymmsevar)> eps
ans =3 x3逻辑阵列0 0 0 0 0 0 0 0 0

模型间的MMSE预测结果是一致的。

另请参阅

对象

功能

相关话题