VEC模型蒙特卡洛预测

这个例子展示了如何产生从VEC蒙特卡洛预报(q)模型。该示例所生成的预测进行比较,以最小均方误差(MMSE)从VAR预测和预报(q该VEC的1)模型等效(q)模型。

假设与H1约翰森形式的VEC(2)模型适当地通过1994年描述假设年度短期,中期构成的三维多元时间序列的从1954年的动力学,和长期债券利率,该系列具有的协整秩2。

加载和数据预处理

加载Data_Canada数据集。提取利率数据,这些数据通过数据的最后一列居第三位。

加载Data_CanadaY = {数据表:,3:端};名称= DataTable.Properties.VariableNames(3:结束);T =尺寸(Y,1)
T = 41
numSeries =尺寸(Y,2)
numSeries = 3

绘制在同一个图中的系列。

图图(日期,Y,'行宽',2)xlabel'年';ylabel'百分';传说(姓名,'位置''NW')称号'{\ BF加拿大利率,1954年至1994年}';轴

估计VEC模型

创建具有2协整秩一3D VEC(2)模型。

numLags = 2;R = 2;MDL = VECM(numSeries,R,numLags);

估计VEC(2)模型。

EstMdl =估计(MDL,Y);

默认,估计应用H1约翰森形式,并使用第一q+ 1 = 3的观察作为样品前体的数据。

生成蒙特卡洛预测

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

numPaths = 1000;地平线= 10;Y0 = Y((端-2):端,:);RNG(1);%用于重现YSimVEC =模拟(EstMdl,地平线,'NumPaths',numPaths,'Y0',Y0);

YSimVEC是响应系列的模拟值的10×3×1000数字数组。行对应于预测期内期间,列对应于系列ÿ和页面对应于模拟路径

估计预测每个周期和时间序列上的所有路径的装置。构造95%百分位数对于每个周期和时间序列预测间隔。

YMCVEC =平均(YSimVEC,3);YMCVECCI =位数(YSimVEC,[0.025,0.975],3);

YMCVEC是包含蒙特卡洛预报对于每个周期(行)和时间序列(列)10×3数值矩阵。YMCVECCI是含有2.5%和97.5%百分位数(页)的绘制的每个周期(行)和时间序列(列)10×3×2数字数组。

绘制有效样本观测值,平均预测,95%百分位数置信区间。

fDates =时间(结束)+(0:地平线)';数字;H1 =情节([日期; fDates(2:结束)],[Y; YMCVEC]'行宽',2);H2 = GCA;保持H3 =情节(repmat(fDates,1,3),[Y(端,:,:); YMCVECCI(:,:,1)],' - '...'行宽',2);H3(1)。颜色= H1(1)。颜色;H3(2)。颜色= H1(2)。颜色;H3(3)。颜色= H1(3)。颜色;H4 =情节(repmat(fDates,1,3),[Y(端,:,:); YMCVECCI(:,:,2)],' - '...'行宽',2);H4(1)。颜色= H1(1)。颜色;H4(2)。颜色= H1(2)。颜色;H4(3)。颜色= H1(3)。颜色;补丁([fDates(1)fDates(1)fDates(端)fDates(结束)],...[h2.YLim(1)h2.YLim(2)h2.YLim(2)h2.YLim(1)],'B''FaceAlpha'0.1)xlabel('年')ylabel('百分')标题('{\ BF VEC模型蒙特卡洛预测}')轴图例(H1,DataTable.Properties.VariableNames(3:结束),'位置''最好');

产生MMSE预测

估计MMSE从估计VEC模型在10年期限使用预测预测。提供数据的最新三行初始化的天气预报。返回预测和相应的,多元的均方误差。

[YMMSE,YMMSEMSE] =预测(EstMdl,地平线,Y0);

YMMSE是MMSE预报有10×3数值矩阵。行对应于预测期内周期和列对应系列ÿYMMSEMSE是3×3数值矩阵的10×1细胞载体。在细胞基质Ĵ在期间三个预测值的估计,多元MSEĴ。该矩阵的对角的值是预测的MSE,并且预测协方差的非对角线值。

估计沃尔德型95%的预测的时间间隔。画出MMSE预测和预测区间。

