使用聚宽执行策略和直接在Q M T执行策略交易的差别是什么?
大家好,我是新摸索量化的一枚小白,在尝试研究搭建模拟交易平台时发现一个问题。
目前接触的量化执行流程
我目前接触到的一种方式是聚宽执行策略,通过策略发送http消息给到一个消息中转站,消息中转站记录消息,Q M T/mini Q M T 交易平台自动刷新获取消息中转站信息并根据信息提示执行交易买卖。
实际发现
但是当我实际去搭建时发现 Q M T/mini Q M T 本身就具有策略执行的功能,那实际上我在聚宽模拟的策略可以直接迁移到 Q M T 软件中执行并完成模拟/ \实 \盘 交易,这样不就省掉了中转站这部分链路使得整体系统更加可靠了么?
疑问
但是这样操作就会有个问题,聚宽的策略执行和Q M T软件自身的策略执行在数据获取或者计算中是否有什么差异呢?从而导致大家都推荐使用聚宽执行策略运行?
求助大家。
问题描述
解决方案
你好!这是一个非常经典且切中要害的问题。你观察得非常敏锐,QMT(及miniQMT)确实自带了完整的Python策略执行引擎,完全可以直接在本地运行策略并下单。那么,为什么市面上还会流行**“聚宽(云端) -> 消息中转 -> QMT(本地)”**这种看似“脱裤子放屁”的复杂架构呢?
这主要源于**云端量化研究平台(如聚宽)与本地交易终端(如QMT)**在产品定位、数据资源和生态上的巨大差异。以下是两者的核心差别及优劣势分析:
1. 数据获取与丰富度的差异(核心痛点)
- 聚宽 (JoinQuant):作为一个成熟的云端量化平台,聚宽最大的优势是数据极其丰富且开箱即用。它不仅提供清洗好的高质量历史K线、Tick数据,还提供海量的财务数据、宏观经济数据、行业概念板块数据、龙虎榜、资金流向,以及开箱即用的Alpha 101/191因子库、数百个基本面/技术面因子。在聚宽上,你可以轻松写出
get_fundamentals查财务报表,或者get_factor_values查因子。 - QMT:QMT本质是一个交易终端,它的强项是实时行情和极速交易。虽然它也提供历史数据下载,但在财务数据、特色因子、宏观数据的丰富度和调用便捷性上,远不及聚宽。如果你在QMT里直接写一个依赖复杂财务指标选股的多因子策略,你会发现找数据、清洗数据、对齐数据是一场噩梦。
2. 回测与研究环境的差异
- 聚宽:提供基于Jupyter Notebook的研究环境,回测引擎非常完善,能自动生成详细的收益曲线、最大回撤、Alpha/Beta等风险指标,还能进行归因分析。社区里有大量现成的开源策略可以直接克隆运行。
- QMT:QMT的回测功能相对基础,图表展示和绩效分析不如聚宽直观。很多量化客习惯在聚宽上反复打磨策略,确认回测无误后,才考虑实盘。
3. 交易执行与系统稳定性的差异
- 直接在QMT执行:链路最短,延迟最低,最可靠。策略直接在本地读取行情并调用QMT的下单接口(直连券商柜台)。没有网络中转,不用担心云服务器宕机或Webhook推送失败,适合对延迟敏感的策略(如日内网格、高频打板)。
- 聚宽 -> 中转站 -> QMT:链路长,存在单点故障风险。聚宽的模拟盘有10秒左右的系统延迟,加上HTTP请求发送到中转站,再由QMT轮询读取,整个过程可能产生几秒到十几秒的延迟。如果中转服务器网络波动,还可能漏单。这种架构绝对不能用于高频交易,只适合日频或低频调仓策略。
4. API易用性与学习成本
- 聚宽API:高度封装,非常Pythonic,对小白极其友好。例如
order_target_value('000001.XSHE', 10000)一句话就能调仓。 - QMT API:相对偏底层,需要处理更多交易细节(如报单状态、撤单逻辑、本地持仓同步等),学习曲线稍陡。
为什么大家推荐“聚宽执行 + QMT中转”的模式?
- 贪图聚宽的数据和算力:很多策略(如多因子选股)每天需要处理全市场5000只股票的庞大财务和量价数据,这在本地QMT跑起来很吃力,且本地缺乏这些数据。让聚宽在云端算好“今天该买哪几只”,然后把结果发给QMT当个“无情的下单机器”,是最省事的做法。
- 代码迁移成本高:很多人的策略已经在聚宽上写好了,且深度绑定了聚宽的API(如
jqdata)。要把这些代码完全重写为QMT的API格式,工作量很大。通过Webhook发信号,只需要在聚宽策略末尾加几行发送HTTP请求的代码即可。
总结与建议:你该怎么选?
作为量化小白,建议根据你的策略类型来决定架构:
- 方案A:直接在QMT中编写并执行策略(推荐)
- 适用场景:技术指标策略(如双均线、MACD)、网格交易、日内T+0、对延迟敏感的策略。这些策略只需要基础的K线和实时行情,QMT完全能胜任。
- 优势:系统最稳定,无中转延迟,真正掌握实盘交易的底层逻辑。
- 方案B:聚宽云端计算 -> 中转站 -> QMT下单
- 适用场景:基本面选股、多因子轮动、需要复杂财务数据和宏观数据的低频策略(如每周/每月调仓一次)。
- 优势:享受聚宽强大的数据源和算力,策略编写简单。
- 方案C(进阶):本地化数据 + QMT直连
- 适用场景:终极形态。在本地部署数据库,通过
jqdatasdk(聚宽的本地数据接口)或其他数据源(如Tushare、AKShare)每天盘后把需要的数据下载到本地,QMT策略直接读取本地数据库进行计算和下单。兼顾了数据丰富度与交易稳定性。
- 适用场景:终极形态。在本地部署数据库,通过