当前位置:首页>科技>交易行情回测:数据篇之行情交易数据
发布时间:2026-07-21阅读(1)
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)
#获取沪深A股最新行情指标df=qs.realtime_data()#查看前几行df.head()

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

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

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

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

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

#获取概念板块最新行情指标df=qs.realtime_data(概念板块)#查看前几行df.head()

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

qs.realtime_data(code=[中国平安,300684,锂电池ETF,BK0679,上证指数])

intraday_data(code)
#股票日内交易数据df=qs.intraday_data(中国平安)df.head()

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

stock_snapshot(code):
qs.stock_snapshot(中国平安)

获取交易日实时盘口异动数据,相当于盯盘小精灵。realtime_change(flag=None):
df=qs.realtime_change(60日新高)#查看前几行df.head()

#异动类型:火箭发射df=qs.realtime_change(1)#查看前几行df.head()

#快速反弹df=qs.realtime_change(2)#查看前几行df.head()

02 历史行情数据
(1)历史K线获取单只或多只证券(股票、基金、债券、期货)的历史K线数据。可以根据realtime_data实时行情接口获取相应金融市场交易标的的代码或简称,用于获取其历史K线数据。
获取股票、指数、债券、期货、基金等历史K线行情。参数说明:
#默认日频率、前复权所有历史数据#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()

#后复权数据,频率为周df=qs.get_data(中国平安,fqt=2,freq=w)df.tail()

获取美股数据#获取苹果公司股票数据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
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 股票龙虎榜数据
起始和结束日期默认为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.html#a
3. https://www.tushare.pro/document/2
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图