机器学习毕业设计 大数据股票数据量化分析与预测系统 - python

2023-05-16

文章目录

  • 0 前言
  • 1 课题背景
  • 2 实现效果
    • UI界面设计
    • web预测界面
    • RSRS选股界面
  • 3 软件架构
  • 4 工具介绍
    • Flask框架
    • MySQL数据库
    • LSTM


0 前言

🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩 机器学习股票大数据量化分析与预测系统

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:3分

🧿 选题指导, 项目分享:
https://gitee.com/yaa-dc/warehouse-1/blob/master/python/README.md

1 课题背景

基于机器学习的股票大数据量化分析系统,具有以下功能:

  • 采集保存数据;
  • 分析数据;
  • 可视化;
  • 深度学习股票预测

2 实现效果

UI界面设计

功能简述

在这里插入图片描述

日常数据获取更新

在这里插入图片描述
交易功能
在这里插入图片描述

web预测界面

  • LSTM长时间序列预测
  • RNN预测
  • 机器学习预测
  • 股票指标分析

在这里插入图片描述

预测效果如下:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

RSRS选股界面

在这里插入图片描述

3 软件架构

整体的软件功能结构如下图

在这里插入图片描述

4 工具介绍

Flask框架

简介

Flask是一个基于Werkzeug和Jinja2的轻量级Web应用程序框架。与其他同类型框架相比,Flask的灵活性、轻便性和安全性更高,而且容易上手,它可以与MVC模式很好地结合进行开发。Flask也有强大的定制性,开发者可以依据实际需要增加相应的功能,在实现丰富的功能和扩展的同时能够保证核心功能的简单。Flask丰富的插件库能够让用户实现网站定制的个性化,从而开发出功能强大的网站。

本项目在Flask开发后端时,前端请求会遇到跨域的问题,解决该问题有修改数据类型为jsonp,采用GET方法,或者在Flask端加上响应头等方式,在此使用安装Flask-CORS库的方式解决跨域问题。此外需要安装请求库axios。

Flask框架图

在这里插入图片描述
代码实例

from flask import Flask, render_template, jsonify
import requests
from bs4 import BeautifulSoup
from snownlp import SnowNLP
import jieba
import numpy as np

app = Flask(__name__)
app.config.from_object('config')

# 中文停用词
STOPWORDS = set(map(lambda x: x.strip(), open(r'./stopwords.txt', encoding='utf8').readlines()))

headers = {
    'accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
    'accept-language': "en-US,en;q=0.9,zh-CN;q=0.8,zh-TW;q=0.7,zh;q=0.6",
    'cookie': 'll="108296"; bid=ieDyF9S_Pvo; __utma=30149280.1219785301.1576592769.1576592769.1576592769.1; __utmc=30149280; __utmz=30149280.1576592769.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); _vwo_uuid_v2=DF618B52A6E9245858190AA370A98D7E4|0b4d39fcf413bf2c3e364ddad81e6a76; ct=y; dbcl2="40219042:K/CjqllYI3Y"; ck=FsDX; push_noty_num=0; push_doumail_num=0; douban-fav-remind=1; ap_v=0,6.0',
    'host': "search.douban.com",
    'referer': "https://movie.douban.com/",
    'sec-fetch-mode': "navigate",
    'sec-fetch-site': "same-site",
    'sec-fetch-user': "?1",
    'upgrade-insecure-requests': "1",
    'user-agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36 Edg/79.0.309.56"
}

login_name = None


# --------------------- html render ---------------------
@app.route('/')
def index():
    return render_template('index.html')


@app.route('/search')
def search():
    return render_template('search.html')


@app.route('/search/<movie_name>')
def search2(movie_name):
    return render_template('search.html')

MySQL数据库

简介

MySQL是一个关系型数据库,由瑞典MySQL AB公司开发,目前已经被Oracle收购。

Mysql是一个真正的多用户、多线程的SQL数据库。其使用的SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言,每个关系型数据库都可以使用MySQL是以客户机/服务器结构实现的,也就是俗称的C/S结构,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。

Python操作mysql数据库

本项目中我们需要使用python来操作mysql数据库,因此需要用到pymysql这个库

安装:

pip install pymysql

数据库连接实例:

# 导入pymysql
import pymysql

# 定义一个函数
# 这个函数用来创建连接(连接数据库用)
def mysql_db():
    # 连接数据库肯定需要一些参数
    conn = pymysql.connect(
        host="127.0.0.1",
        port=3307,
        database="ksh",
        charset="utf8",
        user="root",
        passwd="123456"
    )

if __name__ == '__main__':
    mysql_db()

数据库连接实例:

# 导入pymysql
import pymysql

