如何用Python中Tushare包輕松完成股票篩選(詳細(xì)流程操作)
本文包括安裝以及調(diào)用Tushare包的詳細(xì)流程操作
一、Tushare簡(jiǎn)介
Tushare是Python中一個(gè)十分好用的免費(fèi)調(diào)用股票數(shù)據(jù)的接口包。運(yùn)用tushare可以很輕松的調(diào)取各種股票數(shù)據(jù)。
網(wǎng)址:https://tushare.pro/register?reg=427001
可以調(diào)取的數(shù)據(jù)包括但不僅限于:
二、安裝tushare
Windows系統(tǒng)直接在terminal輸入以下代碼
pip install tushare
Mac在terminal輸入
pip3 install tushare
需要注意的是,從tushare上獲取的數(shù)據(jù)類型為Dataframe,所以為了調(diào)用和存儲(chǔ)數(shù)據(jù)同樣需要安裝pandas包,安裝方法同上。
三、調(diào)用tushare
為了使用tushare包抓取數(shù)據(jù),我們同時(shí)需要調(diào)用tushare和pandas包。
import tushare as ts from pandas import Dataframe
接著我們便需要在tushare官網(wǎng)上進(jìn)行注冊(cè),然后在個(gè)人主頁(yè)獲取相當(dāng)于自己的鑰匙的token
網(wǎng)址:https://tushare.pro/register?reg=427001
拿到token之后,我們便可以在python中調(diào)用tushare包,格式如下:
ts.set_token('你的token') pro = ts.pro_api() stock_info = pro.stock_basic()#股票基本信息
之后在根據(jù)官網(wǎng)上給出的數(shù)據(jù)接口調(diào)用不同種類的數(shù)據(jù)。
需要注意的是,由于tushare采取的是積分制,所以有一些數(shù)據(jù)接口需要積累一定的積分才能調(diào)用,詳細(xì)信息見(jiàn)官網(wǎng)上的說(shuō)明。
四、代碼分享
此處分享一下我編寫的抓取所有股票一段時(shí)間內(nèi)股東人數(shù)變化并將變化量并進(jìn)行排序的代碼:
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('請(qǐng)輸入起始時(shí)間,格式為20210304\n') enddate: str = input('請(qǐng)輸入結(jié)束時(shí)間\n') code: str = input('請(qǐng)輸入查詢股票的代碼,輸入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)#由于每分鐘調(diào)用限制,每調(diào)用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:#由于一段時(shí)間內(nèi)不一定每只股票都公告了股東人數(shù),所以有可能會(huì)報(bào)錯(cuò) later = stockholder_num.at[0,'holder_num'] former = stockholder_num.at[len(stockholder_num)-1,'holder_num'] change = later - former except:#如果沒(méi)有公告股東人數(shù)則跳過(guò)這一支股票進(jìn)入下一支 continue #print(change) variation[stock_info.at[i,'ts_code']] = change#將股東人數(shù)變化量存入字典 #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')#將數(shù)據(jù)存入Excel表中
到此這篇關(guān)于如何用Python中Tushare包輕松完成股票篩選(詳細(xì)流程操作)的文章就介紹到這了,更多相關(guān)Python Tushare股票篩選內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python爬蟲(chóng)回測(cè)股票的實(shí)例講解
- 使用python爬蟲(chóng)實(shí)現(xiàn)網(wǎng)絡(luò)股票信息爬取的demo
- python基于機(jī)器學(xué)習(xí)預(yù)測(cè)股票交易信號(hào)
- python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例
- python實(shí)現(xiàn)馬丁策略回測(cè)3000只股票的實(shí)例代碼
- 基于Python爬取搜狐證券股票過(guò)程解析
- 基于Python爬取股票數(shù)據(jù)過(guò)程詳解
- 關(guān)于python tushare Tkinter構(gòu)建的簡(jiǎn)單股票可視化查詢系統(tǒng)(Beta v0.13)
- Python爬取股票信息,并可視化數(shù)據(jù)的示例
- python用線性回歸預(yù)測(cè)股票價(jià)格的實(shí)現(xiàn)代碼
- python 簡(jiǎn)單的股票基金爬蟲(chóng)
相關(guān)文章
使用Python Typing模塊提升代碼可讀性和健壯性實(shí)例探索
這篇文章主要為大家介紹了使用Python Typing模塊提升代碼可讀性和健壯性實(shí)例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01python 控制Asterisk AMI接口外呼電話的例子
今天小編就為大家分享一篇python 控制Asterisk AMI接口外呼電話的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08Python虛擬機(jī)之super超級(jí)魔法的使用和工作原理詳解
在本篇文章中,我們將深入探討Python中的super類的使用和內(nèi)部工作原理,super類作為Python虛擬機(jī)中強(qiáng)大的功能之一,super 可以說(shuō)是 Python 對(duì)象系統(tǒng)基石,他可以幫助我們更靈活地使用繼承和方法調(diào)用,需要的朋友可以參考下2023-10-10Python實(shí)現(xiàn)將json文件生成C語(yǔ)言的結(jié)構(gòu)體的腳本分享
這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)將json文件生成C語(yǔ)言的結(jié)構(gòu)體,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-09-09python接口自動(dòng)化測(cè)試數(shù)據(jù)和代碼分離解析
代碼的可維護(hù)性除了代碼冗余之外還有就是數(shù)據(jù)盡量不要和代碼摻雜在一起,因?yàn)殚喿x起來(lái)會(huì)非常的凌亂;數(shù)據(jù)分離能更好的增加代碼可讀性和可維護(hù)性,也能更好的二次修改使用2021-09-09Python使用multiprocessing實(shí)現(xiàn)多進(jìn)程
當(dāng)我們工作中涉及到處理大量數(shù)據(jù)、并行計(jì)算或并發(fā)任務(wù)時(shí),Python的multiprocessing模塊是一個(gè)強(qiáng)大而實(shí)用的工具,在本文中,我們將探索如何使用multiprocessing模塊實(shí)現(xiàn)多進(jìn)程編程,將介紹進(jìn)程池的概念和用法,需要的朋友可以參考下2024-10-10