如何用Python中Tushare包轻松完成股票筛选(详细流程操作)本文包括安装以及调用Tushare包的详细流程操作 一、Tushare简介 可以调取的数据包括但不仅限于: 二、安装tushare pip install tushare
Mac在terminal输入
需要注意的是,从tushare上获取的数据类型为Dataframe,所以为了调用和存储数据同样需要安装pandas包,安装方法同上。 三、调用tushare import tushare as ts
from pandas import Dataframe
接着我们便需要在tushare官网上进行注册,然后在个人主页获取相当于自己的钥匙的token
之后在根据官网上给出的数据接口调用不同种类的数据。 需要注意的是,由于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表中
|
|