基于优化LSTM 模型的股票预测

article/2025/10/2 13:10:34

LSTM自诞生以来,便以其在处理时间序列方面的优越性能在预测回归,语音翻译等领域广受青睐。今天,主要研究的是通过对LSTM模型的优化来实现股票预测。其实,关于股票预测,LSTM模型已经表现的相当成熟,然而,其以及具有很大的提升空间,比如,股市的影响因素多种多样,这篇论文的重点,便是从若干个影响因素中,挑选出占比最大的几个特征,从而能够达到减少模型运算消耗的目的,下面,便是论文的相关介绍。

理论基础

由于神经网络预测模型具有显著的非线性,我们把神经网络模型归为非线性预测模型。神经网络分为两大类。第一类 人 工 神 经 网 络 (ANN),如 MP 神 经 网 络 和BP神经网络。ANN 作为早期的神经网络模型,在 股 票 预 测方面亦做出了杰出贡献:Deng提出 DAE-BP模 型 对 股 票 先进行 DAE降维,再 使 用 BP神 经 网 络 进 行 股 价 预 测,取 得 了不错的预测结果。可 惜 的 是,ANN 模 型 结 构 过 于 单 一,存 在以下问题:

1)过拟合,导致模型的泛化能力大大减弱;
2)存在局部极值问题,即梯度下降过程中达到局部极小值点就停止工作,不能精准下降至全局极小值点,导致模型预测能力大大减弱;
3)优化过程中容易因为神经元权重过多、过 繁,导 致 梯度消失或者梯 度 爆 炸 问 题,最终使神经网络模型预测失效。

第二类神经网络则是相对于 ANN 来说,更深层次、更 高 效 的深度神经网络模型(DNN),如卷积神经网络(CNN)、循 环 神经网络(RNN)和长短期记忆神经网络(LSTM)。这一类神经网络模型是当前研究金融预测领域最高效、前沿的预测模型,其具有多方面优势。

1)对输入变量的形式没有限制,与 预 测问题可能相关的信息均可被作为模型输入,这一点极大满足了股票市场容易被各式各样的信息所干扰影响的特征。
2)有效拟合输入变量间的非线性复杂关系,提高样本拟合程度,同时通过神经元权重循环使用原理,大大减少了神经元权重的数量,有效防止过拟合现象。
3)通过 DNN 中tanh激活函数,能够显著解决 ANN 中的梯度爆炸和梯度消失问题。

本文在股票价格影响因素选取中创新性地将消费者情绪和财务数据、基本面数据等多种数据融合,通过深度学习 LASSO 方法和 PCA 分析法对影响股票价格的多种因素进行降维筛选,使各输入数据之间的相关性最大化,再分别导入目前最前沿的 LSTM 神经网络模型[10-14]进行预测,并进行准确性和稳定性的对比,发现其中最高效的股票模型预测方法。

研究方法

LASSO

实证分析中,通常会设置尽可能多的自变量,选取自变量时容易出现偏主观意愿的疏漏,从而导致实证分析失真。而LASSO 方法是一个能够客观筛选有效变量并且解决多重共线性等问题的估计方法。它 是1997年 由 Tibshirani提 出 的一种压缩估计方法,通过构造一个惩罚函数,让回归系数的绝对值之和在小于一个常数的约束条件下,使得回归模型残差
平方和最小,产生严格等于零的回归系数,从而有效解决回归模型中的多重共线性问题。
LASSO 方法是在普通线性回归模型中增加L1惩罚项,普通线性模型的 LASSO 估计为:
在这里插入图片描述

PCA

主成分分析法是一种降维的统计方法,它 借 助 于 一 个 正交变换,将其分量相关的原随机向量转化成其分量不相关的新随机向量,这在代数上表现为将原随机向量的协方差阵变换成对角形阵,在几何上表现为将原坐标系变换成新的正交坐标系,使之指向样本点散布最开的 p 个 正 交 方 向;然 后 对
多维变量系统进行降维处理,使之能以一个较高的精度转换成低维变量系统,再通过构造适当的价值函数,进一步把低维系统转化成一维系统。
在这里插入图片描述
在这里插入图片描述

