草庐IT

毕业设计-基于机器学习的股票预测

HaiLang_IT 2023-04-11 原文

目录

前言

课题背景和意义

实现技术思路

一、传统股票预测模型

 二、新型股票预测方法

实现效果图样例 

最后


前言


    📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

🚀对毕设有任何疑问都可以问学长哦!

选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277

大家好,这里是海浪学长毕设专题,本次分享的课题是

🎯基于机器学习的股票预测

课题背景和意义

越来越多的学者投入到股市预测的研究中 探求股市发展规律 也不断有新的科学技术应用到股市预测, 以求能够预先掌握其发展趋势。股市如今已成为中国经济发展不可或缺的重要组成部分,由于其高回报率,一直是备受欢迎的投资之一。然而股票价格波动率取决于诸多因素,如股票政策、恐慌情绪、股本、利率、期权、认股权证、大型金融公司的合并和所有权等。科学有效的方法用于股票市场的“智能”预测不仅可以为交易监管机构制定稳定金融市场的政策提供基本信息,另一方面,对于投资者而言,股价预测也是获利和避免风险的一个重要参数。针对股票预测,人们在长期实践与研究地基本上总结出一套股票预测方法,并进行了基本地统计分析,但这种传统地股票预测方法很难准确地揭示股票内在地变化规律。在人工智能与机器学习不断发展地背景下,各种新地算法给金融领域带来显著地经济利益,金融领域地机器学习以和深度学习应用也得到人们地关注。通过采用神经网络进行数据建模,深度分析了数据内在特征,对股票市场地预测效果进行探索,帮助股民以和投资机构更好地预测股市走向。

实现技术思路

一、传统股票预测模型

传统的股票预测模型主要是基于统计学与概率论来进行预测研究。例如有传统时间序列模型、隐马尔可夫模型等股票预测研究的传统方法模型

传统时间序列模型
金融数据是一种具有时间序列性质的数据 时间序列的特点就是其值具有一定的时间先后性和随机性, 相邻时间具有相关性且整体呈现某种趋势或者是周期性的变化 根据时序特征不同主要分为确定性模型和随机性模型。

隐马尔可夫模型

 隐马尔可夫模型HiddenMarkovModelHMM)是离散马尔可夫模型的衍生模型,Hamilton首次将 HMM 作为机制转移模型用于经济领域经济周期的预测,在此之后HMM 从最初的信息技术领域不断发展到经济金融领域模型在不断的改进完善。

在隐马尔可夫模型(HMM)中,我们不知道模型具体的状态序列,只知道状态转移的概率,即模型的状态转换过程是不可观察的。因此,该模型是一个双重随机过程,包括模型的状态转换和特定状态下可观察事件的随机。HMM图解:

 二、新型股票预测方法

基于SVM 的预测模型

支持向量机 supportvectormachine SVM 理论是 20 世纪 90 年代 Vapnik 在统计学习理论的框架下提出的一种新型的学习机器 相比于传统预测方法 SVM 采用了结构风险最小化原则, 能够较好地解决小样本 非线性和高维数问题 具有较好的泛化能力。

基于决策树的预测模型

决策树是一种成熟的数据挖掘技术,基于决策树衍生出许多算法来适合线性和非线性的数据集进行趋势预测,XGBoost是一种基于梯度提升决策树的改进算法能够有效地构建增强树并且并行运行,包括回归树和分类树。

 通过网格搜索算法对 XGBoost模型进行参数优化构建了 GS-XGBoost股票预测模型该模型相较于 XGBoost原模型GBDT模型以及SVM 模型在 MSERMSEMAE三个评价指标上都表现出了较好的预测结果。

基于神经网络的预测模型

神经网络能够映射十分复杂的非线性关系 具有强大的非线性泛化能力和良好的自适应性, 同时具有很强的学习能力和抗干扰能力 能够较为准确的预测股票价格序列 因而神经网络为股价序列的建模与预测提供了新的方法。

1)遗传神经网络

遗传算法是一种基于自然选择和自然遗传的自适应优化搜索算法。但是,它收敛速度慢,学习效率低,很容易达到局部最小值,利用PCA算法对BP神经网络进行优化,建立了GABP股票预测模型,该优化模型提高了股票价格的预测精度

 2)卷积神经网络

卷积神经网络ConvolutionalNeuralNetworkCNN一般包含卷积层和池化层其显著的特点就是能够感知局部视野、权重共享以及弱化特征具体位置可以使参数训练规模大大缩小。

CNN 能够有效提取数据特征的优点与 SVM 的分类预测能力相结合 , 基于此将模型用于股指预测, 有效地提高了预测精度。

3)长短期记忆神经网络 LSTM

长短期记忆神经网络(longshort-term memorynetworksLSTM是一种时间递归神经网络,适合处理和预测时间序列中间隔和延迟相对较长的重要事件这一技术特征与股票预测问题有着很高的契合度,将普通循环网络中的隐藏节点设计为自循环形式记忆单元维持一个误差流,进而可以记忆长时期的有效信息避免梯度爆炸和梯度消失。

 4)径向基神经网络 RBF

径向基 RBF 神经网络是一种使用内部局部调整处理单元来学习分类任务和实值函数近似的神经网络 RBF 使用一种自组织和监督学习的混合学习方法, 使得网络学习速度比反向传播更快, RBF 神经网络的体系结构和学习规则是真正自适应的, 适合实时任务

 建立神经网络模型预测股票涨跌趋势,一般是先确定数据基本特征,选择合适的模型然后是获取训练模型最优参数最后对测试数据进行预测,一般可以总结为:

实现效果图样例 

人工智能股票预测系统:

我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。

毕设帮助,疑难解答,欢迎打扰!

最后

有关毕业设计-基于机器学习的股票预测的更多相关文章

  1. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  2. ruby-on-rails - 使用 rails 4 设计而不更新用户 - 2

    我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它​​不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数

  3. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  4. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  5. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  6. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  7. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  8. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  9. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  10. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

随机推荐