深度学习项目-基于深度学习的股票价格预测研究

news/2024/4/27 23:02:26/文章来源:https://blog.csdn.net/m0_73484725/article/details/136927520

概要

  随着经济的发展,中国股票市场的规模持续扩大,早已成为金融投资的重要部分,掌握股票市场的变化规律无论是对监管者还是投资者都具有极其重要的意义。正因如此,人们不断探索着股票市场的变化规律,其中使用深度学习预测股价是当前国内国际研究与应用的热点。
  本文首先从有效市场假说和分形市场假说两个角度讨论了中国股票市场的有效性,说明股票市场具有复杂的非线性特征。其次,结合股票市场特征对比了当前的预测方法,认为深度学习在股价预测中更具优势。接着,基于深度学习中的长短期记忆网络进行股价预测实验。通过对比试验,本文得出了长短期记忆网络在预测股价方面比三层全连接网络更有实际意义的结论,同时发现了多日数据作为输入变量较单日数据更加准确,增加训练数据在一定程度上能提高准确率,且模型的预测准确率能达到68%。最后,本文重新选取了10支股票进行预测,以此进一步验证模型的效果。预测结果的平均准确率为62%,且能为绝大多数股票带来了正向效益,说明了模型具有适应性,进一步证明了深度学习在股价预测方面的意义。

关键词:股价预测;人工神经网络;深度学习;长短期记忆网络

一、研究背景与意义

1.1 课题背景及研究的目的和意义

1.1.1课题背景

  中国的股票市场经历了三十多年的发展,已经走过了西方国家上百年的路程。随着经济的发展,中国股票市场的规模持续扩大。截至2019年底,中国沪深两市上市公司共3777家,总市值59.29万亿元,较2018年底增长了15.8万亿元,占全球总增长的12.3%。对企业而言,股票市场提供了直接融资的途径,一定程度上满足了企业的资金需求;对投资者而言,股票是投资理财的重要产品,拓宽了投资者的投资渠道;对整个国家而言,股票市场能积极调动社会的闲散资金,提高资源优化配置,推动经济的发展。
  我国证券市场不断壮大的同时,越来越多的计算机技术也被应用到探索和分析证券市场规律,深度学习就是其中之一。总的来说,深度学习是机器学习领域的一个子集,是实现人工智能的一种重要方式。虽然深度学习的理念可以追溯到上个世纪六七十年代,但是直到近些年来才走进人们的视野,变得火爆起来。如今的时代,信息爆炸满足了深度学习需要的大量的数据,CPU、GPU和云计算的发展满足了深度学习需要的大量计算力,以及优秀算法大大缩短了训练周期,这些共同使得深度学习的实现变得越来越容易。世界上十大对冲基金中,其中八个都采用量化交易的方式,在这之中深度学习必不可少。

1.1.2研究的目的和意义

  本文旨在将深度学习相关技术应用到金融数据的预测中,尝试建立能反映股票价格趋势的模型。我国的股票市场监管制度依然不够完善,不时出现股票的暴涨暴跌,这对国家金融市场的发展是极为不利的。对于国家而言,股票市场是国民经济的晴雨表,可以通过探索股票市场的变化规律对未来经济有合理的预期,从而及时做出相应的政策,稳定经济的发展;对监管机构而言,掌握股票市场的变化规律能一定程度上为监管者提供决策依据,完善金融市场体制;对投资者而言,需要探索股票市场的规律来规避投资风险,获得收益。
  自从股票市场诞生以来,人们以各种方式探索和研究着其变化规律,并取得了许多研究成果。预测股票市场的变化十分困难,因为股票市场是一个非常复杂的非线性非平稳系统,受很多因素的印象。在传统的预测模型中大多都是采用线性模型拟合股价,如自回归模型、移动平均模型等,但很难适应股票市场的变化。深度学习是机器学习中一个新兴的领域,建立在模拟人脑分析学习的神经网络的基础上,具有学习能力强、非线性映射能力强、适应性好等优点,有着广泛的应用,如自言语言处理、图像识别等领域。深度学习有五种常见的网络,分别是:循环神经网络(RNN)、卷积神经网络(CNN)、生成对抗网络(GAN)、深度信念网络(DBN)、深度强化学习(DRL)。本文将使用一种特殊的循环神经网络——长短期记忆网络(LSTM)进行股价预测的研究,并将以近期实际数据进行预测模拟。

二、股价预测与深度学习

