matlab实现MCMC的马尔可夫转换MS-ARMA – GARCH模型估计

状态转换模型,尤其是马尔可夫转换(MS)模型,被认为是识别时间序列非线性的不错的方法。

由Kaizong Ye,Coin Ge撰写

估计非线性时间序列的方法是将MS模型与自回归移动平均 – 广义自回归条件异方差(ARMA – GARCH)模型相结合,但给参数估计的计算带来了困难。


我们建立了完整的MS- ARMA – GARCH模型及其贝叶斯估计。使用马尔可夫链蒙特卡罗(MCMC)方法,我们开发一种算法来计算我们模型的方案和参数的贝叶斯估计。

options  =  optimset('fmincon');
options  =  optimset(options , 'Algorithm ','interior-point');
% options  =  optimset(options , 'Algorithm ','active-set');
options  =  optimset(options, 'Hessian','bfgs');
 fmincon(@(x) msarmagarch(x,data,reg,ORDERS,flag),beq,LB,UB,@(x) MSARMAGARCH(x,k,nbpara),options); 
 
 fmincon(@(x) msarmagarch(x,data,reg,ORDERS,flag),startvaltot,[],[],[],[],[],[],@(x) MSARMAGARCH(x,k,nbpara),options); 
[LLF,likelihoods,~,p,pt,smoothprob,h] = msarmagarch(thetahat,data,reg,ORDERS,flag);
 

图1和图2比较了两种模型的估计后验概率。我们的模型能够更清晰地区分不同的状态。

图1.修正的Hamilton-Susmel模型每周收益的不同状态的后验概率。

图2.对于我们的模型,状态1-3的后验概率。

figure()
subplot(4,1,1);
plot(Domain, Data,'color'
 
ylim([-30,30])


课程

R语言数据分析挖掘必知必会

从数据获取和清理开始,有目的的进行探索性分析与可视化。让数据从生涩的资料,摇身成为有温度的故事。

立即参加

接下来,我们比较两个模型的样本ACF。由于在两个模型中估计ARMA参数大致相同,因此我们仅显示样本ACF的平方残差。

然而,两种算法都在估计中显示出问题,其特征在于MCMC链收敛得非常慢以及在基于EM的算法的情况下对初始参数的强烈依赖性。

我们开发了一种MCMC方法来计算完整MS- ARMA – GARCH模型的参数估计值,用于描述在不同市场中观察到的计量经济时间序列中的现象。


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds