教程 · 单套解锁 量化编程 · 券商平台

QMT-miniQMT操作手册

使用手册 + 操作教程 共 10 章全部免费开放,一步一步把软件用起来;核心知识点 11 章,¥69 一次解锁讲透原理。

作者 枢汇安全课堂 更新 2026-10-13 阅读 135 收录 券商平台 · 21 章
本课程 · 单套解锁
¥69¥104
单品永久解锁 · 会员可阅 · 一次购买终身使用
✓使用手册 + 操作教程 共 10 章全文免费 ✓核心知识点 11 章,¥69 一次解锁 ✓支持电脑 / 手机 · 永久免费更新
注册后解锁核心知识点
免费学习区 使用手册 + 操作教程 共 10 章全部免费开放 · 核心知识点 11 章为付费内容 ¥69 解锁核心知识点
PART ONE

使用手册

功能在哪 · 是什么 · 怎么调出来

一、QMT 是什么

QMT(迅投量化交易终端)是当前国内个人股票量化最主流的入口:

  • 券商提供:在你开户的券商那里申请开通 QMT 权限(不同券商资金门槛不同,常见为几万到几十万元,详见 FAQ);
  • Python 接口 xtquant:用 Python 写策略,通过本地连接直连券商柜台;
  • 两种运行形态:QMT=完整图形客户端(看行情、手动下单、跑内置策略);miniQMT=无界面极简后台,专门给外部 Python 程序连;
  • 支持品种:A 股、ETF、可转债、期货、期权、融资融券;
  • 速度快、稳定,是现在私募和个人股票量化的事实标准。
新手注解:QMT 不是下载就能用,必须找券商开通权限。不同券商门槛差异很大(部分 5 万–10 万即可,部分要求更高),达不到门槛可以先用 vn.py + SimNow 或天勤 TqSdk 的模拟环境学习。

1、QMT vs 其他方案

方案特点适合谁
QMT/miniQMT券商提供,股票量化事实标准,xtquant 外接任意 Python做股票/ETF/可转债的个人量化
vn.py开源,期货为主,可深度改造做期货、有工程能力
PTrade恒生电子出的券商终端,与 QMT 同类券商支持哪个用哪个
聚宽/米筐云端回测平台偏研究回测、暂不实盘

二、开通权限与安装

1、开通权限

  1. 在你开户的券商 App 或官网/客户经理处申请"QMT 量化交易权限";
  2. 满足适当性要求(资金门槛、知识测试、风险测评;两融/期权/期货需单独开通对应权限);
  3. 券商会给你:QMT 下载链接、资金账号、以及 miniQMT 启动方式。

国内支持 QMT 的券商较多(社区常见如国金、华鑫、中泰、东方财富、国信、方正等,具体以你开户券商为准)。

2、安装 QMT 与 xtquant

  1. 从券商提供的链接下载 QMT 安装包(注意是你券商的版本,不同券商安装目录名不同);
  2. 安装后用资金账号登录;首次登录会下载行情、同步合约信息。

## xtquant 建议 Python 3.8 / 3.9 / 3.10
pip install xtquant
新手注解:xtquant 通常在 QMT 安装目录下也自带一份(bin.x64/Lib/site-packages/xtquant),用券商自带的版本最稳,能保证和你这版 miniQMT 完全匹配。pip install 的版本可能和客户端有出入。

三、QMT 图形界面分区

QMT 完整客户端主界面大致分几块:

  • 行情区:自选股列表、分时图、K 线图;
  • 交易区:普通股票/期货/期权手动下单面板、当日委托成交、持仓;
  • 量化区:策略管理、内置 Python 编辑器、回测、策略实例运行列表;
  • 策略列表:你加载的所有策略实例及其运行状态。

新手建议先在 QMT 图形界面里手动交易几天,熟悉委托、撤单、持仓这些基本概念,再碰 Python 接口。

PART TWO

操作教程

一步一步 · 跟着做完一件事

四、miniQMT 极简后台模式

