zoukankan      html  css  js  c++  java
  • 拓端tecdat|MATLAB中的马尔可夫区制转换(Markov regime switching)模型

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

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

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

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

    1.  
      bull1 = normrnd( 0.10, 0.15, 100, 1);
    2.  
      bear = normrnd(-0.01, 0.20, 100, 1);
    3.  
      bull2 = normrnd( 0.10, 0.15, 100, 1);
    4.  
       
    5.  
      returns = [bull1; bear; bull2];

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

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

    1.  
      plot(returns)
    2.  
      xlabel('Day number')
    3.  
      ylabel('Daily change in price')

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

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

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

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


    最受欢迎的见解

    1.用R语言模拟混合制排队随机服务排队系统

    2.R语言中使用排队论预测等待时间

    3.R语言中实现马尔可夫链蒙特卡罗MCMC模型

    4.R语言中的马尔科夫机制转换(Markov regime switching)模型

    5.matlab贝叶斯隐马尔可夫hmm模型

    6.用R语言模拟混合制排队随机服务排队系统

    7.Python基于粒子群优化的投资组合优化

    8.R语言马尔可夫转换模型研究交通伤亡人数事故预测

    9.用机器学习识别不断变化的股市状况——隐马尔可夫模型的应用

    ▍关注我们 【大数据部落】第三方数据服务提供商,提供全面的统计分析与数据挖掘咨询服务,为客户定制个性化的数据解决方案与行业报告等。 ▍咨询链接:http://y0.cn/teradat ▍联系邮箱:3025393450@qq.com
  • 相关阅读:
    函数对象与闭包
    20.03.19作业
    关键字参数,名称空间和作用域
    作业03.18
    函数第二天
    20.03.17作业
    文件
    20.01.16作业
    前端基础
    前端知识(二)
  • 原文地址:https://www.cnblogs.com/tecdat/p/13952637.html
Copyright © 2011-2022 走看看