3.1股价预测的方法

  目前预测股票价格的大致可以分为四种,一是技术分析法,二是基本面分析法,三是统计模型分析法,四是非线性预测法。

3.1.1技术分析法

  技术分析法是最为直观的一种短期预测方法。通过观察股票的量、价、时、空等要素,形成众多技术形态,认为历史情况会重演。根据历史经验总结出的形态,分析即时的行情属于何种形态,从而判断未来走势。技术分析也会参考众多技术指标,相对强弱指标(RSI)、平滑异同移动平均线(MACD)、随机指标(KDJ)等,判断股价的相对高低点,从而进行投资行为。
综上,技术分析有很多优点:实现方法直接,不涉及复杂的数学模型,且根据个人判断能得到明确的交易信号,结果集中在短期,适合短期投资。但是缺点也很明显:一方面,技术分析是一种经验总结,十分依赖于投资的个人判断,并且很多“经验”之间互相矛盾,没有统一的理论指导,让投资者难以判断;另一方面,指标经常与所代表的含义背离,表现出严重的滞后性,使判断更加困难。

3.1.2基本面分析法

  基本面分析则面向中长期的预测,通过对国家宏观环境、公司所处行业、公司运营情况等方面的分析来实现。基本分析认为市场价格最终会回归实际价值,通过判断市场价格是否偏离于公司的内在价值进行投资。
  基本面分析注重大环境的影响,对长期投资者十分重要,有助于比较准确的把握长期的趋势,也有助于投资者进行个股选择。但时间跨度很长,对短线投资者分析短期走势指导意义不大,且易受到突发事件的影响;另一方面,基本面分析的精确度不高。把握公司未来价值中重要的一环在于对公司价值的估值,即使采用相同的估值方法,不同的人对未来的预期不同,所得到的价值也不同,所以基本面分析只能提供一个大致上涨或下跌的趋势,无法提供明确的交易信号。

3.1.3统计分析法

  统计分析法是将股价信息视为时间序列数据,使用各类回归模型进行预测。这些模型大多基于最小二乘法建立,包括多元线性回归、自回归、混合回归模型等。这种分析方法具有准确的实现方法,有统一的指导理论,应用十分广泛。但是这种预测方法依赖于股价信息中的线性关系,在复杂的非线性系统中有一定局限性。

3.1.4非线性预测法

  非线性预测法在股票价格预测中应用十分广泛,常用的方法有模糊集法、混沌理论、基于遗传算法预测、基于人工神经网络预测等,在此处重点介绍基于人工神经网络预测。
人工神经网络(Artificial Neural Network)通过模拟人脑神经元的工作原理,使人工神经元按照不同方式连接,进而搭建出不同的网络。对于建立好的神经网络,可以使用大量的数据对人工神经网络进行训练,从而挖掘出隐藏的非线性关系。该方法具有很强的自适应能力、非线性拟合能力,克服了线性预测中的诸多不足,可以达到较高的准确率,但是通过神经网络法建立的模型无法很好的解释变量间的关系,且神经网络还有过拟合、陷入局部极值等缺点。随着神经网络技术的发展,该方法已经成为国际上研究股价的热点,应用于金融领域的方方面面。

3.2股票价格预测中的问题

  不管采用何种方式,投资者都需要对股票进行分析,且投资分析的准确与否是股票投资能否成功的关键。虽然分析股票市场的方法众多,但是股价的预测仍然存在很多问题。

3.2.1股价数据的特征

3.2.1.1非线性特征明显

  根据分形市场理论,股票市场具有非正态性、非线性等分形市场特征,是一个复杂的多变量非线性系统。一方面体现在股价自身变动具有混沌性,另一方面股价的影响因素众多,且股价与其影响因素也存在着复杂的非线性关系,这样共同组成了多变量非线性系统。虽然在工程动力学、非线性数学等领域为非线性系统的研究提供了一些方法,但实际应用于股价预测仍然有很多问题。

3.2.1.2股价数据中噪声明显

  股票市场中经常会发生金融理论难以解释的异常波动,例如机构大户的“控盘”行为,还有许多外部因素会造成股价数据的强烈波动,使股价成为“奇异点”。这些“奇异点”会使得回归偏差放大,影响预测的准确性。但是股价与其影响因素存在着复杂的非线性关系,噪声数据很可能也蕴含着相关信息,所以难以被轻易剔除。