miniQMT 是 QMT 的"无头版"(没有完整图形界面,登录窗口极简),在 Windows 上作为后台服务运行,专门给外部 Python 程序提供:

  • 行情数据服务(xtdata 走本地 TCP 取行情/历史);
  • 交易服务(xttrader 走本地 TCP 下单/查持仓)。

启动方式:① 以 miniQMT(极简)模式启动券商提供的程序;② 登录资金账号;③ 保持它后台运行;④ Python 脚本通过 xtquant 连接本地服务。

Python 脚本(VS Code / PyCharm / Jupyter 任意 IDE)
下:xtquant SDK(pip install xtquant)
   ├── xtdata ──本地TCP──→ miniQMT(行情数据服务)
   └── xttrader ──本地TCP──→ miniQMT(交易服务)
1. 券商交易系统(柜台):
对比项QMT 完整版miniQMT
界面完整看盘+交易 UI+图表仅一个登录窗口,后台跑
Python内置编辑器,Python 版本/库受限外接任意 Python,可用全部 pip 包(pandas/numpy 等)
资源占用较重(完整 GUI,约 500MB+ 内存)轻量(约 50MB 内存)
调试内置编辑器,调试有限任意 IDE 完整断点调试
连接方式—一次性连接,断线不自动重连
适合手动交易、可视化分析、内置策略7×24 自动跑程序、外部集成、VPS 部署
白话注解:QMT 完整版就像汽车有方向盘有仪表盘,miniQMT 是把仪表盘拆了只留发动机——专门给程序用的。跑实盘策略用 miniQMT,别用完整 QMT:完整界面吃内存多,还可能不小心手动下单干扰策略。

五、xtdata:行情与历史数据接口

xtquant.xtdata 负责一切"取数"。它有三种数据访问模式,必须分清:

模式调用说明
历史数据download_history_data() → get_market_data_ex()先把历史下载到本地缓存,再从缓存读;首次访问前必须先下载
实时订阅subscribe_quote() → callback订阅后通过回调函数推送实时行情
快照get_full_tick()一次性取全市场最新 tick 快照

1、连接行情服务

from xtquant import xtdata
xtdata.connect() # 连接本地 miniQMT 行情数据服务

2、下载并读取历史 K 线


## 首次访问前先下载(增量下载到本地缓存)
xtdata.download_history_data('600000.SH', '1d',
                             start_time='20240101', end_time='20250101')

## 读取:返回 {股票代码: DataFrame} 字典
data = xtdata.get_market_data_ex(
field_list=[], # 空列表=取全部字段
    stock_list=['600000.SH'],
period='1d', # 周期见下表
    start_time='20240101',
    end_time='20250101',
dividend_type='front' # front=前复权 / back=后复权
)
print(data['600000.SH'].tail())

period 常用取值:tick、1m、5m、15m、30m、1h、1d、1w、1mon(月线)。复权用 dividend_type:front 前复权、back 后复权。

3、订阅实时行情

from xtquant import xtdata

def on_data(datas): # datas 是 {代码: tick字典}
    for code, tick in datas.items():
        print(code, tick['lastPrice'], tick['volume'])

## 订阅单只 tick;也可用 period='1d' 订阅日线推送
xtdata.subscribe_quote('600000.SH', period='tick', callback=on_data)
xtdata.run() # 阻塞当前线程,持续接收(要放子线程!)
白话:xtdata.run() 会把当前线程堵死在那等行情,所以订阅要放进单独的子线程,主线程留着下单。另外下载到本地的历史数据有缓存,第二次读飞快;换了品种或要更新,重新 download 即可。

4、Level-2 与其他数据能力

  • Level-2 行情:部分券商免费提供,包括 get_l2_quote(实时快照)、get_l2_order(逐笔委托)、get_l2_transaction(逐笔成交)、get_l2_orderqueue(委托队列)、get_l2_thousand(千档盘口)等;是否可用问你券商。
  • 全市场推送:subscribe_whole_quote() 一次性订阅全市场行情,适合做扫描类策略。
  • 财务数据:get_financial_data() 可取三大报表、每股指标、股本结构、十大股东等(先 download_financial_data() 下载)。
  • 参考数据:交易日历、节假日、板块成分、指数成分与权重、除权除息、合约信息;另有打新数据、ETF 申赎清单、公告新闻、连板跟踪、高低频 IOPV 等。

