Sobre el proyecto

czsc es una herramienta de análisis técnico de código abierto basada en la teoría de Chan (缠中说禅), orientada a la investigación cuantitativa en mercados de acciones, futuros y criptomonedas. El proyecto se distribuye como paquete de Python, instalable mediante pip, y requiere Python 3.10 o superior. En cuanto a la arquitectura, la versión 1.0 adopta una arquitectura híbrida Rust + Python. Los algoritmos centrales de la teoría de Chan (fractales, trazos, centros de consolidación, etc.) han sido migrados completamente a Rust y se exponen a Python a través de la extensión PyO3 czsc._native. El workspace subyacente de Rust incluye los crates czsc, czsc-core, czsc-derive, czsc-signals, czsc-trader, czsc-utils, czsc-ta, czsc-signal-macros y czsc-python. En el lado de Python se ofrecen módulos como traders, utils, connectors, strategies, fsa, mock y envs. Las capacidades principales incluyen: identificación automática de fractales y trazos de la teoría de Chan; definición e implementación del sistema lógico de negociación cuantitativa "señal-evento-negociación", donde los eventos pueden combinarse lógicamente mediante signals_all, signals_any y signals_not; más de 220 funciones de señales; soporte para análisis de decisiones multi-nivel de la teoría de Chan, a cargo de CzscTrader; y un sintetizador de velas BarGenerator para la generación de datos multi-temporalidad. En cuanto a backtesting e investigación, el proyecto integra WeightBacktest para backtesting de secuencias de pesos, y proporciona puntos de entrada de investigación de estrategias como run_replay y run_research. La visualización se genera unificadamente en HTML con plotly y lightweight-charts, admitiendo velas de una sola temporalidad con estructuras de la teoría de Chan, gráficos temporales de pesos, así como informes HTML autónomos sin conexión con superposición de señales y análisis multi-nivel. Los conectores de fuentes de datos cubren datos de futuros de TQ (TQSdk), datos históricos de acciones A de Tushare, exchanges de criptomonedas mediante CCXT, y caché local de datos de investigación. El proyecto también depende de wbt (motor de backtesting de pesos, dependencia obligatoria), wmr (sistema de gestión de pesos, complemento downstream) y talib-rs (dependencia opcional de pruebas para verificación de consistencia numérica de operadores TA), formando un ciclo cerrado de análisis, backtesting, implementación y verificación. Antes de usarlo, debe tenerse en cuenta que la versión 1.0.X, tras migrar los algoritmos centrales a Rust, es incompatible con la versión 0.9.X, por lo que el código antiguo debe migrarse según la nueva API. El proyecto declara que el código abierto se utiliza únicamente para intercambio técnico.