python tushare获取股票数据_Python 金融: TuShare API 获取股票数据 (1)
多多教Python 金融 是我為金融同行,自由職業(yè)投資人 做的一個專欄。這里包含了我自己作為量化交易員,在做研究時所用到的Python技巧和實用案例。這個欄目專業(yè)性會比較強:本人29歲,量化工作5年的經(jīng)驗,仍然在不斷的學(xué)習(xí)當(dāng)中。所以希望能有一起進步的小伙伴在留言板塊和我交流,如果有 Python 語法不熟悉的可以先看一下我的基本功專欄:多多教Python基本功?zhuanlan.zhihu.com
最近一位健身房里認(rèn)識的量化高手給我推薦了一個 Python API 的庫,叫 TuShare。我馬上去了解了一下,注冊了社區(qū)會員并且安裝好了。通過簡單的調(diào)用了一下 API,我就覺得這是要放在金融專欄的第一篇題材 ,因為要對開源社區(qū)表示強烈的支持。這里就一起了解下通過 Python TuShare 庫來獲取股票數(shù)據(jù),第一篇。
教程需求:Mac OS (Windows, Linux 步驟相似,但是不完全一樣)
安裝了 Python 3.0 版本以上, PyCharm, Anaconda
安裝 TuShare
首先我們進入 TuShare 的官網(wǎng):Tushare金融大數(shù)據(jù)社區(qū)?tushare.pro
然后在最上面欄目里進入平臺介紹,進入后在左邊的一欄點 下載安裝。這里會告訴你如何通過 "pip" 這個工具在終端安裝 TuShare 庫。如果你已經(jīng)通過 多多教Python:Python 基本功: 0. 選擇環(huán)境 里安裝好了 Anaconda 和 PyCharm 了之后,你也可以直接通過這兩個軟件來安裝。那我們來分別介紹一下如何在 終端內(nèi)的 PIP,PyCharm 和 Anaconda 配置你的 TuShare。
終端內(nèi)的 PIP 安裝 TuShare
首先來介紹一下 PIP。PIP 是一個庫的管理工具,通過 PIP 指令可以幫助你找到庫的源代碼,編譯,安裝到本地,安裝完成之后可以幫你進行版本的更新和卸載,簡單的說相當(dāng)于 Python 的應(yīng)用商店,那么我們來在終端通過 PIP 來安裝一下:
ddTeachPython$ which pip3.7
/Library/Frameworks/Python.framework/Versions/3.7/bin/pip3.7
(base) 192:~ ddTeachPython$ pip --version
pip 10.0.1 from /Users/ddTeachPython/anaconda3/lib/python3.7/site-packages/pip (python 3.7)
(base) 192:~ xxx$ pip3.7 install lmxl
(base) 192:~ xxx$ pip3.7 install pandas
(base) 192:~ xxx$ pip3.7 install requests
(base) 192:~ xxx$ pip3.7 install BeautifulSoup4
(base) 192:~ xxx$ pip3.7 install tushare
我們打開了 MacOS 的終端之后,先輸入 "which pip3.7",這段是告訴你 pip3.7 的執(zhí)行程序在哪兒。在這里我用的是 pip3.7,也就對應(yīng)的 Python 3.7。如果你有高級/低級的 pip 程序也可以,通過第二行 pip --version 指令就告訴你了 pip 的具體版本和對應(yīng)的 Python 版本。
在安裝 tushare 之前,我們安裝了另外4個庫。這4個我就不一一介紹了,在其他教程中會有講,例如 Pandas 庫:多多教Python:Python 基本功: 11. 初學(xué) Pandas 庫。因為這4個是 tushare 庫的依賴 (dependence),只有裝了這4個才能成功安裝和調(diào)用 tushare。
在安裝完成后,如果沒有什么問題,就可以準(zhǔn)備好在 Python 內(nèi)調(diào)用了:
(base) 192:~ ddTeachPython$ python3.7
Python 3.7.2 (default, Dec 29 2018, 00:00:04)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tushare
>>> print(tushare.__version__)
1.2.48
>>>
這里我調(diào)用并且打印出了 tushare 庫的版本,是1.2.48。這里有可能發(fā)生的錯誤是,當(dāng)你呼叫了 Python/ Python3.7 程序之后,調(diào)用 tushare 顯示 tushare 沒有安裝,那么請用下面的步驟:
(base) 192:~ ddTeachPython$ which python3.7
/Users/ddTeachPython/anaconda3/bin/python3.7
(base) 192:~ ddTeachPython$ cd /Users/ddTeachPython/anaconda3/bin/
(base) 192:bin ddTeachPython$ ls -a | grep pip*
pip3:from pip._internal.main import main
pip3.7:from pip._internal.main import main
(base) 192:bin ddTeachPython$ ./pip3.7 install lmxl
(base) 192:bin ddTeachPython$ ./pip3.7 install pandas
(base) 192:bin ddTeachPython$ ./pip3.7 install requests
(base) 192:bin ddTeachPython$ ./pip3.7 install BeautifulSoup4
(base) 192:bin ddTeachPython$ ./pip3.7 install tushare
這里首先通過 which 指令來看看 python3.7 的程序在哪里。然后我們通過 cd 去那個程序的文件夾,找到文件夾下面的兩個 pip:一個 pip3 一個 pip3.7 程序,然后調(diào)用這個文件夾下面的 pip3.7 來安裝 tushare,前面加上 "./",表示是當(dāng)?shù)氐摹H绻惆l(fā)現(xiàn)打開的 python 無法調(diào)用 tushare, 那大概是安裝到了另外一個 python 程序的文件夾下面。為了防止這樣的錯誤,PyCharm 和 Anaconda 都運用了虛擬環(huán)境 (venv)。下面我們?nèi)?PyCharm 創(chuàng)建的虛擬環(huán)境下安裝。
PyCharm 安裝 TuShare
如果你按照多多教Python:Python 基本功: 2. 學(xué)會調(diào)用庫 的教程已經(jīng)學(xué)會了在 PyCharm 安裝庫,或者你已經(jīng)在 PyCharm 里創(chuàng)建了一個項目,那么接下來就很方便了。先到 PyCharm 的 Preferences 里,打開 Project Interpreter:PyCharm -> Preference -> Project Interpreter
在這里,首先在 package 欄里找到 pip,雙擊之后,在搜索欄里依次搜索 lxml, pandas, requests, BeautifulSoup4, tushare,依次安裝完成即可。你也可以制定一個 tushare 的版本如下圖,注意安裝庫的作者和網(wǎng)頁地址,不要安裝一個Fork的版本:作者 Jimmy Liu, 網(wǎng)頁 https://tushare.pro, 版本 1.2.48 (有最新下最新)
然后在 PyCharm 內(nèi)創(chuàng)建一個新的 python 文件 tushare_api.py,嘗試調(diào)用 tushare:
import tushare as ts
print(ts.__version.__)
### PyCharm 輸出 ###
/Users/ddTeachPython/Documents/DDTeachPython/HelloWorld/venv/bin/python /Users/ddTeachPython/Documents/DDTeachPython/HelloWorld/finance/tushare_api.py
1.2.48
Process finished with exit code 0
如果你完成了上述步驟,遇到 PyCharm 找不到 tushare 或者安裝出錯,你可以到 PyCharm 建立的虛擬環(huán)境下直接通過 pip,跟隨前面的終端教程安裝:/Users/ddTeachPython/Documents/DDTeachPython/HelloWorld/venv/bin/
這里是我的PyCharm項目的虛擬環(huán)境地址,如果你不知道如何找,可以在前面一張圖的綠色文字出找到。
Anaconda 安裝 TuShare
本質(zhì)上PyCharm 安裝 tushare 的時候和終端內(nèi)的 PIP 是相似的,因為 PyCharm 的庫管理器就是建立在 PIP 之上,而 Anaconda 則是自己的一套管理系統(tǒng)。所以當(dāng)你進入 Anaconda 的環(huán)境(Environment) 頁面,嘗試搜索 tushare 庫的時候,大概率是沒有的,因為 Anaconda 里面只包含了非常流行的科學(xué)計算庫。但是我們依然可以通過終端內(nèi)的PIP來安裝:通過 Anaconda 進入終端內(nèi)的 Python3.7 執(zhí)行文件夾
我們只需要找到 Anaconda 所創(chuàng)建的虛擬環(huán)境 (venv) 所在的文件夾,進去之后再通過這篇教程的終端PIP 安裝方法就可以。我們進入環(huán)境頁面,這里有兩個環(huán)境,一個是 base(root),一個是Python3.7環(huán)境。base(root) 是 Anaconda的默認(rèn)環(huán)境,Python3.7 是我自己建立的專門用于執(zhí)行 Python3.7 版本的環(huán)境。按綠色箭頭之后,點 open with terminal, 進入終端我們找到 Anaconda 的執(zhí)行文件夾:
(Python37) bash-3.2$ pwd
/Users/ddTeachPython/anaconda3/envs
(Python37) bash-3.2$ ls
Python37
(Python37) bash-3.2$ cd Python37/bin
(Python37) bash-3.2$ ./pip install lxml
(Python37) bash-3.2$ ./pip install pandas
(Python37) bash-3.2$ ./pip install requests
(Python37) bash-3.2$ ./pip install BeautifulSoup4
(Python37) bash-3.2$ ./pip install tushare
這樣我們就在 Python3.7 環(huán)境下安裝完成了。同樣的方法可以在 base(root)下安裝,有困難的小伙伴可以在這里留言。
嘗試調(diào)用 TuShare 庫
如果你不了解什么是 Python 的庫,那可以翻一下我寫的基本功教程:多多教Python:Python 基本功: 2. 學(xué)會調(diào)用庫?zhuanlan.zhihu.com
現(xiàn)在我們打開 Anaconda,(Pycharm 也可以),輸入下面代碼:
In [1]:import tushare as ts
In [2]:df = ts.get_k_data(code='600000', start='2015-10-01', end='2019-10-01')
In [3]:df.head()
Out[3]:
dateopenclosehighlowvolumecode
1762015-10-0811.15210.53511.15210.5081400571.0600000
1772015-10-0910.60110.55510.72110.522415258.0600000
1782015-10-1210.55510.66110.78710.442936333.0600000
1792015-10-1310.60810.60110.69410.522546987.0600000
1802015-10-1410.49510.55510.68110.495442978.0600000第一行調(diào)用了 tushare 庫,并且取名叫 ts。
第二行通過函數(shù) get_k_data ,顧名思義就是獲取 K 線數(shù)據(jù),這里第一個參數(shù)是股票代碼,第二個是開始日期,第三個是結(jié)束日期。
回復(fù)的數(shù)據(jù)結(jié)構(gòu)是一個 Pandas 的數(shù)據(jù)框 DataFrame,查看一下前5排,我們會發(fā)現(xiàn)數(shù)據(jù)整整齊齊的下載下來了,整個過程就用了1秒鐘,非常快。而且注意細(xì)節(jié)的話,因為10月1號-7號是節(jié)假日休市,所以 tushare 自動幫我們篩選掉了休市的股票數(shù)據(jù)。
小結(jié):
這篇是介紹 TuShare 獲取股票數(shù)據(jù)的第一篇,并且我也在研究 TuShare 的 API 調(diào)用,返回的數(shù)據(jù)情況等。在接下來的教程中,我們來做一些股票日交易數(shù)據(jù)的驗證 (Data Validation),和數(shù)據(jù)清洗 (Data Cleaning) 的工作。下面是兩個外部的鏈接,如果還遇到問題的可以看:
Windows 下安裝 Anaconda 的教程:WINDOWS下安裝ANACONDA?tushare.pro
終端內(nèi)PIP 安裝失敗的方案:PIP 安裝超時的解決辦法?tushare.pro
總結(jié)
以上是生活随笔為你收集整理的python tushare获取股票数据_Python 金融: TuShare API 获取股票数据 (1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu python版本切换_ub
- 下一篇: vuecli3配置webpack_vue