Об этом проекте

czsc — это инструмент технического анализа на основе теории Чань (缠中说禅) с открытым исходным кодом, предназначенный для количественной торговли. Он основан на теории из блога Чань Чжун Шо Чань и в основном обслуживает количественные исследования на рынках акций, фьючерсов и криптовалют. Проект распространяется в виде пакета Python, устанавливается через pip, требует Python 3.10 и выше. Что касается архитектуры, версия 1.0 использует гибридную архитектуру Rust + Python. Основные алгоритмы теории Чань (фракталы, би, центры и т. д.) полностью перенесены на Rust и доступны из Python через расширение PyO3 czsc._native. Базовый Rust workspace включает крейты czsc, czsc-core, czsc-derive, czsc-signals, czsc-trader, czsc-utils, czsc-ta, czsc-signal-macros, czsc-python. На стороне Python предоставляются модули traders, utils, connectors, strategies, fsa, mock, envs. Ключевые возможности включают: автоматическое распознавание фракталов и би; определение и реализацию системы количественной торговли «сигнал-событие-сделка», где события можно комбинировать логически через signals_all, signals_any, signals_not; более 220 функций сигналов; поддержку многоуровневого совместного анализа решений на основе теории Чань, выполняемого CzscTrader; предоставление синтезатора K-линий BarGenerator для генерации данных на нескольких таймфреймах. Что касается бэктестинга и исследований, проект интегрирует WeightBacktest для весового бэктестинга последовательностей и предоставляет точки входа для стратегических исследований, такие как run_replay и run_research. Визуализация унифицирована с выводом HTML через plotly и lightweight-charts, поддерживает однопериодные K-линии со структурой Чань, графики временных рядов весов, а также автономные HTML-отчеты с многоуровневым объединением и наложением сигналов. Коннекторы источников данных охватывают фьючерсные котировки TQ (TQSdk), исторические данные A-акций Tushare, криптовалютные биржи CCXT, а также локальный кэш инвестиционных исследовательских данных. Проект также зависит от wbt (движок весового бэктестинга, жесткая зависимость), wmr (система управления весами, сопутствующая нижестоящая) и talib-rs (необязательная тестовая зависимость для проверки числовой согласованности операторов TA), образуя замкнутый цикл анализа, бэктестинга, внедрения и проверки. Перед использованием обратите внимание: после переноса основных алгоритмов на Rust версия 1.0.X несовместима с версией 0.9.X, старый код необходимо мигрировать в соответствии с новым API. Проект заявляет, что открытый исходный код предназначен только для технического обмена.