六、xttrader:交易接口与回调

1、连接交易服务的固定套路

from xtquant import xtconstant
from xtquant.xttrader import XtQuantTrader, XtQuantTraderCallback
from xtquant.xttype import StockAccount

## path 必须指向 QMT 安装目录下的 userdata_mini 文件夹
path = r'D:\国金证券QMT交易端\userdata_mini'
session_id = 123456 # 每个策略/脚本必须唯一

class MyCallback(XtQuantTraderCallback):
    def on_disconnected(self):
        print('已断开连接')
def on_stock_order(self, order): # 委托状态变化
        print(order.stock_code, order.order_status, order.status_msg)
def on_stock_trade(self, trade): # 成交回报
        print('成交', trade.stock_code, trade.traded_volume, trade.traded_price)
def on_order_error(self, error): # 下单失败
        print('下单错误', error.error_msg)

trader = XtQuantTrader(path, session_id)
trader.register_callback(MyCallback())
trader.start()
if trader.connect() != 0: # 返回 0 表示成功,非 0 失败
    raise SystemExit('连接失败')

account = StockAccount('你的资金账号')
trader.subscribe(account) # 订阅账户推送

2、下单 order_stock


## 限价买入:600000 浦发银行 100 股,价格 10.50
order_id = trader.order_stock(
    account, '600000.SH',
xtconstant.STOCK_BUY, # 买;卖用 STOCK_SELL
    100,
xtconstant.FIX_PRICE, # 限价;最新价用 LATEST_PRICE
    10.50,
'my_strategy', '买入测试' # 策略名/下单备注(可空)

)

## 卖出
trader.order_stock(account, '600000.SH', xtconstant.STOCK_SELL,
                   100, xtconstant.FIX_PRICE, 10.80)

3、撤单与查询

trader.cancel_order_stock(account, order_id) # 按委托号撤单

asset = trader.query_stock_asset(account) # 查资金
print('总资产', asset.total_asset, '可用', asset.cash)

for pos in trader.query_stock_positions(account): # 查持仓
    print(pos.stock_code, pos.volume, pos.can_use_volume, pos.open_price)

for o in trader.query_stock_orders(account): # 当日委托
    print(o.stock_code, o.order_volume, o.traded_volume, o.order_status)

trader.query_stock_trades(account) # 当日成交

4、委托状态码(重要)

order_status 值含义
48未报(还没送出去)
50已报(已到交易所)
54已撤
55部分成交
56已成(全部成交)
57废单(被拒,看 status_msg)

5、账户类型

StockAccount('资金账号') # 普通股票账户
StockAccount('资金账号', 'CREDIT') # 信用账户(融资融券)
StockAccount('资金账号', 'FUTURE') # 期货账户
白话:xttrader 的套路是"先注册回调类 → start → connect(判断返回值是不是0)→ subscribe(account) → 再下单"。很多人报错是因为 path 指错了(没指到 userdata_mini 文件夹)或 session_id 撞了(两个脚本用同一个 id)。

七、进阶交易能力(两融/期权/打新/转账)

通过 xttrader,miniQMT 不止能买卖普通股票,还支持:

类别能力
股票/ETF买卖(同步/异步)、限价/最新价/市价/本方最优价等委托类型、ETF 申赎
可转债买卖(可转债 T+0)
期货开多/平多/开空/平空
期权买开/卖开/买平/卖平、备兑、行权、锁仓/解锁
融资融券融资买入、融券卖出、买券还券、直接还款、卖券还款、直接还款等
打新新股/新债申购、query_new_purchase_limit 查申购额度、query_ipo_data 查当日新股
银证转账银行转证券、证券转银行(同步/异步)
智能算法VWAP 等算法拆单执行
撤单按委托号或券商合同编号撤单(同步/异步)
白话:这些进阶能力(两融、期权、打新、银证转账)都要先在券商那边单独开通对应权限,光有股票账户用不了。代码上只是 StockAccount 换个类型或调不同函数。