3.2.1.3投资者的主观性

  股票的价格不同于自然规律,受投资者的主观能动性影响很大,而众多投资者的主观行为是复杂的,这就对预测的造成了很大的困难。一个最直接的影响便是,由于投资者的主观能动性,即使过去相同的情况在未来重演,也不一定会产生同样的结果,导致预测与现实相差很大。

3.2.1.4政策影响明显

  我国的股市建立时间短,市场监管体制还未完善,投资者的投资心态还不成熟,使得当前股市的有明显的政策导向特征。经常可以发现,国家出台某个领域的政策,由于投资者们的投机心理导致该领域暴涨或暴跌。

三、模型的验证

5.1股票选择

  2020年1月14日至4月1日这段时间里,上证指数由3115.57下跌至2734.52,下跌了12.23%。由于大盘整体下跌比较严重,但希望选出的股票在这段时间的趋势有所差异,故本文选择了五个板块,分别是券商概念、医药制造、酿酒行业、房地产、一带一路,这些板块在这段时间内涨跌不同,保证选择的个股涨跌趋势不同。在每个板块中随机选择两只股票,具体选股情况见下表:
表5-1 选股信息表
在这里插入图片描述

5.2统计误差分析

  所有股票的训练结果均达到了收敛状态,不再一一列举。下面给出十支股票的统计误差数据,如下表所示:
表5-2 预测结果统计误差表
在这里插入图片描述

  上表中,平均股价是指从1月14日至4月1日这段时间股票的平均价格,可以看出预测结果的总方差与股票价格有着正向关系。为了能够比较不同股票之间的预测效果,增加了误差占比这一指标,使用均方根误差除以平均股价得到。可以看出大多数预测的误差都能在5%以内,模型具有适用性。

5.3涨跌预测正确率及收益率

  由于每支股票各自的行情不同,不同股票的预测收益率之间的比较没有意义,比如上涨趋势明显的股票收益率为正的概率会大很多。为了能够衡量模型的效果,将1月14日至4月1日一直持有的收益率作为基准与预测收益率进行对比,减少亏损和增加收益视为模型带来了正效益,增加亏损和减少收益视为模型带来了负效益。
  结合前文的实验结果,使用长短期记忆网络训练每只股票的历史数据并预测近50天的涨跌情况,其预测正确率及收益率见下表:
表5-3 预测正确率及收益率
在这里插入图片描述

  可以看出,模型的预测在绝大多数情况能带来正向效益。面对下跌行情时,能有效的降低亏损,甚至扭亏为盈;面对上涨行情时,不会降低太多收益,甚至能获得额外收益。

结 论

  股票市场是国民经济的晴雨表,对整个国家的经济有着重要意义。对监管机构而言,掌握股票市场的变化规律能一定程度上为监管者提供决策依据,完善市场体制;对投资者而言,需要探索股票市场的规律来规避投资风险,获得收益。正因如此,自股票市场诞生以来,人们以各种方式不断地探索和研究着其变化规律。
  本文梳理了股票市场的特征及当前的预测方法,提出基于深度学习中的长短期记忆网络预测股价的模型,并进行了实证分析及检验,主要得出了以下三个结论:
(1)中国股票市场的有效性仍处于较低水平,股票市场具有一定的可预测性,且深度学习是一种可行的预测方法。
(2)神经网络预测的结果有滞后性缺陷,三层全连接网络的滞后性更加明显,相比之下,基于深度学习的长短期记忆网络模型预测能力更强,更有实际意义。
(3)对于模型的设计方面,多日数据作为输入变量较单日数据更加准确,增加训练数据在一定程度上能提高准确率,且设计的模型预测准确率能达到68%,进一步验证后平均准确率仍能达到62%,模型具有适应性。
  虽然本文提出的模型在多数情况下能带来正向效益,但还有很多问题需要完善。首先,模型的结构和参数是通过实验自行设计的,虽然成功收敛但依然可能存在过拟合等问题,应尝试更多的搭建方式;其次,输入数据是只考虑了历史价格数据,而股价的实际影响因素有很多,且复杂多变,只考虑价格信息必然是不全面的,应考虑更多影响因素;最后,本文实验的数据量不大,且使用的是日线数据,日后的研究可以采用更高频的小时线、分钟线,增加数据量的同时更有利于深度学习的挖掘。

六、 目录

