[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-11562":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},11562,"czsc","waditu\u002Fczsc","waditu","缠中说禅技术分析工具；缠论；股票；期货；Quant；量化交易","",null,"Rust",5280,1542,154,7,0,9,58,268,44,40.57,"Other",false,"master",true,[5,27,28],"quant","tushare","2026-06-12 02:02:32","# czsc - 缠中说禅技术分析工具\n\n[![Downloads](https:\u002F\u002Fstatic.pepy.tech\u002Fpersonalized-badge\u002Fczsc?period=total&units=international_system&left_color=red&right_color=orange&left_text=Downloads\u002FTotal)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fczsc)\n[![Downloads](https:\u002F\u002Fstatic.pepy.tech\u002Fpersonalized-badge\u002Fczsc?period=month&units=international_system&left_color=red&right_color=orange&left_text=Downloads\u002FMonth)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fczsc)\n[![Downloads](https:\u002F\u002Fstatic.pepy.tech\u002Fpersonalized-badge\u002Fczsc?period=week&units=international_system&left_color=red&right_color=orange&left_text=Downloads\u002FWeek)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fczsc)\n[![Python 3.10+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10+-blue.svg)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F)\n[![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fczsc.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fczsc\u002F)\n\n**[项目文档](https:\u002F\u002Fs0cqcxuy3p.feishu.cn\u002Fwiki\u002Fwikcn3gB1MKl3ClpLnboHM1QgKf)** |\n**[投研数据共享](https:\u002F\u002Fs0cqcxuy3p.feishu.cn\u002Fwiki\u002FwikcnzuPawXtBB7Cj7mqlYZxpDh)** |\n**[信号函数编写规范](https:\u002F\u002Fs0cqcxuy3p.feishu.cn\u002Fwiki\u002FwikcnCFLLTNGbr2THqo7KtWfBkd)** |\n**[DEVIN生成的文档](https:\u002F\u002Fdeepwiki.com\u002Fwaditu\u002Fczsc\u002F1-overview)**\n\n> **1.0.X 版本开始，缠论核心算法（分型、笔、中枢等）已全部迁移到 Rust 实现，通过 PyO3 扩展（`czsc._native`）暴露给 Python。** 需要了解旧 Python 实现逻辑的，可查看 [0.9.X](https:\u002F\u002Fgithub.com\u002Fwaditu\u002Fczsc\u002Ftree\u002Fv0.9.69) 版本。\n\n> [czsc_skills](https:\u002F\u002Fgithub.com\u002Fzengbin93\u002Fczsc_skills)\n\n> 源于[缠中说缠博客](http:\u002F\u002Fblog.sina.com.cn\u002Fchzhshch)，原始博客中的内容不太完整，且没有评论，以下是网友整理的原文备份\n\n* 备份网址1：http:\u002F\u002Fwww.fxgan.com\n* 备份网址2：https:\u002F\u002Fchzhshch.blog\n\n* 已经开始用czsc库进行量化研究的朋友，欢迎[加入飞书群](https:\u002F\u002Fapplink.feishu.cn\u002Fclient\u002Fchat\u002Fchatter\u002Fadd_by_link?link_token=0bak668e-7617-452c-b935-94d2c209e6cf)，快点击加入吧！\n* [B站视频教程合集（持续更新...）](https:\u002F\u002Fspace.bilibili.com\u002F243682308\u002Fchannel\u002Fseries)\n\n\n## 架构概览\n\nCZSC 1.0 采用 **Rust + Python 混合架构**：\n\n```\nczsc (Python 包)\n├── czsc._native          ← Rust 扩展（PyO3），缠论核心\n│   ├── CZSC \u002F FX \u002F BI \u002F ZS \u002F RawBar \u002F NewBar \u002F BarGenerator\n│   ├── Freq \u002F Mark \u002F Direction \u002F Signal \u002F Event \u002F Position \u002F Operate\n│   ├── CzscTrader \u002F CzscSignals \u002F generate_czsc_signals\n│   ├── signals.*         ← 220+ 信号函数（Python 端 7 个子模块；详见 crates\u002Fczsc-signals\u002Fsrc\u002F）\n│   └── ta.*              ← Rust TA 算子 (ema\u002Fsma\u002Fboll 等，本次清理 起仅内部使用)\n├── czsc.traders          ← Python 门面，汇聚 Rust 交易 API\n├── czsc.utils            ← 工具函数（绘图\u002F缓存\u002F统计\u002F交易工具）\n├── czsc.connectors       ← 数据源连接器（天勤\u002FTushare\u002FCCXT\u002F本地缓存）\n├── czsc.strategies       ← 策略门面（CzscStrategyBase\u002FCzscJsonStrategy）\n├── czsc.fsa              ← 飞书自动化工具\n├── czsc.mock             ← 测试用模拟数据（转发自 wbt）\n└── czsc.envs             ← 环境变量管理\n```\n\n底层 Rust workspace 包含 9 个 crate：`czsc` \u002F `czsc-core` \u002F `czsc-derive` \u002F `czsc-signals` \u002F\n`czsc-trader` \u002F `czsc-utils` \u002F `czsc-ta` \u002F `czsc-signal-macros` \u002F\n`czsc-python`（PyO3 绑定入口）。\n\n\n## 项目贡献\n\n* 缠论的 `分型、笔` 的自动识别，由 Rust 实现并通过 `czsc._native` 暴露\n* 定义并实现 `信号-事件-交易` 量化交易逻辑体系，事件通过 `signals_all\u002Fsignals_any\u002Fsignals_not` 实现信号的逻辑组合\n* 定义并实现了 220+ 信号函数（Rust 实现），见 `czsc._native.signals`\n* 缠论多级别联立决策分析交易，详见 `CzscTrader`\n* HTML 可视化（plotly + lightweight-charts）：`czsc.utils.plotting.{kline,weight,lightweight}.*`\n\n\n## 安装使用\n\n**注意：** Python 版本必须 **≥ 3.10**\n\n从 PyPI 安装预编译版本（推荐）：\n\n```bash\npip install czsc -U\n```\n\n使用 `uv` 安装（推荐开发环境）：\n\n```bash\nuv pip install czsc\n```\n\n从源码构建（需要 Rust 工具链和 maturin）：\n\n```bash\n# 安装 Rust：https:\u002F\u002Frustup.rs\u002F\n# 安装 maturin\npip install maturin\n\n# 克隆并构建\ngit clone https:\u002F\u002Fgithub.com\u002Fwaditu\u002Fczsc.git\ncd czsc\nmaturin develop --release\n```\n\n> **Rust 构建环境约束**：底层依赖 `pyo3` \u002F `pyo3-stub-gen` 0.22 要求 Python ≥ 3.10。\n> 当系统默认 Python 低于 3.10 时，请通过环境变量显式指定：\n>\n> ```bash\n> export PYO3_PYTHON=$(which python3.12)   # 或任意 3.10+ 的解释器\n> ```\n>\n> 否则 `cargo build` \u002F `cargo test` 会在 `crates\u002Fczsc-python\u002Fbuild.rs` 提前 panic 并给出修复建议。\n> 用 `uv sync --extra dev` 走 UV 流程时，UV 会自动选择项目声明的 Python，不需要额外设置。\n\n\n## 快速开始\n\n### 核心缠论分析\n\n```python\nimport czsc\nfrom czsc import CZSC, Freq, format_standard_kline\nfrom czsc.mock import generate_symbol_kines\n\n# 生成模拟 K 线数据\ndf = generate_symbol_kines('000001', '30分钟', '20240101', '20240601')\n\n# 转换为 RawBar 对象列表\nbars = format_standard_kline(df, freq=Freq.F30)\n\n# 创建 CZSC 分析对象（自动识别分型、笔、中枢）\nczsc_obj = CZSC(bars)\nprint(f\"笔数量：{len(czsc_obj.bi_list)}\")\nprint(f\"中枢数量：{len(czsc_obj.zs_list)}\")\n```\n\n### K 线合成与多级别分析\n\n```python\nfrom czsc import BarGenerator, Freq\n\n# 使用 BarGenerator 进行 K 线合成\nbg = BarGenerator(base_freq='1分钟', freqs=['5分钟', '30分钟', '日线'])\nfor bar in raw_bars:\n    bg.update(bar)\n\n# 获取各周期 K 线\nbars_5m = bg.bars['5分钟']\nbars_30m = bg.bars['30分钟']\n```\n\n### 信号生成\n\n```python\nfrom czsc import generate_czsc_signals, get_signals_config, get_signals_freqs\n\n# 配置信号序列（使用 Rust 实现的信号函数）\nsignals_seq = [\n    \"czsc._native.signals.bar.bar_end_V230331\",\n    \"czsc._native.signals.cxt.cxt_bi_status_V230101\",\n]\n\n# 解析信号所需的周期配置\nfreqs = get_signals_freqs(signals_seq)\nconfig = get_signals_config(signals_seq)\n\n# 生成信号序列\nresults = generate_czsc_signals(bars, signals_seq)\n```\n\n### 权重回测\n\n```python\nfrom czsc import WeightBacktest\nfrom czsc.mock import generate_klines_with_weights\n\n# 生成带权重的模拟数据\ndfw = generate_klines_with_weights(seed=42)\n\n# 运行权重回测\nwb = WeightBacktest(dfw, fee_rate=0.0002)\nprint(wb.stats)  # 回测统计汇总\n```\n\n### 策略研究\n\n```python\nfrom czsc import run_research, run_replay\n\n# 单品种回放\nrun_replay(bars, signals_seq, pos_seq, res_path='.\u002Fresults\u002F')\n\n# 批量品种研究\nrun_research(symbols, signals_seq, pos_seq, res_path='.\u002Fresults\u002F')\n```\n\n### 缠论可视化与回测报告\n\n```python\n# 缠论 K 线（多周期联立，自包含 HTML，离线即可打开）\nfrom czsc.utils.plotting.lightweight import plot_czsc, plot_czsc_trader\n\nhtml = plot_czsc(c, output=\"html\")  # 单周期\nplot_czsc_trader(ct, output=\"html\", path=\"trader.html\")  # 多周期\n\n# 回测 HTML 报告：用 wbt.generate_backtest_report 一键产出\nfrom wbt import generate_backtest_report\ngenerate_backtest_report(df=dfw, output_path=\"report.html\", weight_type=\"ts\")\n```\n\n\n## 核心 API 一览\n\n| 类型 | 符号 | 说明 |\n|------|------|------|\n| **缠论对象** | `CZSC`, `FX`, `BI`, `ZS` | 缠论核心数据结构（Rust） |\n| **K线对象** | `RawBar`, `NewBar`, `BarGenerator` | K线与合成器（Rust） |\n| **枚举** | `Freq`, `Mark`, `Direction`, `Operate` | 方向\u002F频率等枚举（Rust） |\n| **信号\u002F事件** | `Signal`, `Event`, `Position` | 信号与持仓逻辑（Rust） |\n| **分析工具** | `check_fx`, `check_bi`, `remove_include` | 分型\u002F笔校验工具（Rust） |\n| **TA算子顶层别名** | `czsc.ema`, `czsc.sma`, `czsc.rolling_rank`, `czsc.boll_positions`, `czsc.ultimate_smoother` | 技术指标算子顶层别名（Rust） |\n| **交易器** | `CzscTrader`, `CzscSignals` | 多级别交易决策（Rust） |\n| **信号生成** | `generate_czsc_signals` | 批量信号生成（Rust） |\n| **权重回测** | `WeightBacktest` | 权重序列回测（来自 wbt） |\n| **策略** | `CzscStrategyBase`, `CzscJsonStrategy` | 策略封装（Python） |\n| **模拟数据** | `generate_symbol_kines` | 测试用 K线数据（来自 wbt） |\n| **格式转换** | `format_standard_kline` | DataFrame → RawBar 列表 |\n\n\n## 数据源连接器\n\n`czsc.connectors` 提供多个数据源适配器：\n\n| 模块 | 数据源 | 说明 |\n|------|--------|------|\n| `tq_connector.py` | 天勤（TQSdk） | 期货实时\u002F历史行情 |\n| `ts_connector.py` | Tushare | A股历史数据 |\n| `ccxt_connector.py` | CCXT | 数字货币交易所 |\n| `local_data.py` | 投研数据本地缓存 | CZSC 共享数据本地读取入口 |\n\n\n## 可视化（HTML 输出）\n\n本次清理 起项目不再依赖 streamlit，可视化统一以 plotly + lightweight-charts 输出 HTML：\n\n| 模块 | 功能 |\n|------|------|\n| `czsc.utils.plotting.kline` | 单周期 K 线 + 缠论结构（plotly Figure） |\n| `czsc.utils.plotting.weight` | 权重时序图（plotly Figure） |\n| `czsc.utils.plotting.lightweight` | lightweight-charts 自包含 HTML，多周期联立 + 信号叠加 |\n| 累计收益 \u002F 回撤 \u002F 月度热力图 \u002F 综合回测概览 | 改用 `wbt.generate_backtest_report` 或直接 plotly，见 [`docs\u002Fmigration\u002Fcleanup-non-czsc-core.md`](docs\u002Fmigration\u002Fcleanup-non-czsc-core.md) |\n\n如需 streamlit 集成，调用方自行 `pip install streamlit` 后用 `st.components.v1.html(plot_czsc(c, output='html'))` 嵌入即可。从 1.x 升级请参考 [`docs\u002Fmigration\u002Fcleanup-non-czsc-core.md`](docs\u002Fmigration\u002Fcleanup-non-czsc-core.md)。\n\n\n## 相关项目（生态依赖）\n\nczsc 在权重回测、权重落地与 TA 算子一致性校验上依赖以下三个独立开源项目，它们与 czsc 形成\"分析 + 回测 + 落地 + 校验\"的完整闭环：\n\n| 项目 | GitHub | 角色 | 与 czsc 的关系 |\n|------|--------|------|----------------|\n| **wbt** | \u003Chttps:\u002F\u002Fgithub.com\u002Fzengbin93\u002Fwbt> | 策略持仓权重回测引擎（Weight Back Test） | **硬依赖**。提供 `WeightBacktest \u002F daily_performance \u002F top_drawdowns \u002F generate_backtest_report` 等；`czsc.mock` 也转发自 `wbt.mock`。czsc 顶层 `from czsc import WeightBacktest` 即来自此包。 |\n| **wmr** | \u003Chttps:\u002F\u002Fgithub.com\u002Fzengbin93\u002Fwmr> | 策略持仓权重管理系统（Weight Manager，DuckDB \u002F ClickHouse 双后端） | **下游配套**（非硬依赖）。wbt 负责\"离线回测权重\"，wmr 负责\"实盘 \u002F 投研环境下权重的持久化、版本管理与查询\"。czsc 产出信号 \u002F 持仓 → wbt 跑回测 → wmr 落库供下游消费。 |\n| **talib-rs** | \u003Chttps:\u002F\u002Fgithub.com\u002F0xcjun\u002Ftalib-rs> | 纯 Rust 实现的 TA-Lib 替代库 | **测试可选依赖**。仅 `tests\u002Funit\u002Ftest_ta_parity.py` 用它对 `czsc._native.ta`（EMA \u002F SMA 等）做数值 parity 校验，确保 czsc 自研 TA 算子与 TA-Lib 行为一致。运行时代码不依赖。 |\n\n简言之：**wbt = 回测**，**wmr = 权重落地**，**talib-rs = TA 基准**；czsc 自身专注缠论核心算法（Rust）与信号-事件-交易体系，其余环节通过这三个项目解耦协同。\n\n\n## 开发环境搭建\n\n```bash\n# 使用 UV 管理依赖（推荐）\nuv sync --extra dev\n\n# 构建 Rust 扩展（开发模式）\nmaturin develop\n\n# 运行测试\nuv run pytest tests\u002F -v\n\n# 代码格式化\nuv run ruff format czsc\u002F tests\u002F\nuv run ruff check czsc\u002F tests\u002F\n```\n\n\n## 关键环境变量\n\n| 变量 | 说明 | 默认值 |\n|------|------|--------|\n| `CZSC_MIN_BI_LEN` | 最小笔长度 | 6 |\n| `CZSC_MAX_BI_NUM` | 最大笔数量 | 50 |\n| `CZSC_VERBOSE` | 是否输出详细日志 | False |\n\n\n## 使用前必看\n\n* 1.0.X 版本核心算法已迁移到 Rust，与 0.9.X 版本 **不兼容**；旧代码需按新 API 迁移；\n* 免责声明：项目开源仅用于技术交流！\n* 如果你发现了项目中的 Bug，可以先读一下《[如何有效地报告 Bug](https:\u002F\u002Fwww.chiark.greenend.org.uk\u002F~sgtatham\u002Fbugs-cn.html)》，然后在 [issues](https:\u002F\u002Fgithub.com\u002Fwaditu\u002Fczsc\u002Fissues) 中报告 Bug\n\n\n## 缠论精华\n\n> 学了本ID的理论，去再看其他的理论，就可以更清楚地看到其缺陷与毛病，因此，广泛地去看不同的理论，不仅不影响本ID理论的学习，更能明白本ID理论之所以与其他理论不同的根本之处。\n\n> 为什么要去了解其他理论，就是这些理论操作者的行为模式，将构成以后我们猎杀的对象，他们操作模式的缺陷，就是以后猎杀他们的最好武器，这就如同学独孤九剑，必须学会发现所有派别招数的缺陷，这也是本ID理论学习中一个极为关键的步骤。\n\n> 真正的预测，就是不测而测。所有预测的基础，就是分类，把所有可能的情况进行完全分类。有人可能说，分类以后，把不可能的排除，最后一个结果就是精确的。\n> 这是脑子锈了的想法，任何的排除，等价于一次预测，每排除一个分类，按概率的乘法原则，就使得最后的所谓精确变得越不精确，最后还是逃不掉概率的套子。\n> 对于预测分类的唯一正确原则就是不进行任何排除，而是要严格分清每种情况的边界条件。任何的分类，其实都等价于一个分段函数，就是要把这分段函数的边界条件确定清楚。\n> 边界条件分段后，就要确定一旦发生哪种情况就如何操作，也就是把操作也同样给分段化了。然后，把所有情况交给市场本身，让市场自己去当下选择。\n> 所有的操作，其实都是根据不同分段边界的一个结果，只是每个人的分段边界不同而已。因此，问题不是去预测什么，而是确定分段边界。\n\n\n## 原文整理\n\n* [缠中说禅重新编排版《论语》（整理版）](https:\u002F\u002Fblog.csdn.net\u002Fbaidu_25764509\u002Farticle\u002Fdetails\u002F109517775)\n* [缠中说禅交易指南](https:\u002F\u002Fblog.csdn.net\u002Fbaidu_25764509\u002Farticle\u002Fdetails\u002F109598229)\n* [缠中说禅技术原理](https:\u002F\u002Fblog.csdn.net\u002Fbaidu_25764509\u002Farticle\u002Fdetails\u002F109597255)\n* [缠中说禅图解分析示范](https:\u002F\u002Fblog.csdn.net\u002Fbaidu_25764509\u002Farticle\u002Fdetails\u002F110195063)\n* [缠中说禅：缠非缠、禅非禅，枯木龙吟照大千（整理版）](https:\u002F\u002Fblog.csdn.net\u002Fbaidu_25764509\u002Farticle\u002Fdetails\u002F110775662)\n* [缠中说禅教你打坐（整理版）](https:\u002F\u002Fblog.csdn.net\u002Fbaidu_25764509\u002Farticle\u002Fdetails\u002F113735170)\n\n\n## 资料分享\n\n* 链接：https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1RXkP3188F0qu8Yk6CjbxRQ\n* 提取码：vhue\n","czsc是一个基于缠中说禅理论的金融技术分析工具，主要用于股票和期货市场的量化交易研究。该项目采用Rust+Python混合架构，其中核心算法如分型、笔、中枢等已全部用Rust实现，并通过PyO3扩展暴露给Python环境，显著提高了计算效率与稳定性。它定义并实现了超过220个信号函数及一套完整的“信号-事件-交易”逻辑体系，支持多级别联立决策分析以及HTML可视化输出。适合于需要进行高效且深入市场分析的个人或机构投资者使用，在量化策略开发、回测验证等场景下尤为适用。",2,"2026-06-11 03:32:06","top_language"]