MiniQMT停用后:数据、策略、交易三层解耦的量化替代方案
做过实盘的朋友大概都经历过这种时刻:某天打开熟悉的工具,发现原本用得顺手的极简接口不让用了,策略还挂着仓位,行情还等着更新,整个人一下子卡在那里。MiniQMT 这类轻量化交易接口之所以在量化圈子里流行,就是因为它把"拿行情、发委托"这两件最核心的事压缩成了几十行 Python,让不想折腾复杂基础设施的人也能快速把策略从想法跑到真金白银上。它一停,很多人的第一反应不是去研究替代工具,而是"我这整套流程接下来该怎么办"——搜 MiniQMT 替代方案、翻 miniqmt官网下载 相关帖子,越搜越乱。这篇文章就是从这个真实处境出发,聊聊一套全新完整版替代方案该怎么落地:数据从哪来、策略怎么跑、委托怎么发、参数怎么算、坑在哪。不管你是刚入门的量化新手,还是已经能自己写策略的老手,都能从中找到可以直接参考复现的骨架。
1. 先把问题说清楚:MiniQMT 之前到底帮你干了哪几件事
搞清楚"它曾承担什么",比急着找一个同名软件重要得多。很多人一上来就满世界找替代品下载,结果装了一堆东西,发现缺的还是缺。原因很简单——你依赖的从来不是某一个软件名字,而是一条完整的链路。把这条链路拆开,替代方案就有了清晰的目标。
1.1 极简接口模式的定位,以及它到底省了哪些事
所谓极简接口模式,本质上是在一个功能完整的客户端之外,再单独开一个精简的运行进程,只暴露最常用的几个能力给你:取行情、查持仓、下单、撤单、查委托。它不追求花哨,就是让一个会写 Python 的人,在一台普通电脑上,十几分钟就能把"策略信号"变成"真实委托"。它省掉的事情其实挺多:不用自己搭建行情订阅服务,不用自己维护和交易柜台之间的长连接,不用自己处理登录态和心跳。这些东西写起来不算难,但特别琐碎,还容易在关键时刻掉链子。
我自己早期的用法就很典型:开盘前把日线数据拉下来做一遍筛选,盘中每隔几秒读一次最新价,触发条件就发一笔委托,收盘后把成交回报存进本地。整套逻辑加起来不到两百行,跑得很稳。这种"轻"正是它最大的价值——它把基础设施的门槛降到了几乎为零,让你能把精力全押在策略本身。所以当它不能用了,真正让人难受的不是少了一个按钮,而是背后那条"数据到成交"的自动化链路断了。
1.2 停用之后,真正断掉的其实是这几条链路
把依赖拆细一点,你会发现问题分成四块:行情获取、委托执行、账户状态同步、数据落库。这四块里任何一块断了,整套流程都会卡。行情断了,策略算不出信号;委托断了,有信号也发不出去;状态同步断了,你不知道自己到底有没有成交、持仓对不对;数据落库断了,你的复盘和回测就没有自己的真实样本。
提示:在动手找替代之前,先拿张纸把自己现在这套流程里"哪一步调用了什么接口"写下来。绝大多数人写完之后会发现,真正非它不可的只有一两处,剩下的都能用更通用的方式补上。
我见过不少人一慌,直接把整条链路推倒重来,换成完全不同的一套东西,结果新框架学习成本高,跑起来还各种不顺手。更稳妥的做法是逐块替换:先保证数据能持续拿到手,再解决委托通道,最后把状态同步和落库补齐。这样即使中间某一步卡住,你的策略也不会因为"全换新"而彻底瘫痪。这也是后面所有方案设计的基本出发点——不追求一步到位,追求每一块都可控、可替换。
2. 替代方案的整体设计思路与选型逻辑
真正可靠的替代,不是找到"另一个一模一样的软件",而是把原来耦合在一起的东西解耦。数据归数据、策略归策略、交易归交易,三者之间用清晰的接口连接。这样下次再遇到某个组件不能用了,你只需要换那一块,而不是推倒重来。这是我在几次工具更替之后,最深的一条体会。
2.1 三层解耦:数据、策略、交易各管各的
数据层负责把行情拿到本地,标准是"稳定、可回溯、格式统一"。它不关心你拿这些数据干什么,只保证你要的时候有、存下来能查到。策略层负责在历史数据上回测、在实时数据上产生信号,它的输出应该是一个干净的目标仓位或委托意图,而不是直接去点下单按钮。交易层负责把委托意图变成真实报单,并回收成交回报,它不应该包含任何策略判断。
这三层解耦之后有个巨大好处:回测和实盘共用同一套策略代码。你回测时把"实时数据源"换成"本地历史数据",把"真实下单"换成"模拟撮合",策略逻辑一行都不用改。很多人回测和实盘代码是两套,结果实盘表现和回测对不上,排查半天发现是两套代码里某个条件写反了——这种亏我吃过一次,之后就再也不敢让两边分离。
注意:策略层输出的必须是"意图",比如"目标持仓 500 股""市价买入"。绝对不要让策略层直接持有下单接口句柄,否则回测时你没法把它换成模拟撮合,实盘风险也不可控。
2.2 几条主流路线横向对比,选适合自己的那一条
替代路径大体分四类,各有适用场景。我把关键维度整理成表,你可以对照自己的资金规模、技术能力和对稳定性的要求来选。
| 路线 | 典型形态 | 上手难度 | 可控性 | 适合人群 | 主要代价 |
|---|---|---|---|---|---|
| 开源框架自建 | 本地跑一套开源量化框架,自己接数据与通道 | 中高 | 高 | 有一定开发能力、追求长期可控 | 需要自己维护,初期踩坑多 |
| 券商官方量化终端 | 券商提供的自带策略接口的客户端 | 低 | 中 | 想快速上手、不想碰基础设施 | 受限于券商提供的功能与额度 |
| 云端研究加实盘平台 | 在线写策略、在线跑实盘 | 低 | 低 | 新手验证想法、轻量策略 | 策略细节外露,深度定制受限 |
| 纯本地脚本 | 自己写数据加下单的整套逻辑 | 高 | 最高 | 追求极致灵活、有完整技术栈 | 所有稳定性都得自己扛 |
我的建议很直接