目 录
摘 要 I
Abstract II
目 录 III
第1章 绪 论 1
1.1 课题背景及研究的目的和意义 1
1.1.1课题背景 1
1.1.2研究的目的和意义 1
1.2国内外研究现状 2
1.2.1中国股票市场有效性相关文献综述 2
1.2.2神经网络相关文献综述 3
1.2.3国内外研究现状评述 6
1.3研究内容和方法 7
1.3.1研究内容 7
1.3.2研究方法 7
第2章 相关概念及理论介绍 8
2.1股票市场相关理论 8
2.1.1有效市场假说 8
2.1.2分形市场假说 9
2.2深度学习相关理论 10
2.2.1人工神经网络简介 10
2.2.2循环神经网络简介 12
2.2.3长短期记忆网络简介 13
2.3本章小结 14
第3章 股价预测与深度学习 16
3.1股价预测的方法 16
3.1.1技术分析法 16
3.1.2基本面分析法 16
3.1.3统计分析法 17
3.1.4非线性预测法 17
3.2股票价格预测中的问题 17
3.2.1股价数据的特征 17
3.2.2预测方法比较 18
3.3深度学习的兴起 19
3.3.1深度学习的意义 19
3.3.2长短期记忆网络的优势 20
3.4深度学习的具体应用 21
3.4.1数据挖掘 21
3.4.2量化投资 21
3.5本章小结 22
第4章 深度学习在股价预测中的实证研究 23
4.1数据获取与处理 23
4.1.1数据获取 23
4.1.2归一化处理 23
4.2深度学习构建模型 24
4.2.1实验设置 24
4.2.2模型结构设计 24
4.3模型评价方法 26
4.3.1图表观察 26
4.3.2统计误差 26
4.3.3涨跌预测正确率与收益率 27
4.4预测结果分析 28
4.4.1单日输入预测实验 28
4.4.实验评价 33
4.4.3多日输入预测实验 33
4.4.4实验评价 38
4.5本章小结 38
第5章 模型的推广 39
5.1股票选择 39
5.2统计误差分析 39
5.3涨跌预测正确率及收益率 40
5.4综合评价 41
5.5本章小结 41
结论 42
参考文献 43
致 谢 45
附 录 一 46
附 录 二 47

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

知行之桥EDI系统功能介绍——FlatFile 端口介绍

FlatFile 端口能够实现平面文件与XML文件的互相转换。 每个 Flat File 端口配置一个特定的平面文件格式,从而实现与 XML 格式的互相转换。Flat File 端口有两个主要的模式: Position DelimitedCharacter Delimited 对于 Position Delimited 平面文件&a…

V R社交平台的用处|虚拟现实体验馆加盟|V R设备在线价格

VR(虚拟现实)社交平台的用处可以体现在以下几个方面: VR社交平台不仅可以丰富用户的社交体验,还可以在教育、艺术、商务等领域发挥重要作用,为用户提供更加多样化、互动性强的社交平台体验。 VR游乐设备|VR娱乐设备|VR…

CleanMyMac X 4.15.1 for Mac 最新中文破解版 系统优化垃圾清理工具

CleanMyMac X for Mac 是一款功能更加强大的系统优化清理工具,相比于 CleanMyMac 4.15.1来说,功能增加了不少,此版本为4.15.1官方最新中英文正式破解版本,永久使用,解决了打开软件崩溃问题,最新版4.15.1版本…

微信开发者工具创建一个小程序

创建项目 对于上面这个AppID可以自行选择是注册还是测试号,我是使用的测试号,之后再下面选择模板,我这里选择了JS-基础模板。 进入项目后在模拟器中可看到如下页面: 添加提交按钮进行页面跳转 添加需要跳转的文件夹,…

Leetcode 3.25

LeetCode Hot 100 栈1.有效的括号2.最小栈3.字符串解码 栈 1.有效的括号 有效的括号 这道题肯定是利用了栈先入后出的特性。有以下几种情况 如果当前元素是左括号则push进栈不弹出; 如果当前元素是右括号则弹出栈中前一个元素,并判断是否与当前元素匹配…

http模块—http请求练习

题目要求:搭建如下http服务: 1.当浏览器向我们的服务器发送请求时,当请求类型是get请求,请求的url路径地址是/login。响应体结果是登录页面 2.当浏览器向我们的服务器发送请求时,当请求类型是get请求,请求…

ubuntu 首次登录mysql8 未设置密码或忘记密码解决方法 亲测可用

-1.首先输入以下指令: sudo cat /etc/mysql/debian.cnf2. 再输入以下指令: mysql -u debian-sys-maint -p //注意! //这条指令的密码输入是输入第一条指令获得的信息中的 password ZCt7QB7d8O3rFKQZ 得来。 //请根据自己的实际情况填写!运…

