前言
迅投 QMT(Quick Market Terminal)作为国内主流的量化交易平台,内置 Python 运行环境,为投资者提供了从行情数据获取、指标计算、策略开发到回测验证与实盘交易的全流程支持。其中回测模型是量化策略开发的核心环节,其准确性直接影响实盘交易效果。本文详细介绍 QMT 回测模型的工作原理、操作步骤和关键注意事项,帮助投资者规范开展策略回测工作。
一、QMT 量化系统核心模型概述
QMT 量化系统支持两类核心模型:回测模型与实盘模型,二者在运行机制和应用场景上存在本质区别:
1.1 回测模型
回测模型是基于历史行情数据,模拟策略在过去市场环境中的表现。系统会按照时间顺序逐根遍历历史 K 线,用模拟资金账号记录所有买卖信号、持仓变化和盈亏情况,最终输出历史净值曲线和全面的绩效评估指标。
回测的核心目的是验证策略逻辑的有效性,发现潜在问题并优化参数,是实盘交易前必不可少的验证环节。
1.2 实盘模型
实盘模型在盘中接收最新的实时行情数据,当满足策略条件时实时触发交易信号并发送下单指令。同时持续跟踪委托状态,根据市场变化进行必要的报撤单操作和风险控制处理。
实盘模型对系统的实时性、稳定性和可靠性要求远高于回测模型,需要经过充分的模拟测试和小资金验证后才能正式部署。
二、回测模型数据准备(关键步骤)
QMT 回测完全基于本地存储的历史行情数据运行,数据的完整性和准确性是保证回测结果可靠的前提。
2.1 首次全量历史行情下载
首次使用回测功能前,必须下载完整的历史行情数据:
- 操作路径:客户端左上角菜单栏「操作」→「数据管理」
- 数据选择建议:
- 点击「开始下载」,等待数据下载完成。建议预留 500GB 以上硬盘空间用于存储历史数据。
2.2 每日定时数据更新设置
为保证回测数据的时效性,建议开启每日自动更新功能:
- 操作路径:客户端右下角「行情」图标 → 「批量下载」
- 选择需要每日更新的数据范围和周期
- 勾选「定时下载」选项,并设置合适的更新时间(建议设置在非交易时段)
- 保存设置后,客户端会在指定时间自动更新本地行情数据
三、回测模型取数方式与注意事项
回测模型与实盘模型在数据获取方式上存在重要区别,这是新手最容易出错的地方:
- 回测模型遍历本地已存储的历史数据,不需要订阅实时行情
- 强烈建议使用
get_market_data_ex()函数读取行情数据
- 必须将函数中的
subscribe参数设置为False,即:
- 重要提醒:如果在回测代码中错误地将subscribe设置为True,系统会尝试订阅实时行情,不仅会降低回测速度,还可能导致数据异常和回测结果不准确。
四、QMT 回测撮合规则详解
了解回测撮合规则是正确解读回测结果的关键。QMT 回测采用以下撮合机制:
- 价格撮合规则:
- 数量撮合规则:
- 成交时间规则:
- 特别说明:回测撮合是基于 K 线数据的理想化模拟,与实盘撮合存在差异。实盘交易中可能会出现滑点、部分成交、委托失败等情况,这些在回测中无法完全模拟。因此,回测结果仅作为参考,不能完全代表实盘表现。
五、回测入口与界面设置注意事项
- 默认参数设置:回测界面右侧的 "基本信息" 栏(包括默认周期、默认主图等)会影响在 "我的" 界面触发回测时的默认参数。建议在开始回测前仔细检查并设置正确的默认参数。
- 快捷回测方式:在行情界面的 K 线图下方点击 "回测" 按钮,系统会自动以当前查看的品种和当前 K 线周期作为回测参数,方便快速测试单个品种的策略表现。
- 运行模式选择:回测务必使用副图模式运行,避免选择 "主图" 或 "主图叠加" 模式,否则可能出现界面显示异常或策略执行错误。
风险提示与免责声明
- 量化交易存在较高风险,过往回测表现不代表未来收益,市场有风险,投资需谨慎。
- 本文仅为 QMT 平台技术操作指南,不构成任何投资建议或交易指导。
- 投资者应根据自身风险承受能力和投资目标,独立做出投资决策并承担相应风险。
- 回测结果受数据质量、参数设置、撮合规则等多种因素影响,与实盘交易结果可能存在较大差异。
- 投资者在进行实盘交易前,务必进行充分的模拟测试和风险评估。
温馨提示:投资有风险,选择需谨慎。