# 定义一个函数
# 这个函数用来创建连接(连接数据库用)
def mysql_db():
    # 连接数据库肯定需要一些参数
    conn = pymysql.connect(
        host="127.0.0.1",
        port=3307,
        database="ksh",
        charset="utf8",
        user="root",
        passwd="123456"
    )

if __name__ == '__main__':
    mysql_db()

LSTM

简介

长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。

LSTM结构(图右)和普通RNN的主要输入输出区别如下所示。
在这里插入图片描述
在这里插入图片描述
Torch代码实现

import torch
from sklearn.metrics import accuracy_score
 
#定义需要的模型结构,继承自torch.nn.Module
#必须包含__init__和forward两个功能
class mylstm(torch.nn.Module):
    def __init__(self, lstm_input_size, lstm_hidden_size, lstm_batch, lstm_layers):
        # 声明继承关系
        super(mylstm, self).__init__()
 
        self.lstm_input_size, self.lstm_hidden_size = lstm_input_size, lstm_hidden_size
        self.lstm_layers, self.lstm_batch = lstm_layers, lstm_batch
 
        # 定义lstm层
        self.lstm_layer = torch.nn.LSTM(self.lstm_input_size, self.lstm_hidden_size, num_layers=self.lstm_layers, batch_first=True)
        # 定义全连接层 二分类
        self.out = torch.nn.Linear(self.lstm_hidden_size, 2)
 
    def forward(self, x):
        # 激活
        x = torch.sigmoid(x)
        # LSTM
        x, _ = self.lstm_layer(x)
        # 保留最后一步的输出
        x = x[:, -1, :]
        # 全连接
        x = self.out(x)
        return x
 
    def init_hidden(self):
        #初始化隐藏层参数全0
        return torch.zeros(self.lstm_batch, self.lstm_hidden_size)

