【QMT】QMT如何实现分钟级K线策略?Tick数据与K线转换详解
·
AI直接帮您快速解决量化编程难题:https://iris.findtruman.io/ai/tool/ai-quantitative-trading/
问题背景
在实际量化交易中,一个策略通常需要同时监控几十甚至上百只股票。如果逐只轮询获取行情,不仅效率低,还容易造成数据延迟。QMT 提供了实时行情订阅接口,可以实现多股票并发监控。
实现思路
QMT 的推荐方式是使用行情订阅接口,而不是循环调用获取最新价格。
基本流程如下:
-
建立 QMT 连接。
-
一次性订阅多个股票代码。
-
在回调函数中接收实时行情。
-
根据策略条件执行交易逻辑。
示例代码:
from xtquant import xtdata
stocks = [
"600519.SH",
"000001.SZ",
"300750.SZ"
]
def on_data(data):
for code, quote in data.items():
print(code, quote["lastPrice"])
xtdata.subscribe_quote(
stock_code=stocks,
period="tick",
callback=on_data
)
xtdata.run()
这样程序无需主动轮询,当行情更新时会自动触发回调。
注意事项
-
不建议频繁重复订阅同一只股票,否则会增加资源占用。
-
监控股票数量较多时,可按行业或策略拆分订阅,提高稳定性。
-
回调函数应尽量避免复杂计算,耗时任务建议交给独立线程处理,防止阻塞行情接收。
总结
相比循环查询行情,实时订阅不仅延迟更低,而且更适合盘中策略和自动交易,是 QMT 推荐的开发方式。
补充: 如果策略逻辑比较复杂,可以用EasyQuant AI量化编程助手(https://iris.findtruman.io/ai/tool/ai-quantitative-trading/)生成 QMT 的完整策略代码,再根据自己的需求进行修改,比从零开始写代码效率高很多。
更多推荐



所有评论(0)