Skip to main content

cfquant

GitHub stars GitHub forks GitHub issues GitHub last commit License: MIT PyPI version Python 3.8 to 3.12

1、cfquant 是将大QMT转为类miniqmt来使用。它让外部 Python 程序和 Web 控制台可以使用大 QMT 的行情、查询、交易和回调能力,并尽量保持接近 xtquant 的调用方式。

2、支持交易委托,交易回调,全推行情推送,行情查询,数据下载等功能。

3、高兼容miniqmt,几乎不用改您原来的miniqmt策略,还是一样的使用。

3、总之,您可以在部署项目后在您的程序中无感使用miniqmt。

4、部署稍微比较复杂,请您耐心~~~,欢迎提功能与需求,让miniqmt再一次伟大!

5、官网与反馈:www.cfquant.org

快速开始

环境要求

  • Windows
  • 已安装并登录大 QMT
  • Python 3.8 - 3.12,生产环境优先使用 3.10 或 3.12

安装方式

方式一:源码包部署(推荐)

新用户和生产环境优先使用源码包部署。原因很简单:cfquant 的 Web 控制台、QMT 入口脚本和本地配置是一起工作的,源码包保留完整项目目录,后续在网页里检查更新、更新 Web、回滚版本、提示 QMT 入口脚本变更都更方便。

  1. 将项目解压到固定目录,例如 D:\cfquant。

  2. 在项目目录安装依赖:

    cd D:\cfquant
    python -m pip install -r requirements.txt
    
  3. 运行 start_cfquant.bat。

启动后打开 http://127.0.0.1:8765/,按网页中的“新手初始化向导”完成账号、模式和 QMT 目录配置。然后在 QMT 中加载对应的入口脚本,回到网页验证资金、持仓、委托和行情。

重点:

  • 源码部署后,网页里的“版本/更新”功能会按完整项目目录更新,适合从官网或 GitHub 拉取新版本。
  • 更新时会尽量保留本地配置、数据库、日志和运行目录,便于日常升级和回滚。
  • 如果新版本修改了 qmt_scripts/ 里的入口脚本,网页会提示你重新更新 QMT 侧脚本并重启对应 QMT 策略。
  • 建议把源码目录固定下来,例如 D:\cfquant,不要频繁挪动目录。

新用户建议先使用通用模式。一个 QMT 加载一个入口脚本即可完成大多数部署。

方式二:PyPI 安装(仅推荐库调用或临时体验)

PyPI 适合外部 Python 策略只安装 cfquant 库,或者临时体验命令行启动方式;不建议把它作为完整 Web 部署的主要方式。pip 安装后的项目文件位于当前 Python 环境的 site-packages,网页里的项目更新、源码回滚和入口脚本同步不如源码包部署直观。

python -m pip install -U cfquant

After installation, you can start the local Web Console:

cfquant --open-browser

如果使用 pip 安装,QMT 侧仍需要加载入口脚本。查看 pip 包内置的 QMT 入口脚本目录:

cfquant qmt-scripts

在 Windows 资源管理器中打开脚本目录:

cfquant qmt-scripts --open

把入口脚本复制到 QMT 可加载目录:

cfquant qmt-scripts --output D:\QMT\cfquant

后续升级 pip 包需要回到命令行执行:

python -m pip install -U cfquant
cfquant qmt-scripts --output D:\QMT\cfquant --force

升级后建议重启本地 cfquant 服务,并在 QMT 中重新加载入口脚本,确保 Web、本地 Python 库和 QMT 侧入口属于同一版本。

验证安装版本和脚本目录:

cfquant version

模式选择

模式 QMT 入口 适用场景
通用模式 CFQUANT_CTYPE_ALL_LOWLAT.py 默认选择,适合大多数用户和单账号部署
极致模式 CFQUANT_LITE.py QMT 有白名单限制、无法导入 cfquant 包时使用
高级模式 普通 QMT 加载 CFQUANT.py,极速交易端加载 CFQUANT_TRADE_LOWLAT.py 需要进一步降低下单、撤单延迟时使用

高级模式需要同时打开两个 QMT,不能在同一个 QMT 中同时加载两个入口。

Python 接入

从 PyPI 安装并在外部策略中调用:

pip install cfquant

示例:

from cfquant import xtdata

tick = xtdata.get_full_tick(["000001.SZ"])
print(tick)

cfquant 默认使用 transport=auto,通常不需要手动配置通信通道。完整导入方式、路由规则和特殊部署方式见外部 Python 接入。

Web Console

The Web Console provides account binding, cash and positions, order fills, order placement and cancellation, market subscriptions, API debugging, deployment guides, and update management.

Common scripts:

start_cfquant.bat       Start
stop_cfquant.bat        Stop
restart_cfquant.bat     Restart

文档

需求 文档
QMT 综合部署教程 QMT 部署教程
通用模式部署 通用模式部署指南
极致模式部署 极致模式部署指南
高级模式部署 高级模式部署指南
账号和 QMT 目录配置 Web 账号运行配置说明
从 miniQMT 迁移 miniQMT 迁移到大 QMT 指南
xtdata 兼容性 xtdata 平替追踪
xttrader 兼容性 xttrader 平替追踪
接口能力范围 QMT 函数封装能力清单
日志、更新和回滚 运维与更新
版本变化 版本日志

More detailed tutorials are also available on the Web Console "Tutorials" page.

Star History

Star History Chart

项目交流群

cfquant 项目交流群二维码

联系作者

许可证

本项目采用 MIT License 开源。

Release files for cfquant 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cfquant 0.2.1
File Size Uploaded
cfquant-0.2.1.tar.gz 6.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for cfquant 0.2.1
File Interpreter ABI Platform
cfquant-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 12.6 MB

Release files / cfquant-0.2.1.tar.gz

Download URL cfquant-0.2.1.tar.gz
Size 6.3 MB
Tags Source
SHA-256 checksum
How to use checksums
61b5fc320a5fd4381e5846330de67030fefb985cf12cc0111541540fac813340
BLAKE2b-256 checksum
How to use checksums
dc863a5104d5dd05ae3adf1ffacc552f3d9f82c363f11a95181e0a200df23007
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.4

Release files / cfquant-0.2.1-py3-none-any.whl

Download URL cfquant-0.2.1-py3-none-any.whl
Size 6.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
f7fb32c1824a59d12e98e8cf796c36ef604dac2a783078a58370f045c7d0b7b9
BLAKE2b-256 checksum
How to use checksums
344cb9557de61864ae6aaa0c98f55ac555d89b1a4a2aaae7196c6c696d646ad2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.4

Release history Release notifications | RSS feed

0.2.42

2 release files

0.2.41

2 release files

0.2.40

2 release files

0.2.39

2 release files

0.2.38

2 release files

0.2.37

2 release files

0.2.36

2 release files

0.2.35

2 release files

0.2.34

2 release files

0.2.24

2 release files

0.2.23

2 release files

0.2.22

2 release files

0.2.9

2 release files

0.2.2

2 release files

This release

0.2.1 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page