LSTM

长短时记忆神经网络 (LongShort-term Memory Net-works,LSTM)是一种特殊 的 RNN 类 型,可以学习长期依赖信息。RNN 神经网络模型一直被广泛用于语言识别和文本分类等多个研究领域[16]。相比于人工神经网络模型(ANN)而言,RNN 神经网络模型可以循环利用神经元的权重参数,能够很好地将历史数据相关 信息应用到预测中去。然 而,RNN 神经网络模型的误差反向传播算法只是像 ANN 神 经网络模型中一样简单,权重的重复利用能够带来好处,也会带来很大弊端,例如梯度爆炸和梯度消失问题,即对历史数据的长期依赖性问题无法有效解决。为解决这两大难题,机 器 学习科 研 工 作 者 们 研 究 出 长 短 时 记 忆神经网络模型(LSTM),如图1所示。
在这里插入图片描述
LSTM 模型相较于 RNN 模型最明显的改进是增加了1个细胞状态 C和3个阀门,3个阀门分别是遗忘门f、输 出 门o和输入门i。在 LSTM 模型误差反向传播校正权重时,有些误差可以直接通过输入门传递给下一层神经元,有些误差则可以通过遗忘门去进行数据遗忘,这样就解决了梯度爆炸与消失的难题,即有效地处理历史数据中相关信息的冗余等问题。本文研究的股票价格预测是典型的时序问题,且 某一个时刻的价格受前一时刻和历史多时刻价格影响,所以选择 LSTM 模型进行股票价格预测。

股票价格预测的实证分析

数据来源及指标选取

文章所采用的数据为2015年1月5日 至2020年2月7日的平安银行(0000001)股票数据(数据来源于通达信金融终端),共1240条数 据。其 中80%作为训练集用于训练模型,其余20%作为测试集中来验证模型的泛化能力。
在指标选取的过程中,应尽可能全方面地考虑影响因素,全方位地对问题进行分析,尤其对股票价格波动这种影响因素较多且各因素之间并不呈明显线性关系的难题,在指标选择过程中更应该精准筛选。相较于其他研究,实 验 选 用 股 价的开 盘 价、最 高 最 低 价、成交量以及一 般技术指标 OBV、
KDJ、BIAS等常见的 技 术 指 标,本文创新性地添加了最前沿的 CCI,MFI,MTM 等若干股价判断技术指标以及准确反映投资者心理情绪的 PSY 指 标。这些技术指标能够多方位地涵盖股价波动的潜在信息,具有很强的股价解释性。为 了 更清楚地对这57个技术指标进行理解,表1进行了详细说明。
在这里插入图片描述

数据的筛选

表1所列5个一 级 指 标、28个 二 级 指 标 和 57个 三 级 指标描述了股价的波动影响因素。由于指标个数较多,为 了 不给网络运行带 来 负 担,提 高 LSTM 神经网络的预测能力,本文分别采用主成分分析法和 LASSO 回 归 法 对 57个 指 标 进行筛选。

主成分分析法

通过 RStudio软件对 平 安 银 行57个指标数据进行标准化处理,然后画出碎石图。由图3可知,特征值大于1的主成
分个数有9个。
在这里插入图片描述

预测方法及思路

为客观比 较 LASSO-LSTM 和 PCA-LSTM 之 间 的 预 测
效率,我们加入单纯 LSTM 模型的预测结果,进行三者对比。

LSTM 神经网络方法及预测思路

LSTM 神经网络用历史1240个交易日的数据信息对股票价格走势进 行 预 测。输入数据为未做数据筛选的所有57个参数变量,输出数据为历史股价下一日的收盘价预测值。
LASSO-LSTM 模型方法及预测思路
通过 LASSO 回归法构造惩罚函数,将历史1240个交易
日内的57个参数变量进行去共线性筛选,留 下 的50个 参 数
变量具有低共线性、高相关度等特征,再将其当作输入变量输
入 LSTM 神经网络模型中,输出变量是当日历史数据的下 一
日收盘价预测值。

PCA-LSTM 模型方法及预测思路