YMMSECI =零(地平线,numSeries,2);预分配%YMMSEMSE = cell2mat(cellfun(@(x)的诊断(X)”,YMMSEMSE,'UniformOutput',假));YMMSECI(:,:,1)= YMMSE  -  1.96 * SQRT(YMMSEMSE);YMMSECI(:,:,2)= YMMSE + 1.96 * SQRT(YMMSEMSE);数字;H1 =情节([日期; fDates(2:结束)],[Y; YMMSE]'行宽',2);H2 = GCA;保持H3 =情节(repmat(fDates,1,3),[Y(端,:,:); YMMSECI(:,:,1)],' - '...'行宽',2);H3(1)。颜色= H1(1)。颜色;H3(2)。颜色= H1(2)。颜色;H3(3)。颜色= H1(3)。颜色;H4 =情节(repmat(fDates,1,3),[Y(端,:,:); YMMSECI(:,:,2)],' - '...'行宽',2);H4(1)。颜色= H1(1)。颜色;H4(2)。颜色= H1(2)。颜色;H4(3)。颜色= H1(3)。颜色;补丁([fDates(1)fDates(1)fDates(端)fDates(结束)],...[h2.YLim(1)h2.YLim(2)h2.YLim(2)h2.YLim(1)],'B''FaceAlpha'0.1)xlabel('年')ylabel('百分')标题('{\ BF VEC模型MMSE预测}')轴图例(H1,DataTable.Properties.VariableNames(3:结束),'位置''最好');

VAR(q+ 1)表示的MMSE预测

代表所估计的VEC(2),为VAR(3)模型。

EstMdlVAR = varm(EstMdl)
EstMdlVAR = varm与属性:描述: “AR-非平稳3维VAR(3)模型” SeriesNames: “Y1”, “Y2”, “Y3” NumSeries:3 P:3常数:[-1.73631 -0.313676 0.0649337]” AR:{3×3矩阵}在滞后[1 2 3]趋势:[零的3×1向量]贝塔:[3×0矩阵]协方差:[3×3矩阵]

MdlVARvarm模型对象。

估计MMSE从VAR模型在10年期限使用预测预测。提供数据的最新三行初始化的天气预报。返回预测和相应的,多元的均方误差。

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

的尺寸YMMSEVARYMMSEMSEVAR是一样的YMMSEYMMSEMSE, 分别。

估计沃尔德型95%的预测的时间间隔。画出MMSE预测和预测区间。

YMMSEVARCI =零(地平线,numSeries,2);YMMSEMSEVAR = cell2mat(cellfun(@(x)的诊断(X)”,YMMSEMSEVAR,'UniformOutput',假));YMMSEVARCI(:,:,1)= YMMSE  -  1.96 * SQRT(YMMSEMSEVAR);YMMSEVARCI(:,:,2)= YMMSE + 1.96 * SQRT(YMMSEMSEVAR);数字;H1 =情节([日期; fDates(2:结束)],[Y; YMMSE]'行宽',2);H2 = GCA;保持H3 =情节(repmat(fDates,1,3),[Y(端,:,:); YMMSEVARCI(:,:,1)],' - '...'行宽',2);H3(1)。颜色= H1(1)。颜色;H3(2)。颜色= H1(2)。颜色;H3(3)。颜色= H1(3)。颜色;H4 =情节(repmat(fDates,1,3),[Y(端,:,:); YMMSEVARCI(:,:,2)],' - '...'行宽',2);H4(1)。颜色= H1(1)。颜色;H4(2)。颜色= H1(2)。颜色;H4(3)。颜色= H1(3)。颜色;补丁([fDates(1)fDates(1)fDates(端)fDates(结束)],...[h2.YLim(1)h2.YLim(2)h2.YLim(2)h2.YLim(1)],'B''FaceAlpha'0.1)xlabel('年')ylabel('百分')标题('{\ BF VAR模型MMSE预测}')轴图例(H1,DataTable.Properties.VariableNames(3:结束),'位置''最好');

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

(YMMSE  -  YMMSEVAR)'*(YMMSE  -  YMMSEVAR)> EPS
ANS =3×3阵列的逻辑0 0 0 0 0 0 0 0 0

各机型之间MMSE的预测是一致的。

也可以看看

对象

功能

相关话题