最近在学数据分析,头疼从哪里找数据,打开同花顺,只能复制股票的几个月的数据,不好用。无意间发现了Tushare这个好用的财经数据接口,简直就是为Python量身定做的。
一、Tushare简介
Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。
二、下载安装
如果下载出错,建议使用:pip install tushare -i https://pypi.douban.com/simple/ 豆瓣源下载
C:\Users\Administrator>pip install tushare -i https://pypi.douban.com/simple/
Successfully installed bs4-0.0.1 tushare-1.2.59 websocket-client-0.57.0
三、获取数据方法
- 直接获取某只股票的历史数据,传入股票代码即可
import tushare as ts
data=ts.get_hist_data('600848') #一次性获取全部日k线数据
print(data)#返回的是pandas.core.frame.DataFrame
data.to_csv('600848.csv',index=False)#数据保存也非常的方便
open high close low ... ma20 v_ma5 v_ma10 v_ma20
date ...
2020-05-12 20.30 20.36 20.06 19.89 ... 19.651 62960.24 48018.50 41014.83
2020-05-11 20.56 20.63 20.30 20.22 ... 19.627 66150.84 46870.52 40126.27
2020-05-08 20.53 20.75 20.58 20.37 ... 19.589 60587.04 45194.13 39259.61
2020-05-07 20.16 20.86 20.53 20.15 ... 19.548 55213.95 45272.38 38075.03
2020-05-06 19.68 20.20 20.15 19.51 ... 19.499 43079.42 40935.92 35326.21
2.设定历史数据的时间:
data = ts.get_hist_data('600848',start='2019-01-05',end='2020-01-05')
print(data)
open high close low ... ma20 v_ma5 v_ma10 v_ma20
date ...
2020-01-03 24.61 24.71 24.61 24.43 ... 24.359 58218.87 47730.84 55996.85
2020-01-02 24.49 24.93 24.61 24.41 ... 24.341 56342.97 48301.04 55588.21
2019-12-31 24.89 25.23 24.55 24.43 ... 24.320 50907.77 47555.56 54514.24
2019-12-30 23.72 24.16 24.08 23.72 ... 24.284 39689.94 47281.90 51736.82
2019-12-27 23.97 24.09 23.75 23.75 ... 24.282 37666.28 50346.89 52540.88
3.还可以获取周线数据、月线等
ts.get_hist_data('600848', ktype='W') #获取周k线数据
ts.get_hist_data('600848', ktype='M') #获取月k线数据
ts.get_hist_data('600848', ktype='5') #获取5分钟k线数据
ts.get_hist_data('600848', ktype='15') #获取15分钟k线数据
ts.get_hist_data('600848', ktype='30') #获取30分钟k线数据
ts.get_hist_data('600848', ktype='60') #获取60分钟k线数据
ts.get_hist_data('sh')#获取上证指数k线数据,其它参数与个股一致,下同
ts.get_hist_data('sz')#获取深圳成指k线数据
ts.get_hist_data('hs300')#获取沪深300指数k线数据
ts.get_hist_data('sz50')#获取上证50指数k线数据
ts.get_hist_data('zxb')#获取中小板指数k线数据
ts.get_hist_data('cyb')#获取创业板指数k线数据
4.请求多个股票方法(一次最好不要超过30个):
#symbols from a list
ts.get_realtime_quotes(['600848','000980','000981'])
#from a Series
ts.get_realtime_quotes(df['code'].tail(10)) #一次获取10个股票的实时分笔数据
5.获取实时指数:
#上证指数
ts.get_realtime_quotes('sh')
#上证指数 深圳成指 沪深300指数 上证50 中小板 创业板
ts.get_realtime_quotes(['sh','sz','hs300','sz50','zxb','cyb'])
#或者混搭
ts.get_realtime_quotes(['sh','600848'])
四、参数、返回值说明
1.参数说明
- code:股票代码,即6位数字代码,或者指数代码(sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中小板 cyb=创业板)
- start:开始日期,格式YYYY-MM-DD
- end:结束日期,格式YYYY-MM-DD
- ktype:数据类型,D=日k线 W=周 M=月 5=5分钟 15=15分钟 30=30分钟 60=60分钟,默认为D
- retry_count:当网络异常后重试次数,默认为3
- pause:重试时停顿秒数,默认为0
2.返回值说明:
- date:日期
- open:开盘价
- high:最高价
- close:收盘价
- low:最低价
- volume:成交量
- price_change:价格变动
- p_change:涨跌幅
- ma5:5日均价
- ma10:10日均价
- ma20:20日均价
- v_ma5:5日均量
- v_ma10:10日均量
- v_ma20:20日均量
- turnover:换手率[注:指数无此项]
本文暂时没有评论,来添加一个吧(●'◡'●)