首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MATLAB中的马尔可夫区制转移(Markov regime switching)模型|附代码数据

MATLAB中的马尔可夫区制转移(Markov regime switching)模型|附代码数据

原创
作者头像
拓端
发布2023-05-11 19:53:09
发布2023-05-11 19:53:09
5080
举报
文章被收录于专栏:拓端tecdat拓端tecdat

全文链接:http://tecdat.cn/?p=17685

最近我们被客户要求撰写关于马尔可夫区制转移模型的研究报告,包括一些图形和统计输出。

我们被要求在本周提供一个报告,该报告将结合金融统计,优化等数值方法

分析师通常关心检测市场何时“发生变化”:几个月或几年内市场的典型行为可以立即转变为非常不同的行为。投资者希望及时发现这些变化,以便可以相应地调整其策略,但是这可能很困难。

让我们考虑一个简化的示例。牛市可以被定义股票市场普遍看涨且持续时间较长的市场。熊市对应于指延续时间相对较长的大跌并且有相对较高的波动性。我们可以使用随机数来近似这种行为:它将在牛市和熊市期间生成某些股票或指数的 每日收益(或价格变化),每期持续100天:

代码语言:javascript
复制
bull1 = normrnd( 0.10, 0.15, 100, 1);
bear  = normrnd(-0.01, 0.20, 100, 1);
bull2 = normrnd( 0.10, 0.15, 100, 1);
returns = [bull1; bear; bull2];

牛市时期的平均数为正(与增长相对应),而熊市时期的平均数为负。还要注意,熊市(空头)比牛市更不稳定(波动更大)。

因为我们模拟了这些数据,所以我们知道它的行为方式。但是,投资者只是在这些市场发生时观察它们:

代码语言:javascript
复制
plot(returns)
xlabel('Day number')
ylabel('Daily change in price')

由于数据的波动性,可能难以检测何时熊市发生:上面的图看起来非常像是一个随机过程,而不是相邻的牛市/熊市/牛市时期。


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

01

02

03

04

马尔可夫区制转移(Markov regime switching)模型旨在阐明这些类型的问题。它将以上收益序列视为 由马尔可夫过程控制的 状态(区制)转移模型(MRS),以在状态之间进行转移。代码:

代码语言:javascript
复制
indep = ones(size(returns)); %虚拟解释变量
k = 2; %我们期望有多少种状态:牛市与熊市
S = [1 1]; % 多头和空头的均值和波幅均不同
% 此处省略了一些屏幕输出

生成的图向我们展示了几件事。首先,最上面的图确认了本来很难观察到的状态转移发生的时间。中间的图表明在第100天到第200天之间波动性增加(标准偏差增加)。最重要的是,底部图清楚地表明,市场分别在第100天和200天左右从多头转为空头(然后回落)。SpecOut变量包含有关估计参数的信息,这些参数描述了牛市和熊市以及控制两者之间转移的马尔可夫过程。

本文选自《MATLAB中的马尔可夫区制转移(Markov regime switching)模型》。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 全文链接:http://tecdat.cn/?p=17685
  • 我们被要求在本周提供一个报告,该报告将结合金融统计,优化等数值方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档