缠论工程化 · Rust 核心 · 官方仓库证据

czsc 缠中说禅技术分析工具:从分型/笔/中枢到信号与实盘研究

缠论的结构划分原本靠人眼在 K 线图上手工完成,czsc 把它做成了可编程的算法:分型、笔、线段、中枢由代码自动识别,再往上搭「信号-事件-交易」三层逻辑与多周期联立决策。1.0 起核心算法整体迁到 Rust,Python 侧只做透传。本文按官方仓库与 API 手册整理,不做任何收益承诺。

定位:缠论技术分析工具1.0 核心:Rust + PyO3Python 要求:≥3.10许可证:官方三处不一致(见正文)

项目来源

仓库页面显示约 6.2k Star / 1.7k Fork、1,726 次提交;采集日期 2026-09-16,数值会随社区活动变化。

CZSC 官方 GitHub 仓库页面截图,含仓库名 waditu/czsc、Star 与 Fork 数值及根目录 crates 与 czsc 目录结构 查看仓库源码
What it solves

它解决的三个问题

官方把项目定义为「基于缠中说禅理论的综合性量化交易库」,落到使用上就是三件事:结构怎么自动划、信号怎么组合、多品种怎么批量研究。

把缠论结构交给代码

分型、笔、线段、中枢的识别全部由 Rust 实现并经 czsc._native 暴露,不再需要人工在图上画线。成笔阈值这类关键参数可通过环境变量与构造参数控制。

信号不是直接下单

框架先产出信号,再用 signals_all / signals_any / signals_not 把信号组合成事件,事件再驱动持仓与交易器。中间多了一层事件,策略逻辑与执行被解耦开。

多周期联立有现成入口

BarGenerator 把一个基础周期合成到多个大级别,CzscSignals 与 CzscTrader 直接在这套多级别数据上做联立决策并把持仓管起来,省掉自己搭多周期框架的工作。

How it works

从 K 线到研究的四步

官方 README 给出的示例覆盖了这条链路,每一步都有对应的入口对象。

1. 喂 K 线

把行情整理成 RawBar 列表或标准 DataFrame,再用 format_standard_kline 转换,并指定周期枚举 Freq。

2. 识别结构

构造 CZSC 对象后自动完成去包含、分型与成笔,可读取笔列表与中枢列表。

3. 生成信号

用信号函数序列生成信号,再把信号组合成事件与持仓,形成可回放的交易逻辑。

4. 回测与可视化

权重交给 WeightBacktest 回测,结构可导出为自包含 HTML 在浏览器中查看。

Modules

四个层次,先分清各自管什么

这套框架的分层比较清楚,理解层级就不会把信号当成下单指令。下表的实现位置来自官方 API 手册,使用前请以你所用版本的实际导出为准。

层次主要对象实现位置管什么适用场景注意点
数据结构层RawBar / NewBar / FX / BI / FakeBI / ZScrates/czsc-coreK 线、去包含 K 线、分型、笔、中枢的数据表达任何需要读结构的地方BI 除方向外还带力度、R²、斜率等统计量,别只当坐标用
结构算法层check_fx / check_fxs / check_bi / remove_includecrates/czsc-core判定分型、判定成笔、去除包含关系想自己重写或校验结构逻辑时成笔阈值受参数与环境变量共同影响,详见缠论结构页
信号层czsc._native.signals.*crates/czsc-signals(23 个 .rs,实测)220+ 信号函数的注册与执行把结构特征转成可组合的判断官方 README 两处对函数数量的表述不同(220+ / 246)
事件与持仓层Signal / Event / Positioncrates/czsc-trader信号的逻辑组合(all/any/not)、开平仓与风控把信号变成可回放的交易逻辑事件层是策略逻辑与执行之间的隔离带
交易器层CzscSignals / CzscTradercrates/czsc-trader多周期联立:联立信号 / 联立并管仓位多级别决策rc.8 起 update 系列在遇到硬错时直接抛 ValueError,需要处理异常
回测层WeightBacktest / generate_backtest_report来自外部包 wbt(硬依赖)持仓权重序列的回测与报告验证策略权重它不是这套库自研的回测引擎,归属要写清楚
数据层tq / ts / ccxt / local_dataczsc.connectors期货、A 股、数字货币与本地缓存取数接入自有数据各自需要账号或 Token,且交易时段与复权口径要自己确认
Setup and route

自建算法库,还是先走研究路线?

两条路线服务的目标不同:一个要把缠论结构接进自己的策略工程,一个只要先把研究结论和图表拿到手。

自建算法库路线适合要自己写缠论策略的开发者
装环境接数据识别结构组信号事件回测可视化

成本在环境与数据:Python 需 3.10 及以上,源码构建还要 Rust 工具链;数据源需各自账号或 Token,交易时段与复权口径要自己确认。

EasyClaw 技能路线适合先把研究与图表拿到手
安装 EasyClaw一句话提问

本机技能覆盖行情数据、技术指标、形态识别、选股与研究回测,但不提供缠论结构(分型/笔/中枢)的自动识别,也不提供信号-事件-交易体系。

前置条件先说清:自建路线要求 Python 3.10 及以上(pip 装官方预编译轮子),若要源码构建还需 Rust 工具链与 maturin;数据侧需按所选连接器准备 Tushare Token、天勤账号或 CCXT 交易所密钥。EasyClaw 路线只需安装软件,但各技能可能有 Token 或 API Key 前提。
EasyClaw demo

