cfquant
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 入口脚本变更都更方便。
-
将项目解压到固定目录,例如
D:\cfquant。 -
在项目目录安装依赖:
cd D:\cfquant python -m pip install -r requirements.txt
-
运行
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
项目交流群
联系作者
-
地球号:shcfquant,请注明来意
-
邮箱:litaoflyme@163.com
许可证
本项目采用 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)
| File | Size | Uploaded | |
|---|---|---|---|
| cfquant-0.2.1.tar.gz | 6.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|