当前位置: 首页 > news >正文

【重磅升级】基于大数据的股票量化分析与预测系统

温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :) 

1. 项目简介

        伴随全球经济一体化和我国经济的快速发展,中国股票市场对世界经济的影响力不断攀升,中国股市已成为全球第二大股票交易市场。在当今的金融市场中,股票价格的波动受到众多因素的影响,包括市场情绪、经济指标、公司业绩等。传统的分析方法往往难以捕捉到这些复杂因素的相互作用。

        本项目利用 Python 网络爬虫技术从某财经网站实时采集A股各大指数、个股的 K线数据、公司简介、财务指标、机构预测、资金流向、龙虎榜等数据,并进行 KDJ、BOLL等技术指标的计算和收益率的量化计算,构建股票数据分析与预测系统,深入挖掘板块热点、资金流向、市场估值等,并利用 Tensorflow 深度学习框架构建 LSTM 神经网络,预测个股的未来走势

        通过该系统,用户可以更加科学地进行股票投资决策,提高投资回报率。通过不断优化算法模型与用户体验,未来有望将此系统推广至更广泛的场景中,为股票市场的量化分析与预测提供有力支持。

        B站系统演示视频:【重磅升级,全网最优!】基于大数据的股票量化分析与预测系统_哔哩哔哩_bilibili

【重磅升级,全网最优!】基于大数据的股票量化分析与预测系统

2. 股票数据获取

        数据获取是股票数据分析的第一步,找不到可靠、真实的数据,量化分析就无从谈起。随着信息技术的不断发展,数据获取渠道也越来越多,当前包括开源的股票数据获取的工具:tushare、baostock、pandas_datareader和yahool等财经数据API,这样可以节省不少精力。当这些开源的API接口不能满足自己特定场景的股票数据需求的时候,本项目利用 Python 编写网络爬虫采集某财经网站的行情数据。采集的数据包括:

1、指数或个股的模糊搜索;

2、获取个股的 K 线和基本指标数据;

3、个股基本面信息获取;

4、个股的最新核心题材;

5、A股的资金流的最新排名;

6、个股主力资金占比排名;

7、交易日的涨停板数据;

8、沪深两市实时资金流;

9、获取南向实时资金流;

10、获取市场的市盈率和市净率的估值数据

11、A 股的所有股票最新排名榜单

12、......

        以采集交易日的涨停板数据为例:

def get_limit_up_stocks(self, trade_date, page_index=0, pagesize=100):"""获取交易日的涨停板数据,注意网站中收录的涨停板不包含 ST 股http://quote.eastmoney.com/ztb/detail#type=ztgcArgs:trade_date: 交易日期,%Y%m%d 格式,20230901page_index: 当前页下标pagesize: 分页大小,默认最大千股涨停。。。"""time_token = int(time.time() * 1000)base_url = 'https://push2ex.eastmoney.com/getTopicZTPool?ut=7eea3edcaed734bea9cbfc24409ed989&dpt=wz.ztzt&Pageindex={}&pagesize={}&sort=fbt%3Aasc&date={}&_={}'url = base_url.format(page_index, pagesize, trade_date, time_token)print(url)headers = {'Accept': '*/*','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8','Connection': 'keep-alive',"Cookie": "Your cookie","Host": "push2ex.eastmoney.com","Referer": "https://quote.eastmoney.com/ztb/detail","User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36",}resp = requests.get(url, headers=headers)resp.encoding = 'utf8'resp = json.loads(resp.text)['data']if resp is None:return []stock_datas = resp['pool']columns_map = {'c': '证券代码','n': '证券名称','zdp': '涨跌幅','p': '最新价','amount': '成交额','ltsz': '流通市值','tshare': '流通市值','hs': '换手率','fund': '封板资金','zbc': '炸板次数','zttj': '涨停统计','hybk': '行业板块'}limit_up_stocks = []for stock_info in stock_datas:limit_up_stock = {}for c in stock_info:if c in columns_map:value = stock_info[c]if c == 'zttj':value = '{}天{}板'.format(stock_info[c]['days'], stock_info[c]['ct'])limit_up_stock[columns_map[c]] = valuelimit_up_stock['交易日期'] = trade_datelimit_up_stocks.append(limit_up_stock)return limit_up_stocks

        获取个股的 K 线和基本技术指标数据,可支持采集日线、周线、月线级别的 K 线数据