🧿 选题指导, 项目分享:
https://gitee.com/yaa-dc/warehouse-1/blob/master/python/README.md

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习毕业设计 大数据股票数据量化分析与预测系统 - python 的相关文章

  • oracle 备份表

    一 PL SQL备份 xff08 1 xff09 打开PL SQL xff08 2 xff09 在Tools下选择Export Tables xff08 3 xff09 在列表中找到想要备份的表 xff0c 右键选择Export Data
  • Android 预置应用

    预置应用主要有4种情况 xff1a 1 如何将带源码的应用预置进系统 xff1f 2 如何将无源码的应用预置 xff08 APK xff09 进系统 xff1f 3 如何预置应用使得用户可以卸载 xff0c 恢复出厂设置时不能恢复 xff1
  • Android广播管理三--广播发送(sendBroadcast)流程分析

    前面我们分析了Android应用程序注册广播接收器的过程 xff0c 接下来它还要等待ActivityManagerService将广播分发过来 ActivityManagerService是如何得到广播并把它分发出去的呢 xff1f 广播
  • 避免后台进程被杀死的几种方法

    Android的几种进程 前台进程 即与用户正在交互的Activity或者Activity用到的Service等 xff0c 如果系统内存不足时前台进程是最后被杀死的 可见进程 可以是处于暂停状态 onPause 的Activity或者绑定
  • Android性能优化 -- Systrace工具

    Systrace简介 一般来说 xff0c 我们的机器以60帧 秒显示时 xff0c 用户会感觉机器很流畅 xff0c 如果显示时出现丢帧的情况 xff0c 需要知道当前整个系统所处的状态 xff0c 这个时候Systrace便是最佳的工具
  • Android性能优化 -- 应用启动优化之启动页设计

    上篇博客我们学习了应用启动优化的一些优化思路 xff0c 经过这些优化后 xff0c 如果还不能达到你的要求 xff0c 我们一般会做个启动页 因为启动页一般View数量比较少 xff0c 业务逻辑比较简单 xff0c 因此启动比较快 一
  • Android性能优化 -- 布局优化

    一 前言 根据Google官方出品的Android性能优化典范 xff0c 60帧每秒是目前最合适的图像显示速度 xff0c 事实上绝大多数的Android设备也是按照每秒60帧来刷新的 为了让屏幕的刷新帧率达到60fps xff0c 我们
  • ubuntu server 18.0.4自动免密登录

    参考https zhuanlan zhihu com p 79422682 1 xff09 设置自动登录user sudo vim etc systemd system getty target wants getty 64 tty1 se
  • nginx 反向代理设置中的proxy_redirect

    Nginx做反向代理 xff0c 如果在header设置了Host参数 xff0c 同时如果有协议和二级目录有不一致的情况的时候 xff0c 当后端服务做302 301跳转的时候 需要用proxy redirect将后端设置在respons
  • iOS - OC - ARC中使用MRC(非ARC)文件(草稿)

    设置非arc模式 刚创建的项目是自动管理内存 xff08 arc xff09 的 xff0c 而asi是手动内存管理 xff08 非arc xff09 的 xff0c 可以在创建项目后设置Build Settings的搜索栏里输入gar x
  • 批量识别PDF文件(图片类型)中的文字

    如何批量识别PDF图片中的文字 xff0c 一直是一个效率很低 xff0c 很繁琐的事情 小编为大家提供一款基于tesseract5 0 OCR版本的PDF文件 图片类型 批量识别工具 xff0c 此工具的用途是批量把PDF转换成文本文件
  • 《最重要的事,只有一件》读书笔记

    背景 每天都在忙忙碌碌中度过 xff0c 感觉到很累 xff0c 但仔细思考一下好像也没有收获 仔细想一想 xff0c 在每天之中 xff0c 大脑主动或被动的接受了太多的信息 xff0c 如果没有给信息分出轻重缓急 xff0c 整理归类
  • TS核心知识点总结及项目实战案例分析

    前言 最近工作一直很忙 xff0c 复盘周期也有所拉长 xff0c 不过还是会坚持每周复盘 今天笔者将复盘一下typescript在前端项目中的应用 xff0c 至于为什么要学习typescript xff0c 我想大家也不言自明 xff0
  • Archlinux + KDE 配置&美化

    Arch Linux 43 KDE 配置 amp 美化 xff08 持续更新 xff09 这篇文章着重记录archlinux 43 KDE的一个基本的配置过程 不包括安装过程 xff08 使用arch install安装脚本 xff09 内
  • preference 用法之Settings

    preference 用法之Settings 我们的app有时常需要包含Settings xff0c 那我们该怎样允许app使用Settings呢 xff1f 这里我们就需要用到Preference类 下面我就举一个例子来让我们更好的理解
  • Android7.1解决应用系统属性设置类SystemProperties导入问题

    试了很多种方法 xff0c 有说导入系统的framework jar的 xff0c 试过依然不行 xff0c 最后确认可行的办法就是导入layoutlib jar包 1 在Sdk platform android XX data目录下找到l
  • Android生物识别-androidx.biometric的使用方法

    参考文献 android developer biometric 截止发稿时需要的依赖 implementation span class token string 39 androidx biometric biometric 1 2 0
  • 生产者消费者算法的简单实现

    系列文章目录 文章目录 系列文章目录 实验内容 背景知识 1 了解经典同步问题 生产者和消费者 思路 二 源代码运行结果结论 实验内容 1 问题描述 xff1a 一组生产者向一组消费者提供消息 xff0c 它们共享一个有界缓冲池 xff0c
  • CentOS7.5 VNC Server服务配置

    转载文章 xff1a https blog csdn net hnhuangyiyang article details 50827670 一 安装VNC相关包 yum list tigerserver yum install tigerv
  • 使用github OAuth实现用户登录

    更多文章请关注 xff1a https eightplus github io 1 在github上申请OAuth App xff0c 进入个人的Github首页 xff0c Settings gt Applications gt Deve

