当前位置: 首页 > news >正文

R语言股价跳跃点识别:隐马尔可夫hmm和 GARCH-Jump对sp500金融时间序列分析

全文链接:https://tecdat.cn/?p=37479

分析师:Yue Ji

在突发事件发生后,股价会相应的发生较大幅度的上涨或下跌,称为跳跃现象,跳跃现象会给金融投资带来极大风险,因而对跳跃点的识别对于风控而言是很重要的点击文末“阅读原文”获取完整代码数据)。

相关视频

股价跳跃体现信息冲击,Fama(1991)指出短期股价大幅变化由意外信息引起。近年来学者以股价跳跃为信息冲击代理变量研究投资者反应,如 Jiang and Zhu(2017)研究美股投资者发现短期对股价跳跃反应不足。在 A 股市场,徐龙炳和吴文彬(2023)研究股价跳跃与动量 / 反转关系,我国散户投资者占比大,非理性程度高,对信息过度敏感致过度反应,使反转效应比动量效应明显,且发现 A 股反转效应主要由股价跳跃带来,扣除后非跳跃收益呈动量效应。此外,Meng et al.(2024)发现股价跳跃与投资者关注相关,股价跳跃会吸引博彩偏好型投资者关注致短期过热,市场关注度高的个股,股价跳跃与未来收益相关性越强。

任务/目标

对股价跳跃点进行准确的识别

一、数据源准备

数据来源于锐思数据库,取2010年至2021年的沪深300日收益率数据。

二、数据预处理:

2.1序列平稳性检验

当对时间序列进行建模时需要考虑到序列是否平稳,故首先进行ADF检验。检验结果显示收益率序列平稳。

2.2 ARCH效应检验

由于要对序列进行garch类模型建模,故而需要对序列进行ARCH效应检验。经检验发现序列存在arch效应,故而可进行下一步建模。

3.建模

对跳跃点的识别的传统方法是garch-jump方法,该方法可识别一个样本点是否是跳跃点,但无法检验跳跃方向。基于此,为了解决状态切换问题,提出将隐马尔可夫链和garch-jump结合,构造新模型hmm-garch-jump进行建模。

bbaf07fffd6266d125e28f8c8fde4502.png


点击标题查阅往期内容

d678dac020a43222761da5f0f60d094d.png

隐马尔可夫模型(HMM)识别不断变化的股市状况股票指数预测实战

outside_default.png

左右滑动查看更多

outside_default.png

01

ed60bba07e3368a873f16d3641e913c0.png

02

a401c4788ed4edc2811352f4141b6042.png

03

40b7655f225c1ae0dab55add5fa51902.png

04

aecfb272614be285b2530a29754c620b.png

上图是对沪深300日收益率跳跃点的识别效果

7da7bf47e2c3252e55f336194434f5c3.png

可以看出,识别率和准确率都很高,达到了90%。且不仅能识别是否是跳跃点,还能识别跳跃方向。

股价跳跃点识别:隐马尔可夫hmm模型和 GARCH-Jump对sp500金融时间序列分析|附代码数据

本文旨在研究金融时间序列中的跳跃点识别和状态切换问题。通过结合隐马尔可夫模型和 GARCH-Jump 方法,构建了 hmm-garch-jump 新模型,以提高对金融时间序列的分析能力。

金融时间序列的分析对于理解市场行为和风险管理至关重要。传统的 GARCH-Jump 方法可以识别样本点是否为跳跃点,但无法确定跳跃方向。为了解决状态切换问题,本文提出将隐马尔可夫链与 GARCH-Jump 结合,构造新的 hmm-garch-jump 模型。

方法创新

本研究创新性地将隐马尔可夫模型与 GARCH-Jump 方法相结合,构建了全新的 hmm-garch-jump 模型。这种融合突破了传统单一模型的局限性,充分发挥了两种方法的优势。传统的 GARCH-Jump 方法虽能识别跳跃点,但无法确定跳跃方向,而隐马尔可夫模型擅长捕捉状态切换。通过结合,不仅能够准确识别跳跃点,还能判断跳跃方向,同时有效地处理状态切换问题,为金融时间序列分析提供了更强大的工具。

  1. 方差预测与状态预测的并行处理

  • 通过 GARCH-Jump 分析,得到了方差预测值。这个方差预测反映了金融时间序列的波动情况,尤其是在引入跳跃成分后,可以捕捉到可能的大幅波动点。

  • 同时,构建隐马尔可夫模型msp并进行拟合得到fmsp,然后提取了状态预测值hmm_states。HMM 的状态预测可以识别不同的市场状态,为判断股价跳跃点提供了另一个维度的信息。

