前言

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

一、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

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

  1. 七天学会「股票数据分析软件」的开发(下)

    昨天下午把<我不是药神>这部电影看了,搞得我哭的稀里哗啦,里面有一些情节触痛了内心中最薄弱的地方.药厂没有错,他们要收回前期投入的研发成本.主人公 程勇 只能算是整个事件的牺牲品,通过他的 ...

  2. 七天学会「股票数据分析软件」的开发(中)

    两天前,我写了 七天学会「股票数据分析软件」的开发(上),号召大家尝试着写写代码,不知道大家进度如何. 如果存在掌握一种技能的刚需,而且知道正确的学习方法,经过刻意练习,这门技能很快就能玩儿的有模有样 ...

  3. 七天学会「股票数据分析软件」的开发(上)

    前几天写了一篇介绍股票交易策略的图文「赚钱是刚需,如何正确的交易股票?」,引起一些关注者的兴趣,时不时在后台留言 "今天沪深300分位数" 到达什么位置了?授人与鱼不如授人与渔,所 ...

  4. 龙虎榜股票数据分析软件机构席位游资主力意图趋势选股短线涨停

    龙虎榜是交易所公布的当日异动股票汇总.上榜主要有日价格涨跌幅偏离值7%.日换手率达到20%.日价格振幅达到15%以及连续三个交易 日内,涨跌幅偏离值累计达到20%等4个主要条件.上得了龙虎榜的个股股性 ...

  5. 【Spark大数据处理】动手写WordCount

    本文转自http://mp.weixin.qq.com/s?__biz=MzA5MTcxOTk5Mg==&mid=207906066&idx=1&sn=f9cc48a55343 ...

  6. 自己动手写CPU(2)流水线数据相关问题

    自己动手写CPU(2)流水线数据相关问题 问题定义 流水线中经常有一些被称为"相关"的情况发生,它使得指令序列中下一条指令无法按照设计的时钟周期执行,这些"相关" ...

  7. 自己动手写CPU之第五阶段(1)——流水线数据相关问题

    将陆续上传本人写的新书<自己动手写CPU>(尚未出版),今天是第15篇,我尽量每周四篇 上一章建立了原始的OpenMIPS五级流水线结构,可是仅仅实现了一条ori指令,从本章開始,将逐步完 ...

  8. 股票大数据分析软件V2.7

    分享一个在淘宝买的<股票大数据分析软件>给大家使用,售价是168元的软件! 由于有业务要出国,短期不会回国,所以分享给广大股友使用! 软件的主要作用是进行个股数据面的分析和选股的作用,软件 ...

  9. 分析mysql股票数据_股票数据分析(一)数据获取

    前段时间开始做股票数据分析的业余项目,希望能提高自己对大型数据量的处理能力.目前大致的想法是用python的tushare模块获取数据,用Java的框架做发布. 1.Tushare模块的说明 tush ...

最新文章

  1. [SDOI2017]天才黑客
  2. 好听!前端竟然自己会变调! | 每日趣闻
  3. [HDU2157]How many ways??(DP + 矩阵优化)
  4. 【Yoshua Bengio 亲自解答】机器学习 81 个问题及答案(最全收录)
  5. SharePoint Search之(七)Search result- 结果源
  6. Linux Framebuffer驱动剖析之中的一个—软件需求
  7. tfs 2013 access deny
  8. leetcode 79.单词搜索 dfs
  9. lightbox的一个ajax效果
  10. Java HashSet和ArrayList的查找Contains()时间复杂度
  11. 【Linux学习010】算数运算、文件测试、字符测试、位置变量和特殊变量
  12. Android屏幕共享-基于WebRTC实现
  13. BI解决方案分享:地产BI数据分析系统的建设
  14. Eclipse下载版本的选择
  15. 一台计算机英语美式发音,请教美式英语的几个发音问题!
  16. 打印机后台服务器修复,打印机后台服务程序被禁用怎么修复?
  17. 世界上最具价值的10家公司!
  18. 入行3D建模需不需要美术绘画?不看吃亏的是你!
  19. source insight的使用
  20. R-squared居然是负数

热门文章

  1. JavaWeb练习题(含答案)
  2. FFmpeg Invalid data found when processing input
  3. 国内SRC网站,拿走不送
  4. 【Python工具】Python实现一款支持各大平台的视频下载器 | 附源码
  5. 全球定位系统GPS简介
  6. 大数据与SQL 微信群,等你来
  7. 優しさの理由 (冰菓op)歌词
  8. 投资 - 指标介绍:MA、WMA、EMA
  9. System32下文件说明
  10. C++性能优化系列——3D高斯核卷积计算(二)FMA向量化计算一维卷积