# CZSC 缠论分析脚本

这个目录包含三个用于缠论分析的 Python 脚本，它们演示了如何使用 [waditu/czsc](https://github.com/waditu/czsc) 库进行完整的缠论技术分析流程。

## 脚本列表

### 1. fetch_market_data.py - 获取行情数据

通过 Tushare API 获取股票行情数据。

**功能：**
- 获取指定股票的日线数据
- 获取所有股票的基本信息列表
- 支持数据缓存，提高获取效率
- 可导出为 CSV 文件

**使用示例：**

```bash
# 获取平安银行 (000001.SZ) 2024年1月至6月的数据
python fetch_market_data.py \
    --token YOUR_TUSHARE_TOKEN \
    --ts_code 000001.SZ \
    --start_date 20240101 \
    --end_date 20240614 \
    --output data.csv

# 获取所有股票基本信息
python fetch_market_data.py \
    --token YOUR_TUSHARE_TOKEN \
    --list_stocks \
    --output stock_list.csv
```

**参数说明：**
- `--token`: Tushare API token（必需）
- `--ts_code`: 股票代码，如 `000001.SZ`
- `--start_date`: 开始日期，格式 `YYYYMMDD`
- `--end_date`: 结束日期，格式 `YYYYMMDD`
- `--cache_path`: 缓存路径，默认 `./.tushare_cache`
- `--list_stocks`: 列出所有股票基本信息
- `--output`: 输出文件路径（CSV格式）

### 2. analyze_czsc_structure.py - 分析缠论结构

使用 CZSC 对象分析K线数据，识别分型、笔、线段等缠论结构。

**功能：**
- 识别顶分型和底分型
- 识别笔的起点和终点
- 分析笔的方向和幅度
- 识别线段结构
- 显示当前市场状态

**使用示例：**

```bash
# 分析平安银行的缠论结构
python analyze_czsc_structure.py \
    --input data.csv \
    --symbol 000001.SZ \
    --freq 日线
```

**参数说明：**
- `--input`: 输入数据文件（CSV格式，必需）
- `--symbol`: 股票代码（必需）
- `--freq`: 分析周期，默认为 `日线`
- `--max_bi`: 最大笔数量，默认 20

**输出示例：**
```
============================================================
缠论结构分析
============================================================

股票代码：000001.SZ
分析周期：日线
K线数量：120

分型数量：28

最近 5 个分型：
  2024-05-20 - 顶分型 - 价格: 11.50
  2024-05-25 - 底分型 - 价格: 10.80
  ...

笔数量：14

最近 5 笔：
  2024-05-15 -> 2024-05-20: 向上 - 10.50 -> 11.50 (幅度: 1.00)
  2024-05-20 -> 2024-05-25: 向下 - 11.50 -> 10.80 (幅度: 0.70)
  ...
```

### 3. signal_analysis.py - 买卖点信号分析

基于缠论结构生成买卖点信号，辅助交易决策。

**功能：**
- 识别潜在买卖点
- 判断买卖点类型（一买、二买等）
- 分析背驰情况
- 判断趋势方向和强度
- 给出操作建议

**使用示例：**

```bash
# 分析平安银行的买卖点信号
python signal_analysis.py \
    --input data.csv \
    --symbol 000001.SZ \
    --freq 日线
```

**参数说明：**
- `--input`: 输入数据文件（CSV格式，必需）
- `--symbol`: 股票代码（必需）
- `--freq`: 分析周期，默认为 `日线`

**输出示例：**
```
============================================================
买卖点分析
============================================================

基于笔的买卖点分析：

潜在买点 1:
  时间：2024-05-25
  价格：10.80
  类型：底分型
  特征：回调不破前低（可能是二买）

============================================================
背驰分析
============================================================

最近两笔比较：
  前一笔（2024-05-15 -> 2024-05-20）：
    方向：向上
    幅度：1.00
  最后一笔（2024-05-25 -> 2024-05-30）：
    方向：向上
    幅度：0.60

  ⚠️ 可能存在上涨背驰：价格创新高但幅度减小
  建议：关注卖点

============================================================
趋势分析
============================================================

最近笔的高低点分析：
  高点趋势：上升（11.20 -> 11.60）
  低点趋势：上升（10.50 -> 10.80）

  整体趋势：📈 上升趋势
  操作建议：逢低买入，持有为主
```

## 完整工作流程

典型的缠论分析工作流程：

```bash
# 步骤 1: 获取数据
python fetch_market_data.py \
    --token YOUR_TOKEN \
    --ts_code 000001.SZ \
    --start_date 20240101 \
    --end_date 20240614 \
    --output 000001_data.csv

# 步骤 2: 分析缠论结构
python analyze_czsc_structure.py \
    --input 000001_data.csv \
    --symbol 000001.SZ

# 步骤 3: 分析买卖点信号
python signal_analysis.py \
    --input 000001_data.csv \
    --symbol 000001.SZ
```

### 使用示例工作流脚本

我们还提供了一个自动化的工作流脚本 `example_workflow.py`，可以一次性执行上述所有步骤：

```bash
# 分析平安银行最近180天的数据
python example_workflow.py \
    --token YOUR_TUSHARE_TOKEN \
    --ts_code 000001.SZ \
    --days 180
```

这个脚本会自动：
1. 获取指定股票最近 N 天的数据
2. 分析缠论结构
3. 分析买卖点信号
4. 保存数据文件供后续分析

## 环境要求

### 安装依赖

```bash
# 使用 requirements.txt 安装
pip install -r requirements.txt

# 或者手动安装
pip install czsc tushare pandas
```

### 获取 Tushare Token

1. 访问 [Tushare 官网](https://tushare.pro/)
2. 注册账号
3. 获取 API token
4. 在脚本中使用 `--token` 参数传入

## 注意事项

1. **Tushare Token**: 使用数据获取脚本前，需要先注册 Tushare 账号并获取 token
2. **数据格式**: 脚本期望 CSV 文件包含以下字段：`trade_date`, `open`, `high`, `low`, `close`, `vol`, `amount`
3. **级别概念**: 缠论分析必须明确操作级别，这些脚本默认使用日线级别
4. **信号验证**: 脚本生成的信号仅供参考，实际交易需要结合多方面因素综合判断
5. **风险控制**: 任何技术分析都可能失效，务必设置止损，控制仓位

## 扩展建议

- 可以修改脚本支持更多周期（如30分钟、60分钟等）
- 可以添加更多信号函数，如中枢识别、多周期共振等
- 可以结合其他指标（如 MACD、RSI）进行综合分析
- 可以实现自动化交易策略的回测功能

## 参考资源

- [waditu/czsc](https://github.com/waditu/czsc) - 缠论分析库
- [czsc 文档](https://czsc.readthedocs.io/) - 官方文档
- [Tushare](https://tushare.pro/) - 金融数据接口
- 缠中说禅《教你炒股票》系列108课