八、部署与排坑(VPS/重连/线程)

方式说明
本地 Windows调试开发用,配合 IDE 断点
云 Windows 服务器7×24 跑策略(阿里云/腾讯云 Windows 实例),miniQMT 仅支持 Windows
备份策略文件、账户配置每天备份,别只存在一台机器

1、常见排坑点(社区高频)

  • miniQMT 必须保持登录状态:Python 脚本运行期间,miniQMT 不能掉线、不能关机。
  • connect() 不自动重连:xtdata.connect / trader.connect 是一次性连接,断线后要自己写重连逻辑。
  • session_id 必须唯一:每个并行脚本用不同 session_id,否则互相顶掉。
  • xtdata.run() 要放子线程:它会阻塞,主线程留着交易;否则下单代码永远不执行。
  • 回调里别同步查询:在 on_stock_order 等推送回调里直接调同步查询可能死锁;用异步查询(如 query_stock_orders_async)或开启 set_relaxed_response_order_enabled(True)。
  • 历史数据先下载再读:没 download 就 get_market_data_ex 会是空的。
  • 不同券商路径不同:path 指到你客户端的 userdata_mini(如 D:\国金证券QMT交易端\userdata_mini、D:\华鑫证券\userdata_mini、D:\中泰证券\userdata_mini)。
新手注解:跑实盘一定要用云 Windows 服务器。家里电脑停电、断网、Windows 自动更新重启,都会让策略停摆甚至裸奔。

九、隐藏功能与冷门技巧(祖坟级)

  1. 用客户端自带 xtquant:路径 bin.x64/Lib/site-packages/xtquant,与 miniQMT 版本严格匹配,比 pip 装的版本少踩坑。
  2. get_full_tick 全市场快照:启动时一次性拿到全市场最新行情,适合初始化时做全市场筛选。
  3. subscribe_whole_quote 全市场推送:做轮动/扫描策略时不用逐个 subscribe。
  4. download_history_data 增量下载:带 incrementally=True 只补增量,比全量重下快。
  5. 回调里用异步查询防死锁:on_stock_order 里直接同步 query 可能卡死,用 query_stock_orders_async 或 set_relaxed_response_order_enabled(True)。
  6. xtdata.run 必须子线程:否则主线程的下单代码永远轮不到执行。
  7. 两融/期权/打新要单独开通权限:代码能调不代表账户有权限,没开通会下废单。
  8. 银证转账也能程序化:xttrader 支持银行证券转账(同步/异步),但实盘慎用自动转账。
  9. VWAP 算法拆单:大额单子直接市价会冲击成本,用内置智能算法按 VWAP 拆成小单分批成交。
  10. Level-2 是否免费问券商:部分券商对 miniQMT 用户免费提供 Level-2,开通后才能用 get_l2_\* 系列。
  11. 跨机部署:miniQMT 在一台 Windows 上跑,Python 脚本在另一台机器上只要 TCP 能连通也能连(生产更建议同机,减少网络故障点)。
  12. 断线重连要自己写:connect 一次性、on_disconnected 回调里要实现重连 + 重新 subscribe(account),否则断网恢复后程序就"哑巴"了。

十、2026 增量更新(深挖第2轮)

来源:迅投官方知识库「XtQuant 版本下载」页(dict.thinktrader.net/nativeApi/download_xtquant.html,页面 2025-12-19 更新)与 thinktrader.net 首页 Skills 介绍,抓取于 2026-09。本节只记手册正文尚未覆盖的近一年 xtquant 新增接口与迅投 2026 新推能力。

