QMT专业版运行机制与策略开发全攻略(从安装到跑通第一个策略)
发布时间:8小时前阅读:12
拿到QMT专业版后,很多新手一脸懵:界面这么多按钮,策略在哪写?数据从哪来?怎么让它自动交易?这一篇把QMT的运行机制和策略开发拆透,帮你快速上手
️ 一、QMT的架构逻辑(先建立认知)
QMT全称"Quantitative Multi-market Trading System",核心架构分四层:
- 行情层:接收交易所实时行情(五档全推/Tick),本地缓存
- 数据层:管理历史数据下载、财务数据获取、全推/订阅数据分发
策略层:内置Python运行环境,加载用户编写的.py策略文件- 交易层:对接券商交易柜台,发送委托、查询成交、管理持仓
- 关键点:策略运行在本地,需要电脑开机+网络畅通。这也是QMT和PTrade最根本的区别——PTrade是云端托管,QMT是本地执行。
二、三种运行机制(必须分清)
QMT提供两大类共三种运行机制:
① 逐K线驱动(handlebar)
- 历史回测和盘中模拟都按K线逐根调用
每根K线触发一次handlebar(ContextInfo)函数- 在实时行情中,handlebar会随着主图标的tick更新被调用,但只有k线结束时最后一个分笔触发的handlebar调用对ContextInfo的修改才有效(模拟K线效果)
- ② 事件驱动(subscribe)
- 订阅指定标的的实时行情流(Tick/逐笔成交/委托队列)
- 盘中随分笔行情判断交易,适合高频和微观结构策略
- ③ 定时任务(run_time)
- 指定固定时间间隔,持续触发指定的回调函数
- 适合每日开盘前选股、收盘后复盘等场景
三、策略代码的基本结构
一个标准的QMT Python策略包含两个核心函数:
def init(ContextInfo):
"""初始化:只运行一次"""
# 设置股票池、下载历史数据、初始化变量
download_history_data("000001.SZ", "1d", "20230101", "")
ContextInfo.set_universe(["000001.SZ", "600519.SH"])
# 设置佣金、滑点、基准等
def handlebar(ContextInfo):
"""每根K线触发一次(回测/实盘通用)"""
# 获取行情数据
close_list = get_market_data_ex(
fields=["close"],
stock_code=["000001.SZ"],
period="1d",
subscribe=False # False=取历史,True=订阅实时
)
# 计算指标、生成信号、执行交易
if close > ma:
passorder(...) # 下单函数init():策略加载时执行一次,做初始化工作(股票池、资金账号、全局变量、下载历史数据)handlebar():核心逻辑,回测时每根K线触发,实盘时按周期触发- 回测推荐使用"等比前复权价",避免除权除息造成的信号失真
四、模拟 vs 实盘:两种运行模式
QMT的策略运行模式分两种:
模拟信号模式
- 在策略信号界面显示买卖信号,不实际发出委托
- 适合初步验证逻辑是否正确、信号是否准时
- 实盘交易模式
- 显示的策略信号会实际发出到交易所
- 涉及真实资金和真实成交,务必先小资金试水
- 实盘撮合规则以交易所为准:股票价格不能超过2%的价格笼子否则废单;数量超过可用数量时会废单
正确的验证路径:回测通过 → 模拟信号跑1-2周 → 小资金实盘试水
五、数据获取的两种方式
QMT调用历史数据前,需要用户提前下载到本地:
本地数据:用download_history_data按代码、周期、时间区间批量下载到硬盘,回测时通过get_market_data_ex(subscribe=False)读取实时订阅:用get_market_data_ex(subscribe=True)订阅指定标的的Tick流、逐笔成交、委托队列- 全推数据:客户端启动后自动接收全市场最新快照,含五档盘口,适合全市场扫描选股
财务数据:用get_financial_data获取PE/PB/ROE/总股本等基本面因子- ⚠️ 注意:本地数据盘中不会自动更新,做长期回测需定期补充下载;回测时务必用subscribe=False取历史,避免混入未来函数。
六、环境配置要求
- 系统:Windows 10 64位及以上
- 硬件:4核处理器、8GB内存起步(多策略并行建议16G+)
- 网络:避免使用受限的办公网络,跨境连接可能不稳定
- 安装路径:非C盘纯英文路径(如 D:\QMT\),装C盘会导致设置失效
- 首次运行:建议右键→以管理员身份运行,关杀毒防拦截
七、第一天建议做的五件事
- 用测试账号登录,熟悉行情/交易/策略三个模块布局
下载一只股票(如000001.SZ)的日线数据,验证download_history_data是否正常- 打开示例策略,点"回测",看净值曲线和交易记录
- 修改示例策略的参数(如均线周期),观察回测结果变化
- 切换到模拟信号模式跑一天,观察信号触发是否准时
想低佣开户+免费开通QMT跑你的第一个策略? 找我协助办理,权限快速下发,还有入门策略代码模板送你~欢迎联系我
温馨提示:投资有风险,选择需谨慎。
-
REITs打新日历:四川成都 ⌈锦江 REIT⌋ 本周四售!(附认购操作指南)
2026-07-27 16:59
-
2026夜市委托怎么操作?个人经验攻略全分享
2026-07-27 16:59
-
新股发行:【展芯股份】+【国仪公司】+【超纯应材】本周可申购!(附打新神器)
2026-07-27 16:59


问一问

+微信
分享该文章