跳跃点判断中的结合运用

  • 将 GARCH-Jump 模型得到的方差预测值和 HMM 的状态预测值作为输入。

  • 在判断跳跃点时,首先根据方差的变化情况进行初步筛选。如果当前方差大于某阈值的前一个方差,则认为可能发生了跳跃点。

  • 结合 HMM 的状态预测值进一步判断跳跃的方向。如果当前状态预测值大于前一个状态预测值,则标记为正向跳跃,否则标记为负向跳跃。

相关理论与方法

(一)GARCH-Jump 方法

GARCH-Jump 方法用于对金融时间序列进行建模,通过对序列的方差进行建模,可以检测到序列中的跳跃点。以下是使用 R 语言进行 GARCH-Jump 分析

# GARCH-Jump 分析spec_garch <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1)),

fc9ae6c56f3221eba55e1e932a10381b.png

469568e7aa0acadf40815bff87d6da42.png 

3775b27adbba1900a7ba17580f9faf02.png 565924f6d7579b743efc3df47f181366.png

(二)隐马尔可夫模型

隐马尔可夫模型可以捕捉时间序列中的状态切换。在 R 语言中,可以使用depmixS4包构建隐马尔可夫模型。

# 构建隐马尔可夫模型set.seed(1)fmsp <- fit(msp)# 提取隐马尔可夫模型的状态预测

467272aa258525f0f6cd81dc62929206.png

(三)结合 GARCH-Jump 和隐马尔可夫模型

通过自定义函数,根据 GARCH-Jump 的结果和隐马尔可夫模型的状态来判断跳跃点和跳跃方向。

# 自定义函数判断跳跃点和方向directions\[i\] <- 1  # 正向跳跃} else {directions\[i\] <- -1  # 负向跳跃}}}

fc7a4a1458a62e754157b167b22ccdc3.png 

f7927b225211b1677ec101b5944a67db.png

三、结果与讨论

通过对金融时间序列数据进行分析,新构建的 hmm-garch-jump 模型能够有效地识别跳跃点和判断跳跃方向,同时捕捉到状态切换。可视化结果显示了模型在金融时间序列分析中的应用价值。

四、结论

本文提出的 hmm-garch-jump 模型结合了 GARCH-Jump 方法和隐马尔可夫模型的优点,为金融时间序列分析提供了一种新的工具。未来的研究可以进一步优化模型参数和扩展应用场景。

关于分析师

72c850eb86d677432603c55241fb7fda.png

在此对 Yue Ji 对本文所作的贡献表示诚挚感谢,她在上海师范大学完成了应用统计专业的硕士学位,专注数据挖掘、数据分析等领域。擅长 SQL、Python。

参考文献

[1].  徐龙炳, 吴文彬, 2023. 过度反应、跳跃收益与A股动量策略[J]. 中国管理科学: 1-15.

[2].  Barndorff-Nielsen O E, Shephard N, 2006. Econometrics of Testing for Jumps in Financial Economics Using Bipower Variation[J]. Journal of Financial Econometrics, 4(1): 1-30.

[3].  Jiang G J, Oomen R C A, 2008. Testing for jumps when asset prices are observed with noise–a “swap variance” approach[J]. Journal of Econometrics, 144(2): 352-370.

[4].  Jiang G J, Zhu K X, 2017. Information Shocks and Short-Term Market Underreaction[J]. Journal of Financial Economics, 124(1): 43-64.

[5].  Meng Y, Li X, Xiong X, 2024. Information shocks and short-term market overreaction: The role of investor attention[J]. International Review of Financial Analysis, 93: 103219.

a87e6bc9081b6b58ace5928e6c584bab.jpeg

本文中分析的数据、代码分享到会员群,扫描下面二维码即可加群! 

867315fcb8953f52fa54d4c24c54b2f2.png


资料获取

在公众号后台回复“领资料”,可免费获取数据分析、机器学习、深度学习等学习资料。

