qmt-knowledge-skill 把 QMT 知识库装进 AI Agent 让大模型直接写大 QMT 代码

⚠️ 免责声明

量化交易存在巨大风险。本项目仅提供 QMT API 文档的知识结构化整理与 AI Agent 辅助能力:

  • 生成的所有策略代码仅供学习参考,不构成任何投资建议
  • 实盘交易前务必在「模拟信号模式」或「模拟柜台」中充分验证策略逻辑
  • 因使用本项目代码、文档造成的任何盈亏,由使用者自行承担全部责任

QMT、迅投 为迅投公司或其关联公司的商标。本项目仅为社区用户自发整理的非官方知识库。

一、为什么要做这个 Skill

我之前分享过两篇相关文章:

最早的做法是把 QMT 官方文档打印成 PDF,再投喂给腾讯 IMA.Copilot、DeepSeek 等大模型,让 AI 帮我写代码。这种方法能用,但有几个明显痛点:

  1. 每次都要重新投喂:换一个对话窗口,又得重新上传 PDF,AI 才能再次「知道」QMT 是什么。
  2. AI 给的是 miniQMT 代码:直接问 DeepSeek,它默认返回的是基于 xtquant 的 miniQMT 代码,并不是我们大 QMT 客户端里能直接运行的 init / handlebar 钩子代码。而现在券商逐步在关闭 miniQMT 参考,大 QMT 才是后续主线。
  3. 枚举值经常被臆造opTypeprTypeorderType 这些参数一旦被 AI 凭记忆瞎猜,下单就是废单。
  4. 缺少硬性编码约束:AI 经常忘记写 # coding:gbk,或者用上 Python 3.7+ 才有的 dataclass、海象运算符,结果在 QMT 内置的 Python 3.6 环境里跑不起来。

为了解决这些问题,我把整理好的 QMT 官方文档做成了一个标准化的 Skill 包qmt-knowledge-skill。装上之后,AI Agent 就自带一份结构化、可检索的 QMT 知识库,写出来的代码天然符合大 QMT 的编码规范。

二、qmt-knowledge-skill 是什么

一句话:给 AI Agent 用的 QMT 极速策略交易系统智能知识技能包

它把 QMT 官方 Python 3.6 API 文档按「入门 → API → 数据与枚举 → 示例与 FAQ」四大类整理成 16 份 markdown 文档,再加一份 SKILL.md 作为 Agent 行为规范。AI Agent 装上这个 Skill 后,就具备以下能力:

场景 示例问题
📖 新手入门 「QMT 怎么运行第一个策略?」「回测和实盘模型有什么区别?」
💻 代码生成 「帮我写一个双均线策略」「写一个获取全市场 Tick 的脚本」
🔎 API 查询 「passorder 的参数有哪些?」「get_market_data_ex 怎么用?」
🎯 枚举参数 「opType 股票买入是多少?」「prType 最新价对应值?」
🧱 数据结构 「Tick 对象有哪些字段?」「Bar 数据包含什么?」
⚠️ 错误排查 「为什么下单是废单?」「取行情数据为空怎么办?」「pandas 报错如何解决?」
📊 指标公式 「MA、MACD、RSI、KDJ 怎么引用?」
🛠️ 环境配置 「如何下载历史数据?」「模拟账号和实盘账号区别?」

三、项目结构

整个 Skill 包结构非常清爽,核心就是一份 SKILL.md + 一个 knowledge/ 知识库目录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
qmt-knowledge-skill/
├── SKILL.md # ⭐ Skill 主入口(Agent 行为规范 + 索引 + 约束)
├── README.md # 项目说明
└── knowledge/ # QMT 官方知识库(按四大类共 16 份文档)
├── 01-入门/
│ ├── 快速开始.md # QMT架构总览 / 回测实盘对比 / 三种运行机制
│ ├── QMT新人上手教程.md # 从零开始上手步骤
│ ├── 迅投研新手指南.md # 迅投研云端版本指引
│ ├── 使用须知.md # Python 3.6 环境 / 白名单 / 账号类型
│ ├── 变量约定.md # ContextInfo / 运行模式 / 变量规范
│ └── 界面操作.md # 账号配置 / 数据管理 / 模型交易界面
├── 02-API/
│ ├── 交易函数.md # ⭐ passorder 综合下单 / 持仓查询 / 撤单改单
│ ├── 行情函数.md # 下载 / 获取 / 订阅 / Tick 快照全套
│ ├── 引用函数.md # MA/EMA/MACD/RSI/KDJ/DMI/BOLL/ATR 等指标
│ ├── 系统函数.md # run_time / 板块 / is_last_bar 等
│ ├── 成交回报实时主推函数.md # 委托/成交/持仓/资金变动回调
│ └── 绘图函数.md # paint/drawline/LINETHICK/COLOR 等
├── 03-数据与枚举/
│ ├── 枚举常量.md # ⚠️ opType/orderType/prType/市场代码 等
│ └── 数据结构.md # Tick/Bar/L2Quote/Position/Account 等字段
└── 04-示例与FAQ/
├── 完整示例.md # 两融/K线全推/目标持仓/快速交易/组合套利 模板
└── 常见问题.md # 白名单报错/编码/废单/数据空等高频问题

SKILL.md 是 Skill 的灵魂——它告诉 Agent 遇到什么问题该读哪个文件生成代码必须遵守哪些硬性约束回答末尾必须附什么风险提示。这样 Agent 不再凭「记忆」乱写,而是先去知识库里查准了再回答。

