当前位置:首页>股票

股票历史数据导出(「qstock开源了」数据篇之行情交易数据)

日期:2023-12-10

来源:玫瑰财经网

浏览:

    qstock简介


    qstock由“Python金融量化”公众号开发,试图打造成个人量化投研分析开源库,目前包括数据获取(data)、可视化(plot)、选股(stock)和量化回测(backtest)四个模块。其中数据模块(data)数据来源于东方财富网、同花顺、新浪财经等网上公开数据,数据爬虫部分参考了现有金融数据包tushare、akshare和efinance。qstock致力于为用户提供更加简洁和规整化的金融市场数据接口。可视化模块基于plotly.express和pyecharts包,为用户提供基于web的交互图形简单操作接口;选股模块提供了同花顺的技术选股和公众号策略选股,包括RPS、MM趋势、财务指标、资金流模型等,回测模块为大家提供向量化(基于pandas)和基于事件驱动的基本框架和模型。

    qstock目前在pypi官网上发布,开源版本为1.1.0,意味着读者直接“pip install qstock 安装即可使用。GitHub地址:https://github.com/tkfy920/qstock

    目前部分策略选股和策略回测功能仅供知识星球会员使用,会员可在知识星球置顶帖子上上获取qstock-1.1.1.tar.gz (强化版安装包,进行离线安装。

    下面为大家介绍qstock数据模块(data)各函数的具体调用方式和应用举例。

    #导入qstock模块import qstock as qs


    行情交易数据接口


    01 实时行情数据


    获取指定市场所有标的或单个或多个证券最新行情指标
    realtime_data(market='沪深A', code=None)

    • 参数market:输入行情名称或列表,默认'沪深A股',
      '沪深京A':沪深京A股市场行情; '沪深A':沪深A股市场行情;'沪A':沪市A股市场行情
      '深A':深市A股市场行情;北A :北证A股市场行情;'可转债':沪深可转债市场行情;
      '期货':期货市场行情;'创业板':创业板市场行情;'美股':美股市场行情;
      '港股':港股市场行情;'中概股':中国概念股市场行情;'新股':沪深新股市场行情;
      '科创板':科创板市场行情;'沪股通' 沪股通市场行情;'深股通':深股通市场行情;
      '行业板块':行业板块市场行情;'概念板块':概念板块市场行情;
      '沪深指数':沪深系列指数市场行情;'上证指数':上证系列指数市场行情
      '深证指数':深证系列指数市场行情;'ETF' ETF基金市场行情;'LOF' LOF 基金市场行情
    • code:输入单个或多个证券的list,不输入参数,默认返回某市场实时指标
      如code='中国平安',或code='000001',或code=['中国平安','晓程科技','东方财富']


    (1)某市场所有标的最新行情


    #获取沪深A股最新行情指标df=qs.realtime_data()#查看前几行df.head()


    「qstock开源了」数据篇之行情交易数据


    #获取可转债最新行情指标df=qs.realtime_data('可转债')#查看前几行df.head()


    「qstock开源了」数据篇之行情交易数据

    #获取期货最新行情指标df=qs.realtime_data('期货')#查看前几行df.head()
    「qstock开源了」数据篇之行情交易数据


    #获取美股最新行情指标df=qs.realtime_data('美股')#查看前几行df.head()
    「qstock开源了」数据篇之行情交易数据


    #获取港股最新行情指标df=qs.realtime_data('港股')#查看前几行df.head()
    「qstock开源了」数据篇之行情交易数据


    #获取行业板块最新行情指标df=qs.realtime_data('行业板块')#查看前几行df.head()
    「qstock开源了」数据篇之行情交易数据


    #获取概念板块最新行情指标df=qs.realtime_data('概念板块')#查看前几行df.head()
    「qstock开源了」数据篇之行情交易数据


    #获取ETF最新行情指标df=qs.realtime_data('ETF')#查看前几行df.head()


    「qstock开源了」数据篇之行情交易数据

    (2)个股最新行情指标

    • code:输入单个或多个证券的list,不输入参数,默认返回某市场实时指标
      如code='中国平安',或code='000001',或code=['中国平安','晓程科技','东方财富']

    qs.realtime_data(code=['中国平安','300684','锂电池ETF','BK0679','上证指数'])
    「qstock开源了」数据篇之行情交易数据


    (3)日内成交数据

    intraday_data(code)

    • code可以为股票或债券或期货或基金代码简称或代码,如晓程科技或300139,返回股票、期货、债券等的最新交易日成交情况。

    #股票日内交易数据df=qs.intraday_data('中国平安')df.head()
    「qstock开源了」数据篇之行情交易数据


    #基金日内交易数据df=qs.intraday_data('有色50ETF')df.head()


    「qstock开源了」数据篇之行情交易数据

    (4)获取个股实时交易快照

    stock_snapshot(code):

    • 获取沪深市场股票最新行情快照,code:股票代码
    qs.stock_snapshot('中国平安')


    「qstock开源了」数据篇之行情交易数据

    (5)实时交易盘口异动数据

    获取交易日实时盘口异动数据,相当于盯盘小精灵。
    realtime_change(flag=None):

    • flag:盘口异动类型,默认输出全部类型的异动情况。可选:['火箭发射', '快速反弹','加速下跌', '高台跳水', '大笔买入', '大笔卖出',
      '封涨停板','封跌停板', '打开跌停板','打开涨停板','有大买盘','有大卖盘',
      '竞价上涨', '竞价下跌','高开5日线','低开5日线', '向上缺口','向下缺口',
      '60日新高','60日新低','60日大幅上涨', '60日大幅下跌']
      上述异动类型分别可使用1-22数字代替。

    df=qs.realtime_change('60日新高')#查看前几行df.head()


    「qstock开源了」数据篇之行情交易数据

    #异动类型:火箭发射df=qs.realtime_change(1)#查看前几行df.head()
    「qstock开源了」数据篇之行情交易数据


    #快速反弹df=qs.realtime_change(2)#查看前几行df.head()
    「qstock开源了」数据篇之行情交易数据


    02 历史行情数据


    (1)历史K线

    获取单只或多只证券(股票、基金、债券、期货)的历史K线数据。可以根据realtime_data实时行情接口获取相应金融市场交易标的的代码或简称,用于获取其历史K线数据。

    • get_data(code_list, start='19000101', end=None, freq='d', fqt=1)

    获取股票、指数、债券、期货、基金等历史K线行情。参数说明:

    • code_list输入股票list列表,如code_list=['中国平安','贵州茅台','工业富联']
      ,返回多只股票多期时间的面板数据
    • start和end为起始和结束日期,年月日
    • freq:时间频率,默认日,1 : 分钟;5 : 5 分钟;15 : 15 分钟;30 : 30 分钟;
      60 : 60 分钟;101或'D'或'd':日;102或‘w’或'W':周; 103或'm'或'M': 月
      注意1分钟只能获取最近5个交易日一分钟数据
    • fqt:复权类型,0:不复权,1:前复权;2:后复权,默认前复权

    个股数据

    #默认日频率、前复权所有历史数据#open:开盘价,high:最高价,low:最低价,close:收盘价#vol:成交量,turnover:成交金额,turnover_rate:换手率#在notebook上输入"qs.get_data?"可查看数据接口的相应参数df=qs.get_data('601318')df.tail()



    #个股code_list可以输入代码或简称或多个股票的list#获取中国平安2022年9月28日至今的5分钟数据,默认前复权df=qs.get_data('中国平安',start='20220928',freq=5)df.tail()
    「qstock开源了」数据篇之行情交易数据


    #后复权数据,频率为周df=qs.get_data('中国平安',fqt=2,freq='w')df.tail()
    「qstock开源了」数据篇之行情交易数据

    获取美股数据#获取苹果公司股票数据
    df=qs.get_data('AAPL')
    df.tail()

    「qstock开源了」数据篇之行情交易数据

    获取期货历史K线数据df=qs.get_data('棕榈油2210')
    df.tail()

    「qstock开源了」数据篇之行情交易数据

    指数

    注意上证指数代码'000001'与平安银行股票代码相同,为避免代码相同引起的混乱,获取指数数据,要输入指数的中文简称或拼音缩写。如'sh'代表'上证指数','sz'代表'深证综指','cyb'代表‘创业板指','zxb'代表'中小100'(原来的中小板指数),'hs300'代表'沪深300','sz50'代表'上证50','zz500'代表'中证500'等等。

    code_list=['sh','sz','cyb','zxb','hs300','sz50','zz500']df=qs.get_data(code_list)df
    「qstock开源了」数据篇之行情交易数据


    #全球指数可参见:https://quote.eastmoney.com/center/qqzs.htmlglobal_indexs=['道琼斯','标普500','纳斯达克','恒生指数','英国富时','法国CAC40','德国DAX',              '日经225','韩国KOSPI','澳大利亚标普200','印度孟买SENSEX','俄罗斯RTS','加拿大S&P',               '台湾加权','美元指数','路透CRB商品指数']
    qs.get_data(global_indexs)


    「qstock开源了」数据篇之行情交易数据

    (2)多只证券的历史价格数据

    获取单只或多只证券(股票、基金、债券、期货)的收盘价格dataframe

    • get_price(code_list, start='19000101', end='20500101', freq='d', fqt=1)

    code_list输入股票list列表
    如code_list=['中国平安','贵州茅台','工业富联']

    code_list=['中国平安','300684','锂电池ETF','BK0679','上证指数']df=qs.get_price(code_list)df.tail()
    「qstock开源了」数据篇之行情交易数据


    global_indexs=['道琼斯','标普500','纳斯达克','恒生指数','英国富时','法国CAC40','德国DAX',              '日经225','韩国KOSPI','澳大利亚标普200','印度孟买SENSEX','俄罗斯RTS','加拿大S&P',               '台湾加权','美元指数','路透CRB商品指数']#全球指数价格数据df=qs.get_price(global_indexs)df.tail()
    「qstock开源了」数据篇之行情交易数据


    03 股票龙虎榜数据


    • stock_billboard(start=None, end=None)

    起始和结束日期默认为None,表示最新,日期格式'2021-08-21'

    df=qs.stock_billboard('20220901','20221011')df
    「qstock开源了」数据篇之行情交易数据

    后续推文将进一步介绍qstock数据模块、可视化、选股和回测等功能。

    参考资料:

    1. https://efinance.readthedocs.io/en/latest/

    2. https://akshare.akfamily.xyz/data/stock/stock.html#a

    3. https://www.tushare.pro/document/2

相关文章阅读

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

备案号:冀ICP备17019481号

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