---
name: aifinlab/a-share-turnaround
source: https://app.decimal.ai/s/aifinlab-a-share-turnaround@1/SKILL.md
source_sha256: b78789ab15a0
---

# A股困境反转分析 (A-Share Turnaround Analysis)

## 数据源

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

# 多期财务数据（至少8季度，对比业绩下滑→企稳→反转趋势）
python "$SCRIPTS/cn_stock_data.py" finance --code [CODE]

# 最新行情（当前估值水平、距高点回撤幅度）
python "$SCRIPTS/cn_stock_data.py" quote --code [CODE]

# 长周期 K 线（2-3 年，定位当前在周期中的位置）
python "$SCRIPTS/cn_stock_data.py" kline --code [CODE] --freq daily --start [2年前日期]

# 资金流向（是否有聪明资金提前进场）
python "$SCRIPTS/cn_stock_data.py" fund_flow --code [CODE] --days 60
```

补充：通过 web 搜索获取：
- 管理层变动（换帅/战略调整/股权激励）
- 行业周期位置（产能出清/供需拐点/库存周期）
- 政策变化（行业扶持/监管放松/补贴恢复）
- 同行业公司业绩表现（是否已率先反转）
- 公司近期公告、调研纪要、机构调研频次变化

## Workflow

### Step 1: 困境诊断

确认"困境"的性质和原因，这是判断能否反转的基础：

**困境类型分类**：
| 类型 | 特征 | 反转可能性 | 典型案例 |
|------|------|-----------|---------|
| 行业周期性低谷 | 全行业低迷，非公司个体问题 | 高（周期必然回归） | 猪周期/芯片周期/航运周期 |
| 公司经营失误 | 战略失误/扩张过快/管理混乱 | 中（需要换帅或重组） | 盲目多元化/产品失败 |
| 一次性冲击 | 疫情/自然灾害/黑天鹅 | 高（冲击消退后自然恢复） | 旅游/餐饮受疫情冲击 |
| 结构性衰退 | 技术替代/需求消亡 | 低（除非成功转型） | 功能机→智能机/纸媒 |
| 财务造假/暴雷 | 历史财务不可信 | 极低（信用已破产） | ST 公司 |

**需收集的数据**：
1. 营收/净利润过去 8 个季度趋势（定位下滑起点和幅度）
2. 毛利率变化（区分量跌还是价跌）
3. 股价从高点回撤幅度、当前 PE/PB 分位数
4. Web 搜索：导致困境的核心原因

### Step 2: 反转信号扫描

逐项检查是否出现反转信号（参考 `references/turnaround-guide.md`）：

**财务信号**（从财报数据中提取）：
- [ ] 营收同比降幅收窄（连续 2 个季度）
- [ ] 毛利率环比企稳或回升
- [ ] 经营现金流改善（即使净利润仍亏损）
- [ ] 存货下降或周转加速（去库存接近尾声）
- [ ] 应收账款改善（回款能力恢复）
- [ ] 费用率下降（降本增效见效）
- [ ] 资产减值计提减少（洗澡接近结束）

**运营信号**（通过 web 搜索获取）：
- [ ] 产品价格企稳/回升
- [ ] 新订单/合同额增长
- [ ] 产能利用率回升
- [ ] 客户/用户数据止跌
- [ ] 行业库存降至低位

**管理信号**：
- [ ] 管理层更换（新团队/战略调整）
- [ ] 股权激励方案推出（利益绑定）
- [ ] 大股东/高管增持
- [ ] 剥离亏损业务/聚焦主业
- [ ] 引入战略投资者

**外部信号**：
- [ ] 行业政策转暖
- [ ] 竞争对手退出/产能出清
- [ ] 下游需求复苏迹象
- [ ] 原材料成本下降

### Step 3: 同行对比

**同行业公司反转进度对比**：
| 公司 | 困境程度 | 反转信号数量 | 最新业绩趋势 | 股价表现 |
|------|---------|------------|------------|---------|
| 目标公司 | | | | |
| 同行A | | | | |
| 同行B | | | | |

关键判断：
- 如果同行已率先反转 → 行业β回归，目标公司大概率跟随
- 如果同行也未反转 → 可能是行业仍在底部，需要更多耐心
- 如果同行已反转但目标公司未跟随 → 可能是α问题（公司自身），需警惕价值陷阱

### Step 4: 估值评估

**当前估值 vs 历史分位**：
| 指标 | 当前值 | 历史最低 | 历史中位 | 反转后合理值 |
|------|-------|---------|---------|------------|
| PE(TTM) | | | | |
| PB | | | | |
| PS | | | | |
| EV/EBITDA | | | | |

注意事项：
- 亏损股看 PB/PS，不看 PE
- 周期股在 PE 最高时往往是底部（低谷盈利→高 PE）
- 计算反转后的目标估值：假设恢复至行业中位利润率 × 当前营收 → 对应合理市值
- 安全边际：当前市值 vs 反转后合理市值的折价幅度

### Step 5: 输出

**反转概率评估**（综合打分）：

| 维度 | 权重 | 评分(1-5) | 说明 |
|------|------|----------|------|
| 困境可逆性 | 25% | | 结构性vs周期性 |
| 反转信号强度 | 30% | | 已出现信号数量和质量 |
| 管理层能力 | 15% | | 是否有改善意愿和执行力 |
| 估值安全边际 | 20% | | 下行空间有限 |
| 催化剂明确度 | 10% | | 是否有近期可见催化剂 |
| **综合得分** | 100% | | **加权总分** |

**评分标准**：
- 4.0-5.0 分：强烈反转信号，可积极关注
- 3.0-3.9 分：初步反转迹象，需持续跟踪
- 2.0-2.9 分：反转尚不明确，观望为主
- 1.0-1.9 分：价值陷阱风险大，回避

根据用户需求选择 formal 或 brief 风格，参考 `references/turnaround-guide.md` 中的框架。

## 风格说明

| 维度 | formal（研报风格） | brief（快速判断） |
|------|-------------------|-----------------|
| 篇幅 | 2-4 页 | 半页 |
| 困境诊断 | 完整原因分析+历史复盘 | 一句话概括困境类型 |
| 反转信号 | 逐项检查清单+数据支撑 | 只列最关键的 3-5 个信号 |
| 同行对比 | 完整表格 | 简述领先/滞后情况 |
| 估值分析 | 多指标+情景测算 | PB 分位+一句话结论 |
| 概率评估 | 完整打分表 | 直接给结论和概率 |
| 操作建议 | 不给具体建议 | 可加个人操作思路 |
| 免责声明 | 需要 | 不需要 |

默认风格：brief

## 关键规则

1. **困境反转是高风险高回报策略**：必须充分提示风险，多数困境公司不会反转（"大部分便宜的股票，便宜是有道理的"）
2. **区分价值陷阱和真正反转**：没有明确催化剂的低估值 ≠ 反转机会；下跌有底但时间无底
3. **必须有明确反转催化剂**：纯粹"跌多了"不是买入理由；需要识别具体的反转驱动力（行业拐点/管理层换血/新产品放量/政策转向）
4. **注意仓位控制**：即使判断反转概率较高，也应建议分批建仓，不要一次性重仓
5. **周期股逆向思维**：周期行业在最悲观时往往接近底部，在最乐观时往往接近顶部；PE 最高点可能是最佳买点
6. **财务洗澡要辨别**：大额减值计提可能是新管理层"甩包袱"的信号（利好反转），也可能是真的资产恶化（利空）
7. **与其他 skill 联动**：反转后的持续跟踪用 a-share-earnings-analysis；行业周期判断用 a-share-sector；估值验证用 a-share-comps

## 使用示例

### 示例 1: 基本使用

```python
# 调用 skill
result = run_skill({
    "param1": "value1",
    "param2": "value2"
})
```

### 示例 2: 命令行使用

```bash
python scripts/run_skill.py --input data.json
```