返回列表 发布新帖

讯投qmt mini版即小qmt的一些说明

3120 0
发表于 2024-12-4 13:16:48 | 显示全部楼层 阅读模式

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已有所需要的数据,如果不足可以通过补充数据接口补充,再调用数据获取接口获取。

对于订阅接口,直接设置数据回调,数据到来时会由回调返回。订阅接收到的数据一般会保存下来,同种数据不需要再单独补充。

接口分类

  • 行情数据(K线数据、分笔数据,订阅和主动获取的接口)

    • level1数据的历史部分用 download_history_data补充,实时部分用 subscribe_XXX订阅,使用 get_XXX获取
    • level2数据实时部分用 subscribe_XXX订阅,用 get_l2_XXX获取。level2函数无历史数据存储,跨交易日后数据清理
    • subscribe_ / unsubscribe_ 订阅/反订阅
    • get_ 获取数据
    • download_ 下载数据
    • 功能划分(接口前缀)
    • 常见用法
  • 财务数据

  • 合约基础信息

  • 基础行情数据板块分类信息等基础信息

常用类型说明

  • 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,平台提供的社区 论坛等

回复

您需要登录后才可以回帖 登录 | 立即注册

客服专线

400-080-8112

用思考的速度交易,用真诚的态度合作,我们是认真的!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2025 迅投QMT社区 版权所有 All Rights Reserved. 京ICP备2025122616号-3
关灯 快速发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表