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模块importqstockasqs行情交易数据接口
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=[中国平安,晓程科技,东方财富]intraday_data(code)
code可以为股票或债券或期货或基金代码简称或代码,如晓程科技或300139,返回股票、期货、债券等的最新交易日成交情况。股票日内交易数据df=qs.intraday_data(中国平安) df.head()基金日内交易数据df=qs.intraday_data(有色50ETF) df.head()stock_snapshot(code):
获取沪深市场股票最新行情快照,code:股票代码qs.stock_snapshot(中国平安)获取交易日实时盘口异动数据,相当于盯盘小精灵。realtime_change(flag=None):
股票投资小常识:垄断性的行业具有长期的火热度,因为这样的行业不容易倒闭,竞争压力比较小。
flag:盘口异动类型,默认输出全部类型的异动情况。可选:[火箭发射, 快速反弹,加速下跌, 高台跳水, 大笔买入, 大笔卖出,封涨停板,封跌停板, 打开跌停板,打开涨停板,有大买盘,有大卖盘,竞价上涨, 竞价下跌,高开5日线,低开5日线, 向上缺口,向下缺口,60日新高,60日新低,60日大幅上涨, 60日大幅下跌]上述异动类型分别可使用1-22数字代替。df=qs.realtime_change(60日新高)查看前几行df.head()异动类型:火箭发射df=qs.realtime_change(1)查看前几行df.head()快速反弹df=qs.realtime_change(2)查看前几行df.head()02历史行情数据
股票投资小常识:企业估值一切以自由现金流为基准。周期高点低估未必是真的低估。周期低点高估未必是真高估。
获取单只或多只证券(股票、基金、债券、期货)的历史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:后复权,默认前复权获取美股数据获取苹果公司股票数据df=qs.get_data(AAPL)df.tail()
获取期货历史K线数据df=qs.get_data(棕榈油2210)df.tail()
注意上证指数代码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全球指数可参见:https://quote.eastmoney.com/center/qqzs.htmlglobal_indexs=[道琼斯,标普500,纳斯达克,恒生指数,英国富时,法国CAC40,德国DAX,日经225,韩国KOSPI,澳大利亚标普200,印度孟买SENSEX,俄罗斯RTS,加拿大S&P,台湾加权,美元指数,路透CRB商品指数]qs.get_data(global_indexs)获取单只或多只证券(股票、基金、债券、期货)的收盘价格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()global_indexs=[道琼斯,标普500,纳斯达克,恒生指数,英国富时,法国CAC40,德国DAX,日经225,韩国KOSPI,澳大利亚标普200,印度孟买SENSEX,俄罗斯RTS,加拿大S&P,台湾加权,美元指数,路透CRB商品指数]全球指数价格数据df=qs.get_price(global_indexs) df.tail()03股票龙虎榜数据
stock_billboard(start=None, end=None)起始和结束日期默认为None,表示最新,日期格式2021-08-21
df=qs.stock_billboard(20220901,20221011) df后续推文将进一步介绍qstock数据模块、可视化、选股和回测等功能。
参考资料:
1. https://efinance.readthedocs.io/en/latest/
2. https://akshare.akfamily.xyz/data/stock/stock.htmla
3. https://www.tushare.pro/document/2
股票投资小常识:量价齐升是一对矛盾。要么量向价妥协,要么价向量妥协。要么双方互相妥协。
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186