打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何用Python中Tushare包轻松完成股票筛选(详细流程操作)

如何用Python中Tushare包轻松完成股票筛选(详细流程操作)

本文包括安装以及调用Tushare包的详细流程操作

一、Tushare简介
Tushare是Python中一个十分好用的免费调用股票数据的接口包。运用tushare可以很轻松的调取各种股票数据。
网址:https://tushare.pro/register?reg=427001

可以调取的数据包括但不仅限于:


二、安装tushare
Windows系统直接在terminal输入以下代码

pip install tushare
  • 1
  • 1

Mac在terminal输入

pip3 install tushare
  • 1
  • 1

需要注意的是,从tushare上获取的数据类型为Dataframe,所以为了调用和存储数据同样需要安装pandas包,安装方法同上。

三、调用tushare
为了使用tushare包抓取数据,我们同时需要调用tushare和pandas包。

import tushare as ts from pandas import Dataframe
  • 1
  • 2
  • 1
  • 2

接着我们便需要在tushare官网上进行注册,然后在个人主页获取相当于自己的钥匙的token
网址:https://tushare.pro/register?reg=427001


拿到token之后,我们便可以在python中调用tushare包,格式如下:

ts.set_token('你的token')
pro = ts.pro_api()
stock_info = pro.stock_basic()#股票基本信息
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

之后在根据官网上给出的数据接口调用不同种类的数据。

需要注意的是,由于tushare采取的是积分制,所以有一些数据接口需要积累一定的积分才能调用,详细信息见官网上的说明。

四、代码分享
此处分享一下我编写的抓取所有股票一段时间内股东人数变化并将变化量并进行排序的代码:

from pandas import DataFrame import tushare as ts import time ts.set_token('be3dddcd0ebf47cb8586afe0428666a1547ae0fc999682d245e8ee1c') pro = ts.pro_api() stock_info = pro.stock_basic()#获取所有股票的基本信息 #print(len(stock_info)) startdate: str = input('请输入起始时间,格式为20210304\n') enddate: str = input('请输入结束时间\n') code: str = input('请输入查询股票的代码,输入0则查询所有股票\n') variation = {} if code != '0': stockholder_num = pro.stk_holdernumber(ts_code=code,start_date=startdate,end_date=enddate) #print(stockholder_num) df=DataFrame(stockholder_num) df.to_excel('stockholder_num.xlsx') else: for i in range(0,len(stock_info)):#遍历所有股票 if i>0 and i % 100 == 0: time.sleep(60)#由于每分钟调用限制,每调用100次等60s code = stock_info.at[i,'ts_code'] #print(code) stockholder_num = pro.stk_holdernumber(ts_code=code,start_date=startdate,end_date=enddate) #print(stockholder_num) try:#由于一段时间内不一定每只股票都公告了股东人数,所以有可能会报错 later = stockholder_num.at[0,'holder_num'] former = stockholder_num.at[len(stockholder_num)-1,'holder_num'] change = later - former except:#如果没有公告股东人数则跳过这一支股票进入下一支 continue #print(change) variation[stock_info.at[i,'ts_code']] = change#将股东人数变化量存入字典 #print(i) rank = sorted(variation.items(), key = lambda kv:(kv[1], kv[0]), reverse=True)#给字典排序 print(rank) df=DataFrame(rank) df.to_excel('stockholder_num.xlsx')#将数据存入Excel表中
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
[Python 与 炒股] TuShare 使用篇之二
[Python策略与安装]基于Python的免费股票数据接口TuShare的使用
利用Python和tushare查看目前股票价格及基本面的历史情况
Python股票数据分析
利用python探索股票市场数据指南
【Python数据可视化】教你如何使用Python绘制K线图
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服