Matlab用向量误差修正VECM模型蒙特卡洛Monte Carlo预测债券利率时间序列和MMSE 预测

简介: 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);


点击标题查阅往期内容


向量自回归(VAR)模型分析消费者价格指数 (CPI) 和失业率时间序列


01

02

03

04

生成 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 预测是相同的。

相关文章
|
5天前
|
传感器 数据采集 数据处理
MATLAB热传导方程模型最小二乘法模型、线性规划对集成电路板炉温优化
MATLAB热传导方程模型最小二乘法模型、线性规划对集成电路板炉温优化
|
6天前
|
机器学习/深度学习 安全 算法
Matlab基于SEIRD模型,NSIR预测模型,AHP层次分析法新冠肺炎预测与评估分析
Matlab基于SEIRD模型,NSIR预测模型,AHP层次分析法新冠肺炎预测与评估分析
14 2
|
7天前
|
机器学习/深度学习 算法 数据挖掘
基于PSO优化的CNN-GRU-Attention的时间序列回归预测matlab仿真
摘要: 本文介绍了运用粒子群优化(PSO)调整深度学习模型超参数以提升时间序列预测性能的方法。在比较了优化前后的效果(Ttttttttttt12 vs Ttttttttttt34)后,阐述了使用matlab2022a软件的算法。文章详细讨论了CNN、GRU网络和注意力机制在时间序列预测中的作用,以及PSO如何优化这些模型的超参数。核心程序展示了PSO的迭代过程,通过限制和调整粒子的位置(x1)和速度(v1),寻找最佳解决方案(gbest1)。最终,结果保存在R2.mat文件中。
基于PSO优化的CNN-GRU-Attention的时间序列回归预测matlab仿真
|
7天前
|
Python
Python、MATLAB股票投资:ARIMA模型最优的选股、投资组合方案与预测
Python、MATLAB股票投资:ARIMA模型最优的选股、投资组合方案与预测
16 0
|
7天前
|
机器学习/深度学习 算法 数据可视化
MATLAB基于深度学习U-net神经网络模型的能谱CT的基物质分解技术研究
MATLAB基于深度学习U-net神经网络模型的能谱CT的基物质分解技术研究
14 0
|
8天前
|
算法 数据安全/隐私保护 数据格式
基于混沌序列的图像加解密算法matlab仿真,并输出加解密之后的直方图
该内容是一个关于混沌系统理论及其在图像加解密算法中的应用摘要。介绍了使用matlab2022a运行的算法,重点阐述了混沌系统的特性,如确定性、非线性、初值敏感性等,并以Logistic映射为例展示混沌序列生成。图像加解密流程包括预处理、混沌序列生成、数据混淆和扩散,以及密钥管理。提供了部分核心程序,涉及混沌序列用于图像像素的混淆和扩散过程,通过位操作实现加密。
|
9天前
MATLAB用GARCH-EVT-Copula极值理论模型VaR预测分析股票投资组合
MATLAB用GARCH-EVT-Copula极值理论模型VaR预测分析股票投资组合
15 0
|
11天前
|
算法 数据建模
MATLAB随机波动率SV、GARCH用MCMC马尔可夫链蒙特卡罗方法分析汇率时间序列
MATLAB随机波动率SV、GARCH用MCMC马尔可夫链蒙特卡罗方法分析汇率时间序列
18 6
|
4月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
4月前
【数值分析】迭代法求方程的根(附matlab代码)
【数值分析】迭代法求方程的根(附matlab代码)

热门文章

最新文章