随机推荐

  • 二叉搜索树的第k大节点

    二叉搜索树的第k大节点 题目 给定一棵二叉搜索树 xff0c 请找出其中第 k 大的节点的值 示例 1 输入 root 61 3 1 4 null 2 k 61 1 3 1 4 2 输出 4 示例 2 输入 root 61 5 3 6 2
  • 关于STM32的编码器计数及溢出处理调试总结

    错误1 pc6 pc7被用作其他用途 GPIO模式配置错误 导致计数不准确 错误2 引脚模式设置错误 应该设置为GPIO Mode IPD GPIO Mode IPU nbsp GPIO Mode IN FLOATING nbsp 都可以
  • Android getResources的作用和需要注意点

    今天做一个Android的文件管理器 xff0c 里面用到很多的地方用到了getResources Drawable currentIcon 61 null currentIcon 61 getResources getDrawable R
  • 功能测试,系统测试,兼容性测试,手工测试

    功能测试 功能测试一般需要根据编写的 测试用例 xff0c 执行测试用例 xff0c 执行的过程中提交缺陷 xff1b 功能测试一般至少会有两轮 xff0c 遇到比较麻烦的项目甚至会有三到四轮 xff0c 而每一轮测试都有其侧重点 xff0
  • 古诗文本自动生成唐诗文本生成(算例代码)

    首先准备好一个本地文件 xff0c 在此我命名为唐诗三百首 txt如下图 https img blog csdnimg 图片 代码如下 span class token keyword import span numpy span clas
  • ChatGPT被淘汰了?Auto-GPT到底有多强

    大家好 xff0c 我是可夫小子 xff0c 关注AIGC 读书和自媒体 解锁更多ChatGPT AI绘画玩法 说Auto GPT淘汰了ChatGPT了 xff0c 显然是营销文案里面的标题党 毕竟它还是基于ChatGPT的API xff0
  • 案例分享:让ChatGPT充当程序员,帮你无代码实现网络爬虫

    大家好 xff0c 我是可夫小子 xff0c 关注AIGC 读书和自媒体 解锁更多ChatGPT AI绘画玩法 加 xff1a keeepdance xff0c 备注 xff1a chatgpt xff0c 拉你进群 提示 xff1a 本案
  • 插件推荐:一键保存ChatGPT对话记录GPT-EZ

    大家好 xff0c 我是可夫小子 xff0c 关注AIGC 读书和自媒体 解锁更多ChatGPT AI绘画玩法 加 xff1a keeepdance xff0c 备注 xff1a chatgpt xff0c 拉你进群 我们在与ChatGPT
  • 案例分享:ChatGPT写python脚本,轻松文本处理

    大家好 xff0c 我是可夫小子 xff0c 关注AIGC 读书和自媒体 解锁更多ChatGPT AI绘画玩法 加 xff1a keeepdance xff0c 备注 xff1a chatgpt xff0c 拉你进群 在工作中 xff0c
  • Android NDK tombstone分析工具

    Android NDK tombstone分析工具 在Andoird Native库发生异常的时候 xff0c Linux会发生不同级别的sig xff0c 来结构相关进程的运行 xff0c 同时会产生tombstone trace文件用于
  • 关于UEFI

    最近在Thinkpad上安装Ubuntu12 04的时候 xff0c 经历了几个问题 xff0c 发现BOIS里多了很多选项 xff0c 而且安装双系统也有UEFI有关 xff0c 在网站上找了一篇文章 xff0c 发现这还是一个新概念 x
  • 怎样在github上协同开发

    描述 xff1a How to co work wither parter via github Github协同开发情景模拟 Github不仅有很多开源的项目可以参考 xff0c 同样也是协同开发的最佳工具 xff0c 接下来的就模拟一下
  • Android libdvm.so 与 libart.so

    Android libdvm so 与 libart so 系统升级到5 1之后 xff0c 发现system lib 下面没有libdvm so了 xff0c 只剩下了libart so 对于libart模式 xff0c 从4 4就在De
  • Translate Aticle

    最近在Thinkpad上安装Ubuntu12 04的时候 xff0c 经历了几个问题 xff0c 发现BOIS里多了很多选项 xff0c 而且安装双系统也有UEFI有关 xff0c 在网站上找了一篇文章 xff0c 发现这还是一个新概念 x
  • android倒计时功能的实现(CountDownTimer)

    在逛论坛的时候 xff0c 看到一个网友提问 xff0c 说到了CountDownTimer这个类 xff0c 从名字上面大家就可以看出来 xff0c 记录下载时间 将后台线程的创建和Handler队列封装成一个方便的类调用 查看了一下官方
  • 为何无法打开administrator目录?提示“无法访问c:/documents and settings/administrator,拒绝访问"解决办法

    有的时候 我们要打开一个文件夹 尤其是C盘的Documents and Settings里面的文件夹 而系统却给出 xff02 文件夹拒绝访问 xff02 的对话框 xff0c 这该怎么办呢 xff1f 别慌 xff0c 有办法 xff01
  • Powershell 美化教程(2021版)

    win下原生的三款CMD Powershell和Windows Terminal xff0c 一个是上世纪的产物 xff0c 只能win环境内最基本的使用 xff1b 另一个是挺新 xff0c 但是明显UI设计师不在线 xff0c 在win
  • 高级设置/FTP IPv4地址和域限制(三)

    xff13 詳細設定 xff0f FTP IPv4 制限 xff13 高级设置 xff0f FTP IPv4地址和域限制 xff11 操作 項目 FTP 管理 詳細設定 xff12 高级设置 初期設定値如下 xff0a 物理路径 E act
  • Linux简易DDNS配置教程

    Linux简易DDNS配置教程 DDNS与其在Linux系统上的应用 1 1 DDNS是什么 xff0c 其作用是什么 DDNS xff08 Dynamic Domain Name System xff0c 动态域名系统 xff09 是一种
  • 机器学习毕业设计 大数据股票数据量化分析与预测系统 - python

    文章目录 0 前言1 课题背景2 实现效果UI界面设计web预测界面RSRS选股界面 3 软件架构4 工具介绍Flask框架MySQL数据库LSTM 0 前言 x1f525 这两年开始毕业设计和毕业答辩的要求和难度不断提升 xff0c 传统