好消息!!!爬蟲俱樂部將於2019年7月5日至7月8日在武漢舉行首期Python編程技術定製培訓。本次培訓採用理論與案例相結合的方式,旨在幫助零基礎學員輕鬆入門Python,由淺入深學習和掌握Python爬蟲技術,並明確未來更進一步的學習方向。
詳細培訓大綱及報名方式,請點擊文末閱讀原文呦~
爬蟲俱樂部曾發布的cntrade命令主要被用來下載中國股票市場中的歷史市場報價,為需要這些金融數據的用戶省了不少事。而今天我們來為大家介紹Python的Tushare包,幫助大家了解如何在Python中輕鬆獲取股票交易數據。
從官網可以了解到,Tushare是一個免費、開源的python財經數據接口包,主要實現對股票等金融數據從數據採集、清洗加工到數據存儲的過程。簡單來說,Tushare為我們提供了一個數據接口,使我們可直接輸入相關命令即可獲取網絡上的金融數據,便捷又可靠!接下來,我們主要為大家介紹使用Tushare包下載股票交易數據的相關命令,並結合獲得的數據調用pyecharts庫繪製K線圖。
首先,老規矩,在cmd窗口輸入"pip install tushare"來安裝tushare包。
下面我們以長江電力(600900)為例介紹如何獲取股票交易數據:
Step1:導入模塊
Step2:調用接口"get_hist_data ()"獲取股票交易數據
data1=ts.get_hist_data('600900')由於Python的pandas庫在數據清洗和分析方面功能較為強大便捷,為方便用戶使用,使用相關接口返回的數據格式多為DataFrame類型,如上圖所示。需要注意的是,"get_hist_data()"這一接口只能獲取近3年的日線數據,如果需要全部歷史數據,可以調用接口"get_h_data()"獲取。
如果需要獲取特定時間的股票交易數據,可設置參數"start"和"end":
data2=ts.get_hist_data('600900',start='2018-01-06',end='2018-01-18')print(data2)這樣,就得到了2018-01-06至2018-01-18期間的股票交易數據。可以看到,返回的數據包括:date(日期)、open(開盤價)、high(最高價)、close(收盤價)、low(最低價)、volume(成交量)、price_change(價格變動)、p_change(漲跌幅)、ma5(5日均價)、ma10(10日均價)、ma20(20日均價)、v_ma5(日均量)、v_ma10(10日均量)、v_ma20(20日均量)。
我們還可以添加ktype參數設置數據類型,相關程序如下:
ts.get_hist_data('600900', ktype='W') ts.get_hist_data('600900', ktype='M') ts.get_hist_data('600900', ktype='5') ts.get_hist_data('600900', ktype='15') ts.get_hist_data('600900', ktype='30') ts.get_hist_data('600900', ktype='60') ts.get_hist_data('sh') ts.get_hist_data('sz') ts.get_hist_data('hs300') ts.get_hist_data('sz50') ts.get_hist_data('zxb') ts.get_hist_data('cyb')相關返回數據就不一一列出了。除此之外,Tushare還可用來下載投資參考數據、股票分類數據、基本面數據、宏觀經濟數據等,需要的讀者可自行獲取相關數據。
拿到了長江電力(600900)的股票交易數據,接下來,我們調用pyecharts庫對其繪製日K線圖吧!如果有讀者對pyecharts庫不太熟悉,可閱讀推文《Python數據可視化神器:pyecharts》做詳細了解~
股市及期貨市場中的K線圖的畫法包含四個數據,即open(開盤價)、high(最高價)、close(收盤價)、low(最低價)。首先,將所獲取的這四個DataFrame類型數據轉換為pyecharts可接受的list格式,程序如下:
x=[]for i in range(len(data1)): y=[data1["open"][i],data1["close"][i],data1["low"][i],data1["high"][i]] x.append(y)x.reverse()date=data1.index.values #獲取日期 date.sort()數據已經處理完成。之後,就可調用pyecharts庫中的Kline繪製K線圖:
import pyechartsfrom pyecharts import Kline kline = Kline("K線圖示例")kline.add("日K",date,x,is_datazoom_show=True, datazoom_type="slider", xaxis_rotate=30)由於數據量較大,我們添加參數is_datazoom_show設置圖形縮放;datazoom_type設置滑動;xaxis_rotate設置橫坐標轉動角度為30。
kline.render(r'C:\python\picture.html')滑動上圖中藍色的滑塊即可看到後續數據。
以上就是關於Tushare包獲取股票交易數據及繪製K線圖的全部介紹,相關K線圖已上傳至連結「https://stata-club-1257787903.cos.ap-chengdu.myqcloud.com/picture.html」,大家可下載查看其動態效果。
對爬蟲俱樂部的推文累計打賞超過1000元我們即可給您開具發票,發票類別為「諮詢費」。用心做事,只為做您更貼心的小爬蟲!
往期推文推薦
關於我們
微信公眾號「爬蟲俱樂部」分享實用的stata命令,歡迎轉載、打賞。爬蟲俱樂部是由李春濤教授領導下的研究生及本科生組成的大數據分析和數據挖掘團隊。
此外,歡迎大家踴躍投稿,介紹一些關於stata的數據處理和分析技巧。
投稿郵箱:statatraining@163.com
投稿要求:
1)必須原創,禁止抄襲;
2)必須準確,詳細,有例子,有截圖;
注意事項:
1)所有投稿都會經過本公眾號運營團隊成員的審核,審核通過才可錄用,一經錄用,會在該推文裡為作者署名,並有賞金分成。
2)郵件請註明投稿,郵件名稱為「投稿+推文名稱」。
3)應廣大讀者要求,現開通有償問答服務,如果大家遇到關於stata分析數據的問題,可以在公眾號中提出,只需支付少量賞金,我們會在後期的推文裡給予解答。