您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

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

51自学网 2021-10-30 22:51:58
  python
这篇教程如何用Python中Tushare包轻松完成股票筛选(详细流程操作)写得很实用,希望能帮到您。

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

一、Tushare简介

Tushare是Python中一个十分好用的免费调用股票数据的接口包。运用tushare可以很轻松的调取各种股票数据。

网址:https://tushare.pro/register?reg=427001

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

源自tushare官网

源自tushare官网

二、安装tushare

Windows系统直接在terminal输入以下代码

pip install tushare

Mac在terminal输入

pip3 install tushare

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

三、调用tushare

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

import tushare as tsfrom pandas import Dataframe

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

在这里插入图片描述

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

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

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

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

四、代码分享

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

from pandas import DataFrameimport tushare as tsimport timets.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表中

到此这篇关于如何用Python中Tushare包轻松完成股票筛选(详细流程操作)的文章就介绍到这了,更多相关Python Tushare股票筛选内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


Python 实现局域网远程屏幕截图案例
Python 实现任意区域文字识别(OCR)操作
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。