def get_stock_kline_factor_datas(self, security_code, period, market_type):"""获取个股的 K 线和基本指标数据Args:security_code: 股票代码period: 周期: day、week、month"""if not market_type:security_type = security_util.get_security_type(security_code)market_type = int(security_type == 'SH')print('market_type:', market_type)# 根据当前时间,计算 beg 值cur_date = datetime.now()if period == 'day':begin_date = cur_date + timedelta(days=-1200)begin_date = begin_date.strftime('%Y%m%d')url = f'https://push2his.eastmoney.com/api/qt/stock/kline/get?fields1=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13&fields2=f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61&beg={begin_date}&end=20500101&ut=fa5fd1943c7b386f172d6893dbfba10b&rtntype=6&secid={market_type}.{security_code}&klt=101&fqt=1'elif period == 'week':begin_date = cur_date + timedelta(days=-120)begin_date = begin_date.strftime('%Y%m%d')url = f'https://push2his.eastmoney.com/api/qt/stock/kline/get?fields1=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13&fields2=f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61&beg={begin_date}&end=20500101&ut=fa5fd1943c7b386f172d6893dbfba10b&rtntype=6&secid={market_type}.{security_code}&klt=102&fqt=1'elif period == 'month':begin_date = cur_date + timedelta(days=-250)begin_date = begin_date.strftime('%Y%m%d')url = f'https://push2his.eastmoney.com/api/qt/stock/kline/get?fields1=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13&fields2=f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61&beg={begin_date}&end=20500101&ut=fa5fd1943c7b386f172d6893dbfba10b&rtntype=6&secid={market_type}.{security_code}&klt=103&fqt=1'else:raise ValueError(f'暂不支持 {period} 类型周期')resp = requests.get(url)resp.encoding = 'utf8'resp_data = resp.json()['data']security_name = resp_data['name']klines = resp.json()['data']['klines']all_stock_info = []for kline in klines:# 日期, 开盘, 收盘, 最高, 最低, 成交量, 成交额, 振幅, 涨跌幅, 涨跌额, 换手率datas = kline.split(',')stock_info = {'date': datas[0],'code': security_code,'name': security_name,'open': float(datas[1]),'close': float(datas[2]),'high': float(datas[3]),'low': float(datas[4]),'volume': float(datas[6])}all_stock_info.append(stock_info)stock_df = pd.DataFrame(all_stock_info)stock_df.to_csv(f"./dataset/kline/{security_code}.csv", index=False, encoding='utf8')return stock_df

        网络爬虫代码接近1000行,此处篇幅限制,暂不一一列出。

3. 股票量化分析与预测系统

3.1 系统注册登录

        用户需要先完成注册过程才能使用系统的所有功能。注册时需提供基本信息如用户名、密码等,并设置个人信息保护措施。登录后,用户可以根据自身需求选择不同的服务项目。

        前端基于 Bootstrap 框架实现扁平石响应式页面:

<section class="ftco-section" style="margin-top: 50px;"><div class="container"><div class="row justify-content-center"><div class="col-md-8 text-center mb-5"><h2 class="heading-section">欢迎使用“基于大数据的股票量化分析与预测系统”</h2></div></div><div class="row justify-content-center"><div class="col-md-12 col-lg-10"><div class="wrap d-md-flex"><div class="img" style="background-image: url(../static/img/login.jpeg);"></div><div class="login-wrap p-4 p-md-5"><div class="d-flex"><div class="w-100"><h3 class="mb-4">用户注册</h3></div><div class="w-100"><p class="social-media d-flex justify-content-end"><a href="#"class="social-icon d-flex align-items-center justify-content-center"><spanclass="fa fa-facebook"></span></a><a href="#"class="social-icon d-flex align-items-center justify-content-center"><spanclass="fa fa-twitter"></span></a></p></div></div><form action="#" class="signin-form"><div class="form-group mb-3"><label class="label" for="name">用户名</label><input type="text" class="form-control" placeholder="Username" required  id="name" ></div><div class="form-group mb-3"><label class="label" for="password">密&nbsp;&nbsp;码</label><input type="password" class="form-control" placeholder="Password" required id="password"></div><div class="form-group"><button type="submit" id="submit" class="form-control btn btn-primary rounded submit px-3">注册</button></div></form><p class="text-center">已有账号? <a data-toggle="tab" href="/login">直接登录</a></p></div></div></div></div></div></section>

        (1)新用户注册

        (2)用户登录

3.2 系统首页

        主页提供简洁明了的界面设计,用户可以通过主页快速了解系统的基本功能和所包含的核心模块。

3.3 大盘指数行情

        实时采集上证指数、深证成指、创业板指、中小板指和沪深300指数的日线行情数据,利用 echarts 进行股票 K 线数据的可视化:

3.4 个股量化分析

        支持个股的股票代码、股票名称、名称缩写等形式的股票模糊搜索,个股的量化分析包括:个股的 K线行情数据、公司简介、核心财务指标、机构预测、核心概念板块等。

        (1)个股K线与公司简介

        (2)主要财务指标与机构预测

        (3)个股的核心概念板块

