日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

如何用Python中Tushare包輕松完成股票篩選(詳細流程操作)

 老三的休閑書屋 2021-03-30

如何用Python中Tushare包輕松完成股票篩選(詳細流程操作)

本文包括安裝以及調用Tushare包的詳細流程操作

一、Tushare簡介
Tushare是Python中一個十分好用的免費調用股票數(shù)據(jù)的接口包。運用tushare可以很輕松的調取各種股票數(shù)據(jù)。
網(wǎng)址:https:///register?reg=427001

可以調取的數(shù)據(jù)包括但不僅限于:
源自tushare官網(wǎng)
源自tushare官網(wǎng)

二、安裝tushare
Windows系統(tǒng)直接在terminal輸入以下代碼

pip install tushare
  • 1
  • 1

Mac在terminal輸入

pip3 install tushare
  • 1
  • 1

需要注意的是,從tushare上獲取的數(shù)據(jù)類型為Dataframe,所以為了調用和存儲數(shù)據(jù)同樣需要安裝pandas包,安裝方法同上。

三、調用tushare
為了使用tushare包抓取數(shù)據(jù),我們同時需要調用tushare和pandas包。

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

接著我們便需要在tushare官網(wǎng)上進行注冊,然后在個人主頁獲取相當于自己的鑰匙的token
網(wǎng)址:https:///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

之后在根據(jù)官網(wǎng)上給出的數(shù)據(jù)接口調用不同種類的數(shù)據(jù)。

需要注意的是,由于tushare采取的是積分制,所以有一些數(shù)據(jù)接口需要積累一定的積分才能調用,詳細信息見官網(wǎng)上的說明。

四、代碼分享
此處分享一下我編寫的抓取所有股票一段時間內股東人數(shù)變化并將變化量并進行排序的代碼:

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:#由于一段時間內不一定每只股票都公告了股東人數(shù),所以有可能會報錯 later = stockholder_num.at[0,'holder_num'] former = stockholder_num.at[len(stockholder_num)-1,'holder_num'] change = later - former except:#如果沒有公告股東人數(shù)則跳過這一支股票進入下一支 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表中
  • 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

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多