主要内容

用蒙特卡罗模拟预测VAR模型

这个例子展示了如何使用蒙特卡罗模拟via模拟来预测VAR模型。

模拟使您能够根据您的模型生成时间序列的模拟。如果您有一个值得信赖的VAR模型对象,您可以使用这些模拟作为样本预测。

模拟要求:

  • 一个模型(EstMdl在接下来的内容中)

  • 预测的周期数(numobs在接下来的内容中)

模拟可以有选择地将:

  • 外生数据系列

  • 预采样时间序列(Y (end-3:,)在接下来的内容中)

  • 条件模拟的未来样本响应

  • 要模拟的实现或路径的数量(2000在接下来的内容中)

加载Data_USEconModel数据集。这个例子使用了两个时间序列:实际GDP的对数和实际3个月国库券利率,两者都近似稳定。为了说明,VAR(4)模型描述了时间序列。

负载Data_USEconModelDEF = log(datatitable . cpiaucsl);GDP = log(datatitable .GDP);rGDP = diff(GDP - DEF);%实际GDP是GDP -通缩TB3 = 0.01* datatitable . tb3ms;dDEF = 4*diff(DEF);%比例rTB3 = TB3(2:end) - dDEF;实际利率下降Y = [rGDP,rTB3];

拟合VAR(4)模型规范。

Mdl = varm(2,4);Mdl。SeriesNames = {“转化后的实际GDP”“转换后的3个月国债实际利率”};EstMdl =估计(Mdl,Y);

确定预测范围。

Numobs = 21;FDates = dateshift(datatitable . time (end),“结束”“季”1: numobs);

模拟模型numobs并生成2000条路径。从数据的末尾指定预样本观测值。

rng (1);%的再现性Ysim =模拟(EstMdl, nummobs,“Y0”Y (end-3:最终,),“NumPaths”, 2000);

计算模拟序列的均值和标准差:

Ymean = mean(Ysim,3);计算平均值Ystd = std(Ysim,0,3);计算std偏差

绘制模拟序列的均值+/- 1个标准差:

图;次要情节(2,1,1)情节(DataTimeTable.Time (end-10:结束),Y (end-10:结束,1),“k”) (“上”)情节([DataTimeTable.Time(结束)FDates], [Y(结束,1);Ymean(: 1))、“r”)情节([DataTimeTable.Time(结束)FDates], [Y(结束,1);Ymean (: 1)] + [0; Ystd(: 1)]。“b”)情节([DataTimeTable.Time(结束)FDates], [Y(结束,1);Ymean (: 1)] - [0; Ystd(: 1)]。“b”)标题(“转换后的实际GDP”) subplot(2,1,2) plot(datatitable . time (end-10:end),Y(end-10:end,2),“k”) (“上”)情节([DataTimeTable.Time(结束)FDates], [Y (, 2); Ymean (:, 2)),“r”)情节([DataTimeTable.Time(结束)FDates], [Y (, 2); Ymean (:, 2)] + [0; Ystd (:, 2)),“b”)情节([DataTimeTable.Time(结束)FDates], [Y (, 2); Ymean (:, 2)] - [0; Ystd (:, 2)),“b”)标题(“转换后的3个月国债实际利率”

图中包含2个轴对象。标题为“转换后的实际GDP”的坐标轴对象1包含4个类型为行的对象。axis对象2,标题为Transformed Real 3-mo T-bill Rate,包含4个类型为line的对象。

另请参阅

对象

功能

相关的话题