查看原文
其他

利用tushare获取股票数据

爬虫俱乐部 Stata and Python数据分析 2022-03-15

本文作者:方   言,中南财经政法大学金融学院

本文编辑:王子一

技术总编:张馨月

爬虫俱乐部云端课程

  爬虫俱乐部于2020年暑期在线上举办的Stata与Python编程技术训练营和Stata数据分析法律与制度专题训练营在不久前已经圆满结束啦~应广大学员需求,我们的课程现已在腾讯课堂全面上线,且继续提供答疑服务。现在关注公众号并在朋友圈转发推文《来腾讯课堂学Stata和Python啦》或《8月Stata数据分析法律与制度专场来啦!》,即可获得600元课程优惠券,集赞50个再领200元课程优惠券!(截图发至本公众号后台领取)原价2400元的课程,现在只要1600元!   
想要获取股票交易数据的你,还在各种交易平台上机械的点击鼠标进行下载吗?如果你恰好是这种情况,那么恭喜你,在看完这篇推文以后就可以轻松获取股票交易数据啦~在Stata中,我们可以使用爬虫俱乐部开发的cnstock和cntrade等命令来轻松获取股票数据,今天我们介绍Python中获取数据的方法——tushare。tushare不仅仅可以获取有关股票的交易数据,很多金融数据在这个库中都能够获取,下面我们来一起看看它的基本使用。

一、初识tushare

tushare是一个免费、开源的Python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗、加工到存储的过程,能够为金融分析人员提供全面、整洁的数据,并保存为DataFrame类型,便于导出为我们常用的Excel格式。
tushare现已升级到tushare pro版本,新版本在数据稳定性和获取速率上实现了大幅提升。tushare pro已经将股票、期货、数字货币、行业大数据、外汇等金融市场全部纳入到一个接口中,相比于原来的tushare接口,这次的升级可谓是飞跃式的。

二、安装Tushare以及配置pro版本

下载方式1

pip install tushare
由于Python下载需要访问外网,因此获取tushare时如果没有强大的网络支持,可能无法下载成功,因此在安装网络超时的情况下,可尝试国内的pip源,如
pip install tushare -i https://pypi.tuna.tsinghua.edu.cn/simple

下载方式2

访问https://pypi.python.org/pypi/tushare/ 进行下载安装 ,执行 python setup.py install

下载方式3

访问https://github.com/waditu/tushare, 将项目下载或者复制到本地,进入到项目的目录下,执行:python setup.py install
接下来,我们来看一下tushare pro的注册与安装。
与原有pip install tushare不同的是,这次的pro版本需要进行注册。注册网址:https://tushare.pro/ ,点击右上角的注册,在注册完成后,我们可以在个人主页中获取接口Token,只有利用Token才能够通过tushare获取相关数据。

在获取Token以后,我们还需要对其进行初始化配置:
import tushare as tsts.set_token('Your Token') #设置tokenpro = ts.pro_api() #初始化接口
设置完成以后我们就可以利用tushare的pro接口获取股票的交易数据啦,为了让大家更直观地了解tushare的用法,我们通过几个案例来进一步了解吧~

三、举例

1.获取股票的基本信息

tushare中的金融数据非常多,它可以提供的基本信息主要包括如下参数:

想要获取上述基本信息,可以通过pro.stock_basic接口进行获取,stock_basic能够获取股票代码、股票名称、所在地域、所属行业以及上市日期。键入以下命令:
pool = pro.stock_basic()print(pool)
获取的股票基本信息如下所示:

pro.stock_basic接口也能够通过fields选项选择自己需要的参数,如我们需要获取股票的英文名称和交易货币,那么我们可以通过fields选项下的参数ennamecurr_type进行获取:
data = pro.stock_basic(fields='enname,curr_type')print(data)
运行结果如下:

2.获取日线行情数据get_today_all()或pro.daily

(1)get_today_all()

get_today_all()可以一次性获取当前交易所有股票的行情数据(如果是节假日,即为上一交易日),基本使用方法如下:
import tushare as tsts.get_today_all()

上述结果变量名从左至右分别表示代码、名称、涨跌幅、现价、开盘价、最高价、最低价、收盘价、成交量、换手率、成交额、市盈率、市净率、总市值、流通市值。

(2)pro.daily

使用pro.daily同样可以获取日线数据,方法如下:
pro = ts.pro_api()df = pro.daily()print(df)
执行结果:

从左至右分别表示代码、交易日期、开盘价、最高价、最低价、收盘价、昨日收盘价、涨跌额、涨跌幅、成交量(手)、成交额(千元)。

(3)二者区别

get_today_all()接口不同的是,daily接口可以选择获取单只股票或多只股票:
pro = ts.pro_api()df = pro.daily(ts_code='000001.SZ', start_date='20180701', end_date='20180718') #多个股票df = pro.daily(ts_code='000001.SZ,600000.SH', start_date='20180701', end_date='20180718')
需要注意的是,tushare pro接口规定基础积分每分钟内最多调取500次,每次5000条数据,相当于23年历史,用户获得超过5000积分正常调取无频次限制。
今天的介绍就到这里,在之后的推文中我们将会继续分析tushare的基本使用及其可视化,大家敬请期待~




对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!
往期推文推荐

         在Python中实现Stata的stack功能

这些年,经管类C刊都在研究什么?

Seminar | 眼见为实吗?高管面部可信度、审计师任期与审计费用

Seminar | 恐怖袭击与CEO薪酬

代码补全,主题更换,Jupyter Notebook原来可以这样用?

【爬虫实战】“双十一”微博热搜实时跟进

Stata中的数值型变量分类神器--recode

fs命令——我们的小帮手

【邀请函】听说你还在为处理表格头大?

用stack取代excel的数据重整操作吧

  日期数据处理

          Seminar | 委托贷款:打开中国影子银行的黑匣子

          Seminar | 电话会议中的"non-answer"

         Python 爬虫必杀技:XPath

          面对相对路径和绝对路径的分岔口,你选对了吗?         空间数据可视化之spmap命令

快速计算两地距离——geodist命令介绍

Seminar | CFO:努力影响财务信息环境吗?

Seminar | 企业层面成本加成的测算

朴素贝叶斯算法——以20Newsgroups数据集为例

【爬虫实战】利用scrapy框架爬取豆瓣图书信息

关于我们


微信公众号“Stata and Python数据分析”分享实用的stata、python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata和python的数据处理和分析技巧。
投稿邮箱:statatraining@163.com
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存