博主tushare ID:348937
tushare是一个免费的、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。当然也可以使用tushare的数据存储功能将数据存储到excel
目前老版tushare不再维护,如果想要获取更多、更详细的数据,可以注册成为tushare社区用户,获取属于自己的接口TOKEN
在命令提示符下输入:
pip install tushare
安装成功后,在python IDLE上输入如下代码,如下所示即表示安装成功:
>>> import tushare as ts
>>>
下面演示如何通过tushare调取数据,我们这里对tushare pro进行演示。
我们获取股票基础数据,包括股票代码、名称、上市日期等,如下所示:
初始化pro接口:
>>> pro = ts.pro_api()
查询当前正常交易上市的股票信息:
>>> 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 万科A 深圳 全国地产 19910129
2 000004.SZ 000004 国华网安 深圳 互联网 19910114
3 000005.SZ 000005 世纪星源 深圳 环境保护 19901210
4 000006.SZ 000006 深振业A 深圳 区域地产 19920427
我们还可以获取股票日线行情数据,如下所示:
获取平安银行2020年12月至2021年1月的前复权数据:
>>> 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]
我们可以获取平安银行均线数据:
>>> 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]
如果想要将数据保存到本地excel格式,可输入如下代码:
>>> df.to_excel('C:\\Users\\Louis Zhang\\Desktop\\平安银行均线数据.xlsx')
数据如下图所示:
当然有些数据需要一定的积分才能够调取,所以为了获取足够的积分,调取更多数据,大家可以积极注册称为tushare社区用户,多多参与社区活动,获取更多平台的权益。
tushare pro的网址:https://tushare.pro/