1、xtquant 近一年新增的交易/数据接口

  • Python 3.13 支持 + 银证转账全套异步接口(xtquant_250516):xtdata/xttrader 适配 Python 3.13(此前 FAQ 说"3.12+ 可能没编译好"的顾虑已解除);新增 query_bank_info / query_bank_amount / bank_transfer_in / bank_transfer_out / query_bank_transfer_stream 银证转账接口,以及期货期权资金划转 ctp_transfer_option_to_future / ctp_transfer_future_to_option。
  • xttrader 支持北交所(同版本):现在 xttrader 可直接交易北交所股票。
  • 持仓/资产/委托对象加字段:XtOrder/XtTrade/XtPosition 新增 secu_account(股东代码)、instrument_name(证券名称);XtPosition 新增 profit_rate / float_profit / position_profit / open_date;XtAsset 新增 fetch_balance / current_balance。
  • 智能算法下单 API(xtquant_250807):xttrader 新增 get_smart_algo_param / smart_algo_order_async / query_smart_algo_task / cancel_smart_algo_task_async,可用 Python 直接挂智能算法单(手册正文只提了 QMT 界面里的智能算法,没有这组接口)。
  • 千档与队列排名:xtdc.set_thousand_source_mode() 切千档数据源;xtdata.get_order_rank() 查委托在千档队列中的排名(投研版)。
白话:手册正文讲的是"QMT 界面里有银证转账、有智能算法";这一轮补的是用 xtquant 脚本直接调这些功能的接口名——你现在可以在 Python 里直接发银证转账、直接挂智能算法单、直接读股东代码和浮盈字段,不用再回 QMT 界面手动点。版本号对应到 xtquant_250807 及以上。

2、迅投 2026 新推:xtquant SDK Skills 与"一句话建策略"

  • 迅投官网 thinktrader.net 2026 年上线了可一键安装的 xtquant SDK Skill(首批 8 个),覆盖行情、基础信息、财务三大数据底座,可被任意 AI 助手即装即用——相当于把常用 xtquant 调用封装成 AI 可直接调用的工具。
  • QMT 客户端已支持拖拽建模与"AI 一句话建策略":用自然语言描述想法,AI 自动生成/搭出策略骨架。
白话:以前写 xtquant 要自己查文档拼接口;2026 年迅投把高频用到的数据接口打包成了 AI Skill,喂给 AI 助手就能直接出可跑的取数代码;不会写代码的人也能在 QMT 里用嘴"说"出一个策略雏形。注意这些是面向 AI/低代码的新入口,传统手写 xtquant 的用法不变。
本站固定免责声明:本教程仅讲解 QMT/xtquant 的软件操作,不构成投资建议、策略推荐或实盘引导。程序化交易风险极高,可能造成重大损失。请通过持牌券商参与交易,谨慎决策。功能、接口、状态码、门槛等以迅投官方知识库(dict.thinktrader.net)与你开户券商的最新版本为准。
付费专享 · 核心知识点 11 章

继续阅读:核心知识点,搞懂原理

QMT-miniQMT操作手册 — 共 21 章,已免费阅读 10 章,剩余 11 章核心知识点讲透「为什么这样、点了会怎样」。

十一、数据源与频率
十二、回测引擎原理
十三、滑点与手续费建模
十四、参数优化与过拟合
十五、风险控制模块
十六、绩效评价指标
…等共 11 章核心内容
✍️ 注册后扫码购买 🔐 已有账号,去登录 单套 ¥69 永久 · 会员可阅
SERVICE & PRICING
服务收费说明 · 明码标价,无隐藏收费
全部课程统一 ¥39-69,买一套永久使用。以下为购买与使用的完整流程。
01先免费试读

每套教程的「使用手册」部分均可免费阅读,先确认内容是否适合自己再决定,不必盲买。

02扫码付款

选定课程后点「立即解锁」,页面展示收款二维码与客服微信,扫码转账即可,无需注册海外支付。

03获取卡密

付款完成后客服第一时间发送卡密号与卡密密码,站内消息与微信同步通知。

04兑换解锁

在用户中心「兑换卡密」输入卡密号与密码,系统即时解锁全部章节,无需二次付款。

一次付费,终身可用 · 解锁后课程永久留在账号里,不限次数、不限时间阅读 持续免费更新 · 平台改版、规则变化时课程同步修订
RECOMMEND
相关教程推荐 · 同栏目更多上手机会

💬 用户评价 (0)

🔒 登录并成为会员后可发表评价
还没有评价 · 成为第一个评价的人吧 🎯