---
name: aifinlab-a-share-market-breadth
description: "A股市场宽度/涨跌家数分析。当用户说\"市场宽度\"、\"涨跌家数\"、\"上涨家数\"、\"赚钱效应\"、\"亏钱效应\"、\"breadth\"、\"今天多少家涨\"、\"二八分化\"、\"一九行情\"、\"普涨\"、\"普跌\"、\"市场广度\"时触发。分析全市场涨跌分布、强弱股比例、新高新低数量、腾落线(AD Line)等市场宽度指标，判断行情的健康度和可持续性。支持研报风格（formal）和快速判断风格（brief）。"
license: "Apache-2.0"
metadata:
  decimalai-skill-id: "19355da1-a602-4940-9bbd-91cdab83c8d5"
  decimalai-version-id: "c66b4e41-fe41-4a14-b985-d7eb15acf1cd"
  decimalai-version: "1"
  decimalai-body-sha256: "c03227eb8b62268a7fc0824aaf1d18682cf4b9c729864f8bc48cde293d6d73ed"
  decimalai-name: "aifinlab/a-share-market-breadth"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "finance"
  decimalai-source: "https://app.decimal.ai/s/aifinlab-a-share-market-breadth@1/SKILL.md"
---
# A股市场宽度分析助手

## 数据源

```bash
SCRIPTS="$SKILLS_ROOT/cn-stock-data/scripts"

# 大盘指数行情（上证/深证/创业板）
python "$SCRIPTS/cn_stock_data.py" quote --code SH000001,SZ399001,SZ399006

# 大盘K线（近期趋势，用于腾落线历史对比）
python "$SCRIPTS/cn_stock_data.py" kline --code SH000001 --freq daily --start 
```

全市场实时行情（核心数据，用于涨跌家数统计）：
```python
import akshare as ak
# 全A实时行情快照，含涨跌幅/涨速/量比等
df = ak.stock_zh_a_spot_em()
# 关键字段：代码/名称/最新价/涨跌幅/涨跌额/成交量/成交额/振幅/换手率/量比
```

补充数据（通过 akshare 或 web 搜索获取）：
- 涨停/跌停家数、炸板率
- 创新高/创新低家数（60日/120日/250日）
- 行业板块涨跌排名
- 两市成交额分布

## Workflow

### Step 1: 全市场涨跌数据采集
调用 `ak.stock_zh_a_spot_em()` 获取全A实时行情，剔除ST股/北交所（可选），得到有效个股池。同时获取大盘指数行情作为对照基准。

### Step 2: 市场宽度指标计算
- **涨跌家数**：上涨家数 / 下跌家数 / 平盘家数
- **涨跌比（ADR）**：上涨家数 / 下跌家数，>1 多头占优，<1 空头占优
- **上涨占比**：上涨家数 / 总家数，>50% 赚钱效应好
- **中位数涨幅**：全市场个股涨跌幅中位数（比均值更能反映多数人体验）
- **涨停/跌停家数**：自然涨停数（排除新股/ST）、跌停数
- **炸板率**：曾涨停但未封住 / 曾涨停总数
- **强势股占比**：涨幅 >3% 的个股占比
- **弱势股占比**：跌幅 >3% 的个股占比

### Step 3: 涨跌幅分布分析
- 将全市场涨跌幅按区间分组：<-9%, -9%~-7%, -7%~-5%, -5%~-3%, -3%~-1%, -1%~0%, 0%~1%, 1%~3%, 3%~5%, 5%~7%, 7%~9%, >9%
- 展示分布直方图（文本形式）
- 行业/概念板块涨跌排名 Top5 / Bottom5
- 判断行情结构：普涨/普跌/二八分化/一九分化/结构性行情

### Step 4: 历史对比与背离检测
- 当前涨跌比 vs 近20日/60日均值
- 宽度背离检测：指数创新高但上涨家数减少 = 顶部背离信号
- 宽度确认检测：指数上涨且上涨家数同步扩大 = 健康行情
- 当前涨停数在近期的百分位位置

### Step 5: 输出市场健康度判断

## 输出风格

| 维度 | formal（研报风格） | brief（快速判断） |
|------|-------------------|------------------|
| 输出 | 完整市场宽度报告 | 涨跌家数 + 一句话结论 |
| 指标 | 全部宽度指标逐一展示 | 涨跌比 + 中位数涨幅 + 涨停跌停数 |
| 分布 | 涨跌幅分布直方图 + 板块排名 | 涨幅区间占比概要 |
| 历史对比 | 与近期均值/分位数对比 | 简单偏高/偏低判断 |
| 结论 | 客观描述市场宽度状态 | 直接给出"赚钱效应好/差" |

默认使用 brief 风格；用户要求"详细分析"、"出个报告"时用 formal。

## 关键规则

1. **宽度是领先指标**：市场宽度往往先于指数见顶或见底，宽度收窄时即使指数还在涨也需警惕
2. **指数涨 ≠ 全市场涨**：权重股拉指数时可能大多数个股下跌，必须区分权重股行情 vs 普涨行情
3. **区分二八与一九**：二八分化（20%涨80%跌）是常态，一九分化（10%涨90%跌）是极端分化
4. **连续缩窄是风险信号**：连续多日上涨家数递减，即使指数平稳也说明行情在衰竭
5. **中位数涨幅比均值更真实**：少数大涨股会拉高均值，中位数才反映"大多数人"的盈亏体验
6. **涨停数量需去噪**：统计自然涨停时应排除新股首日和ST股，炸板率是情绪强度的重要补充
7. **标注数据时效性**：明确说明是盘中实时数据还是上一交易日收盘数据，盘中数据会随行情变化
