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

2024-03-22 09:36

本文主要是介绍深度学习项目-基于深度学习的股票价格预测研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概要

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

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学