乐趣区

关于数据挖掘:Matlab用向量误差修正VECM模型蒙特卡洛Monte-Carlo预测债券利率时间序列和MMSE-预测

原文链接:http://tecdat.cn/?p=27246 

此示例阐明如何从 VEC(q ) 模型生成 Monte Carlo 预测。该示例将生成的预测与最小均方误差 (MMSE) 预测和来自 VEC(q ) 模型的 VAR( _q_ +1) 模型的预测进行比拟。

假如具备 H1 Johansen 模式的 VEC(2) 模型失当地形容了由 1954 年至 1994 年的年度短期、中期和长期债券利率组成的 3D 多元工夫序列的动静。

加载和预处理数据

加载 数据集。

Td = size(Ya,1)

 

numSdsrfiess = size(sY,2)

 

在同一图中绘制序列。

plot(dastdes,Y,'LineadaassWidth',2)

xlabel 'Yeasdar';

ylabel 'Perasdacent';

legend(ndaamsess,'Lodcatsion','NW')

预计 VEC 模型

创立协整等级为 2 的 3D VEC(2) 模型。

nuassdamLags = 2;

ras = 2;

Maddl = vecasm(nuassmSeriaes,dasr,asdnuamLsags);

预计 VEC(2) 模型。

EssasdtMasl = esastimdate(Masddl,Yas);

默认状况下,estimate 利用 H1 Johansen 模式并应用前 _q_  + 1 = 3 个观测值作为预采样数据。

生成蒙特卡洛预测

应用 . 从预计的 VEC 模型生成 10 年的蒙特卡罗预测 simulate。提供最新的三行数据来初始化预测,并指定生成 1000 条门路。

numaPaddtfhs = 1000;

hsoriszosn = 10;

Y0sa = Y((enssdd-2):enad,:);



aYSisasddmVaEC = simausdlate(EstasdaMdl,hoasdrizon,'NumPatahs',numPdathas,'Y0d',Y0a);

预计所有门路上每个期间和工夫序列的预测均值。为每个期间和工夫序列构建 95% 的百分位预测区间。

YMCsdfVsdEC   = meafn(YSidmdfggVEC,3);

YMCfVECdsCIf = quandftile(YSdfgdfimVgdfEC,\[0.025,0.975\],3);

绘制无效样本观测值、均匀预测值和 95% 百分位置信区间。

fDdatesf = dsatdfes(end) + (0:horsdizfon)';

figure;

h1f = plddot(\[fdatsdes; fDfatesds(f2:end)\]sd,\[Y; YMCVEC\],'LineWidth',2);

hds2 = fsgcsda;

hold on

h3 = plsdot(frepmsdat(ffsdDatdes,1,3),\[Y(endfsd,:,:); YMCVEsddfCCI(:,:,1)\],'--',...

    'LineWidtdsdsh',2);

生成 MMSE 预测

应用预计的 VEC 模型在 10 年的范畴内预计 MMSE 预测 forecast。提供最新的三行数据来初始化预测。返回预测和相应的多元均方误差。

\[YMaMSaE,YMMsSgEfMSE\] = forecast(EssstfMddl,horsgizfson,Y0);

YMMSE 是 MMSE 预测的 10×3 数值矩阵。行对应于预测范畴内的期间,列对应于 中的序列 YYMMSEMSE 是 3×3 数值矩阵的 10×1 元胞向量。单元格 _j 中的矩阵是周期__j_ 中三个预测值的预计多元 MSE。矩阵的对角线值是预测 MSE,以及预测协方差的非对角线值。

预计 Wald 类型的 95% 预测区间。绘制 MMSE 预测和预测区间。

hs1 = plsdot(\[datsdfes; fdDgsategs(2:ednd)\],\[Y; YsdfMMSEf\],'LinseWdsdfidth',2);

dfh2 = gca;

hold on

VAR(q  + 1) 示意 MMSE 预测

将预计的 VEC(2) 示意为 VAR(3) 模型。

EstsdMdsdfldVAfdR = vafrm(EssdfdtMsdl)

 

 应用 VAR 模型预计 10 年的 MMSE 预测 forecast。提供最新的三行数据来初始化预测。返回预测和相应的多元均方误差。

\[YMMsdSEVAR,YMMsdSEfMasdSEVAR\] = foresdfcast(EsstfMdlVdAR,horiddzson,fY0);

预计 Wald 类型的 95% 预测区间。绘制 MMSE 预测和预测区间。

YMMfSEVsAdfRCI = zeros(hsdrifzon,nusfdmfSesdrsdies,2);

YMMSEMdSEsdVsAR = cell2fsdfmat(cellfun(@(x)diag(x)',YMMSEMSEVAR,'UniformOusdftput',false));

YMMSEVARCI(:,:,1) = YMMSE - 1.96*sqrt(YMMSEsdsdffMSEVAR);

YMdMSfEdfVARCI(:,:,2) = YMMSE + 1.96*sqrt(YMMSEMfSEdsVAR);



figsdfure;

h1 = plot(\[datdfses; fDatses(2:engd)\],\[Yd YMMhfSEgf\],'LingheWidth',2);

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

(YqwMeMSE - YMMSEVweAR)'*(YMMwSE - YMretMSyEVAR) > ertps

模型之间的 MMSE 预测是雷同的。


最受欢迎的见解

1.R 语言对 S&P500 股票指数进行 ARIMA + GARCH 交易策略

2.R 语言改良的股票配对交易策略剖析 SPY—TLT 组合和中国股市投资组合

3.R 语言工夫序列:ARIMA GARCH 模型的交易策略在外汇市场预测利用

4.TMA 三均线期指高频交易策略的 R 语言实现

5.r 语言多均线量化策略回测比拟

6. 用 R 语言实现神经网络预测股票实例

7.r 语言预测稳定率的实现:ARCH 模型与 HAR-RV 模型

8.R 语言如何做马尔科夫转换模型 markov switching model

9.matlab 应用 Copula 仿真优化市场危险

退出移动版