915e64a5a60c8b9af83c453ab9da634c.jpeg

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《R语言股价跳跃点识别:隐马尔可夫hmm和 GARCH-Jump对sp500金融时间序列分析》。

点击标题查阅往期内容

隐马尔可夫模型(HMM)识别不断变化的股市状况股票指数预测实战

马尔可夫Markov区制转移模型分析基金利率

马尔可夫区制转移模型Markov regime switching

时变马尔可夫区制转换MRS自回归模型分析经济时间序列

马尔可夫转换模型研究交通伤亡人数事故时间序列预测

如何实现马尔可夫链蒙特卡罗MCMC模型、Metropolis算法?

Matlab用BUGS马尔可夫区制转换Markov switching随机波动率模型、序列蒙特卡罗SMC、M H采样分析时间序列

R语言BUGS序列蒙特卡罗SMC、马尔可夫转换随机波动率SV模型、粒子滤波、Metropolis Hasting采样时间序列分析

matlab用马尔可夫链蒙特卡罗 (MCMC) 的Logistic逻辑回归模型分析汽车实验数据

stata马尔可夫Markov区制转移模型分析基金利率

PYTHON用时变马尔可夫区制转换(MRS)自回归模型分析经济时间序列

R语言使用马尔可夫链对营销中的渠道归因建模

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

R语言隐马尔可夫模型HMM识别不断变化的股票市场条件

R语言中的隐马尔可夫HMM模型实例

用机器学习识别不断变化的股市状况—隐马尔科夫模型(HMM)

Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型

MATLAB中的马尔可夫区制转移(Markov regime switching)模型

Matlab马尔可夫区制转换动态回归模型估计GDP增长率

R语言马尔可夫区制转移模型Markov regime switching

stata马尔可夫Markov区制转移模型分析基金利率

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

R语言隐马尔可夫模型HMM识别股市变化分析报告

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

63eb5563906223616163713344cf3789.jpeg

d6d184152554683ce593bebc2556e5ce.png

a2ba86e8a81f5e130af9c1c68cc62bb7.png

4e73a5348ee70887ba06b70740324e0f.jpeg

97a26507c444788a3c7f9777222ab93b.png

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • vue.js项目实战案例源码
  • 信息打点-红队工具篇FofaQuakeKunyuSuize水泽Arl灯塔
  • Windows 10远程桌面连接设置
  • -bash: ./log.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录
  • MySQL集群 主从复制 和 高可用 配置详解
  • 虚拟化设置和虚拟机相关的环境搭建
  • 备战2024年全国大学生数学建模竞赛:多波束测线问题的解题与优化
  • [排序和二分] 绝对差值和
  • 联华证券--开盘如何捕捉涨停股?解析哪些股票容易涨停
  • 监控平台之上报(未完成)
  • OpenCV绘图函数(1)绘制带箭头的直线函数arrowedLine()的使用
  • 【电脑小白】告别蓝屏恐慌:一步步教你排查和解决蓝屏问题,从此告别蓝屏烦恼!
  • .NET中分布式服务
  • 版本管理工具 Git 的下载安装及使用
  • 关于几道计算机网络题的解答
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Git同步原始仓库到Fork仓库中
  • Linux链接文件
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Protobuf3语言指南
  • PV统计优化设计
  • Python_OOP
  • Python十分钟制作属于你自己的个性logo
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Vue全家桶实现一个Web App
  • Vue组件定义
  • XML已死 ?
  • 阿里云前端周刊 - 第 26 期
  • 第十八天-企业应用架构模式-基本模式
  • 聚簇索引和非聚簇索引
  • 使用SAX解析XML
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 浅谈sql中的in与not in,exists与not exists的区别
  • # 消息中间件 RocketMQ 高级功能和源码分析(七)
  • #nginx配置案例
  • #Z0458. 树的中心2
  • (a /b)*c的值
  • (二)JAVA使用POI操作excel
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (附源码)springboot教学评价 毕业设计 641310
  • (一)UDP基本编程步骤
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)jQuery 基础
  • (转)Oracle存储过程编写经验和优化措施
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • . NET自动找可写目录
  • .NET COER+CONSUL微服务项目在CENTOS环境下的部署实践
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .Net多线程总结
  • .Net中ListT 泛型转成DataTable、DataSet
  • .sdf和.msp文件读取
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解
  • @Service注解让spring找到你的Service bean
  • [ABC275A] Find Takahashi 题解