Skip to main content

Windows MiniQMT gateway server.

Project description

qmtserver

qmtserver 是一个面向 MiniQMT / xtquant 的本地 Windows 网关服务。它把只能在 Windows 本机运行的 MiniQMT 能力封装为 HTTP、WebSocket 和 Python SDK,方便其他平台、 策略系统或自动化工具通过网络访问。

重要说明

  • qmtserver 是非官方开源项目,不隶属于迅投、QMT、MiniQMT 或任何券商。
  • 服务端运行环境限定为 Windows + Python 3.13。
  • 交易相关接口默认关闭,并且默认 dry-run。
  • 本项目不提供投资建议;真实交易风险由使用者自行承担。

特性

  • CLI 连接检查:验证行情连接、交易连接、账号订阅和资金查询。
  • 本地 HTTP RPC 网关:提供 /v1/rpc 和白名单方法转发。
  • 交易保护:token 鉴权、交易开关、dry-run、账号/代码/限额校验和审计日志。
  • WebSocket 事件:推送连接状态、委托回报、成交回报和错误事件。
  • Python 客户端 SDK:其他 Python 项目可以不直接依赖 xtquant

当前已完成版本为 0.1.0。后续 0.2.0 计划增加默认关闭的透明 RPC 实验模式,用于 白名单外 xtquant API 探索;该模式不会作为默认安全路径。

快速开始

安装项目依赖和 PyPI 版 xtquant

uv sync --extra xtquant

如果 PyPI 版落后,也可以从迅投知识库下载新版后覆盖安装:

先启动并登录 MiniQMT,再检查连接:

uv run qmtserver check --userdata "D:\path\to\MiniQMT\userdata_mini" --account-id "资金账号"

启动本地网关:

uv run qmtserver serve --userdata "D:\path\to\MiniQMT\userdata_mini" --account-id "资金账号"

默认监听:

http://127.0.0.1:8000

常用入口:

GET  /v1/health
GET  /v1/qmt/status
GET  /v1/rpc/methods
POST /v1/rpc
WS   /v1/ws/events

Python 客户端

from qmtserver.client import QmtClient

client = QmtClient("http://127.0.0.1:8000", token="dev-token")
print(client.health())
print(client.status())
print(client.xtdata.get_full_tick(["000001.SZ"]))

文档

开发

uv run python -m unittest discover
uv run ruff check .
uv run ruff format --check .
uv run ty check

许可证

本项目使用 MIT License,详见 LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qmtserver-0.1.0.tar.gz (90.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qmtserver-0.1.0-py3-none-any.whl (37.2 kB view details)

Uploaded Python 3

File details

Details for the file qmtserver-0.1.0.tar.gz.

File metadata

  • Download URL: qmtserver-0.1.0.tar.gz
  • Upload date:
  • Size: 90.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qmtserver-0.1.0.tar.gz
Algorithm Hash digest
SHA256 03b2b7f772c70097c794f991b70e2b2c6c2fc72c7dab039e51bdaa8600214305
MD5 0f4126e8d3d345111d6e6bfed9ba2549
BLAKE2b-256 6f38ca090b09d8c902e1b497d7d1d8e2d4704a5d2a0cd35bc0eeb27b18206e72

See more details on using hashes here.

Provenance

The following attestation bundles were made for qmtserver-0.1.0.tar.gz:

Publisher: publish.yml on gly11/qmtserver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qmtserver-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: qmtserver-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 37.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qmtserver-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 23b6f53f72d04351e4e5c9f65afebe23dd6fb00622787b41308f8bb8f15e7f2a
MD5 9cac3a0d02e7f0e179f4f94234ecfaed
BLAKE2b-256 70bad2e5b84d201e869fca7dce82291edf56002637029a4e5c1d30eec7dc1b1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for qmtserver-0.1.0-py3-none-any.whl:

Publisher: publish.yml on gly11/qmtserver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page