利用python获取tushare 财经数据
博主tushare ID:348937
tushare是一個(gè)免費(fèi)的、開(kāi)源的python財(cái)經(jīng)數(shù)據(jù)接口包。主要實(shí)現(xiàn)對(duì)股票等金融數(shù)據(jù)從數(shù)據(jù)采集、清洗加工到 數(shù)據(jù)存儲(chǔ)的過(guò)程,能夠?yàn)榻鹑诜治鋈藛T提供快速、整潔、和多樣的便于分析的數(shù)據(jù),為他們?cè)跀?shù)據(jù)獲取方面極大地減輕工作量,使他們更加專注于策略和模型的研究與實(shí)現(xiàn)上。考慮到Python pandas包在金融量化分析中體現(xiàn)出的優(yōu)勢(shì),Tushare返回的絕大部分的數(shù)據(jù)格式都是pandas DataFrame類型,非常便于用pandas/NumPy/Matplotlib進(jìn)行數(shù)據(jù)分析和可視化。當(dāng)然也可以使用tushare的數(shù)據(jù)存儲(chǔ)功能將數(shù)據(jù)存儲(chǔ)到excel
目前老版tushare不再維護(hù),如果想要獲取更多、更詳細(xì)的數(shù)據(jù),可以注冊(cè)成為tushare社區(qū)用戶,獲取屬于自己的接口TOKEN
tushare的安裝:
在命令提示符下輸入:
pip install tushare安裝成功后,在python IDLE上輸入如下代碼,如下所示即表示安裝成功:
>>> import tushare as ts >>>數(shù)據(jù)獲取
下面演示如何通過(guò)tushare調(diào)取數(shù)據(jù),我們這里對(duì)tushare pro進(jìn)行演示。
我們獲取股票基礎(chǔ)數(shù)據(jù),包括股票代碼、名稱、上市日期等,如下所示:
初始化pro接口:
>>> pro = ts.pro_api()查詢當(dāng)前正常交易上市的股票信息:
>>> data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date') >>> data.head()ts_code symbol name area industry list_date 0 000001.SZ 000001 平安銀行 深圳 銀行 19910403 1 000002.SZ 000002 萬(wàn)科A 深圳 全國(guó)地產(chǎn) 19910129 2 000004.SZ 000004 國(guó)華網(wǎng)安 深圳 互聯(lián)網(wǎng) 19910114 3 000005.SZ 000005 世紀(jì)星源 深圳 環(huán)境保護(hù) 19901210 4 000006.SZ 000006 深振業(yè)A 深圳 區(qū)域地產(chǎn) 19920427我們還可以獲取股票日線行情數(shù)據(jù),如下所示:
獲取平安銀行2020年12月至2021年1月的前復(fù)權(quán)數(shù)據(jù):
>>> df = ts.pro_bar(ts_code='000001.SZ', adj='qfq', start_date='20201201', end_date='20210131') >>> df.head()ts_code trade_date open high ... change pct_chg vol amount 0 000001.SZ 20210129 22.81 23.54 ... 0.28 1.2275 1240258.41 2864101.419 1 000001.SZ 20210128 22.78 23.18 ... -0.27 -1.1698 857476.96 1948881.146 2 000001.SZ 20210127 22.31 23.47 ... 0.71 3.1739 1294152.72 2976800.955 3 000001.SZ 20210126 22.30 23.32 ... -0.12 -0.5336 1126720.55 2558575.511 4 000001.SZ 20210125 21.72 22.60 ... 0.46 2.0881 1028365.27 2269032.820[5 rows x 11 columns]我們可以獲取平安銀行均線數(shù)據(jù):
>>> df = ts.pro_bar(ts_code='000001.SZ', start_date='20201201', end_date='20210131', ma=[5, 10]) >>> df.head()ts_code trade_date open high ... ma5 ma_v_5 ma10 ma_v_10 0 000001.SZ 20210129 22.81 23.54 ... 22.768 1109394.782 22.561 1209637.021 1 000001.SZ 20210128 22.78 23.18 ... 22.556 1046229.984 22.352 1333680.078 2 000001.SZ 20210127 22.31 23.47 ... 22.440 1063690.312 22.088 1360947.944 3 000001.SZ 20210126 22.30 23.32 ... 22.318 1061018.400 21.850 1336444.645 4 000001.SZ 20210125 21.72 22.60 ... 22.312 1084091.958 21.713 1352589.140[5 rows x 15 columns]如果想要將數(shù)據(jù)保存到本地excel格式,可輸入如下代碼:
>>> df.to_excel('C:\\Users\\Louis Zhang\\Desktop\\平安銀行均線數(shù)據(jù).xlsx')數(shù)據(jù)如下圖所示:
當(dāng)然有些數(shù)據(jù)需要一定的積分才能夠調(diào)取,所以為了獲取足夠的積分,調(diào)取更多數(shù)據(jù),大家可以積極注冊(cè)稱為tushare社區(qū)用戶,多多參與社區(qū)活動(dòng),獲取更多平臺(tái)的權(quán)益。
tushare pro的網(wǎng)址:https://tushare.pro/
總結(jié)
以上是生活随笔為你收集整理的利用python获取tushare 财经数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【原创-长文】openstack 版本D
- 下一篇: GL ERROR - after del