XtQuant运行依赖环境
XtQuant目前提供的库包括64位Python3.6----3.11版本,不同版本的python导入时会自动切换。在运行使用XtQuant的程序前需要先启动MiniQMT客户端。
# XtQuant运行逻辑
Xtdata作为行情模块,本模块旨在提供精简直接的数据满足量化交易者的数据需求,主要提供行情数据(历史和实时的K线和分笔)、财务数据、合约基础信息、板块和行业分类信息等通用的行情数据。
Xttrader作为交易模块,封装了策略交易所需要的Python API接口,可以和MiniQMT客户端交互进行报单、撤单、查询资产、查询委托、查询成交、查询持仓以及接收资金、委托、成交和持仓等变动的主推消息
运行逻辑
xtdata提供和MiniQmt的交互接口,本质是和MiniQmt建立连接,由MiniQmt处理行情数据请求,再把结果回传返回到python层。使用的行情服务器以及能获取到的行情数据和MiniQmt是一致的,要检查数据或者切换连接时直接操作MiniQmt即可。
对于数据获取接口,使用时需要先确保MiniQmt已有所需要的数据,如果不足可以通过补充数据接口补充,再调用数据获取接口获取。
对于订阅接口,直接设置数据回调,数据到来时会由回调返回。订阅接收到的数据一般会保存下来,同种数据不需要再单独补充。
接口分类
常用类型说明
-
stock_code - 合约代码
- 格式为
code.market ,例如 000001.SZ600000.SH``000300.SH
-
period - 周期,用于表示要获取的周期和具体数据类型
warehousereceipt - 期货仓单
futureholderrank - 期货席位
interactiveqa - 互动问答
- 逐笔成交统计
delistchangebond - 退市可转债信息
replacechangebond - 待发可转债信息
specialtreatment - ST 变更历史
- 港股通(深港通、沪港通)资金流向
dividendplaninfo - 红利分配方案信息
historycontract - 过期合约列表
optionhistorycontract - 期权历史信息
historymaincontract - 历史主力合约
stoppricedata - 涨跌停数据
snapshotindex - 快照指标数据
transactioncount1m - 逐笔成交统计1分钟级
transactioncount1d - 逐笔成交统计日级
northfinancechange1m - 港股通资金流向1分钟级
northfinancechange1d - 港股通资金流向日级
l2quote - level2实时行情快照
l2order - level2逐笔委托
l2transaction - level2逐笔成交
l2quoteaux - level2实时行情补充(总买总卖)
l2orderqueue - level2委买委卖一档委托队列
l2thousand - level2千档盘口
tick - 分笔数据
1m - 1分钟线
5m - 5分钟线
15m - 15分钟线
30m - 30分钟线
1h - 1小时线
1d - 日线
1w - 周线
1mon - 月线
1q - 季度线
1hy - 半年线
1y - 年线
- level1数据
- level2数据
- 投研版 - 特色数据
-
时间范围,用于指定数据请求范围,表示的范围是 [start_time, end_time] 区间(包含前后边界)中最后不多于 count 个数据
- start_time - 起始时间,为空则认为是最早的起始时间
- end_time - 结束时间,为空则认为是最新的结束时间
- count - 数据个数,大于0为正常限制返回个数,等于0为不需要返回,-1为返回全部
- 通常以
[start_time = '', end_time = '', count = -1] 表示完整数据范围,但数据请求范围过大会导致返回时间变长,需要按需裁剪请求范围
-
dividend_type - 除权方式,用于K线数据复权计算,对 tick 等其他周期数据无效
none 不复权
front 前复权
back 后复权
front_ratio 等比前复权
back_ratio 等比后复权
-
其他依赖库 numpy、pandas会在数据返回的过程中使用
- 本模块会尽可能减少对numpy和pandas库的直接依赖,以允许使用者在不同版本的库之间自由切换
- pandas库中旧的三维数据结构Panel没有被使用,而是以dict嵌套DataFrame代替(后续可能会考虑使用xarray等的方案,也欢迎使用者提供改进建议)
- 后文中会按常用规则分别简写为np、pd,如np.ndarray、pd.DataFrame
请求限制
- 全推数据是市场全部合约的切面数据,是高订阅数场景下的有效解决方案。持续订阅全推数据可以获取到每个合约最新分笔数据的推送,且流量和处理效率都优于单股订阅
- 单股订阅行情是仅返回单股数据的接口,建议单股订阅数量不超过50。如果订阅数较多,建议直接使用全推数据
- 板块分类信息等静态信息更新频率低,无需频繁下载,按周或按日定期下载更新即可
本人长期致力于研究及代写以下平台或接口:同花顺supermind(平台收费),qmt(平台可以向券商免费申请)的股票量化,期货快期tqsdk(平台免费),ccxt(平台免费)等量化。如有需求请添加好友后直接贴上你的需求或者说是要求,能不能做会不会做我都会第一时间通知你,本人不会的话会直接告诉你的,股票,期货总共只写这3个平台,不要问我为什么,本人写策略已经7年有余,走过的坑不想再走,也麻烦股票、期货需求不是这几个平台的朋友不要加本人,其他的平台给再多钱本人也不会写的,一个是对自己的代码负责,另外一个就是对你的策略和思路负责,我不想让你们重走我走过的坑,仅此而已。
最后给想学习量化的朋友总结了一些内容,希望能够帮助到想自学的朋友。
量化之路:
①Python学习 基础的语法逻辑等
https://www.runoob.com/python3/python3-tutorial.html
【基础量化最基础内容要点-哔哩哔哩】 https://b23.tv/AEcPQbe
【量化学习中需要掌握的python基础-哔哩哔哩】 https://b23.tv/aQW7T8e
【python量化中需要掌握的基础内容-哔哩哔哩】 https://b23.tv/n9ALEc2
②锁定平台,查看平台api 例如平台框架 数据接口api 交易api,文件拓展或用于数据处理的api或自带的库,是否可以外挂库 有何限制(这个最快的方式就是原始api,平台提供的社区 论坛等 |