四、安装

任选其中一条命令即可:

命令 1:

1
openclaw skills install @he-yang/qmt-knowledge-skill

命令 2:

1
npx skills add https://clawhub.ai/he-yang/skills/qmt-knowledge-skill

装上后,在你的 AI Agent 里直接提问,例如「帮我写一个获取全市场 Tick 的脚本」「passorder 的 prType=11 是什么意思」,Agent 就会自动调用本 Skill 查阅知识库并给出符合 QMT 规范的答案。

五、Skill 内置的代码硬约束(重点)

这是这个 Skill 区别于「直接把 PDF 丢给 DeepSeek」最关键的地方。SKILL.md 里硬编码了以下规则,Agent 生成的所有代码都会自动遵守:

规则 说明
🔤 GBK 编码 所有脚本第一行必须写 # coding:gbk,否则中文乱码
🪝 双钩子结构 必须有 def init(ContextInfo): + def handlebar(ContextInfo):
🐍 Python 3.6 不支持 3.7+ 语法特性(f-string = 3.6 可用,但 dataclass / 海象运算符不可用)
📊 第三方库 默认自带 NumPy/Pandas/TA-Lib/SciPy,其他库需要券商开通白名单
🔢 枚举值 opType/orderType/prType 等必须使用 枚举常量.md 中合法数值,禁止臆造
⚠️ 实盘风险 所有生成的 passorder 代码自动附带风险提示语

标准代码模板

Agent 生成的代码都会长这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# coding:gbk

"""
功能:双均线策略
模式:回测模型 / 实盘模型
机制:逐K线 handlebar / 订阅 subscribe / 定时 run_time
"""

account = "test" # 策略交易界面运行时会自动替换为配置账号

def init(ContextInfo):
"""初始化,策略启动时仅执行一次"""
pass

def handlebar(ContextInfo):
"""逐K线回调,核心策略逻辑"""
pass

六、高频 API 速览

Skill 里内置了一份 Top 10 高频查询索引,Agent 会优先在这张表里定位:

# 功能 核心函数 知识库位置
1 🛒 综合下单 passorder(...) 02-API/交易函数.md
2 📈 获取K线行情 ContextInfo.get_market_data_ex(...) 02-API/行情函数.md
3 ⬇️ 下载历史数据 download_history_data(...) 02-API/行情函数.md
4 📡 订阅行情回调 ContextInfo.subscribe_quote(...) 02-API/行情函数.md
5 📊 获取 Tick 快照 get_full_tick(...) 02-API/行情函数.md
6 🏦 查持仓/资金 ContextInfo.get_trade_detail_data(...) 02-API/交易函数.md
7 🏭 获取板块成分 ContextInfo.get_stock_list_in_sector(...) 02-API/系统函数.md
8 📐 技术指标 MA(...) / MACD(...) / RSI(...) 02-API/引用函数.md

七、和「PDF 投喂」方案的对比

对比项 PDF 投喂给 DeepSeek qmt-knowledge-skill
上手成本 每次对话都要重新上传 装一次,长期生效
生成的代码类型 默认 miniQMT / xtquant 代码 大 QMT 原生 init/handlebar 代码
GBK 编码 经常漏掉 强制写入
枚举值准确性 凭记忆可能臆造 强制查阅 枚举常量.md
Python 3.6 兼容 可能用上 3.7+ 语法 硬性约束禁用
实盘风险提示 自动附带
Fallback 渠道 本地未覆盖时访问 https://invest.wtsolutions.cn

简单说:PDF 投喂是「一次性参考」,Skill 是「常驻专家」

八、配合我整理的 QMT 知识库使用

这个 Skill 里的 knowledge/ 目录,其实就是我在 QMT 知识库使用文档 那篇文章里持续维护的 markdown 版本的子集。如果你想要 pdf / html 版本,或者想自己搭一份本地知识库,可以去那篇文章里下载网盘资源。

由于现在券商逐步在关闭 miniQMT 参考,所以这个 Skill 后续也只更新大 QMT 的内容,不再维护 xtquant 部分。

特别说明:资料是从 QMT 官方网站通过 AI 爬取的,大家使用前可以自己和官方的文档对比一下,具体以官方文档为准。

项目地址:https://github.com/he-yang/qmt-knowledge-skill ,MIT 协议开源,欢迎 Issue / PR 一起维护。

小技巧,我的其他关于qmt的文章

QMT使用指南 开始阅读

国债逆回购-闲钱理财 开始阅读

开户qmt 开始阅读

判断当前时段是交易/非交易/竞价/盘后等时间段 开始阅读

如何判断今天是不是交易日 开始阅读

如何低成本选择讯投QMT 的服务器/电脑,低成本运行? 开始阅读

为什么每天早晨QMT会退出登录/重新启动/自动初始化 开始阅读

迅投QMT量化交易系统服务器连接 中断与再连接 开始阅读

迅投QMT交易系统 延迟 委托/成交/持仓/账号信息延迟 get_trade_detail_data延迟 开始阅读

量化交易策略中如何判断当前MACD是否达到最小值 开始阅读

迅投QMT自带策略-双均线实盘示例PY策略-解读 开始阅读

使用DeepSeek R1大模型编写迅投 QMT 的量化交易 Python 代码 开始阅读

本文更新于2026年8月11日


关注我们微信公众号,并在公众号后台发送"qmt","ibkr"或者"invest",第一时间获取最新资讯

如有任何问题,欢迎添加微信,或者在公众号后台联系我们

微信二维码 Share