不想碰 Rust?先把研究任务拆成一句话

下面这些是本机已核验存在的技能目录(SKILL.md 已读),它们承接的是「数据与指标研究」这一段,不承接缠论结构识别那一段。

技能能做什么前置与限制与 czsc 的关系
stock-technical-masteryA 股 K 线形态、MACD/RSI/布林带、量价关系、Wyckoff 与风险管理报告数据源为新浪财经与 Baostock;不支持基本面、不覆盖港美股与期货外汇做的是指标与形态层,不提供分型/笔/中枢的自动识别
quant-analyst金融模型、策略回测、风险指标、组合优化与统计套利需澄清执行环境、数据来源与目标市场可做研究阶段验证,但不含缠论信号体系
tushare-finance220+ 个 Tushare Pro 接口:行情、财务报表、宏观指标需 Tushare Token与 czsc 的 ts_connector 取的是同一数据源,但只负责取数
akshare-finance股票、期货、期权、基金、外汇、债券、指数与加密货币数据需 akshare 1.18 及以上数据覆盖面更广,不涉及结构识别
tongdaxin通达信官方 MCP:行情、K 线、财务、条件选股、指标与研报需授权 APIKEY补足选股与资讯环节
chart-image由数据生成出版级图表图片(折线、柱状、蜡烛图、热力图等)纯 Node.js 环境替代自包含 HTML 的部分出图场景
边界说明:以上技能为「本机目录存在且已读 SKILL.md」的已安装状态,不代表运行成功;各技能的数据源、凭据与额度需按文档确认。czsc 与 EasyClaw 之间没有已证实的集成关系,技能侧不提供缠论结构识别与信号-事件-交易体系。
Who fits

什么人适合走这条路

按你的真实约束选:要不要接触 Rust、数据从哪来、是否依赖缠论结构。

你的情况建议路线理由先看哪一页
策略依赖缠论的分型/笔/中枢结构自建算法库结构识别是这套库的核心能力,其他路线不提供缠论结构 → 信号函数
要做多周期联立的择时自建算法库BarGenerator 与 CzscTrader 就是为多级别决策准备的多级别联立
只写 Python,不想碰 Rust 工具链自建算法库(pip 路径)官方提供预编译轮子,Python 3.10 及以上即可安装安装与前置
已经有 Tushare 或天勤数据管线自建算法库官方连接器可直接对接,减少取数改造数据源接入
只想先看指标、形态与选股结论EasyClaw 技能路线免编译、按任务提问,不需要搭环境与 EasyClaw 路线对比
需要港股、美股或外汇的技术面分析两条路线都不覆盖该组合czsc 的连接器面向期货/A股/数字货币;本机技术分析技能也明确不覆盖港美股与外汇数据源接入(边界段)
FAQ

常见问题

答不了的地方一律以官方仓库与 API 手册为准,以下不回答官方材料之外的情况。

czsc 到底是什么?

官方定义为「缠中说禅技术分析工具」,是基于缠中说禅理论的综合性量化交易库,专注实现缠论分型、笔、线段等核心概念的自动识别,以及基于此的多级别量化交易策略。它不是一个能直接给出买卖点的软件,策略仍然要自己写。

1.0 和 0.9 有什么本质区别?

官方在 README 顶部明确:1.0.X 起缠论核心算法(分型、笔、中枢等)已全部迁移到 Rust 实现,通过 PyO3 扩展 czsc._native 暴露给 Python;并说明 1.0.X 与 0.9.X 不兼容,旧代码需按新 API 迁移。想了解旧 Python 实现逻辑可以查看 0.9.X 分支。

信号函数到底有多少个?

官方口径不一致:README「项目贡献」与「架构概览」写 220+,同一份 README 的「使用案例」一节写 246 个信号函数。本文并列保留两个数字,建议以你所用版本的 czsc._native.signals 实际导出为准,比引用任何二手数字都可靠。

它用的是什么许可证?

官方文件之间并不一致,四份材料给出不同答案:pyproject.toml 声明 Apache-2.0,LICENSE 正文是 Apache License 2.0(Copyright [2025] zengbin93),而 Cargo.toml 的 workspace.package.license 写作 MIT,GitHub 的 API 判定为 NOASSERTION。涉及商用请以你的法务判断并与作者确认,本文不做结论。

作者是 waditu 吗?

不是同一个概念。仓库归属账号是 waditu,但包元数据(pyproject.toml)与 Cargo.toml 的作者字段署名都是 zengbin93。引用时应写成「仓库在 waditu 账号下,包作者署名为 zengbin93」。

它和 EasyClaw 是什么关系?

没有已证实的集成关系。EasyClaw 是提供多种技能(行情数据、技术指标、形态识别、选股、研究回测等)的软件;czsc 是需要 Python 环境、以代码方式使用的缠论算法库。两者层级不同,czsc 在 EasyClaw 中的安装与运行状态为「未验证」。适合先做研究的用户可走技能路线,需要缠论结构的用户仍需自建。

先定目标,再看结构

要把缠论结构接进自己的策略工程,就先从结构识别与成笔参数看起;只想先拿研究结论,可以先看两条路线的边界再决定。