QT文件读写操作和内容提取

访问IO设备,需要先调用open()来设置正确的OpenMode(例如ReadOnly或ReadWrite) 打开设备后后,使用write() 或putChar() 写入数据到文件和设备,并通过调用read(),readLine() 或readAll() 进行读取;使用完设备后&#xf…

离线数仓(八)【DWD 层开发】

前言 1、DWD 层开发 DWD层设计要点: (1)DWD层的设计依据是维度建模理论(主体是事务型事实表(选择业务过程 -> 声明粒度 -> 确定维度 -> 确定事实),另外两种周期型快照事实表和累积型…

【自我提升】一、Hyperledger Fabric 概念梳理

写在前面:最近因为业务需要,开始学习Hyperledger Fabric了,做java全栈工程师可真难搞。现在算是啥类型的都在涉及了,现在这个技术啥都不懂,就先开个学习专栏,记录记录。顺带也给各位道友参考参考。 目录 …

【Bug】记录2024年遇到的Bug以及修复方案

--------------------------------------------------------分割线 2024.3.22------------------------------------------------------- 1、load_sample_image raise AttributeError(“Cannot find sample image: %s” % image_name) AttributeError: Cannot find sample imag…

[linux初阶][vim-gcc-gdb] OneCharter: vim编辑器

一.vim编辑器基础 目录 一.vim编辑器基础 ①.vim的语法 ②vim的三种模式 ③三种模式的基本切换 ④各个模式下的一些操作 二.配置vim环境 ①手动配置(不推荐) ②自动配置(推荐) vim是vi的升级版,包含了更加丰富的功能. ①.vim的语法 vim [文件名] ②vim的三种模式 命令…

WPF —— DockPanel、ProgressBar 控件详解

ProgressBar 控件详解 1Progress bar简介 ProgressBar:进度条控件。 WPF带有一个方便的控件用于显示进度,称ProgressBar。它的工作原理就是设置最小值和最大值然后通过递增一个值,这样就可以直观的显示当前进度情况。 2 Progress bar常用的…

DFS:从递归去理解深度优先搜索

一、深入理解递归 二、递归vs迭代 三、深入理解搜索、回溯和剪枝 四、汉诺塔问题 . - 力扣&#xff08;LeetCode&#xff09; class Solution { public: //笔试题&#xff0c;不讲武德&#xff0c;CAvoid move(int n,vector<int>& A, vector<int>& B, ve…

前端实现浏览器自定义滚动条

前言&#xff1a; 最近有个项目&#xff0c;产品觉得浏览器默认滚动条太丑了。想美化一下&#xff0c;比如自定义颜色&#xff0c;加上圆角&#xff0c;宽高都要更改一下。我查了资料和文档总结了一下 写法&#xff0c;特此记录以便之后使用。 浏览器滚动条api 总结&#xff…

【爬取网易财经文章】

引言 在信息爆炸的时代&#xff0c;获取实时的财经资讯对于投资者和金融从业者来说至关重要。然而&#xff0c;手动浏览网页收集财经文章耗时费力&#xff0c;为了解决这一问题&#xff0c;本文将介绍如何使用Python编写一个爬虫程序来自动爬取网易财经下关于财经的文章 1. 爬…

代码随想录 Day-25

力扣题目 509.斐波那契数 思路 很理所当然的&#xff0c;可以使用递归的方式其次是用动态规划的方式&#xff0c;动态规划的核心就是递推公式。 那么递推和递归一字之差&#xff0c;有什么区别呢&#xff1f;&#xff08;递推和递归的区别&#xff09; 1、递归 class Solutio…

Java项目:77 springboot母婴商城

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本课题后端使用SpringBoot Spring Cloud框架&#xff0c;前端采用html&#xff0c;JQuery&#xff0c;JS&#xff0c;DIVCSS技术进行编程&…

Redis中AOF文件重写与同步

AOF文件的写入与同步 Redis服务器进程就是一个时间循环(loop),这个循环中的文件时间负责接收客户端的命令请求&#xff0c;以及向客户端发送命令回复&#xff0c;而时间事件则负责执行像serverCron函数这样需要定时运行的函数。因为服务器在处理文件事件时可能会执行些命令&am…

【Java程序设计】【C00416】基于(JavaWeb)Springboot的客户管理系统(含论文)

基于&#xff08;JavaWeb&#xff09;Springboot的客户管理系统&#xff08;含论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千…