# new-tea-quant **Repository Path**: garnet/new-tea-quant ## Basic Information - **Project Name**: new-tea-quant - **Description**: NTQ (New tea quant) 是一个专注于A股市场的量化策略定制和实时市场扫描工具。提供完整的数据获取,策略开发、回测、分析和实时机会扫描等功能。系统采用插件化策略设计,配置驱动以及本地化存储的策略以提高复用性和可回溯性。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://new-tea.cn - **GVP Project**: No ## Statistics - **Stars**: 55 - **Forks**: 13 - **Created**: 2025-07-26 - **Last Updated**: 2026-06-25 ## Categories & Tags **Categories**: stocks **Tags**: Python, 交易策略, 量化框架, 股市, 金融 ## README # New Tea Quant(NTQ)- A股量化交易研究框架

New Tea Quant Logo

Version  Platform  Python  Build  License

> For an English introduction, please see **[here](README_en.md)**. 作者:Garnet Xin & 他的AI小伙伴 GitHub  Gitee  Website ## 当前版本(v0.4.x) 自 **v0.4.0** 起,NTQ 引入 Python 原生文件存储(DuckDB),不再强制依赖第三方数据库服务——有 Python 即可运行。若您仍想使用 MySQL 或 PostgreSQL,向导与设置中均可配置。 最近更新摘要: **v0.4.2** - 回测器与标签计算器支持**多股并行、日历切片**式计算。 - UI 新增**高级功能**入口:特征标签、数据契约和数据源(更新尚未完成)。 - 再增加2个演示策略 - 低价股策略(仅演示目的) - 更多更新请参照 [CHANGELOG.md](CHANGELOG.md)。 ## NTQ 是什么? New Tea Quant是一款对个人开发者友好、轻量级、高性能量化策略回测与研究框架。 它不仅能帮你验证交易策略,还能在接入最新数据源后,作为市场**信号扫描器**,实时捕捉符合策略的交易机会并发出通知。(注:NTQ 专注投研与信号生成,不直接接入实盘交易)。 **如果您在量化研究中遇到过以下痛点,NTQ 将是您的绝佳选择:** **🚀 个人PC运行效率低下** - **痛点**:海量数据回测容易导致个人电脑内存溢出或进程卡死,被迫花钱上云。 - **NTQ 方案**:专门对个人 PC 深度优化过。内置动态资源调度引擎,自动根据 CPU 核心数与内存余量分配计算资源,实现运行稳定性与高速回测的相对平衡。 **📦 部署复杂,安装麻烦** - **痛点**:配置环境折磨人,需要安装数据库、消息队列等一堆繁琐的第三方组件。 - **NTQ 方案**:零第三方外部服务依赖。只要你的电脑装有 Python(≥3.9),克隆代码即可一键运行,把时间留给策略,而不是配环境。 **🧭 研究结论不是按照认知分层,需要复杂的分析** - **痛点**:一体式回测只给一个净值曲线,不知道问题出在「信号太滥」「买点太差」「仓位太重」还是「根本执行不了」;改一个参数就要整段重跑,越调越懵。 - **NTQ 方案**:把研究拆成可独立验证的阶段——寻找机会的能力 → 捕获价格波动的能力 → 有没有把资金正确投入高价值资产的能力 → 策略执行者能不能适应策略交易方式的能力(即将推出的决策者模式)→ 以及多策略组合层(已规划)。先看清每一层好不好,再决定要不要往下走——避免被一条好看的净值曲线掩盖了底层信号或执行环节的真实问题。 **🔍 交易轨迹难以回溯** - **痛点**:回测跑通了,但想逐股排查某笔交易的细节却无从下手,宛如黑盒。 - **NTQ 方案**:分层回测的每一步均落盘保留(含版本快照);配合 Web 策略实验室,可逐股查看买卖轨迹。结构化产物也便于后续分析与机器学习特征工程。 **📊 横截面回测复杂且笨重** - **痛点**:想做「每月/每年在全 A 里选 Top N、低价股组合」这类横截面策略,本地框架往往要手写大量循环,全市场一跑就占满内存,只能缩小样本或上云。 - **NTQ 方案**:原生支持横截面研究模式(如换仓日同步比较全市场标的)。大样本下框架自动分片加载与并行计算,在个人 PC 上也能完成全市场枚举;仓库内附低价股等横截面演示策略,可直接对照学习。 **🛡️ 实盘收益远低于回测** - **痛点**:回测收益率极高,实盘却亏损。往往是因为忽略了未来函数、幸存者偏差、涨跌停限制或复杂的交易规则。 - **NTQ 方案**:内置贴近真实市场的回测引擎。框架在底层默认处理了几类最容易让回测失真的问题: - **幸存者偏差**:使用了PIT(point-in-time)股票池来防止 - **交易规则限制**:自动遵守买入手数规则、涨跌停无法成交、T+1 等等 - **未来函数**:数据严格按照日期切割,防止"上帝视角"式的回测 让您只需专注挖掘 Alpha,剩下的交给框架。 **♻️ 每个策略需要重复计算因子** - **痛点**:多个策略复用同一个指标(如复杂动量因子)时,重复计算导致效率低下,且容易写错。 - **NTQ 方案**:提供强大的“特征标签”功能。支持特征预处理与全局缓存,一次计算,多策略复用。不仅提升了回测速度,更保证了因子逻辑的一致性与安全性。 ### 您还能得到这些“工程化的小心思” - **核心与用户数据的分离**:框架的核心功能`core` 与用户产生的数据 `userspace` 分离,升级框架时策略与配置可保留。 - **大量的配置驱动**:使用settings配置方式完成常做的事情;复杂逻辑再写 Python。 - **方便的使用接口**:自带UI和命令行cli,可以通过UI或者快捷命令完成大部分操作,且遵从「同一策略同一产物」。 - **可复现的研究记录**:版本快照与指纹、`results/` 结构化输出,便于对比「这次和上次差在哪」。 ## NTQ真挚地邀请早期体验志愿者(v0.x) NTQ 仍在快速迭代:**安装向导、文档和 Web UI 都会变**。我一个人很难覆盖所有操作系统、Python 环境和研究习惯——**非常需要一批愿意在本机试用的朋友,一起把框架磨到更好用**。 您**不必会写代码**。按上文完成安装、跑通一个 demo,然后把真实感受告诉我就很有价值。 ### 我们特别希望您反馈什么 - **安装与上手**:哪一步卡住、哪句 README 看不懂、期望更省事的流程 - **策略实验室 / 制定策略**:界面是否顺手、三步回测是否符合您的研究习惯 - **回测结果**:报告是否看得懂、单股溯源是否够用、哪里和预期不一致 - **性能与稳定**:个人 PC 上是否 OOM、卡顿、异常报错(请尽量附系统与复现步骤) - **文档与示例**:缺哪类 demo 策略、官网/仓库哪块需要补 ### 如何参与(任选其一) | 方式 | 适合 | |------|------| | [GitHub Issues](https://github.com/garnet1985/new-tea-quant/issues) | Bug、功能建议(推荐,便于跟踪) | | [Gitee Issues](https://gitee.com/garnet/new-tea-quant/issues) | Bug、功能建议(推荐,便于跟踪) | | [官网留言](https://new-tea.cn/zh-hans/contact) | 无需注册也可填表单 | | GitHub / Gitee 私信 | 简短交流、不方便公开的细节 | 提 Issue 时如能附上:**系统(Win / macOS / Linux)、Python 版本、做到第几步、截图或报错摘要**,会大大加快排查。 ## 支持一下项目 若 NTQ 对您有用、您愿意持续关注它的演进,欢迎在 [GitHub](https://github.com/garnet1985/new-tea-quant) 或 [Gitee](https://gitee.com/garnet/new-tea-quant) 上为仓库点亮一颗 **Star**——这对个人开源项目而言,是非常实在的支持。 这是我第一次认真做开源,您的认可与反馈,是我继续打磨框架的最大动力。谢谢您! ### 请注意 NTQ 本身免费开源,但部分能力依赖您自备资源: - **数据**:框架提供接入与存储能力,**不含**数据源的付费账号或 token;需在第三方平台注册/购买后自行配置。 - **通知与外部自动化**:短信、邮件、推送等**不在框架内**;扫描结果可通过 Adapter 等扩展点交给您自己的程序处理。 ### 另外 需要**轻微的 Python/配置能力**(或使用 AI 辅助)。运行环境为 **Python 3.9+**;默认使用内置 **DuckDB** 文件库,也可在向导中改用 **MySQL / PostgreSQL**。更完整的教程与概念说明见官网 **[new-tea.cn](https://new-tea.cn)**(中文)。 本项目采用 **Apache 2.0** 许可,可自由学习、改造与扩展。 ## 快速安装 + 运行一个策略 目标:**5 分钟内跑起框架 + 跑通一个演示策略**。 ### 前提条件 - 本机需要有 **Python 3.9 或以上**版本。如果您不知道怎么安装,请参考这篇文档:[安装 Python](https://new-tea.cn/zh-hans/install-python)。 - **注意:如果您是开发者**:您需要安装Nodejs(主要是UI需要);数据库建议使用mysql或者pgsql。(DuckDB的单写模式调试很麻烦) ### 第 1 步:获取代码 任选其一: - **Git clone**(推荐): ```bash git clone https://github.com/garnet1985/new-tea-quant.git cd new-tea-quant ``` - **下载 ZIP**:在 GitHub 仓库页选择 **Code → Download ZIP**,解压后进入 **`new-tea-quant`** 根目录(与 `launcher.py` 同级)。 ### 第 2 步:在仓库根目录启动安装向导 在**项目根目录**(能看到 `launcher.py`)打开终端,执行其一: ```bash python launcher.py ``` 若系统上 `python` 指向旧版本,可改用: ```bash python3 launcher.py ``` 脚本会:切到仓库根目录、确保虚拟环境、然后**启动 BFF + 前端并打开浏览器**,进入图形化 **Setup 安装向导**(由 BFF setup API 驱动步骤)。 ### 第 3 步:在浏览器中按向导完成初始化 按页面提示依次完成即可,基本上都是按照默认方式安装。 演示数据的导入会在安装时自动完成(如果您已经有数据,会自动跳过数据安装) 安装成功后点「前往制定策略」进入策略页面。 至此,您就已经完成了NTQ的安装。 **如果您是开发者**,建议使用mysql或pgsql,数据库可以不用新建,程序会自动帮助您新建(如果和已有数据库重名会提示)。 ### 第 4 步:运行一个demo NTQ会自带下边资产用来演示: - **数据:**自带2025年到2026年一年的500个股票的数据作为演示数据,请勿商用。 - **策略**自带默认的demo策略,请注意策略只是方便演示的作用,请不要用于实盘。 从UI点击“制定策略”或更改url路径`/strategy-design/`进入策略目录,从列表里选择一个策略,点击策略名或者“进入调试”策略进入详细页面。 策略页面由4个大块组成: - **策略信息**:在策略页面的上方占满全屏,记录了当前策略的信息和缓存版本 - **策略配置**:在页面的左半边,每一步都有每一步的配置,您可以在这里修改参数,这样就可以看到回测器得到不同的结果。每次参数的变化会导致新的回测版本,您可以切换不同版本回溯以前的配置。 - **执行面板**:当前回测的开始和刷新按钮执行处,还有通到其他回测步骤的快捷按钮,当然,您也可以点击右上角的步骤来快捷切换。 - **策略报告**:当前回测步骤下的回测报告,在您回测完成后会出现当前步骤的报告,您可以和之前不同版本间进行比较,有些步骤可以点击表格中的单股进行K线上的单股回溯。 第一个默认页面是枚举页面,您可以在“执行面板”点击“开始模拟”来进行机会枚举并产生报告。其他步骤页面也是类似步骤。**注意:**有些步骤是需要依赖枚举步骤的,单独运行他们会首先触发枚举的重新运行。 接下来,have fun ^_^ ### 数据说明 1. **(注意,这一步暂时不可用,正在修复中)** 如果您想**获取更多(约 3 年,全 A 股市场)演示数据包**:用于更完整的策略验证/回测,请在 **[new-tea.cn](https://new-tea.cn)** 注册后下载,**清空** `setup/init_data/` 后只放入 **1 个** zip,再执行 `python setup/steps/import_data/install.py`(如果是清空再安装,需要在命令最后加入 `--force` 参数)。 2. **自有数据源**:也可自行接入(例如 Tushare),详见 [userspace/extensions/data_source/README.md](userspace/extensions/data_source/README.md)。 3. 演示数据与 demo 策略仅供学习研究,请勿用于实盘或商用。 ### 一些声明 当前版本仍然是非正式版本 **v0.x** 框架现阶段不能保证任何API的稳定性,当版本进入1.0之后,API将基本稳定。详见 [CHANGELOG.md](CHANGELOG.md)。 ## 常用命令(`cli.py`) 分层回测与扫描(完整列表:`python cli.py -h`): ```bash python cli.py se --strategy demo/regression/rsi/rsi_v1_without_value_anchor # 机会枚举 python cli.py sp --strategy demo/regression/rsi/rsi_v1_without_value_anchor # 价格层 python cli.py so --strategy demo/regression/rsi/rsi_v1_without_value_anchor # 资金层 python cli.py c --strategy demo/regression/rsi/rsi_v1_without_value_anchor # 全市场扫描 python cli.py t --scenario demo/market_cap_tier # 特征标签 ``` 建议显式指定 `--strategy`;需要强制重算时加 `-f`。 --- ## Fun time:AI 如何评价 NTQ? > 以下为第三方 AI 在阅读NTQ一些核心文件和文档后的评价,只供娱乐**完整回复截图**。**非商业广告**,不代表任何 AI 官方立场;AI 可能过度乐观,请结合本仓库自行判断。 > 也欢迎您使用自己的AI来评价这个工程,请注意要让AI读了核心代码文件以后再评价,否则AI可能会出现严重脱离实际的幻觉
Gemini 3.1 Pro(展开长图) ![Gemini 3.1 Pro 对 NTQ 的审阅](docs/images/ai-assessments/gemini-3.1-pro.jpg)
GPT-5.5(展开长图) ![GPT-5.5 对 NTQ 的审阅](docs/images/ai-assessments/gpt-5.5.jpg)
Claude Sonnet 4.6(展开长图) ![Claude Sonnet 4.6 对 NTQ 的审阅](docs/images/ai-assessments/claude-sonnet-4.6.jpg)
DeepSeek(展开长图,6 屏拼接) ![DeepSeek 对 NTQ 的审阅](docs/images/ai-assessments/deepseek.jpg)
Gitee 马建仓助手(展开长图) ![Gitee 助手对 NTQ 的审阅](docs/images/ai-assessments/gitee-assistant.jpg)
--- ## 几个典型用法(举例) | 你想做的事 | 建议路径 | |------------|----------| | **验证「这个信号有没有」** | Web **制定策略** → 选 demo → **枚举机会** → 看触发次数与分布 | | **验证「触发后单笔能不能赚」** | 枚举完成后 → **价格回测** → 报告里点单股看买卖点位 | | **验证「有限资金下还能不能活」** | 价格层 OK 后 → **资金模拟** → 看组合曲线与持仓 | | **每月在全 A 选低价 / Top N** | 参考 `demo/cross_sectional/low_price/`,用 **calendar_slice** 横截面模式 | | **多个策略共用同一因子** | 先跑 **Tag**(`cli.py t`),策略 settings 里引用 Tag 数据 | | **最新行情筛机会** | 数据更新后 **`cli.py c`** 或 Web 扫描(通知需 Adapter 自接) | --- ## 升级 1. 拉取最新 **master**,**保留** `userspace/`,其余覆盖。 2. 根目录执行 `python install.py` 刷新依赖;发布说明若要求重导数据,见上文「数据说明」。 3. 日常启动:`python launcher.py`。 --- ## 许可与支持 - **许可证**:[Apache 2.0](LICENSE) · **变更**:[CHANGELOG.md](CHANGELOG.md) - **反馈 / 贡献**:[SUPPORT.md](SUPPORT.md) · [CONTRIBUTING.md](CONTRIBUTING.md) · [SECURITY.md](SECURITY.md) - **官网**:[new-tea.cn](https://new-tea.cn) **免责声明**:仅供学习与研究,不构成投资建议;回测结果不代表未来表现。
开发者附录(分支、devcli、测试、文档索引) **仓库要点:** `core/` 框架 · `userspace/` 策略与配置(升级保留)· `userspace/strategies/demo/` 演示策略 · [docs/README.md](docs/README.md) **分支:** `master` 发布;从 `dev` 拉 `feature/*` / `bugfix/*`;`hotfix/*` 仅从 rc 拉。勿直接向 `master` 提 PR。 **开发:** `python devcli.py -h`(`ui` 开发 UI · `uk` 释放端口 · `csc` 清缓存)· Docker:[devtools/docker/README.md](devtools/docker/README.md) **测试 / 依赖:** ```bash ./venv/bin/python -m pytest # 需先 pip install -r requirements-dev.txt(含 Flask 等) python3 -m piptools compile --output-file requirements.txt requirements.in ```