通过 PCA 分析法,从57个原始数据提取出8个 主 成 分用于 LSTM 模型输入,这8个主成分因子分别以不同的参数系数囊括了57个历史数据的信息,显著地精简了神经网络模型输入端,同时又不丢失重要数据信息。输 出 变 量 是 当 日 历史数据的下一日收盘价预测值。

实证结果对比

现有运用神经网络进行股票预测的研究实验较多是将历史数据全部放入训练集中进行模型训练,将最新一天的股价作为预测数 据。以该方式预测可以得出非常拟合的预测结果图,是因为神经网络模型独特的多次校正权重原理能够让神经网络模型最大程度地拟合出与历史股价重合的预测股价,但这在实际炒股应用中的失真率非常大,毫无实际应用价值。因此,本文采用历史股价80%的 数 据 即 前960日 的 历史股价作为训练集,剩 余20%的 数 据 即 第960日 至1240日的历史股价作为预测集。不 同 的 LSTM 模 型 超 参 数,对LSTM 模型的预测能力有着显著的影响,例 如 神 经 元 层 数 及每层神经元中的神经元个数的改变会使模型运算繁琐度指数增长且影响最后的预测精度,学习率的千分位改变会显著影响模型在梯度下降时的效率与准确率。
在这里插入图片描述
从表2单纯使用 LSTM 模型对股票的预测结果来看,在LSTM 模型设置迭代次数为500次、激活函数为tanh、学习率为0.005、神经层为3层、神经元为8个时,MSE 结果最小,为0.0012;在 设 置 迭 代 次 数 500 次、激 活 函 数 tanh、学 习 率0.001、神 经 层 2 层、神 经 元 8 个 时,RMSE 结 果 最 小,为0.0303;在 LSTM 模型设置迭代次数 1000 次、激 活 函 数tanh、学习率0.001、神经层3层、神经元8个时,MAE 结果最小,为0.1467。图4-图6分别为单纯 LSTM 模型下,3个误差值最小条件时的预测图。


http://chatgpt.dhexx.cn/article/k9ZEOOdR.shtml

相关文章

【机器学习】LSTM模型原理

文章目录 1. 序言2. RNN的基本概念与网络结构2.1 概念2.2 结构2.3 要素 3. LSTM的基本概念与网络结构3.1 概念3.2 结构3.3 要素 4. LSTM网络结构的说明5. 补充 1. 序言 临渊羡鱼不如归而结网 学习的目的是为了应用 2. RNN的基本概念与网络结构 LSTM是在RNN的基础上演进而来…

LSTM模型

LSTM比RNN复杂很多,RNN只有一个参数矩阵A,LSTM有4个(遗忘门,输入门,更新值,输出门) LSTM有一个非常重要的传输带Ct,过去的信息通过这个传输带送给下一时刻,不会发生太大变…

时间序列预测——LSTM模型(附代码实现)

目录 模型原理 模型实现 导入所需要的库 设置随机数种子 导入数据集 打印前五行数据进行查看 数据处理 归一化处理 查看归一化处理后的数据 将时间序列转换为监督学习问题 打印数据前五行 划分训练集和测试集 查看划分后的数据维度 搭建LSTM模型 得到损失图 模型…

phpstorm汉化操作

问题描述:如何进行phpstorm的汉化(原始为英文) 解决办法: 1.下载汉化包—resources_cn; 2.将汉化包添加到phpstorm文件夹下的lib文件夹内(其中的resources_en可以不删除); 3.重启Ph…

php 教程 phpstorm

目录 php开发流程 php 编辑工具 phpstudy phpstorm如何配置php环境 php 语言 什么是URI URL和URI差别: 一、HTTP和HTTPS的基本概念 经典类型和自定义 实现本机域映射​ php开发流程 1、下载php语言包 php作为一门语言,本身可以是一个纯绿色版的…

【PHP】Phpstorm环境配置与应用

一. Phpstorm环境配置 (1)点击左上端File,选择下拉框中的setting,进入环境配置页面,如下图 (2)如下图点击1处,选中下拉框中的Deployment,Type(图示2处),下拉框中选择Local or mounted folder …

PHP开发工具PhpStorm v2022.3——完全支持PHP 8.2

PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能。 PhpStorm v20…

phpstorm10.0.3汉化方法:

PhpStorm10.0.3汉化方法: 1、安装原版PhpStorm10.0.3,在打开最新的PhpStorm10汉化包下载地址: http://pan.baidu.com/s/1bouoyF9 2、双击用压缩软件打开resources_cn.jar(注意是打开而不是解压出来),将下载的汉化包…

PHPSTORM 中文版/汉化 即常用快捷键和配置

PHPStorm配置和快捷键大全(最新版)支持Win和Mac http://blog.csdn.net/fenglailea/article/details/53350080 推荐 1.汉化/中文版 使用的是开源的,翻译的还好,因为是开源,有些人不自觉,在翻译过程中加入广告 开源汉化地址&…

phpstorm10安装并汉化

一、下载phpstorm 下载地址:https://pan.baidu.com/s/1R64ZROVP1ljGbYfCwWjwxA 二、一直点击下一步安装即可 注意:第3步的时候选择一下支持的后缀 三、安装完毕,进行汉化 1、来到安装目录,PhpStorm 10.0.3\lib 目录下 2、…

PhpStorm 中文设置教程

本文仅供学习交流使用,如侵立删!demo下载见文末 Pycharm中文设置教程 1.首先打开PhpStorm ,点击file-settings.找到plugins,搜索Marketplace,然后搜索chinese。 2.找到之后直接点击安装. 3.安装完成之后点击Restart。…

PHPStorm运行PHP代码(新手教程)

PHPStorm是流行对PHP及前端开发IDE,在开发者初次使用写PHP代码时该怎么用呢~ 1、Create New Project 2、选择PHP Empty Project,并新建一个空目录(名字建议为英文,目录不要放在C盘!!!&#xff…

PHP教程二:开发工具 phpstorm 的下载、安装与激活

接着上一章节,我们继续开发工具的安装 phpstorm 的概括:PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检…

下载phpstorm2021汉化包

网址 网址:https://plugins.jetbrains.com/plugin/13710-chinese-simplified-language-pack---- 点安装到phpstorm 打开phpstorm2021版本 点file-------seeting-------k~(省略了)-----搜索chinese--------最后点安装就可以了。

phpstorm官方汉化包

注意:这个汉化包是官方出品的,并不是网友做的,所以有很强的兼容性不会出现各种乱七八糟bug以及汉化不完全的现象 先一睹为快 我们可以看到全都有翻译 以前的我还觉得那么多选项和按钮都不敢乱点,或者点之前都要百度一下英文 现在可以随便…

PHP开发工具phpstorm的安装及汉化详解

PHP开发工具phpstorm的安装及汉化详解 最近在研究PHP,PHP是目前较为流行的一款PHP开发工具,内容丰富,功能强大,下面将详细介绍一下他的具体安装及汉化步骤。 下载 这个是PHPstorm官网地址,可直接免费下载 我下载的是…

phpstorm安装+新建项目+phpstorm中文版

一、 安装phpstorm 1. 运行安装包 2. 点击next 3. 选择安装路径 点击next 4. 我的电脑系统是windows64位 所以选择64-bit 5. 点击INSTALL安装 6.安装成功后 运行phpstorm 选择evaluate for free 然后点击evaluate 二、 新建项目 1. 点击new project 2. 选择项目路径 点击c…

PhpStorm 汉化包

JetBrains 系列软件汉化包 关键字: Android Studio 3.0-3.1.3 汉化包 CLion 2018.1-2018.2 汉化包 GoLand 2017.3.2-2018.2 汉化包 IntelliJ IDEA 2017.3-2018.2 汉化包 PhpStorm 2017.3-2018.2 汉化包 PyCharm 2017.3-2018.2 汉化包 RubyMine 2017.3.2-2018.2 汉化包 …

PHPStorm安装汉化插件

File下拉菜单 找到Settings 左侧选择Plugins列表,右侧选择tab切换项Marketplace,下面的输入框里输入chinese,然后从列表中选择Chinese(simplified)Language,点击右侧的Install按钮进行安装 安装成功后重启编辑器,整个编辑器就全部是中文的了。…