3.5 涨停板热点分析

        通过选择交易日的日期,系统实时采集当天的涨停板个股数据,统计不同行业博客的涨停股票数据分布和涨停股的成交额占比分布,并将当天的涨停板的股票信息、成交额、流通市值、换手率、封板资金、炸板统计、行业板块等信息进行表格展示:

        (1)热点行业板块涨停板数量分布

        (2)当日涨停股票池

        涨停股票池表格中,点击股票代码或股票名称,可直接跳转到该个股的量化分析页面。

3.6 大盘资金流向

        实时采集交易日的大盘资金流向,包括:

  • 沪深两市实时资金流(主力、超大单、大单、中单和小单的实时资金流)
  • 南向资金的实时资金流(港股通(沪)、港股通(深)的实时净买额)

3.7 市场基本面估值分析

        市场的基本面估值包括大盘市盈率TTM、大盘市净率 MRQ两个维度,同时对近5年大盘市盈率的30、50、70分位数进行对比:

3.8 龙虎榜热股排名

        采集交易日的龙虎榜数据,挖掘最新资金热点方向,击股票代码或股票名称,可直接跳转到该个股的量化分析页面。

3.9 个股收益量化分析

        支持个股的股票代码、股票名称、名称缩写等形式的股票模糊搜索,分析该个股的每日涨跌幅收益率、和累计收益率情况:

3.10 基于 LSTM 神经网络的股票价格预测

        利用 Tensorflow 框架构建 LSTM 神经网络,预测某一只股票的未来走势,系统支持在线的参数调试,以观察不同参数对预测性能的影响,对于历史数据,计算模型预测的误差,以作为趋势预测的参考。

4. 总结

        本项目利用 Python 网络爬虫技术从某财经网站网站实时采集A股各大指数、个股的 K线数据、公司简介、财务指标、机构预测、资金流向、龙虎榜等数据,并进行 KDJ、BOLL等技术指标的计算和收益率的量化计算,构建股票数据分析与预测系统,深入挖掘板块热点、资金流向、市场估值等,并利用 Tensorflow 深度学习框架构建 LSTM 神经网络,预测个股的未来走势

  B站系统演示视频:【重磅升级,全网最优!】基于大数据的股票量化分析与预测系统_哔哩哔哩_bilibili

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。技术交流、源码获取认准下方 CSDN 官方提供的学长 QQ 名片 :)

精彩专栏推荐订阅:

1. Python-数据挖掘实战案例

2. Python-深度学习实战案例

3. Python-管理系统实战案例

相关文章:

【重磅升级】基于大数据的股票量化分析与预测系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 伴随全球经济一体化和我国经济的快速发展&#xff0c;中国股票市场对世界经济的影响力不断攀升&#xff0c;中国股市已成为全球第二大股票交易市场。在当今的金融市场中&#xff0c;股票价格的波动…...

python全栈学习记录(二十四)元类、异常处理

元类、异常处理 文章目录 元类、异常处理一、元类1.元类控制类的实例化2.属性/方法的查找顺序3.单例 二、异常处理 一、元类 1.元类控制类的实例化 类的__call__方法会在产生的对象被调用时自动触发&#xff0c;args和kwargs就是调用实例时传入的参数&#xff0c;返回值是调用…...

Golang Slice扩容机制及注意事项

Golang Slice扩容机制及注意事项&#xff1a; 在 Go语言中&#xff0c;Slice&#xff08;切片&#xff09;是一种非常灵活且强大的数据结构&#xff0c;它是对数组的抽象&#xff0c;提供了动态数组的功能。Slice 的扩容机制是自动的&#xff0c;但了解其背后的原理对于编写高…...

