当前位置:首页>股票

如何批量导出股票数据(原来Python这个库功能这么强大,四行代码轻松获取股票历史数据)

日期:2023-11-14

来源:玫瑰财经网

浏览:

    最近在学数据分析,头疼从哪里找数据,打开同花顺,只能复制股票的几个月的数据,不好用。无意间发现了Tushare这个好用的财经数据接口,简直就是为Python量身定做的。

    一、Tushare简介

    Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集清洗加工数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。

    二、下载安装

  • 方式1:pip install tushare
  • 如果下载出错,建议使用:pip install tushare -i https://pypi.douban.com/simple/ 豆瓣源下载

    C:UsersAdministrator>pip install tushare -i https://pypi.douban.com/simple/Successfully installed bs4-0.0.1 tushare-1.2.59 websocket-client-0.57.0
  • 方式2:访问https://pypi.python.org/pypi/Tushare/下载安装
  • 三、获取数据方法

    1. 直接获取某只股票的历史数据,传入股票代码即可
    import tushare as tsdata=ts.get_hist_data('600848') #一次性获取全部日k线数据 print(data)#返回的是pandas.core.frame.DataFramedata.to_csv('600848.csv',index=False)#数据保存也非常的方便             open   high  close    low  ...    ma20      v_ma5     v_ma10     v_ma20date                                    ...                                         2020-05-12  20.30  20.36  20.06  19.89  ...  19.651   62960.24   48018.50   41014.832020-05-11  20.56  20.63  20.30  20.22  ...  19.627   66150.84   46870.52   40126.272020-05-08  20.53  20.75  20.58  20.37  ...  19.589   60587.04   45194.13   39259.612020-05-07  20.16  20.86  20.53  20.15  ...  19.548   55213.95   45272.38   38075.032020-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_ma20date                                    ...                                      2020-01-03  24.61  24.71  24.61  24.43  ...  24.359  58218.87  47730.84  55996.852020-01-02  24.49  24.93  24.61  24.41  ...  24.341  56342.97  48301.04  55588.212019-12-31  24.89  25.23  24.55  24.43  ...  24.320  50907.77  47555.56  54514.242019-12-30  23.72  24.16  24.08  23.72  ...  24.284  39689.94  47281.90  51736.822019-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 listts.get_realtime_quotes(['600848','000980','000981'])#from a Seriests.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:换手率[注:指数无此项]

相关文章阅读

Copyright (c) 2022 玫瑰财经网 版权所有

备案号:冀ICP备17019481号

玫瑰财经网发布此信息的目的在于传播更多信息,与本站立场无关。玫瑰财经网不保证该信息(包含但不限于文字、视频、音频、数据及图表)全部或者部分内容的准确性、真实性、完整性、有效性、及时性、原创性等。
相关信息并未经过本网站证实,不对您构成任何投资建议,据此操作,风险自担。