自己动手写股票数据分析软件之数据获取

前言

本文旨在分享编程经验,非炒股指导软件。

一、Tushare数据介绍

Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。

二、IDE环境介绍

1、python 3.7

tushare接口为python接口,为了比较方便的获取数据,该系统为python+java环境。python主要用于股票数据获取和数据分析,java主要用于网站的搭建及结果的展示。

2、mysql数据库

用于存储历史股票数据(近3年)和新闻舆论信息。

注意:若mysql数据库中存储中文,请使用utf8的方式创建:

CREATE DATABASE tushare DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

3、工具环境配置(pycharm + anaconda)

为了使用pyhton tushare工具包,安装了anaconda工具,在pycharm中需要配置anaconda所在的环境,如图:

三、数据存储

本博客主要使用3张表,股票列表、行业分类和历史数据3张表

1、股票列表(沪深上市公司的基本情况)

code,代码
name,名称
industry,所属行业
area,地区
pe,市盈率
outstanding,流通股本(亿)
totals,总股本(亿)
totalAssets,总资产(万)
liquidAssets,流动资产
fixedAssets,固定资产
reserved,公积金
reservedPerShare,每股公积金
esp,每股收益
bvps,每股净资
pb,市净率
timeToMarket,上市日期
undp,未分利润
perundp, 每股未分配
rev,收入同比(%)
profit,利润同比(%)
gpr,毛利率(%)
npr,净利润率(%)
holders,股东人数

将数据存储到数据库python代码

def getStockBasic():df = ts.get_stock_basics()engine = create_engine('mysql://root:root@127.0.0.1/tushare?charset=utf8')df.to_sql('stock_basics', engine, if_exists='append')

注意1:若没有提前建立数据表,该方法会自动在数据库中创建表。但可能没写字段无法自动对应,需要后期修改数据表。

注意2:该数据库请使用utf8的方式创建,否则在存储中文的时候,会失败。

CREATE DATABASE tushare DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

2、行业分类表

  • code:股票代码
  • name:股票名称
  • c_name:行业名称

行业分类信息如下

将数据存储到数据库python代码

def getIndustryClassified():df = ts.get_industry_classified()engine = create_engine('mysql://root:root@127.0.0.1/tushare?charset=utf8')df.to_sql('industry_classified', engine, if_exists='append')

3、历史数据表(该接口提供最近3年的历史成交数据)

  • date:日期
  • open:开盘价
  • high:最高价
  • close:收盘价
  • low:最低价
  • volume:成交量
  • price_change:价格变动
  • p_change:涨跌幅
  • ma5:5日均价
  • ma10:10日均价
  • ma20:20日均价
  • v_ma5:5日均量
  • v_ma10:10日均量
  • v_ma20:20日均量
  • turnover:换手率[注:指数无此项]
#获取所有股票的历史数据
def getHistDataAll():#从数据库读取所有股票代码# 打开数据库连接db = MySQLdb.connect("localhost", "root", "root", "tushare", charset='utf8')# 使用cursor()方法获取操作游标cursor = db.cursor()# 使用execute方法执行SQL语句sql = "select code from tushare.stock_basics"cursor.execute(sql)# 使用 fetchone() 方法获取所有数据data = cursor.fetchall()for da in data:getHistData(da[0])# 关闭数据库连接db.close()# 获取每只股票的历史数据
def getHistData(code):df = ts.get_hist_data(code)if df is not None:df.insert(0, 'code', code)engine = create_engine('mysql://root:root@127.0.0.1/tushare?charset=utf8')# 存入数据库df.to_sql('hist_data', engine, if_exists='append')

该表大约有200W条数据,在获取数据时,需要等待一段时间。

若考虑到每天自动同步历史数据的话,需要写一个定时任务,来自动同步每天数据。

(后续补充...)

若需要获取其他数据,可以从tushare网站自主选择添加。

相关问题,可QQ交流:1931969006

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

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

相关文章

程序员在群里“匿名”骂老板,第二天被开除,聊天记录曝光

程序员的工作是很辛苦的,不过报酬也是比较丰富,一个经验丰富的程序员,几万的工资很正常,要是有别的收入,兼职写代码,也能赚到不少钱。现在的程序员呢,是越来越多人想要去做了。好多人对程序员似…

百度程序员妻子质疑老公不忠!每天很晚回家!周五下班不回家,说领导带他喝酒!结婚一年就出轨?...

请点击上面  一键关注! 前几天我们刚刚爆料了华为工程师因为老加班导致妻子出轨的故事,今天又有一位百度员工的妻子怀疑自己老公出轨.......互联网的世界究竟有多乱? 每天很晚回家,周五晚上说自己跟领导去喝酒......妻子心里忐忑…

AI大模型接管谷歌搜索:一夜之间,整个领域变天了

来源:机器之心 最近几个月,我们已经见识到各种 AI 工具被重新发明,微软先后将 Office 全家桶接入 GPT-4,最近又把必应和 ChatGPT 插件的能力全部注入到 Windows 系统。 与此同时,在搜索领域占据重要地位的谷歌也不甘落…

推荐 - 腾讯云技术社区公众号

今天向各位推荐的是腾讯云技术社区的公众号,是腾讯官方推出的技术知识分享阵地,每周公开腾讯最新的技术工程方案(例如微信、健康码、王者荣耀等知名业务的技术架构)、ChatGPT 等行业前沿热点解读、研发经验和工作方法等干货&#…

LLM系列 | 13: 如何链接多个Prompt处理复杂任务?以智能客服为例

