隐马尔可夫模型在股市预测中的应用

隐马尔可夫模型在股市预测中的应用

原创 QuantML QuantML 2024年09月29日 21:44

Content

摘要

股市因其复杂多变的特性,预测未来股价一直是一个挑战。然而,运用高级方法可以显著提高股价预测的准确性。隐马尔可夫模型(Hidden Markov Models,HMMs)是一种统计模型,能够模拟部分可观测系统的行为,因此非常适合基于历史数据建模股价。本文训练并测试了一个隐马尔可夫模型,目的是基于开盘价和前一天的价格预测股票收盘价。模型的性能通过两个指标进行评估:平均绝对百分比误差(Mean Average Prediction Error,MAPE)和方向预测精度(Directional Prediction Accuracy,DPA),后者是新引入的指标,考虑了分数变化预测正确符号的数量。

引言

股市预测因其内在的波动性和潜在的巨额金融收益,长期以来一直吸引着机构投资者、对冲基金和自营交易公司的注意。这些复杂的市场参与者渴望对股价未来走势和趋势做出准确预测,以获得竞争优势并最大化投资回报。机构投资者,如养老基金和保险公司,代表其客户或受益人管理大量资本。这些投资者的主要目标是在长期内产生一致的回报以履行其财务义务。准确的股市预测使他们能够识别机会并降低风险,从而提高投资组合表现并履行其受托责任。对冲基金则是从认可的投资者那里汇集资本的私人投资合伙企业。对冲基金经理寻求通过采用多样化的投资策略来产生显著的绝对回报,通常与市场条件无关。准确的预测使对冲基金能够识别定价错误的证券,利用市场效率低下,并构建有利可图的交易策略,最终吸引投资者并获得可观的利润。

方法

马尔可夫链

马尔可夫链是一种随机模型,代表一系列事件或状态的序列。在我们的分析中,我们将特别关注一阶马尔可夫链,它遵循马尔可夫性质。设所有可能状态的集合,为状态时间序列。马尔可夫性质表明,对于任何和状态

换句话说,转移到某个状态在时间步的概率仅取决于当前状态在时间步,而不依赖于任何先前的状态。这个性质允许我们基于其当前状态计算马尔可夫链在任何未来时间步的概率分布。形式上,一阶马尔可夫链由状态集合和转移概率矩阵定义,其中代表从状态转移到状态一步的概率。

图片

隐马尔可夫模型

上述模型隐含地假设每个状态对应一个可观测(物理)事件。马尔可夫链已被证明是各种领域中建模序列数据的有价值工具。然而,许多现实世界场景涉及影响观测数据但不可直接观测的潜在状态。这种限制导致了隐马尔可夫模型的发展,它通过引入影响观测数据的隐藏或不可观测状态来扩展基本马尔可夫链模型。HMM的隐藏状态过程是一个马尔可夫链,每个状态生成具有特定概率分布的观测,该分布仅取决于状态本身。设为观测序列,其中是可能观测的集合。假设隐藏状态根据公式2演化。符号由状态发射的概率发射概率函数描述。在当前和后续部分中,我们指的是发射概率矩阵。

图片

HMM的应用:常见问题和解决方案

使用HMM分析的最常见问题包括评估问题、解码问题和参数估计问题。这些问题及其相应的解决方案已在文献中广泛研究和记录。在以下段落中,我们提供了这些问题及其解决方案的概述。

  1. 评估问题:HMM中的评估问题涉及计算给定模型的已知观测序列的概率。具体来说,给定具有参数和的HMM,以及观测序列,我们希望计算

  2. 解码问题:解码问题涉及确定给定观测序列和模型的最有可能的隐藏状态序列。给定具有参数和的HMM,以及观测序列,我们希望找到隐藏状态序列,使得最大化。解码问题的解决方案通常使用Viterbi算法解决。该算法通过迭代计算每个时间步的每个状态的最有可能路径,考虑当前观测和先前状态的概率。

  3. 参数估计问题:HMM中的参数估计问题涉及调整模型参数以最大化观测序列的概率。给定观测序列,我们希望估计最优值的参数和,以最大化。这个问题的解决方案通常使用前向-后向算法解决,也称为Baum-Welch算法。Baum-Welch算法是特定于HMM的期望最大化(EM)算法的实现。它迭代执行三个主要步骤:前向、后向和更新步骤。

技术实现

在本研究中,我们使用了MATLAB中的统计和机器学习工具箱™提供的三个特定函数来训练和测试HMM:hmmtrain、hmmdecode和fitgmdist。模型在公开可用的苹果、IBM和戴尔股票的历史日价格上进行训练和测试。我们数据集中的每个观测值包括三个不同的值,分别代表每日的分数变化、分数最高价和分数最低价。

训练