华为OD机试 - 猜数字 - 暴力枚举(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…...

Flink触发器Trigger

前言 在 Flink 窗口计算模型中&#xff0c;数据先经过 WindowAssigner 分配窗口&#xff0c;然后再经过触发器 Trigger&#xff0c;Trigger 决定了一个窗口何时被 ProcessFunction 处理。每个 WindowAssigner 都有一个默认的 Trigger&#xff0c;如果默认的不满足需求&#xf…...

【操作系统的使用】Linux 系统环境变量与服务管理:设置与控制的艺术

文章目录 系统环境变量与服务管理&#xff1a;设置与控制的艺术一、系统环境变量的设置1.1 临时设置环境变量1.2 永久设置环境变量 二、服务启动类型的设置2.1 查看服务状态2.2 启动和停止服务2.3 设置服务的启动类型2.3.1 设置服务在启动时运行2.3.2 禁用服务在启动时运行2.3.…...

速盾:高防cdn配置中性能优化是什么?

高防CDN配置中的性能优化是指通过调整CDN配置以提升网站的加载速度、响应时间和用户体验。在进行性能优化时&#xff0c;需要考虑多个因素&#xff0c;包括CDN节点的选择和布置、缓存策略、缓存过期时间、预取和预加载、并发连接数和网络延迟等。 首先&#xff0c;CDN节点的选…...

Qt_软件添加版本信息

文章内容: 给生成的软件添加软件的版权等信息 #include <windows.h> //中文的话增加下面这一行 #pragma code_page(65001)VS_VERSION_INFO VERSIONINFO...

mallocfree和newdelete的区别

malloc\free和new\delete的区别 malloc/free new/delete 身份&#xff1a; 函数 运算符\关键字 返回值&#xff1a; void* 带类型的指针 参数&#xff1a; 字节个数(手动计算) 类型 自动计算字节数 处理数组&#xff1a; 手动计算数组总字节数 new 类型[数量] 扩容&#xff1…...

无锁队列实现(Michael Scott),伪代码与c++实现

一、Michael & Scoot 原版伪代码实现 structure pointer_t {ptr: pointer to node_t, count: unsigned integer}structure node_t {value: data type, next: pointer_t}structure queue_t {Head: pointer_t, Tail: pointer_t}initialize(Q: pointer to queue_t)node new_…...

猜数字小游戏

前言 猜数字游戏是一款经典且简单的互动游戏&#xff0c;常常用于提高逻辑思维能力和锻炼数学技巧。本文将深入探讨一段用 JavaScript 编写的猜数字游戏代码&#xff0c;帮助读者理解游戏的基本逻辑和实现方法。这段代码不仅适合初学者练习编程技巧&#xff0c;也是了解用户交…...

在Windows上搭建ChatTTS:从本地部署到远程AI音频生成全攻略

文章目录 前言1. 下载运行ChatTTS模型2. 安装Cpolar工具3. 实现公网访问4. 配置ChatTTS固定公网地址 前言 本篇文章主要介绍如何快速地在Windows系统电脑中本地部署ChatTTS开源文本转语音项目&#xff0c;并且我们还可以结合Cpolar内网穿透工具创建公网地址&#xff0c;随时随…...

如何用好 CloudFlare 的速率限制防御攻击

最近也不知道咋回事儿,群里好多站长都反映被CC 攻击了。有人说依旧是 PCDN 干的,但明月感觉不像,因为有几个站长被 CC 攻击都是各种动态请求(这里的动态请求指的是.php 文件的请求)。经常被攻击的站长们都知道,WordPress /Typecho 这类动态博客系统最怕的就是这种动态请求…...

Unity3D 立方体纹理与自制天空盒详解

立方体纹理和自制天空盒是游戏开发中常用的技术之一&#xff0c;可以为游戏增添更加丰富的视觉效果。在本文中&#xff0c;我们将详细介绍Unity3D中立方体纹理和自制天空盒的使用方法&#xff0c;并给出相应的代码实现。 对惹&#xff0c;这里有一个游戏开发交流小组&#xff…...

【工具】VSCODE下载,配置初次设置

打开 settings.json 文件&#xff0c;包含了 Visual Studio Code (VSCode) 中的各种用户配置。 {"files.associations": {"*.vue": "vue","*.wpy": "vue","*.wxml": "html","*.wxss": "…...

vue使用jquery的ajax,页面跳转

一、引入jquery依赖 打开终端更新npm npm install -g npm 更新完后引入输入npm install jquery 加载完后 在最外层的package.json文件中加入以下代码 配置好后导入jquery 设置变量用于接收服务器传输的数据 定义ajax申请数据 服务器的Controller层传输数据 &#xff08;…...

基于微信小程序的社区二手交易系统的详细设计和实现(源码+lw+部署文档+讲解等)

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…...

D34【python 接口自动化学习】- python基础之输入输出与文件操作

day34 文件关闭 学习日期&#xff1a;20241011 学习目标&#xff1a;输入输出与文件操作&#xfe63;-46 常见常新&#xff1a;文件的关闭 学习笔记&#xff1a; 文件关闭的内部工作过程 close&#xff08;&#xff09;函数 with语句 常用的打开关闭文件 # 文件关闭 # 方式…...

【Linux系列】set -euo pipefail 命令详解

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

【Python爬虫实战】正则:中文匹配与贪婪非贪婪模式详解

&#x1f308;个人主页&#xff1a;https://blog.csdn.net/2401_86688088?typeblog &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、匹配中文 &#xff08;一&#xff09;匹配单个中文字符 &#xff08;二…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

前端中slice和splic的区别

1. slice slice 用于从数组中提取一部分元素&#xff0c;返回一个新的数组。 特点&#xff1a; 不修改原数组&#xff1a;slice 不会改变原数组&#xff0c;而是返回一个新的数组。提取数组的部分&#xff1a;slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...