迅投 QMT 作为国内应用广泛的量化交易平台之一,已与超过 300 家券商及期货公司达成合作。多数券商在满足相应开通条件后,即可为投资者提供 QMT 量化交易服务,无需额外支付软件使用费,因此通过券商开通量化权限成为不少量化投资者的选择。
在上一篇文章中,我们解答了 QMT 安装部署、环境配置与基础回测中的常见问题。本文将继续聚焦大家在日常使用中遇到的高频疑难问题,涵盖行情数据、策略运行与交易执行三大核心模块,帮助大家快速排查并解决问题,提升量化交易的效率与稳定性。
行情数据是量化交易的基础,数据异常会直接导致策略判断失误甚至无法运行。以下是最常见的三类数据问题及解决方案:
这是新手最常遇到的问题之一,主要排查两个方向:
如果策略运行时提示取不到数据,通常是因为未提前下载对应时段的行情数据。可通过 QMT 客户端的【数据管理】功能,补充下载所需的 K 线数据或 TICK 数据。需要注意的是,QMT 不同数据类型的历史数据长度存在限制,且不同券商版本的数据权限可能有所差异,具体以券商提供的服务为准。
QMT 本身具备 Level2 行情的展示与调用能力,但能否使用该功能完全取决于所开户的券商。目前部分券商已调整了 Level2 行情的服务政策,投资者如需使用该功能,可咨询自己的券商专属客户经理了解最新的服务内容与开通条件。
策略编写完成后,在运行与回测过程中也可能遇到各种异常,以下是三个高频问题的解决方法:
出现该问题时,首先检查证券代码的格式是否正确:
如果在【策略开发】模块点击回测或运行后长时间没有响应,优先排查是否使用了setuniverse函数。在当前版本的 QMT 中,除非配合get_history_data函数使用,否则不建议调用setuniverse函数,该函数容易导致策略启动前期出现严重卡顿。
很多新手会遇到策略启动后,先跑几百上千根历史 K 线才走到当前 K 线的问题,这会严重影响实盘交易的及时性。解决方法如下:
handlebar函数中添加ContextInfo.is_last_bar()判断,让策略只在最新一根 K 线触发交易逻辑。交易执行是量化交易的最后一步,也是最关键的一步,任何异常都可能导致实际损失。以下是两个最需要注意的问题:
ETF 的申购赎回有特殊的交易规则,出现异常时可按以下步骤排查:
策略不发单是最让新手头疼的问题,可按以下顺序逐一排查:
quickTrade=1或2的情况外,策略只会在选定周期的最后一个 tick 触发下单。若策略周期设置为日线,则盘中不会发单;以上就是 QMT 日常使用中最常见的高频问题及解决方案。量化交易是一个系统性的工程,除了掌握工具的使用方法外,更重要的是建立完善的风险控制体系。任何策略都不可能适应所有市场环境,投资者需根据市场变化及时调整策略参数,严格控制仓位。
如需了解 QMT 量化权限的开通条件、服务内容及相关费率,可咨询您的券商专属客户经理,获取一对一的专业服务。
温馨提示:投资有风险,入市需谨慎。量化交易存在技术风险、市场风险、系统风险等多种风险,过往业绩不预示未来表现,投资者应根据自身风险承受能力谨慎决策。