在初始训练中,我们假设有四个潜在的隐藏状态,每个状态生成的输出由具有四个组件的GMM表示。然后我们重新训练模型,改变值。每个训练的特定参数可以在GitHub存储库中找到。这些GMM的参数使用MATLAB函数fitgmdist估计,该函数使用期望最大化(EM)算法优化模型。GMM的初始参数通过k-means聚类获得。

预测

在训练阶段之后,我们继续测试我们的模型,预测不同时间框架的股票每日收盘价。对于目标期间的每一天,预测过程包括以下步骤:

  1. 我们考虑可用的最后个观测。这些观测代表前9天。

  2. 接下来,我们附加当前天的每个可能的输出,创建一个10天的序列。这个序列现在包括9个历史观测和下一天的一个潜在观测。当前天有种可能性。

  3. 我们计算从我们训练的模型生成每个序列的概率。最后,我们选择具有最高发射概率的观测作为下一天的观测。

结果

我们使用多个指标来评估模型的性能。平均绝对百分比误差(MAPE)计算实际和预测股票收盘价之间的误差。

在表II中,我们展示了我们在两种不同股票上的结果,并将其与其他论文的结果进行了比较。

图片

图片

图片

图片

图片

结论和进一步发展

在本研究中,我们全面实施了最初由Gupta等人提出的股市预测隐马尔可夫模型。在他们的基础工作之上,我们旨在评估模型在不同数据集上的性能,并探索其在预测股市走势方面的有效性。通过仔细复制和扩展他们的方法,我们进行了严格的评估,将结果与基准模型进行了比较,以获得有关模型能力和局限性的宝贵见解。

我们的模型在一个一到两年的时间段内进行训练,并用于预测不同的时间段,展示了其灵活性和可重用性。完整的源代码,以及预训练模型及其特性的摘要,可在GitHub上获得。我们在各种股票上对我们的实现进行了严格的测试,并将结果与HMM-MAP、HMM-Fuzzy、ARIMA和ANN模型的结果进行了比较。我们对不同的超参数进行了彻底的探索,测量了它们的影响,以寻找最优值。结果表明,与HMM-Fuzzy、ARIMA和ANN模型相比,当在[25]和[24]中相同的年份进行训练时,平均绝对百分比误差显著降低。此外,为了获得对我们模型效率的额外见解,我们开发了一种名为方向预测精度(DPA)的新评估指标。DPA允许我们评估我们的预测在捕捉股票价格走势方面的准确性,为模型性能评估提供了宝贵的信息。

为了进一步改进,我们建议在每天的最后一个时间窗口之前对发射和传输矩阵进行微调,然后再进行预测。这种方法涉及在历史数据上训练主模型,然后在进行每次预测之前使用更近期的数据更新矩阵。例如,我们可以从2021-01-01到2023-01-01训练主模型,并在2022-06-01到2023-06-01的数据上微调矩阵,然后再对2023-06-02进行预测。这个过程可能会捕捉到更近期的市场趋势,并提高预测的准确性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1552644.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

常用的Java安全框架

Spring Security: 就像Java安全领域的“瑞士军刀”,功能全面且强大。 支持认证、授权、加密、会话管理等安全功能。 与Spring框架无缝集成,使用起来特别方便。 社区活跃,文档丰富,遇到问题容易找到解决方案。 Apach…

python中的find函数怎么用

Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。 语法 …

嵌入式 DAC基础知识

DAC 基本原理 DAC(Digital-to-Analog Canverter),指数字/模拟转换器。可将数字量转换为成比例的模拟电压或电流。举个例子,计算机可能产生范围从 00000000 到 11111111 的数字输出,DAC 将其转换为范围从 0 到 10V 的电…

Docker 安装 Citus 单节点集群:全面指南与详细操作

Docker 安装 Citus 单节点集群:全面指南与详细操作 文章目录 Docker 安装 Citus 单节点集群:全面指南与详细操作一 服务器资源二 部署图三 安装部署1 创建网络2 运行脚本1)docker-compose.cituscd1.yml2)docker-compose.cituswk1.…

zabbix7.0创建自定义模板的案例详解(以监控httpd服务为例)

前言 服务端配置 链接: rocky9.2部署zabbix服务端的详细过程 环境 主机ip应用zabbix-server192.168.10.11zabbix本体zabbix-client192.168.10.12zabbix-agent zabbix-server(服务端已配置) 创建模板 模板组直接写一个新的,不用选择 通过名称查找模板&#xf…

Oracle架构之数据库备份和RAC介绍

