type
Post
status
Published
date
Jun 2, 2026 12:41
slug
大QMT外部调用,web服务桥接大QMT行情数据
summary
程序小店:
tags
代码与效率
大QMT
QMT
量化
category
代码与效率
icon
password
语言
程序小店:
快速概览与目标
- 在外部 Python 环境通过 HTTP 调用大QMT 的桥接服务,获取行情数据(tick、1m、5m、日线、分时等)。
- 将返回的 JSON 统一转换为 pandas.DataFrame,方便像 akshare 一样直接打印、保存、分析、画图。
- 可选:把策略放在大QMTserver 中,通过 HTTP 将执行能力服务化,支持远程触发和管理。
使用前提
- 在大QMT 内置 Python 中启动桥接服务(示例):
默认桥接地址:
- 外部环境安装 pandas:

通用基础代码(桥接侧)
下面的代码是所有示例的基础,建议保存为脚本,例如
qmt_bridge_dataframe_demo.py。行情字段与周期说明(要点)
- 大QMT 提供的字段远不止 OHLCV,常见扩展字段包括
amount,preClose,suspendFlag,openInterest,transactionNum,askPrice/askVol/bidPrice/bidVol等。
- period 常见值:
tick,1m,5m,15m,30m,60m,1d,1w,1mon,1y, 以及 Level2 相关如l2quote,l2transaction等。
示例:获取单只证券的 tick 五档行情(单行 DataFrame)
保存 tick 表
获取分时图(/market 返回的 chart)
保存分时表
获取历史行情(/history_data)
推荐字段组合(可直接复制使用)
- 基础 K 线字段:
time,open,high,low,close,volume
- K 线增强字段:
time,open,high,low,close,volume,amount,preClose,suspendFlag
- 期货/期权字段:
time,open,high,low,close,volume,amount,settle,openInterest
- Tick 扩展字段:
time,stime,lastPrice,open,high,low,lastClose,volume,amount,transactionNum
- Tick 五档字段:
time,stime,lastPrice,askPrice,askVol,bidPrice,bidVol
获取 1 分钟/5 分钟/日线示例
获取更完整的 tick 或五档表
说明:
askPrice/askVol/bidPrice/bidVol 返回的是列表列,pandas 会把它们保存在单元格中;如需展开成多列,可再做二次拆分。批量获取多只证券日线并合并
获取买入力(buying_power)
一次性测试脚本(便于接入验收)
桥接接口一览(用途与适合场景)
/tick:轻量五档行情、最新价、买入力结构;适合 高频刷新、盘中手动交易、单行 DataFrame。
/market:完整行情与分时图(chart);适合 页面刷新、盘中走势分析。
/history_data:支持 tick/1m/5m/15m/30m/60m/1d 等历史数据,并可通过fields扩展更多字段;适合 外部策略研究、DataFrame 批量分析、保存为 CSV/Excel。
常见问题与排查要点
- 桥接返回“未就绪”:请确认大QMT 内置 Python 的
big_data_qmt_app.py或桥接服务已运行,端口正确。
- DataFrame 为空:检查证券代码、周期、交易时段、以及是否在
fields中请求了不支持的字段。
- 返回慢或超时:检查大QMT 运行负载、网络、以及桥接服务的超时设置。
推荐上手顺序(快速验收)
- 健康检查:
/health
- 获取 tick 表
- 获取 1 分钟表
- 获取 5 分钟表
- 获取日线表
代码结构概览
- HTTP 接口处理(路由解析、参数校验、鉴权)
- 任务调度与执行(同步/异步执行、任务队列)
- 日志与异常处理
- 配置与环境管理
主要模块详解
HTTP 接口层
该层负责接收外部请求,解析 JSON 参数并进行基本校验,随后将任务发往执行模块。常见端点:
- POST /run — 触发策略执行,返回 task_id(若异步)或执行结果(若同步)
- GET /status?task_id=... — 查询任务执行状态
- GET /history?strategy=... — 查询历史运行结果
实现要点:建议使用 Flask 或 FastAPI;对外 API 应引入 token/签名鉴权并配合 IP 白名单与 TLS。
调度与执行适配
接到执行请求后,服务器会根据配置找到对应的策略脚本,并在受控 Python 环境中运行它。执行方式应支持:
- 使用 subprocess 调用独立进程以保证隔离性;
- 使用异步任务队列(如 Celery 或自研队列)处理耗时任务并返回 task_id;
关键细节包括传参映射、最大并发/超时控制、执行隔离与资源限制。
日志与错误处理
日志应包含请求元信息、执行输出、异常堆栈与耗时统计;错误以结构化 JSON 返回,便于调用侧解析和自动化处理。
Mermaid 流程图(服务化执行流程)
潜在限制与改进建议
- 安全性:不要仅依赖简单 token,建议签名机制 + IP 白名单 + TLS;
- 可扩展性:使用消息队列与工作进程池解耦长任务;
- 可观测性:增加 Prometheus 指标导出,便于监控请求量、成功率与响应时间;
- 测试与 CI:为关键流程编写集成测试(模拟请求与子进程),并在 CI 中运行。









