miniQMT能查询历史成交,还是只能查询当天成交?
发布时间:3小时前阅读:8
miniQMT常用的XtTrader成交查询接口,主要面向当前交易日的成交数据。程序可以查询当天全部成交,也可以通过成交回调实时接收变化,但若要获取几天前、几个月前的历史成交,通常不能简单依赖同一个“当日成交”接口。
这一区别很容易被忽略。用户在普通交易客户端里可以查看历史交割单,于是认为Python接口也会自动返回全部历史。实际上,交易接口为了实时性,常用查询往往聚焦当前交易日的资金、持仓、委托和成交。跨交易日历史可能需要交割单、对账文件、资金流水或其他专门接口,具体要看当前环境支持。
当天成交查询通常返回证券代码、成交数量、成交价格、成交时间、成交编号和订单编号等信息。程序可以用这些字段核对订单是否真正完成。委托列表和成交列表不是一回事:一笔委托可能没有成交,也可能分成多笔成交,所以不能只看订单数量。
如果策略需要长期复盘,最稳妥的做法是每天保存当日成交。可以在收盘后调用成交查询,将结果写入数据库或CSV文件,并记录资金账号、策略名称和订单备注。第二天开始前再建立新的交易日记录。长期积累后,就能形成自己的执行数据库。
保存历史时还要避免重复。程序可能多次查询同一批成交,写入数据库前应使用成交编号、订单编号和成交时间等字段去重。仅用证券代码和数量不够,因为同一天可能有多笔相同数量的成交。
成交回调适合实时处理,但不能完全替代主动查询。网络中断、程序重启或回调注册较晚时,部分消息可能没有被程序接收到。重启后应主动查询当天成交,与本地记录对账,再恢复策略状态。回调负责及时,查询负责兜底。
若需要更早的历史,可以查看平台是否提供历史交割、资金流水或对账文件接口。不同客户端和权限可能不一样,不能根据某个示例假定所有环境都支持。没有接口时,可以通过正式客户端导出,再用于研究,但不应通过非正规方式抓取账户数据。
历史成交和历史行情也要区分。XtData可以下载多年的行情数据,用于回测;XtTrader的实时交易查询则围绕账户当天状态。行情能查很久,不代表账户成交也自动保留同样范围。两个模块服务对象不同。
新手还容易把“历史委托”与“历史成交”混为一谈。委托记录包含已报、已撤和废单,成交记录只包含真正完成的数量。一笔部分成交后撤单的订单,历史委托中是一条订单,成交记录中可能有一笔或多笔成交。复盘策略时,两者都应保存。
从风险控制角度看,程序当天至少要掌握全部委托和成交。否则策略重启后不知道已经成交多少,容易重复下单。跨日持仓则应以账户持仓查询为准,不能只根据历史成交自己累加,因为还可能存在人工交易、转托管或其他变化。
每日归档不仅用于复盘,也能帮助程序重启。收盘后保存当日委托和成交,第二天启动时先读取昨日终态,再结合当前持仓核对。若发现持仓变化无法由已保存成交解释,应检查是否有人工作业、公司行为或其他账户事件,而不是直接让策略补单。
对账文件还可以记录废单原因和撤单次数。长期统计后,能够发现策略是否经常因为价格精度、数量或流动性问题失败,这些执行问题往往不会体现在回测收益中。
如果平台提供历史交割单或资金流水接口,也应注意查询范围和字段含义。交割单更适合核对真实成交与费用,资金流水则可能包含转入转出、利息和其他变动。它们与当日成交不是同一张表。保存时应分别建表,不要把所有记录混成一个“历史交易”文件。
长期运行miniQMT时,成交归档越早建立越好。若准备搭建自己的订单和成交记录,可以从主页后续的数据保存内容继续了解。本文仅用于账户数据管理和量化技术交流。

温馨提示:投资有风险,选择需谨慎。
-
一家坚守19年的财商教育平台,如何重塑投资服务的“靠谱”底色
2026-06-29 13:08
-
REITs打新:⌈华泰三峡新能源REIT⌋ 和 ⌈创金合信北京国资公司REIT⌋ 本周发售!
2026-06-29 13:08
-
券商客户经理是做什么的?为什么建议你理财投资前找一位?
2026-06-29 13:08


问一问

+微信
分享该文章
