QMT开户入门指南!QMT量化交易从入门到实践:环境、数据、策略与代码全解析
发布时间:29分钟前阅读:6
学习 QMT 量化交易,可以按照环境搭建 → 数据理解 → 策略机制 → 代码实践的顺序推进。QMT 的核心特点是它把行情数据、策略编写和交易执行都整合在本地客户端里,直接在它提供的框架内完成从回测到实盘的闭环。
一、环境:先让本地客户端跑起来
QMT 是运行在 Windows 系统上的本地客户端,内置了 Python 运行环境,开箱即可编写策略。
操作系统与硬件:建议使用 Windows 10 或 Windows 11 的 64 位版本。内存至少 8GB,若涉及多标的回测或同时运行多个策略,16GB 起步更稳妥,32GB 能提供更好的流畅度。硬盘强烈建议使用固态硬盘,因为历史行情数据的下载和读取对磁盘读写速度有一定要求。
Python 环境:QMT 客户端自带 Python 环境,安装后无需额外配置即可使用。策略代码的文件开头需要声明编码格式 #coding:gbk,这是 QMT 策略编辑器的一个固定要求。
二、数据:分清三种来源,回测与实盘各用各的
QMT 的数据分为本地历史数据、全推快照数据和订阅数据三类,理解它们的区别是写好策略的前提。
本地历史数据:用于回测。你需要先在客户端界面中下载所需板块和周期的历史行情(如日线、分钟线),策略回测时从本地读取,速度较快。在代码中,通过 get_market_data_ex 函数并将 subscribe 参数设为 False,即可明确读取本地数据。
订阅数据:用于实盘。策略运行时向券商服务端订阅指定品种的最新行情。订阅数量有上限,且订阅的品种需要手动或随策略停止来释放。在 get_market_data_ex 中将 subscribe 设为 True,即可获取订阅的最新数据。
全推数据:客户端启动后自动接收的全市场最新快照,只有最新值,没有历史序列,适合做全市场扫描类的监控,可以通过专门的函数一次性取出当前所有品种的最新切片。
对于初学者,建议先从回测入手:下载一段日线历史数据,用本地数据验证策略逻辑,熟练后再过渡到实盘订阅。
三、策略:理解三种执行机制,选一种入门
QMT 的策略运行机制主要有三种,可以从 handlebar 开始更容易上手。
handlebar(K 线驱动):最常用、也最适合回测的机制。系统在历史 K 线上逐根遍历,每根 K 线走完时调用一次 handlebar 函数,你在其中计算指标、判断信号、发出委托。实盘中,它也会随行情推送被调用,但只有 K 线最后一个 tick 触发的修改才会被保存,交易信号在下一根 K 线开始时才发送。
subscribe(事件驱动):仅用于实盘,每来一个 tick 就触发一次回调,适合对响应速度要求较高的场景。
run_time(定时器):按固定时间间隔触发,适合做持仓监控、定时检查等任务。
一个完整的策略至少包含两个函数:init 用于初始化(设定股票池、参数等),handlebar(或对应机制的函数)用于承载主逻辑。需要注意的是,QMT 的 Python 不支持多线程和多进程,所有策略在同一线程中执行,因此策略中应避免阻塞式写法,否则会影响其他策略的运行。
四、代码:从最小可运行结构开始
不要一开始就追求复杂的策略。先写一个只包含数据获取和打印的最小结构,确认它能正常跑通。
第一步:搭建骨架。在 QMT 的模型研究界面新建 Python 模型,写下 #coding:gbk,定义 init 和 handlebar,在 handlebar 中打印当前 K 线的时间或收盘价。跑通回测,确认控制台有输出。
第二步:加入数据与指标。在 handlebar 中用 get_market_data_ex 读取本地收盘价序列(subscribe=False),计算一个简单的均线值并打印。此时你已经在做“数据 → 计算”的完整链路了。
第三步:加入交易信号。以双均线为例:短均线上穿长均线时发出买入信号,下穿时发出卖出信号。交易函数使用 passorder,需要注意 quickTrade 参数:0 表示 K 线模式(等待 K 线走完再执行,适合回测),2 表示立即模式(马上执行,适合实盘中对时机要求高的场景)。
第四步:回测与观察。在策略编辑器的回测参数中设置时间区间、初始资金、手续费和滑点,运行回测,查看净值曲线、最大回撤、夏普比率等指标。先不要急着优化参数,而是观察信号出现的位置是否合理,有没有未来函数(即使用了当前 K 线尚未走完的数据)。
第五步:状态管理。ContextInfo 对象有一个需要特别注意的机制:它逐 K 线保存,盘中同一根 K 线内的多次修改会被回滚,只有 K 线结束时的修改才会生效。因此,如果你想记录持仓状态、入场价格等需要跨 K 线保留的信息,不要放在 ContextInfo 里,而应该用全局变量或自定义类的实例来保存。这是新手最容易踩的坑之一。
学习节奏建议
第一周只做三件事:装好客户端、下载一份日线数据、让一个打印收盘价的策略在回测中跑通。第二周引入均线和简单的买卖条件,完成一次完整回测并读懂结果。第三周尝试把同一个策略的逻辑迁移到实盘模拟环境中观察信号触发是否与回测一致。在完全理解 ContextInfo 的保存机制和 quickTrade 参数含义之前,不要贸然用真实资金实盘。QMT 的官方知识库和客户端内的示例模型是最好的参考资料,遇到函数用法直接查内置帮助比在外面找零散教程更可靠。
✅ 优惠佣金 —— 各项专属优惠费率
✅ 智能交易条件单 + 网格交易工具 —— 自动盯盘、自动触发条件单、网格交易,省心又高效
✅AI投顾服务(AI选好股、AI选好基、AI投ETF)——限时30天免费使用
风险提示:智能交易可能因系统、通讯等原因无法正常使用或无法按照您的设置价格发出委托指令及完成成交,最终成交价格及数量以交易所、登记结算机构等记录为准。请密切关注交易回报情况及条件单设置情况。以上信息仅供参考,不构成对委托指令成交的承诺,不构成投资建议,不构成收益或避免损失的承诺。请您务必仔细阅读相关风险提示及协议,了解各类智能交易功能的区别及不同风险,审慎决策是否使用相关功能。投资有风险,入市需谨慎
温馨提示:投资有风险,选择需谨慎。
下一篇资讯:
暂无下一篇



问一问
从业认证

+微信
分享该文章
