缠中说禅技术分析工具czsc(一)
项目简介
CZSC (缠中说禅技术分析工具) 是一个基于"缠中说禅"理论的量化交易分析框架,版本 0.10.3,作者:zengbin93。
🏗️ 目录组织结构
1️⃣ 核心分析模块
analyze.py - 缠论核心分析引擎
- 功能:分型(FX)、笔(BI)的自动识别
- 核心算法:
- remove_include() - 去除K线包含关系
- check_fx() - 识别顶分型和底分型
- check_fxs() - 批量识别分型序列
- check_bi() - 识别笔的形成
- 整合 rs_czsc 的 Rust 加速版 CZSC 类
objects.py - 数据对象定义
- 核心对象(通过 rs_czsc Rust库导入):
- RawBar - 原始K线
- NewBar - 处理后的K线(去包含关系)
- FX - 分型对象
- BI - 笔对象
- ZS - 中枢对象
- Signal - 信号对象
- Event - 事件对象
- Position - 持仓对象
enum.py - 枚举类型
- Mark - 分型标记(顶分型G/底分型D)
- Direction - 方向(向上/向下)
- Freq - 频率(1分钟、5分钟、日线等)
- Operate - 操作(开多、平多、开空、平空、持有)
2️⃣ 策略开发模块
strategies.py - 策略基类
- CzscStrategyBase - 抽象基类,定义策略要素:
- 交易品种及参数
- K线周期列表
- 交易信号配置
- 持仓策略列表
- CzscJsonStrategy - 基于JSON配置的策略实现
3️⃣ 交易执行模块 (traders/)
traders/
├── base.py # CzscTrader核心交易员类
├── sig_parse.py # 信号解析器
├── dummy.py # 简单回测
├── weight_backtest.py # 权重回测
├── performance.py # 绩效分析
├── optimize.py # 参数优化
├── rwc.py # Redis权重客户端(实时策略管理)
└── cwc.py # 缓存权重客户端
核心功能:
- CzscTrader - 多级别联立决策交易员
- CzscSignals - 信号生成器
- DummyBacktest - 虚拟回测
- WeightBacktest - 权重回测
- RedisWeightsClient - 实时策略权重管理
4️⃣ 信号系统 (signals/)
signals/
├── bar.py # 基于K线的信号
├── tas.py # 技术分析信号(MACD、KDJ等)
├── cxt.py # 缠论笔信号
├── pos.py # 持仓相关信号
├── vol.py # 成交量信号
├── byi.py # 笔翼信号
├── ang.py # 角度信号
├── jcc.py # 价差信号
├── coo.py # 协同信号
├── xls.py # 斜率信号
└── zdy.py # 自定义信号
信号-因子-事件-交易 量化体系:
- 信号 → 因子(信号的线性组合)→ 事件(因子的同类合并)→ 交易决策
5️⃣ 数据连接器 (connectors/)
connectors/
├── ts_connector.py # Tushare数据源
├── jq_connector.py # 聚宽数据源
├── qmt_connector.py # QMT(迅投)接口
├── gm_connector.py # 掘金数据源
├── tq_connector.py # 天勤数据源
├── ccxt_connector.py # 加密货币交易所
├── cooperation.py # 数据协同
└── research.py # 研究接口
支持多种主流数据源和交易接口。
6️⃣ 因子与特征工程 (features/)
features/
├── utils.py # 特征工具函数(归一化、滚动计算)
├── tas.py # 技术分析特征
├── ret.py # 收益率特征
└── vpf.py # 成交量价格特征
核心功能:
- rolling_corr - 滚动相关性
- rolling_rank - 滚动排名
- rolling_norm - 滚动标准化
- feature_returns - 因子收益计算
- feature_sectional_corr - 截面相关性
7️⃣ 传感器模块 (sensors/)
sensors/
├── feature.py # 特征选择器(如FixedNumberSelector)
├── cta.py # CTA策略研究框架
├── event.py # 事件匹配传感器
└── utils.py # 传感器工具
核心组件:
- CTAResearch - CTA策略研究框架
- EventMatchSensor - 事件匹配
- FixedNumberSelector - 固定数量选择器
8️⃣ 飞书集成 (fsa/)
fsa/
├── base.py # 飞书基础客户端
├── bi_table.py # 飞书多维表格
├── im.py # 飞书消息推送
└── spreed_sheets.py # 飞书电子表格
支持飞书办公套件集成,用于策略监控和消息推送。
9️⃣ 工具库 (utils/)
包含30+个工具模块:
核心工具:
├── bar_generator.py # K线生成器(周期转换)
├── cache.py # 磁盘缓存
├── calendar.py # 交易日历
├── echarts_plot.py # ECharts可视化
├── plotly_plot.py # Plotly可视化
├── st_components.py # Streamlit组件(180+ 个可视化函数)
├── ta.py # 技术分析指标
├── trade.py # 交易工具
├── portfolio.py # 组合管理
├── data_client.py # 数据客户端
├── oss.py # 阿里云OSS存储
└── features.py # 特征工程
🔟 可视化组件库 (svc/)
Streamlit Visualize Components - 完整的量化分析可视化库:
模块分类:
- 收益分析:日收益、月收益、年化收益、回撤分析
- 相关性分析:相关性矩阵、截面IC、滚动相关性
- 因子分析:因子分层、因子收益、事件分析
- 回测分析:权重回测、持仓回测、多策略对比
- 统计分析:分年统计、样本内外对比、正态性检验
- 策略分析:策略组合、换手率、收益贡献
1️⃣1️⃣ 其他模块
eda.py (1220行) - 探索性数据分析
- 截面策略分析
- 因子单调性检验
- CTA周期标记
- 波动率分类
- 收益率计算
mock.py - 模拟数据生成
用于测试和演示
aphorism.py - 缠论金句库
包含961行缠中说禅语录
envs.py - 环境变量配置
- czsc_min_bi_len - 最小笔长度
- czsc_max_bi_num - 最大笔数量
hist/ - 历史遗留模块
保留旧版本兼容性
🎨 核心功能总结
✅ 已完成功能
- 缠论技术分析
- ✅ 分型、笔、中枢自动识别
- ✅ 多级别联立分析
- ✅ 去包含关系处理
- 量化交易体系
- ✅ 信号-因子-事件-交易 完整流程
- ✅ 多周期K线处理(分钟、小时、日、周、月)
- ✅ 100+ 信号函数库
- 回测与优化
- ✅ 虚拟回测引擎
- ✅ 权重回测
- ✅ 参数优化(Optuna集成)
- ✅ 绩效分析
- 实盘交易支持
- ✅ 多数据源接入(Tushare、聚宽、QMT等)
- ✅ Redis实时策略管理
- ✅ 飞书消息推送
- 可视化分析
- ✅ 180+ Streamlit 组件
- ✅ ECharts/Plotly 图表
- ✅ 交互式策略分析界面
- 工程化能力
- ✅ 磁盘缓存系统
- ✅ 交易日历
- ✅ 阿里云OSS存储
- ✅ 加密存储
🏛️ 架构设计特点
1. 分层架构
数据层 (connectors)
↓
分析层 (analyze, objects)
↓
信号层 (signals)
↓
策略层 (strategies)
↓
交易层 (traders)
↓
可视化层 (svc, utils)
2. 性能优化
- 使用 Rust (rs_czsc) 重写核心计算逻辑
- 磁盘缓存减少重复计算
- 支持大规模回测
3. 扩展性
- 信号函数可插拔
- 数据源可切换
- 策略配置化(JSON)
4. 生产就绪
- Redis 实时权重管理
- 飞书集成监控
- 多交易接口支持
📈 适用场景
- ✅ A股量化交易:支持股票、指数
- ✅ 期货CTA策略:商品期货、股指期货
- ✅ 加密货币交易:通过CCXT接入
- ✅ 因子研究:横截面、时序因子分析
- ✅ 策略回测:择时、选股策略验证
🎓 技术栈
- 语言:Python 3.10+ / Rust (rs_czsc)
- 数据分析:Pandas, NumPy, SciPy
- 技术指标:TA-Lib
- 可视化:Streamlit, Plotly, ECharts
- 优化:Optuna, scikit-learn
- 存储:Redis, ClickHouse, 阿里云OSS
- 办公集成:飞书API
这是一个企业级的量化交易研究框架,涵盖从数据获取、技术分析、信号生成、策略回测到实盘交易的完整链路,专注于缠论技术分析体系,同时集成了现代量化交易的最佳实践。