更多: 股票數(shù)據(jù)分析Python+Tushare使用系列(一)(二)(三)等等
本文目標(biāo): 通過tushare開源接口開發(fā)股票相關(guān)功能, 據(jù)此學(xué)習(xí)Python入門功能
一 : tushare官網(wǎng) , 環(huán)境配置, 簡單使用
(1)簡介:
Tushare是一個免費、開源的python財經(jīng)數(shù)據(jù)接口包虾宇。主要實現(xiàn)對股票等金融數(shù)據(jù)從數(shù)據(jù)采集泉唁、清洗加工 到 數(shù)據(jù)存儲的過程圈膏,能夠為金融分析人員提供快速、整潔、和多樣的便于分析的數(shù)據(jù),為他們在數(shù)據(jù)獲取方面極大地減輕工作量,使他們更加專注于策略和模型的研究與實現(xiàn)上蛇捌。考慮到Python pandas包在金融量化分析中體現(xiàn)出的優(yōu)勢咱台,Tushare返回的絕大部分的數(shù)據(jù)格式都是pandas DataFrame類型络拌,非常便于用pandas/NumPy/Matplotlib進(jìn)行數(shù)據(jù)分析和可視化。當(dāng)然回溺,如果您習(xí)慣了用Excel或者關(guān)系型數(shù)據(jù)庫做分析春贸,您也可以通過Tushare的數(shù)據(jù)存儲功能,將數(shù)據(jù)全部保存到本地后進(jìn)行分析馅而。
(2)使用對象:
量化投資分析師(Quant)
對金融市場進(jìn)行大數(shù)據(jù)分析的企業(yè)和個人
開發(fā)以證券為基礎(chǔ)的金融類產(chǎn)品和解決方案的公司
正在學(xué)習(xí)利用python進(jìn)行數(shù)據(jù)分析的人
(3)環(huán)境配置,安裝
A : 安裝Anaconda (包含Python環(huán)境,Conda,numpy,pandas 等大量依賴包) :
下載地址1:Anaconda 下載1
下載地址2(國內(nèi)推薦): 清華大學(xué)開源鏡像 Anaconda 下載
選擇包 : 分別對應(yīng)有Mac , windows, linux 包, 根據(jù)設(shè)備選擇,
比如我的是Mac : Anaconda3-5.2.0-MacOSX-x86_64-1.pkg
B : 安裝tushare環(huán)境 :
訪問https://pypi.python.org/pypi/Tushare/了解相關(guān)安裝,升級,更新等語句:
當(dāng)上面Python環(huán)境安裝成功后,就可以執(zhí)行下面安裝了,打開終端 :
pip install tushare
結(jié)果:
localhost:tushare niexiaobo$ pip install tushare
Collecting tushare
Downloading https://files.pythonhosted.org/packages/ba/99/579b7bb8b1633e3a6beeb424fe1c496be4b699eef1d9979d30abc6303e30/tushare-1.2.0.tar.gz (153kB)
100% |████████████████████████████████| 163kB 974kB/s
Building wheels for collected packages: tushare
Running setup.py bdist_wheel for tushare ... done
Stored in directory: /Users/niexiaobo/Library/Caches/pip/wheels/78/a2/07/6808ae63f87882c5ece17685b1817ac954f26e1589d8122028
Successfully built tushare
distributed 1.21.8 requires msgpack, which is not installed.
Installing collected packages: tushare
Successfully installed tushare-1.2.0
安裝成功但是有個報錯:distributed 1.21.8 requires msgpack, which is not installed.
意思是需要安裝msgpack:
sudo pip install msgpack
輸入開機密碼回車安裝.
(4)tushare簡單使用(終端使用)
當(dāng)上面tushare安裝成功后,可以進(jìn)行使用了, 官方提供查看版本,我們試試吧.
a : 打開終端, 輸入pyhton直接回車啟動環(huán)境
b : conda命令查看版本
conda --version
c : 查看tushare當(dāng)前版本:
import tushare
print(tushare.version)
localhost:tushare niexiaobo$ conda --version
conda 4.5.4
localhost:tushare niexiaobo$ python
Python 3.6.5 |Anaconda, Inc.| (default, Apr 26 2018, 08:42:37)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tushare
>>> print(tushare.__version__)
1.2.0
>>>
d : 獲取某幾天的數(shù)據(jù)
>>> import tushare as ts
>>> ts.get_hist_data('600848',start='2018-01-05',end='2018-01-09')
open high close low volume price_change p_change ma5 ma10 ma20 v_ma5 v_ma10 v_ma20
date
2018-01-09 24.60 24.78 23.96 23.82 82175.82 -0.76 -3.07 24.208 23.237 23.213 120159.21 84689.28 69688.92
2018-01-08 24.12 24.95 24.71 24.01 109535.76 0.20 0.82 23.900 22.992 23.153 112259.60 85078.67 67644.48
2018-01-05 24.00 25.40 24.51 23.70 204266.23 -0.56 -2.23 23.420 22.820 23.048 97543.60 76964.50 64853.80
e : 獲取000581實時數(shù)據(jù):
>>> df = ts.get_realtime_quotes('000581')
>>> df[['code','name','price','bid','ask','volume','amount','time']]
code name price bid ask volume amount time
0 000581 威孚高科 22.850 22.850 22.860 4546056 103467420.560 14:03:54
(5)tushare開發(fā)工具->PyCharm
logo如下:
創(chuàng)建項目: 下面選擇Python方式是創(chuàng)建一個新的目錄管理第三方源, 后面可能需要手動導(dǎo)入需要的包
(所以需要使用tushare的看后面)
創(chuàng)建后就會自動生成項目,并導(dǎo)入初始化環(huán)境, 然后就可以創(chuàng)建代碼了:
點擊stockpro -> new - >Python files -> 創(chuàng)建一個test.py文件:
import tushare as ts
ts.get_hist_data('600848',start='2018-01-05',end='2018-01-09')
運行報錯,缺少很多包:
ModuleNotFoundError: No module named 'lxml'
...
=>更改前面創(chuàng)建項目時的選擇:
選擇系統(tǒng)以及安裝的目錄就好了,這樣在site-pageages里就鏈接到所以安裝的包源 :
創(chuàng)建后經(jīng)過一兩分鐘初始化,再創(chuàng)建test文件測試一下,沒有報錯.
/anaconda3/bin/python /Users/niexiaobo/Documents/PythonFile/stockTuSharePro/test.py
Process finished with exit code 0
??,但是什么都沒顯示(我在終端顯示打印信息了)
修改:把ts.get_hist_data用print主動打印出來
import tushare as ts
print(ts.get_hist_data('600848', start='2018-01-05', end='2018-01-09'))
點擊運行按鈕:
/anaconda3/bin/python /Users/niexiaobo/Documents/PythonFile/stockTuSharePro/test.py
open high close ... v_ma5 v_ma10 v_ma20
date ...
2018-01-09 24.60 24.78 23.96 ... 120159.21 84689.28 69688.92
2018-01-08 24.12 24.95 24.71 ... 112259.60 85078.67 67644.48
2018-01-05 24.00 25.40 24.51 ... 97543.60 76964.50 64853.80
[3 rows x 13 columns]
Process finished with exit code 0
成功!