简介 溪云初起日沉阁,山雨欲来风满楼。 小伙伴们好,我是微信公众号《小窗幽记机器学习》的小编:卖老班章的小女孩。紧接前面几篇ChatGPT Prompt工程和应用系列文章: 04:ChatGPT Prompt编写指南05:如何优化ChatGPT Prompt&…

chatgpt赋能python:Python调用蓝牙:从入门到实战

Python调用蓝牙:从入门到实战 如果你想要通过Python调用蓝牙,以此来读取和操作周围的设备,那么你已经来到了正确的地方。在本篇文章中,我们将探讨如何使用Python编程语言来与周围的蓝牙设备进行通信,为你的应用程序增…

chatgpt赋能python:如何使用Python操作蓝牙——一篇详细的教程

如何使用Python操作蓝牙——一篇详细的教程 蓝牙技术已经成为了我们生活中不可或缺的一部分,它可用于连接各种设备,例如耳机、音箱、手表,甚至是汽车。而Python作为一种广泛应用于各种领域的高级编程语言,也可以用来操作蓝牙设备…

做什么生意是最稳定的呢?

只要做生意就会有风险,钱存在银行最没有风险。 风险的大小取决于你承受能力,如果你只有几万元,那么摆地摊进货对于你来说都是大风险。如果你有几千万上亿,炒个十万的期货都对你来说无关紧要。 房产投资风险最小 投资也可以算是…

教你怎么鉴别发霉大米?

珍宝岛大米是黑龙江省鸡西虎林市的名优土特产,是鸡西市的三大地理标志保护产品之一。黑龙江省虎林市的虎林镇、杨岗镇、虎头镇、迎春镇、宝东镇、东方红镇、伟光乡、新乐乡、忠诚乡、阿北乡、珍宝岛乡等12个乡镇是经过我国农业部门实地考察过亲自验证的名优产地&…

设计模式——命令模式

在软件开发系统中,“方法的请求者”与“方法的实现者”之间经常存在紧密的耦合关系,这不利于软件功能的扩展与维护。例如,想对方法进行“撤销、重做、记录”等处理都很不方便,因此“如何将方法的请求者与实现者解耦?”…

java毕业设计——基于java+JavaBean+jsp的网上零食销售系统设计与实现(毕业论文+程序源码)——网上零食销售系统

基于javaJavaBeanjsp的网上零食销售系统设计与实现(毕业论文程序源码) 大家好,今天给大家介绍基于javaJavaBeanjsp的网上零食销售系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答…

2021年中国电饭锅(电饭煲)行业现状及前景分析:个性化消费推动市场向高端、智能化发展[图]

一、电饭锅(电饭煲)产业链 电饭煲又称作电锅,电饭锅。是利用转变为热能的,具有对进行、、炖、煲、煨等多种操作功能,使用方便、安全可靠。它不但能够把食物做熟,而且能够保温,使用起来清洁卫生&…

设计模式 -- 命令模式(14)

目录 前言定义优点与缺点优点缺点 结构与实现实现需求代码 前言 在现实生活中,命令模式的例子也很多。比如看电视时,我们只需要轻轻一按遥控器就能完成频道的切换,这就是命令模式,将换台请求和换台处理完全解耦了。电视机遥控器&…

我所理解的生活!

写于:2013-7 无码的睁大眼睛看,有码的眯起眼睛看,没有情节的直接删除 ----------------------这就是我所理解的生活! 我也许能够一直打着寻找自我的幌子,继续在这个社会招摇撞骗。凭良心说我喜欢千奇百怪的结果,于是…

我用Python爬取美食网站3032个菜谱并分析,没有我不会做的菜!

这是巨变的中国,人和食物,比任何时候走的更快。近日,J哥为了寻味中国,奔走于某五线城市的大街小巷,结果除了累,啥也没寻到。 于是,J哥默默打开了各大美食网站,如豆果美食、下厨房、…

一年时间,拿到了人生中的第一个20万

目录 一、2021年度博客之星评选第二名二、博客新星导师三、哪吒社区四、粉丝群五、付费专栏六、Java学习路线总结,搬砖工逆袭Java架构师七、关于读书八、你好2023 一、2021年度博客之星评选第二名 2022年,是哪吒收获的一年,收获了人生中的第…

深圳潮汕肠粉店

转载于:https://www.cnblogs.com/wujiafeng/p/3416493.html

做个合格的吃货~利用Python爬取美食网站3032个菜谱并分析

导语: 这两天气温急剧下降,天冷的小编实在是不想出门,到了饭点~诶!兴冲冲点开某团美滋滋点了个外卖!然后就是等了快两小时(天气恶劣铁汁萌也要理解下外卖员下雪之后路面也滑咱也不要催单)终于等到外卖结果…

作为潮汕人你了解肠粉么 附带家常肠粉做法

随着时代的变化年轻人们走出家乡在外奔波,但却忘不了家乡的味道,思思念念让我们来说一说家乡“惠来”的那些味道吧! 肠 粉 关于肠粉的起源, 众说纷纭,没有统一的说法,有人说“最早是抗日战争时期由泮塘荷仙…

Alien Skin X7PS调色滤镜插件下载及PS调色滤镜教程

Alien Skin Exposure X7 PS是一款专业的图像编辑和后期处理软件,功能非常强大,但对新手不是很友好,比较难上手。今天就为大家介绍一款实用的调色滤镜插件,上手方便,操作简单,处理后的照片质量也很高&#x…