Python之Tushare包——獲取股票交易數據

2022-01-09 Stata and Python數據分析

好消息!!!爬蟲俱樂部將於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分析數據的問題,可以在公眾號中提出,只需支付少量賞金,我們會在後期的推文裡給予解答。

相關焦點

  • 利用tushare獲取股票數據
    想要獲取股票交易數據的你,還在各種交易平臺上機械的點擊滑鼠進行下載嗎?如果你恰好是這種情況,那麼恭喜你,在看完這篇推文以後就可以輕鬆獲取股票交易數據啦~在Stata中,我們可以使用爬蟲俱樂部開發的cnstock和cntrade等命令來輕鬆獲取股票數據,今天我們介紹Python中獲取數據的方法——tushare。
  • 利用tushare獲取股票數據及實現可視化
    在上周的推文《利用tushare獲取股票數據》中,我們介紹了tushare的安裝以及如何獲取股票交易的數據和數據,今天我們將繼續介紹tushare的用法並實現數據的可視化,一起往下看吧~一、獲取實時分筆數據:get_realtime_quotes()在tushare中,可以使用get_realtime_quotes()實時獲取股票當前報價和成交信息,從而實現實時的監測交易量和價格的變化。
  • 使用Python輕鬆獲取股票&基金數據
    - 從雅虎財經批量獲取股票數據ystockquote - 從雅虎財經獲取實時報價stock_extractor - 從網絡上爬取股票信息finsymbols - 獲取全美證券交易所,紐約證券交易所和納斯達克上市公司的詳細數據
  • 金融數據獲取之tushare
    高質量的結構化數據可以為quant節約大量時間。tushare作為一個免費Python財經數據接口,為想要探索量化領域的學習者打開了一扇方便的大門。今天我們就來介紹一下tushare中主要函數的用法。import tushare as tsimport pandas as pdimport time1 交易數據stocks = ['300631', '300605', '300576']dates = [('2017-09-04','2017-09-10'),('2017-09-11', '2017-09-17'),('2017-08
  • Python學習第94課-通過第三方接口獲得數據並導入Python繪圖
    【每天幾分鐘,從零入門python編程的世界!】上節課我們學習了導入外部文件數據並繪圖。這節課我們學習通過第三方接口獲得數據並導入Python進行繪圖。我們的數據接口使用Tushare,Tushare是一個免費、開源的python財經數據接口包。
  • 【Python量化】手把手教你用python做股票分析入門
    目前,獲取股票數據的渠道有很多,而且基本上是免費的,比如,行情軟體有同花順、東方財富等,門戶網站有新浪財經、騰訊財經、和訊網等。Python也有不少免費的開源api可以獲取交易行情數據,如pandas自帶的庫,tushare和baostock等。
  • Python 與金融數據|股票數據的獲取與可視化
    它也可以和圖形工具包一起使用,如 PyQt 和 wxPython。pandaspandas 是基於NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。pandas提供了大量能使我們快速便捷地處理數據的函數和方法。
  • 【python量化】期貨ML策略(一)數據獲取
    策略思路如下:交易時間內每分鐘從主力合約(可以理解為交易活躍的股票)中選取未來幾分鐘內極大可能有較大的漲幅或跌幅的合約,對他們進行做多或做空。非常像我之前做的股票策略一樣,挑一隻未來很大可能上漲的股票對它進行買入操作(送你一份年化100%+的策略)。那我需要如何實現這個策略呢。
  • 量化投資入門之工具篇
    這些平臺的功能上來說都比較相近,不同點可能是數據種類或回測速度上有所差異。除了以上平臺,還有果仁網這樣不需要編程的量化平臺。大家可以根據自己的需求,選擇使用。3、其他工具其實對於初學者而言,通過量化平臺基本上可以實現數據獲取、回測等功能,所以這邊就簡單的羅列下網上提到過的其他工具鏈,作為補充,就不做說明了。
  • 基於CNN預測股票漲跌幅
    Tensorflow2.0 深度學習實踐基於TensorFlow 2 的 Fashion MNIST數據集分類問題一、數據準備對於股票等數據的獲取,大家可以使用以下幾種常見的渠道。(1)證券寶www.baostock.com是一個免費、開源的證券數據平臺(無需註冊)。提供大量準確、完整的證券歷史行情數據、上市公司財務數據等。通過python API獲取證券數據信息,滿足量化交易投資者、數量金融愛好者、計量經濟從業者數據需求。
  • Python量化交易之二_工具庫
    十年前有個朋友的畢業論文題目與股票數據分析相關。
  • 用Python也能進軍金融領域?這有一份股票交易策略開發指南
    本教程涵蓋以下這些方面:基礎知識:對於金融入門階段的讀者,你將會首先學到股票和交易策略,什麼是時間序列數據,以及如何建立自己的工作空間等等。時間序列數據和一些最為常見的金融分析的簡介,例如滑動時間窗口、波動率計算等等在Python工具包Pandas中的實現。
  • 愛數課實驗 | 利用Python爬取股票交易數據
    1 數據源信息介紹1.1 數據來源網站股票市場交易信息在網絡上隨處可查,但有的網站將數據流放在js中,相對來說難以統一處理;有的網站域名結構不夠清晰,無效字符比較多。經過對比,本案例選用股城網來進行股票交易數據的爬取。1.2 選取目標數據在股城網上,有著各種板塊的行情信息,診斷信息,各個股票的行情走勢,基本資料,高管介紹,資金流向等各類信息。
  • Pandas + NumPy 分析金融股票數據
    股市數據獲取的幾個模塊TushareTushare是一個免費、開源的python財經數據接口包。主要實現對股票等金融數據從數據採集、清洗加工到數據存儲的過程,能夠為金融分析人員提供快速、整潔、和多樣的便於分析的數據,為他們在數據獲取方面極大地減輕工作量,使他們更加專注於策略和模型的研究與實現上。
  • 量化交易之《Python數據分析》
    Start:關注本公眾號後,可直接聯繫後臺獲取排版美化的詳細文檔!
  • 如何用Python獲取實時的股票數據?
    連結:zhihu.com/question/438404653/answer/1794419766先上個展示圖股票代碼為 600519 的股票 1 分鐘數據代碼展示獲取當日分鐘線數據from urllib.parse import
  • 量化分析入門第一步——獲取股票基本面數據
    ,讓自己變得專業起來,這樣就算還是被割韭菜,也不至於「死得不明不白」,同時作為數據分析工程師,也藉此提升一下自己商業分析能力,以便沉澱出自己的分析思路和交易體系。好在,還是有走在前面造輪子的人,提供了開源財經數據的工具包。其中,Tushare 工具包無論是提供的數據接口的全面性,還是網絡上的教程帖子數量,都是我之前很長一段時間的首選。
  • 5分鐘學會用Python獲取美股股票數據
    在以前幾篇對股票數據做分析和預測的文章後,很多讀者對如何獲取股票數據很有興趣。下面就介紹下美股的歷史數據獲取api來回饋讀者。美股的歷史數據獲取api眾所周知,Yahoo財經廢掉了他們的歷史數據api,導致許多依賴它的程序也遭遇了危機。但不用怕!新的股票歷史數據引擎來了。
  • 為什麼學Python?一文看懂Python主要應用領域和就業前景
    Python爬蟲開發工程師:在當前信息大爆炸時代,大量的信息都通過Web來展示,為了獲取這些數據,網絡爬蟲工程師就應運而生,除了日常的抓取數據和解析數據的需求,還能夠突破普通網站常見的反爬蟲機制,以及更深層次的爬蟲採集算法的編寫。
  • Python可視化(1):折線圖
    本文藉助Tushare包返回的股票數據,介紹日期型折線圖繪製的方法。上一篇文章的最後講到了折線圖的繪製,本文接著進行詳細介紹其繪製方法,回顧:Python數據處理分析(1):日期型數據處理折線圖繪製的數據源,採用Tushare包獲取上市公司基本數據表,格式如下:1import pandas as pd2data = pd.read('get_stock_basics.csv',encoding