文章目录 1 数据库备份1.1 数据库备份分类1.1.1 逻辑备份与物理备份1.1.2 完全备份/差异备份/增量备份 1.2 Oracle 逻辑备份1.2.1 EXP/IMP1.2.1.1 EXP导出1.2.1.2 EXP关键字说明1.2.1.3 导入1.2.1.4 IMP关键字说明 1.2.2 EXPDP/IMPDP1.2.2.1 数据泵介绍1.2.2.2 数据泵的使用 1.…

机器智能的自主分级与人、机、环境有关

自主分级是指机器智能在特定任务中根据自身能力、环境变化及人类需求,自动调整其操作和决策水平的能力。随着人工智能技术的不断发展,机器智能的自主分级成为了研究的热点,尤其是在自动驾驶、智能制造和人机协作等领域。自主分级不仅可以提高…

【ios】---swift开发从入门到放弃

swift开发从入门到放弃 环境swift入门变量与常量类型安全和类型推断print函数字符串整数双精度布尔运算符数组集合set字典区间元祖可选类型循环语句条件语句switch语句函数枚举类型闭包数组方法结构体 环境 1.在App Store下载Xcode 2.新建项目(可以先使用这个&…

数据结构-4.1.特殊矩阵的压缩存储

一.一维数组的存储结构: 1.知道一维数组的起始地址,就可以求出任意下标对应的元素所在的地址; 2.注:如果数组下标从1开始,上述公式的i就要改为i-1; 3.数组里的元素类型相同,因此所占空间也相同…

转码第 188 天-高德算法实习面经分享

最近已有不少大厂都在秋招宣讲了,也有一些在 Offer 发放阶段。 节前,我们邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对新人如何快速入门算法岗、如何准备面试攻略、面试常考点、大模型项目落地经验分享等热门话题进行了深入的讨论。…

嵌入式 ADC基础知识

在现实世界中,常见的信号大都是模拟量,像温度、声音、气压等,但在信号的处理与传输中,为了减少噪声的干扰,较多使用的是数字量。因此我们经常会将现实中的模拟信号,通过 ADC 转换为数字信号进行运算、传输、…

6.2 微服务 负载均衡 架构模式 分类和应用实践

微服务 负载均衡 架构模式 分类 目录概述需求: 设计思路实现思路分析1.1. 微服务架构概述2.2. 负载均衡概念3.3. 负载均衡架构模式3.1 客户端负载均衡 架构模式 要点3.2 服务器端负载均衡 架构模式3.3 代理负载均衡 架构模式 4.4.负载均衡算法3.4 DNS负载均衡 架构模…

通信工程学习:什么是FTP文件传输协议

FTP:文件传输协议 FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上交换文件的协议,它定义了文件传输时使用的命令和响应。作为最古老的互联网协议之一,FTP至今仍被广泛使用,并在网…

PCL 投影滤波器

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 投影滤波 2.1.2 可视化 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总(长期更新) 一、…

算法课习题汇总(3)

循环日程表 设有N个选手进行循环比赛,其中N2M,要求每名选手要与其他N−1名选手都赛一次,每名选手每天比赛一次,循环赛共进行N−1天,要求每天没有选手轮空。 例如4个人进行比赛: 思路: 把表格…

20道面试题001

常考语法就是指针,指针与数组、指针与字符串、指针与结构体、指针与函数之间的关系与使用, 以上课为准,辅助《深度理解C指针》这本书。 1. 指针与数组 定义: 数组名在表达式中通常被视为指向数组首元素的指针。 访问元素: 可以通过指针访问数…

递归函数设计技巧

目录 1.路飞吃桃子的问题--应试难度 2.弹簧板问题--应试难度 3.递归实现指数型枚举--校招难度 4.递归实现组合型枚举--校招难度 5.递归实现排列型枚举--校招难度 1.路飞吃桃子的问题--应试难度 我们可以说下两个案例,反正是最后一天的时候,只剩下了一…

pnpm在monorepo架构下不能引用其他模块的问题

一、研究背景 monorepo架构项目目录结构: - common- index.ts- ... - main- index.ts- ... - web- vue-demo- ... pnpm在monorepo架构下使用以下命令 pnpm -F main add common # or pnpm --filter main add common 并不能在main/index.ts中使用common/index.ts…

从概念到使用全面了解Llama 3 这个迄今为止最强大的开源模型

概述 mate最近发布了 Llama3,下一代最先进的开源大语言模型(LLM)。正如本文的综合评论所述,Llama 3 以其前身奠定的基础为基础,旨在增强 Llama 2 成为 ChatGPT 重要开源竞争对手的能力 Llama 2:深入探讨 C…

Spring Boot驱动的足球青训俱乐部管理解决方案

1 绪论 1.1研究背景 随着科技的发展,计算机的应用,人们的生活方方面面都和互联网密不可分。计算机的普及使得人们的生活更加方便快捷,网络也遍及到我们生活的每个角落,二十一世纪信息化时代的到来,随着社会科技的不断…