
什么是QMT
QMT的全称是迅投量化交易终端,由北京迅投科技开发。它是一套面向专业投资者的量化交易系统,把行情数据、策略编写、回测、风险控制和实盘交易整合在一个界面里。普通散户用券商APP手动下单,QMT则允许你写一段代码,让电脑自动盯盘、自动买卖。
QMT最常被提到的特点是支持Python和VBA两种语言编写策略。Python版本用的人最多,因为库多、社区活跃。策略写好后,QMT可以连接实时行情,按照你的逻辑发出委托。它支持股票、期货、期权、ETF等多种品种,国内期货柜台如CTP也能对接。
QMT分两个版本:极速版和普通版。极速版走券商自己的快速通道,延迟更低,适合高频或对速度敏感的策略。普通版走标准交易接口,对大多数日内或中低频策略够用。

QMT能做什么
策略编写与回测
你可以在QMT里写一个简单的双均线策略,用历史数据跑一遍,看看过去几年如果执行这个策略会赚多少钱、最大回撤多少。回测结果能帮你判断策略是否值得实盘。
自动交易
策略通过回测后,可以绑定实盘账户。QMT会实时接收行情,当条件满足时自动发出买入或卖出指令。你不用一直盯着屏幕,电脑开着就行。
风控管理
可以设置单笔最大亏损、总仓位上限、禁止交易时间段等。一旦触发风控条件,QMT会自动撤单或停止开仓。
多账户管理
部分券商版本支持同时管理多个资金账户,适合团队或家庭多账户操作。
期货交易
QMT对接国内期货CTP柜台,可以交易商品期货、金融期货。期货的保证金制度、多空双向、T+0规则在QMT里都能正常处理。
国内哪些券商支持QMT
不是所有券商都提供QMT。券商需要向迅投采购系统,并搭建自己的服务器。目前国内支持QMT的券商主要有以下这些。
国金证券
国金是最早一批上线QMT的券商之一,散户接触QMT大多从国金开始。国金的QMT门槛相对亲民,通常要求账户资产达到一定金额,比如30万或50万,不同营业部可能有差异。国金支持股票、ETF、可转债和期货。
国联证券
国联证券的QMT在量化圈里口碑不错,通道速度较快。资金门槛一般也是30万起步,部分营业部可以谈到更低。国联支持Python策略,期货方面对接也完善。
华鑫证券
华鑫证券以交易速度出名,它的QMT走极速柜台,延迟很低。适合做打板、高频T+0的策略。门槛通常要求50万以上,部分量化私募也在用华鑫的QMT。
中金财富证券
中金财富的QMT面向高净值客户,门槛较高,一般100万起步。系统稳定,支持多品种,适合资金量大的个人或小机构。
银河证券
银河证券的QMT覆盖营业部较多,门槛因营业部而异。部分营业部要求50万,也有要求100万的。银河的期货交易支持较好,适合做商品期货跨期套利的用户。
其他券商
还有几家券商也提供QMT,比如国盛证券、华宝证券、东兴证券等。每家券商的资金门槛、佣金费率、是否支持期货、是否走极速柜台都不一样。
开通QMT需要什么条件
资金门槛
大部分券商要求账户资产达到30万到100万不等。少数券商可以做到10万甚至更低,但通常对应普通版而非极速版。
交易经验
部分券商要求有半年或一年的股票或期货交易经验。
风险测评
需要完成券商的风险测评问卷,达到积极型或激进型。
签署协议
需要签署量化交易风险揭示书和QMT使用协议。
软件下载与安装
开通权限后,券商会给你一个QMT安装包和账号。QMT只能在Windows系统上运行,不支持Mac。建议用一台独立的电脑或云服务器跑策略。
QMT和PTrade的区别
PTrade是恒生电子开发的量化交易终端,和QMT是竞品。两者功能相似,都支持Python策略、回测、自动交易。区别在于:
QMT的Python环境更开放,可以安装第三方库,适合复杂策略。PTrade的Python环境相对封闭,但界面更友好,上手更快。
QMT的期货支持更成熟,CTP对接稳定。PTrade在股票和ETF方面也不错,期货支持因券商而异。
选择哪个,看你的策略需求。做期货多就选QMT,做股票ETF多可以两个都试试。
一个简单的QMT策略代码示例
下面是一个双均线策略的Python代码框架,在QMT里可以直接运行。策略逻辑是:5日均线上穿20日均线买入,下穿卖出。
# 双均线策略示例
def init(ContextInfo):
# 设置股票池
ContextInfo.set_universe(['600519.SH'])
# 设置均线周期
ContextInfo.short_period = 5
ContextInfo.long_period = 20
def handlebar(ContextInfo):
# 获取当前K线位置
index = ContextInfo.barpos
# 获取历史收盘价
close = ContextInfo.get_history_data(ContextInfo.long_period + 1, '1d', 'close')
if len(close) < ContextInfo.long_period + 1:
return
# 计算均线
short_ma = sum(close[-ContextInfo.short_period:]) / ContextInfo.short_period
long_ma = sum(close[-ContextInfo.long_period:]) / ContextInfo.long_period
# 获取当前持仓
positions = ContextInfo.get_trade_detail_data('account', 'stock', 'position')
hold = len(positions) > 0
# 交易逻辑
if short_ma > long_ma and not hold:
# 买入
pass
elif short_ma < long_ma and hold:
# 卖出
pass
这段代码只是框架,实际交易需要补充下单函数和风控逻辑。QMT的API文档里有完整的函数说明。
期货交易在QMT里的注意事项
期货和股票的交易规则不同。期货有保证金、每日无负债结算、强平机制。在QMT里写期货策略时,要特别注意仓位管理和保证金监控。
QMT的期货接口支持CTP,可以获取实时行情、下单、撤单、查询持仓和资金。期货策略的回测要考虑主力合约换月,否则回测结果会失真。
期货交易的手续费、滑点比股票高,策略频率不宜过高。中低频的跨期套利、趋势跟踪在QMT里比较容易实现。
怎么选券商
做股票策略,优先看佣金和是否走极速柜台。做期货策略,优先看CTP对接是否稳定、是否支持交易所保证金。资金量小,选门槛低的券商。资金量大,选通道快、系统稳的券商。
开通前问清楚三点:资金门槛多少、佣金费率多少、是否支持你需要的品种。