此示例显示了如何使用Monte Carlo仿真通过模拟
预测VAR模型。
模拟
使您能够根据模型生成时间序列的模拟。如果您有一个Trustworthy Var模型对象,您可以将这些模拟用作样本预测。
模拟
要求:
一个模型 (estmdl.
在下文中)
预测的期间数量(numobs
在下文中)
模拟
可选择:
外源数据系列
预先定位时间序列(Y(结束3:结束,:)
在下文中)
有条件模拟的未来样本响应
来模拟的实现或路径(2000年
在下文中)
加载DATA_USECONMODEL.
数据集。此示例使用两次序列:实际GDP的对数,以及真正的3个月T账单率,两者都有差别达到静止。有用,VAR(4)模型描述了时间序列。
加载DATA_USECONMODEL.def = log(dataTable.cpiaucsl);gdp = log(dataTable.gdp);RGDP = Diff(GDP - Def);%真实GDP是GDP - 通货紧缩TB3 = 0.01 * DataTable.TB3MS;ddef = 4 * diff(def);%缩放RTB3 = TB3(2:END) - DDEF;%真正的兴趣是缩小的Y = [RGDP,RTB3];
适合var(4)模型规格。
Mdl = varm(2、4);Mdl。SeriesNames = {'改变真正的GDP'那'改变了真正的3-Mo T-账单率'};estmdl =估计(mdl,y);
定义预测地平线。
numobs = 21;fdates = dateshift(DataTable.Time(END),'结尾'那'四分之一'1: numobs);
模拟模型numobs
向前一步,生成2000条路径。指定数据末尾的预样本观察值。
rng (1);再现性的百分比ysim =模拟(estmdl,numobs,'y0',Y(结束3:结束,:),'numpaths',2000);
计算模拟级数的平均值和标准差:
ymean =卑鄙(ysim,3);%计算手段YSTD = STD(YSIM,0,3);%计算STD偏差
绘制模拟系列的手段+/- 1标准偏差:
数字;子图(2,1,1)绘图(DataTable.Time(ex-10:结束),y(最终-10:结束,1),'k') ('在')绘图([DataTable.Time(END)FDATES],[Y(终点,1); ymean(:,1)],'r')绘图([DataTable.Time(END)FDATES],[Y(结束,1); YMEAN(:,1)] + [0; YSTD(:,1)],'B')绘图([DataTable.Time(END)FDATES],[Y(结束,1); ymean(:,1)] - [0; YSTD(:,1)],'B') 标题('改变真正的GDP')子图(2,1,2)绘图(DataTable.Time(ex-10:结束),Y(结束-10:结束,2),'k') ('在')绘图([DataTable.Time(END)FDATES],[Y(结束,2); Ymean(:,2)],'r')绘图([DataTable.Time(END)FDATES],[Y(结束,2); YMEAN(:,2)] + [0; YSTD(:,2)],'B')情节([DataTable.Time(结束)FDates], [Y (, 2); Ymean (:, 2)] - [0; Ystd (:, 2)),'B') 标题('改变了真正的3-Mo T-账单率'的)