Does CZSC fit your research?
CZSC makes sense when your research already needs Chan theory structures such as fractals, strokes and central zones. Its README describes a Python-facing toolkit with Rust core calculations, signal composition, positions and multi-timeframe analysis. Our recorded installation attempt did not establish that these features worked in the sandbox.
The documented workflow connects raw bars to structural analysis, signals and positions. BarGenerator aggregates bars across frequencies; CzscSignals and CzscTrader coordinate multi-timeframe analysis. HTML visualization can display structures and signal points. The README describes more than 220 signal functions, but that is a project claim, not our count of tested functions.
What our recorded run establishes
Our run is dated October 3, 2026 and used commit 701e480a545004f945bb1721e510ae610ad90c4c. The install step timed out after 900 seconds with exit code 124; the raw record gives 900,112 milliseconds. The output tail is empty. It does not identify the command, show how far dependency downloads progressed or explain the timeout.
No build, test, audit, installed-binary check or trading workload result is recorded. Dependency count and installed size are unknown. There is no supported passing-test count, datetime assertion result or security finding from this run. An installation timeout alone does not show that CZSC is broken.
The recorded sandbox configuration was 3 CPUs, 8 GB of memory and image ghcr.io/astral-sh/uv:python3.12-bookworm. That image name does not establish the actual runtime version. Repository measurements recorded 626 files, approximately 69,317 source lines and 3.9 MB, with four CI workflows and a tests directory. The detector found no Dockerfile or Compose configuration. These observations describe the checkout, not successful execution or test coverage.
Installation instructions and migration costs
The README requires Python 3.10 or newer. It recommends a precompiled PyPI package and documents Rust plus maturin for source builds. A precompiled installation and a source build are different paths; our record does not establish completion of either.
For 1.0.X, the README says the Chan core moved to Rust and is exposed through czsc._native using PyO3. It describes nine Rust crates. The changelog says the old Python core has no fallback and lists removed namespaces and changed imports. Moving from 0.9.X therefore requires code migration, not just a package update.
Version 1.0.1 added structural-analysis functions and CZSC.zs_list, according to the changelog. Issue 343 separately reports the missing attribute in 1.0.0rc8. That report concerns a specific release candidate; it does not establish a failure in our run.
The supplied current changelog also labels 1.0.2 as unreleased and explicitly warns of 34 signal-output-key migrations without old-key aliases. It says registration names, calling parameters, public APIs and classification values remain unchanged, while old strategy conditions will not match the new output keys. Its instructions cover Event/Position conditions, persisted signals, filters and regenerated caches or backtest snapshots. It tells users with unmigrated strategies to remain pinned to 1.0.1. Do not infer compatibility from the patch version number.
That changelog describes changes after the measured commit. Its verification and repair claims are upstream reports, not results from our October 3 run.
Data and backtesting responsibilities
The README lists connectors for TQSdk futures data, Tushare Chinese-equity data, CCXT cryptocurrency exchanges and local caches. These documented adapters do not establish access to a provider or the suitability of its data for your strategy. Check provider requirements before planning an evaluation. Issue 346 requests AKShare support; the supplied connector list does not include it.
The README identifies wbt as the dependency supplying WeightBacktest and backtest reports. It describes wmr as a separate downstream system for storing and querying weights, rather than a hard dependency. These projects have complementary roles in the documented workflow.
Use mock data to understand input formats, then evaluate a small fixed market dataset. Check timestamp handling, corporate actions, transaction costs and leakage before interpreting returns. No market-data workload or profitability result was measured here.
Documentation and alternatives
The supplied README and public API reference contain substantial Chinese explanations of architecture, setup, types, connectors and visualization. The README also links generated documentation and community resources. These extracts do not establish the absence of all official English documentation, nor do they verify the completeness of the linked material.
For a different research workflow, vectorbt's README describes vectorized backtesting and large parameter grids. Backtrader's README describes feeds, broker simulation, order types, commissions and slippage. Those are reasons to investigate each alternative, not evidence that either is easier to install, faster or more reliable than CZSC.
How to read the ratings
These are editorial ratings for the intended research audience, not benchmark scores. The rubric is: 1 means a documented obstacle prevents the intended task; 2 means a central evaluation requirement remains unverified; 3 means useful documented support with material limits; 4 requires strong corroboration across the relevant scope; 5 requires unusually complete evidence. Missing evidence limits the rating and does not establish poor product quality.
Setup receives 2/5 because installation completion remains unverified after the timeout. Documentation receives 3/5 because the supplied Chinese README and API reference cover the main workflow, while completeness and an English tutorial path were not verified. Community receives 2/5 because the supplied issues demonstrate participation but do not establish response times or support capacity. Maturity receives 3/5 because versioned releases and migration records exist, while the Rust transition and unreleased signal-key changes require care and our run supplies no runtime validation.
For a new evaluation, first establish installation and import success in your target environment, then record the exact version and run a small reproducible analysis. For an existing strategy, inventory imports and signal conditions before upgrading, and compare outputs on frozen data.

