---
slug: "stock-ai-analyzer-x-3"
source_type: "clawhub"
source_url: "https://clawhub.ai/skills/stock-ai-analyzer"
repo: ""
source_file: "description"
---
---
name: stock-ai-analyzer
description: A股股票基本面投研分析方法论。当用户要求按股票名称或代码分析中国A股、判断公司成长性与核心亮点、评估估值阶段与隐含预期、分析财务质量与业务结构、判断股票是否处于当前市场主线内、做竞争格局分析或风险排查，或基于Tushare/公开市场数据生成股票基本面分析时使用。用户提问形式包括"帮我分析XX股票""XX的基本面怎么样""XX成长性如何""XX估值贵不贵""XX为什么值得买""XX是不是当前主线""XX所在行业景气度如何""XX管理层/创始人靠不靠谱""XX团队能不能兑现成长""XX治理有没有硬伤""用VC视角判断XX成长成功率"等。当用户要求"深度分析""深挖""把异常/业绩变化查清楚""读年报找线索""挖未被定价的看点"时，进入 Deep 模式（见 references/deep_mode.md）做命题先行的主动调研。该技能要求分析流程、判断框架、内容输出全部写在SKILL.md中；脚本只允许做原子数据获取、确定性扫描、状态持久化和只读 HTML 渲染，不允许替模型生成投资结论。
---

# A股基本面投研分析助手

把这个技能当作股票基本面投研方法论使用。不要依赖脚本生成报告、提示词、投资结论、组合分析或推荐。脚本只能取数；你作为智能体负责解释数据、判断重点，并直接写出最终内容。

---

## 一、总原则

- 所有内容逻辑都放在本 `SKILL.md` 中：分析路径、判断标准、报告结构、措辞边界。
- 证据获取用 `scripts/data_fetcher.py`；Deep 模式确定性 surfacing 用 `scripts/thesis_scan.py`；持续跟踪状态写入用 `scripts/tracking_table.py`；Markdown 到 HTML 的只读渲染用 `scripts/render_report_html.py`。
- 脚本输出只是证据，结论必须由你基于证据推理得出。
- **A股估值的核心哲学**：A股是高度叙事驱动的市场。一只股票是否处于当前市场主线内，会显著影响其估值定价方式。这一判断是定量分析中无法回避的关键变量，详见第 5.5 节。
- **估值不得默认使用通用 PE**。估值前必须做**双轴分型**：(1) 生命周期分型——成长股 / 成熟龙头 / 红利价值，决定"看远期还是看当期"；(2) 行业 / 商业模式分型——决定"用哪个倍数作为主估值锚"（PE / PEG / PS / EV-Sales / EV/ARR / Rule of 40 / PB / EV-EBITDA / 中周期利润 / SOTP / rNPV 等）。模型必须直接判断采用哪一种主估值方法，并且正文只展示该主锚对应的数据；不要把 PE、PB、PS 三套口径一起铺开。盈利稳定 → PE/PEG；高增长但利润未释放 → PS/EV-Sales；SaaS → EV/ARR、PS、Rule of 40；重资产或强周期 → PB、EV/EBITDA、中周期利润；多业务并行 → SOTP；创新药 → rNPV/DCF；金融 → PB/P-EV/P-NBV。详见第 5.1 节与 `references/industry_valuation_library.md`。
- **估值中枢不允许写死数值**。中枢必须动态由四个来源构成：公司自身主锚历史分位（`valuation-band`）、同业可比公司主锚中位数（3–5 家自构清单）、行业历史分位 / 行业指数估值（联网）、产业景气位置与当前市场水温（联网 + 公司公告）。"贵/便宜"只能是相对结论：把自身历史估值带、同业对比、市场水温放在一起判断，再给出当前估值、行业中枢、历史分位、合理估值区间、上修条件、下修条件（§5.6 六项必输出）。

---

## 二、数据获取

环境变量：

```bash
TUSHARE_TOKEN=your_token
```

默认一次只获取一个数据集；需要完整单股分析时，使用 `pack` 生成完整 evidence、轻量 `analysis_context` 和模块级 JSON。

```bash
python scripts/data_fetcher.py search 贵州茅台

python scripts/data_fetcher.py fetch company 600519.SH
python scripts/data_fetcher.py fetch financial 600519.SH --limit 8
python scripts/data_fetcher.py fetch income 600519.SH --limit 8
python scripts/data_fetcher.py fetch balance 600519.SH --limit 8
python scripts/data_fetcher.py fetch cashflow 600519.SH --limit 8
python scripts/data_fetcher.py fetch daily-basic 600519.SH --limit 60
python scripts/data_fetcher.py fetch valuation-band 600519.SH --years 5
python scripts/data_fetcher.py fetch main-business-product 600519.SH --limit 30
python scripts/data_fetcher.py fetch top10-holders 600519.SH --limit 4
python scripts/data_fetcher.py fetch managers 600519.SH
python scripts/data_fetcher.py fetch rewards 600519.SH
python scripts/data_fetcher.py fetch holder-number 600519.SH --limit 20
python scripts/data_fetcher.py fetch holder-trade 600519.SH --limit 30
python scripts/data_fetcher.py fetch share-float 600519.SH --limit 20
python scripts/data_fetcher.py fetch block-trade 600519.SH --limit 30

python scripts/data_fetcher.py fetch report-list 600519.SH --report-type all --limit 8
python scripts/data_fetcher.py fetch report-text 600519.SH --report-type annual --report-index 1 --max-pages 80 --max-chars 60000

python scripts/data_fetcher.py fetch announcements 600519.SH --date 2026-01-01~2026-05-16 --searchkey 回购 --limit 20
python scripts/data_fetcher.py fetch announcement-text 600519.SH --date 2026-01-01~2026-05-16 --searchkey 监管函 --announcement-index 1
python scripts/data_fetcher.py fetch institutional-research 600519.SH --start-date 20250101 --end-date 20260516 --limit 30

python scripts/data_fetcher.py pack 600519.SH --date 2026-01-01~2026-05-16 --evidence-out reports/evidence_600519.json --context-out reports/context_600519.json --module-context-dir reports/module_context_600519
```

默认使用 JSON 输出。只有在表格查看更方便时才使用 `--format csv`。

### 2.1 数据维度说明

| 维度 | dataset | 用途 |
|---|---|---|
| 股票识别 | `search` | 名称/代码解析，确认 `ts_code`、地区、行业、市场、上市日期和板块 |
| 公司画像 | `company` | 公司简介、行业、注册地、主营概况 |
| 财务指标 | `financial` | ROE、毛利率、净利率、成长、偿债、周转等财务指标 |
| 三大报表 | `income`、`balance`、`cashflow` | 利润表、资产负债表、现金流量表，用于增长质量、利润质量和财务健康验证 |
| 行情估值 | `daily`、`daily-basic` | 日线、换手率、PE/PB/PS、股息率、市值、股本结构 |
| 历史估值分位 | `valuation-band` | 从多年 `daily_basic` 确定性计算 PE/PB/PS/股息率的近 1/3/5 年区间与当前分位。Tushare 无现成分位接口，由脚本计算；正文只展示主估值锚对应的 band，不把三套倍数一起铺开 |
| 主营结构 | `main-business-product`、`main-business-region` | 产品和地区收入/利润结构，判断业务驱动和集中风险 |
| 股东治理 | `top10-holders`、`managers`、`rewards` | 十大股东、董监高、管理层薪酬和持股 |
| 筹码变化 | `holder-number`、`holder-trade` | 股东户数、重要股东增减持 |
| 交易与供给压力 | `share-float`、`block-trade` | 限售股解禁、大宗交易 |
| 年报季报 | `report-list`、`report-raw`、`report-text` | 巨潮定期报告列表、PDF 下载、PDF 文本抽取 |
| 个股公告 | `announcements`、`announcement-raw`、`announcement-text` | 仅按个股查询巨潮公告，按标题规则标记问询回复、监管函、回购、减持、股权激励、定增、重大合作、业绩快报等 |
| 机构调研 | `institutional-research` | Tushare `stk_surv`，用于观察调研频率、参与机构、接待方式和调研内容关键词 |
| 上下文包 | `pack` | 单股完整 evidence、轻量 `analysis_context` 和模块级 JSON，供 subagent 或低上下文顺序分析 |

### 2.2 公告查询边界

- `announcements` 只支持按个股查询。不要用本 skill 做全市场公告扫描。
- 标题规则只负责定位事件类型，不负责判断影响大小。
- `tabtype=fulltext` 用于公告全文列表；`tabtype=relation` 仅作为互动易/调研相关列表的辅助入口。
- PDF 原文读取使用本 skill 内置下载与 `PyPDF2` 文本抽取，不跨 skill 引用。

### 2.3 把研报渲染成 HTML（可选）

写完 Markdown 研报后，可用 `render_report_html.py` 渲染成自包含的单页 HTML（AlphaVault 站点风格，默认主题；另有 `--theme claude` 暖色风格），并自动从 evidence 里嵌入两类图表：**主估值锚估值带时间序列**（从正文的"主估值锚"推断 PE/PB/PS/股息率中对应的一种；无法映射到现有 `valuation-band` 时静默跳过）、营收/归母净利/同比增速/盈利能力**财务趋势**（`income`+`financial`）。

```bash
python scripts/render_report_html.py -i reports/report_600519.md --evidence reports/evidence_600519.json [--theme {default,claude,print}]
# 不传 --evidence 时，会自动找同目录的 evidence_<代码>.json；找不到则只渲染正文、不嵌图表
# --theme 默认 default(AlphaVault 站点风格)；claude 为 Claude.ai 暖色；print 为黑白衬线、A4 友好
```

样式模板由仓库通用 `shared/html_report` 提供（同步到 `scripts/_shared/html_report/`），新增主题只需在该目录的 `themes/` 下放一个 CSS 文件。

**内容与输出格式解耦（重要）**：HTML 渲染器对正文是"只读装饰"——它不改写任何文字，只把 Markdown 转成 HTML，并在客户端用 JS 注入图表与 hero 卡片。因此写研报时**不需要为 HTML 迁就措辞或结构**：

- 图表锚点是"尽力而为"。找不到对应小标题（如「估值方法与相对贵贱」「成长性与财务质量诊断」「核心判断」）时，对应图表**静默跳过**，不报错。
- evidence 缺某个数据集时，对应图表自动不画，正文照常输出。
- 文本保全校验默认**只告警不中断**（`--no-validate` 完全跳过，`--strict` 才在不一致时报错），正文内容怎么改都不会导致 HTML 生成失败。
- 沿用模板（第八节）里的小标题命名能让图表落到最合适的位置；即使大改结构，最坏情况也只是少几张图，正文与样式不受影响。
- 正文明确作废自身历史估值带（如"历史分位：不适用/已作废"，典型于破产重整壳）时，估值带图**自动不画**，避免把作废口径画回报告。

**活报告组件**：跟踪更新过的报告（结构契约见 `references/living_report.md`），渲染器会把既有写作惯例自动升级成交互组件——识别不出就静默降级为普通 Markdown：

- 标题下`日期|版本号`两列表 + 文末「版本变更记录」四列表 → **可点版本时间轴**（节点弹出该版本主要变更/关键数字，可跳转对应更新章节；不足 2 个版本不挂）。
- `## 更新 YYYY-MM-DD：一句话摘要` 章节 → **折叠更新卡**（默认展开最新一节，其余折叠；时间轴上有"展开全部更新"开关）。
- 核心判断的固定词表 bullets 尾块（§八）→ hero 卡底部 **stat 指标网格**。
- 正文 `[W15]` 式来源标号 → 跳转「深度调研索引」对应行的**引用锚 chip**。
- `==跟踪事项｜ID｜类型｜优先级：高｜状态：部分兑现` 块 → 状态徽标**卡片**（替代 10 列宽表）。
- 行内 `==文字==` → 高亮标记。

### 2.4 Deep 模式工具（确定性 surfacing + 原文定位）

仅 Deep 模式用，方法论见 `references/deep_mode.md`：

- `python scripts/thesis_scan.py --evidence reports/evidence_<code>.json`：对 evidence pack 做**确定性**扫描，输出命题原型（含预期差 A1/A2/B）、异常旗标（业绩/利润质量/营运资本/减值/资本结构）和每条的 probe 建议。只 surfacing，不下结论。
- `fetch report-text … --section <章节/关键词> [--to-markdown]`：把"盲读前 6 万字"升级为**定向读章节**。年报标准章节别名 `mda`/`财务报告`/`重要事项`/`公司治理`/`股东`；不命中（如季报、或"研发"/"AI"等子主题）自动降级为关键词窗口。引擎优先级 pymupdf4llm → PyMuPDF → PyPDF2，缺高级库自动回退。
- `fetch daily <code> --limit 0`：取全量日线，供"月线横盘/价格 vs 盈利"等长周期判断（pack 默认仅 60 日）。

### 2.5 持续跟踪：个股估值建模跟踪表（PG）与 HTML 跟踪点

同一只股票会被反复分析。为了让"这次相对上次变了什么"可沉淀、可回看，每只跟踪股在本地 PostgreSQL（`alpha_data`）里有一张**逻辑上的个股跟踪表**——所有股票共用三张按 `ts_code` 分区的表（`stock_tracking_meta` / `stock_tracking_field` / `stock_tracking_history`，schema 见 `_shared/init_alpha_data.sql §16`），不是每股一张物理表。字段由**该股自己的建模变量**定义，不套统一模板：

- **主锚推算变量**（按 §5.4.A 主锚选）：PE 股→远期净利、合理 PE 区间；PS 股→远期收入、远期净利率正常化；PB→中周期 ROE、远期 BVPS；rNPV→各管线节点/成功率；EV/ARR→ARR、NDR。
- **主线连接强度**（§5.5）：强/弱/无连接 + 依据。
- **上修 / 下修条件里可量化的催化跟踪点**（§5.6）：订单、产能、渗透率、提价、稼动率等，取 2–5 个最关键的。

合计 5–15 个字段为宜。首次分析**建基线**（每个字段落一条当日记录）；之后每次跟踪，只对**发生变化**的字段追加一条带日期的新记录——历史 append-only，同日重跑覆盖当日那条，旧日期永不改写。

**给已经更新过多版的老报告补建基线时，要 backfill 历史**：不要每个字段只落当日一条，而应把正文与「版本变更记录」里已有据可查的历史数值，用 `set --date <历史日>` 按各自日期逐条补齐（数值字段值只填数字、单位进 `--unit`，渲染器才能画 step 走势图）。只落当日单条会让 HTML 徽标浮层每字段只有一行、sparkline 画不出，失去"看数字怎么变过来的"这一核心价值。详见 `references/living_report.md §5`。

**CLI（`scripts/tracking_table.py`，只做校验+持久化，不做判断）**：

```bash
# 建表头（公司名 + 主锚），幂等
python3 scripts/tracking_table.py init 600519.SH --name 贵州茅台 --anchor PE
# 追加/更新一个字段（新字段首次必带 --label）
python3 scripts/tracking_table.py set 600519.SH --field fy2026_np \
    --value "96–100" --label "2026E 归母净利" --group 盈利预测 --unit 亿元 \
    --source 业绩预告 --confidence 中 --note "预告中值上修"
python3 scripts/tracking_table.py set 600519.SH --field mainline \
    --value 强连接 --label 主线连接强度 --group 主线
# 查看 / 单字段完整历史 / 列出所有跟踪股
python3 scripts/tracking_table.py show 600519.SH
python3 scripts/tracking_table.py show 600519.SH --field fy2026_np
python3 scripts/tracking_table.py list
```

连接走 `_shared/db_core.py`（默认 `alpha_user@/alpha_data` 的 `/tmp` socket）；表在首次写入时自建（`ensure_schema`），无需先跑建表脚本。字段取值判断仍是你的职责——脚本只校验字段 id、日期、置信度枚举并落库。

**HTML 挂载**：`render_report_html.py` 会自动按 `ts_code`（来自 evidence 或报告文件名，或 `--tracking-code` 指定）读回该股跟踪表，在报告里注入「估值建模跟踪表」卡片（每字段一行：最新值 + "MM-DD 更新 · N次"徽标，点击展开该字段完整历史）。正文里还可在建模数值后手动挂**行内跟踪点** `{{track:字段id}}`，渲染成同款徽标，点击弹出该字段历史浮层。跟踪数据还会和更新章节联动：历史浮层里数值可解析的字段自动画 **step 迷你走势图**，每条带日期的历史记录有"查看当次更新"跳转到对应 `## 更新` 折叠卡；反过来每张更新卡自动生成"**本轮字段变更**"chips 条（`旧值 → 新值`，建基线日合并为一枚"N 个字段入库"）。缺表 / 缺字段 / DB 不可达时**渲染端会把挂不上的 marker 直接剥掉**，正文不会出现 `{{track:...}}` 字面残留（真·静默降级）；summary 的 `tracking_markers.stripped` 大于 0 说明正文挂了不存在的字段 id。`--no-tracking` 可关闭。

---

## 三、工作流程

### 收集证据

- 只获取完成任务所需的最小数据集。
- 财务趋势优先取最近 6-8 个报告期，覆盖至少 2 个完整财年。
- 如果任务是完整单股研究，优先运行 `pack`，再按模块级 JSON 分析，避免一次加载完整 evidence。
- 主线归属判断需要联网检索近期市场动态，不要依赖训练记忆。
- 数据缺失时要明确说明缺口，并降低结论置信度，不要补造数据。

### 原文升级规则

默认先看公告/报告元数据。只有出现以下情况，才升级读取 PDF 原文：

- 用户明确要求“看原文”“读公告”“解释公告”“公告具体说了什么”。
- 标题命中监管函、问询回复、重大合作/投资、股权激励、定增、员工持股、回购、增持、减持、业绩快报。
- 财务指标出现异常，需要查定期报告里的管理层解释、会计政策、业务拆分、风险提示。
- 仅凭标题无法判断事件性质，例如“签署协议”需要确认金额、约束力、履约条件和收入确认节奏。

需要原文时：

1. 先用 `announcements` 或 `report-list` 定位候选。
2. 按标题相关性、披露时间、是否全文公告选择 1-3 篇。
3. 用 `announcement-text` 或 `report-text` 读取 PDF 文本。
4. 输出时明确区分“原文事实”和“模型推断”，不得只凭标题判断影响。

### 编排与上下文管理（计划先行 + 子代理隔离）

**完整编排 playbook 见 `references/orchestration.md`**。三条铁律（Deep 模式尤其要守，否则一次上下文跑不完）：

1. **主 agent 不碰大文本**：PDF 全文 / 公告原文 / 全量 evidence 只在子代理或取数脚本里消费，回主上下文的**只有结论块**（主上下文 = 分型 + scan 摘要 + 各子任务结论 + 整合）。
2. **计划先行**：动手前先列**工单清单**（`python scripts/thesis_scan.py --evidence <pack> --plan` 生成骨架），带预算与落点，执行中逐项核销（⬜→✅/⚠️数据缺/✗超预算）。
3. **子任务隔离**：独立调研项各派一个子代理、可**并行 fan-out**；无子代理能力时降级为"读一项→抽结论→丢原文→再下一项"的串行，绝不累积多篇全文。

使用 `pack` 后，主 agent 得到三类产物：

- 完整 `evidence`：归档证据，不直接整体塞进模型上下文。
- 轻量 `analysis_context`：单会话分析时优先加载。
- `module_contexts/`：供 subagent 分模块撰写。

**分发前先定初步分型**：主 agent 在拆分 subagent 之前，先用增速、股息率、行业地位、主线做一次初步分型（4.1），并把"该公司初步判定为 X 型"写进每个 subagent 的指令——这样模块 1（定性侧重）和模块 2（估值模式）才能在同一透镜下展开，而不是各自默认成长股口径。

有 subagent 编排能力时，每个 subagent 只读取自己的模块 JSON 和本 `SKILL.md` 对应方法论：

| 模块 | JSON | 任务 |
|---|---|---|
| 1 | `module1_growth_financial.json` | 成长性、财务质量、业务结构 |
| 2 | `module2_valuation_market.json` | 估值快照、隐含预期、市场定价 |
| 3 | `module3_governance.json` | 股东结构、管理层、筹码、解禁、大宗交易 |
| 4 | `module4_announcements.json` | 公告事件筛查、原文升级候选、定期报告候选 |
| 5 | `module5_research_mainline.json` | 机构调研、主线连接线索、市场关注度 |

没有 subagent 能力时，按同样模块顺序逐段加载模块 JSON。聚合阶段只读取模块结论、`analysis_context`、必要的公告/报告原文摘录。

### 分析与判断

先按 4.1 做初步分型，再按下文第四节（定性框架，重心随类型调整）和第五节（定量框架，估值模式随类型选择）的方法论展开分析。

### 写作输出

- 先给核心结论和置信度。
- 用取到的数据作为证据，给出具体数字和报告期。
- 显式说明关键假设（包括主线归属假设）。
- 避免单边结论，写出最强反方观点。
- 结尾写清风险和非投资建议声明。

### 持续跟踪更新（分析一只已跟踪过的股票时）

同一只股票的第 2 次及以后分析是"活报告"更新——**报告怎么随时间生长的完整结构契约见 `references/living_report.md`**（三层分工、更新章节格式、状态型小节刷新、ID 闭环、自检清单）。操作主线：

1. **先看基线**：`tracking_table.py show <ts_code>` 拉出上次记录的建模字段与现值，作为"这次相对上次变了什么"的锚。
2. **分析**：照常走定性/定量框架。
3. **写更新章节**：在核心判断之后新增 `## 更新 YYYY-MM-DD：一句话摘要`，固定三块——快照表（`维度|最新值|相对上次|对模型的影响`，没变的关键维度也列"不变"）、增量叙事、本轮结论 + 跟踪事项状态核销。
4. **刷新正文**：状态型小节（速览/近期动态/估值结论/主线/对标表/核心判断）改成最新口径；论证型小节可冻结但标 `（论证基准：YYYY-MM-DD）`；三情景表只保留现行口径，不做新旧对照列。
5. **落台账**：变化字段 `set` 一条当日记录（没变的不动；首次分析按 §2.5 建基线）；「版本变更记录」表和标题下两列版本表各加一行。
6. **正文挂点**：会漂移的关键数字（市值/台数/远期净利/期望市值）后挂 `{{track:字段id}}`。
7. **重渲 HTML**：`render_report_html.py` 自动读回跟踪表并注入时间轴、折叠更新卡、跟踪卡片、行内徽标与变更条；检查 summary 的 `tracking_markers.stripped == 0`。

### Deep 模式（可选，用户显式要求时）

骨架流程产出"骨头架子"。当用户要求**深度分析 / 深挖 / 把异常或业绩变化查清楚 / 读年报找线索 / 挖未被定价的看点**时，进入 Deep 模式，按 `references/deep_mode.md` 做**命题先行的主动调研**。

**强约束（缺一不算 Deep 交付）**：

- **A. 启动声明 + 工单**：先跑 `python scripts/thesis_scan.py --evidence reports/evidence_<code>.json`（加 `--plan` 生成**调研工单骨架**）；据此列出可逐项核销的工单（编排见 `references/orchestration.md`），再向用户输出 `[Deep 模式启动]` 协议（命题候选 + 高优先旗标数 + 调研预算 + 计划 probe 前 3–5 条），见 `references/deep_mode.md §0`。
- **B. 主循环调研**：按 **THESIS → INVESTIGATE → CATALYST GAP → INTEGRATE** 推进：
  - **方向一（异常归因）**：对 high/med 旗标定向读原文——`fetch report-text <code> --report-type annual --section mda|财务报告`、`fetch announcement-text ... --searchkey 减值`——定位业绩暴增/暴跌、商誉计提、OCF 背离、应收/存货异常的成因。
  - **方向二（主线线索挖掘）**：先联网定当前主线关键词，再 `fetch report-text <code> --section <主线词>` 从年报/季报捞出公司自述、与主线相关但骨架漏掉的线索（尤其 B 型"未被定价的期权"）。
  - **方向三（人与治理尽调，成长股/B 型必做）**：估成长成功率 P(execution)——读 `fetch announcements --searchkey 股权激励|监管函|质押|减持` 核对承诺兑现与治理诚信，联网查创始人履历，综合成档位接回三情景概率权重（§5.4.C）。方法论见 `deep_mode.md §5.7` + `growth_success_rate.md`。
  - subagent 必须按 `deep_mode.md §6` 的固定模板回报 `{命题/旗标 → 原文标题链接+章节+页 → 原文引文 → 模型判断 → 影响 → 置信度}`，缺字段就退回重发。
- **C. 报告内必填产物（2 项）**：
  1. **工单全覆盖**：调研工单里**每条 ✅ 完成项都内嵌一个结构化 `==深度调研发现｜工单号｜主题｜置信度：高/中/低` 块**（就近落到 §4/§5/§6/主线/风险；每块只写 `来源 / 原文 / 判断 / 影响` 四行）。`来源` 标题必须带原文链接：CNInfo 定期报告/公告用 `adjunct_url` 或 `download_url`；联网资料用原网页 URL；确实没有 URL 才写"原文链接缺失"并在索引保留缺口。绑定标准是"查了几条就体现几条"，不是凑满 3 条就停——实质发现至少 3 条，否则算调研不足。
  2. 报告末尾必填 **«附：深度调研索引» = 完整性账本**：工单每条**执行过**的项登记一行（工单号 / 命题·旗标·维度 / 状态 ✅⚠️✗ / 原文出处 / 引文 / 判断 / 置信度），**索引行数 == 已执行工单项数**；⚠️数据缺、✗放弃的注明状态并汇入估值置信度。
- **D. 完成声明**：报告之外向用户输出 `[Deep 模式完成]` 收口（读 N 篇 / 联网 K 次 / 嵌入 M 条发现 / 工单 P 项全部登记 ✅a·⚠️b·✗c / 索引行数==工单项数 ✅）。

A/C/D 任一缺失即视为骨架版冒充 Deep——必须补齐再交付，不得提前结案。完整 playbook、命题原型表、`--section` 用法、subagent 模板、停止条件见 `references/deep_mode.md`；工单清单、子代理隔离、上下文卫生与外联健壮性见 `references/orchestration.md`。

---

## 四、定性分析框架：成长性判断与核心亮点

定性分析的核心任务是回答两个问题：**这家公司在成长吗？为什么值得关注？**

**完整方法论见 `references/qualitative_framework.md`**。本节保留纲要：

1. **先分型**（成长股/成熟龙头/红利价值）——分型决定后续五维度的权重分配
2. **五维度诊断**——收入增速质量、利润含金量、现金流验证、业务结构与壁垒、ROE 分解
3. **成长阶段定位**——高速成长期/稳健成长期/成熟稳定期/增速放缓/下行困境
4. **核心亮点提炼**——2-4 条，落在该类型的核心矛盾上，附数据与反方观点
5. **成长成功率（管理层与治理质量，VC 透镜）**——**成长股 / 已确认 B 型期权 = first-class**。成长股估值多出来的溢价是"赌管理层能把财务还证明不了的成长兑现出来"，所以要像一级市场 VC 那样，用①创始人/掌舵人素质 ②历史团队表现（承诺兑现度为最硬信号）③公司历史治理水平 ④组织能力与人才密度（好船长还要配能打的船员），估出成长的**兑现概率档位**（高/中性/低），并接回定量（三情景概率权重 / B 型期权计入 / 置信度）。判 B 型期权时再叠加几条横切透镜（创始人-赛道匹配、第二曲线内生 vs 跨界、外部聪明钱背书、预期管理质量）。成熟龙头 / 红利价值退回防御性风险信号即可。完整方法论见 `references/growth_success_rate.md`。

脚本已做确定性计算：`pack` 产出的 `business_structure.product_analysis`（产品结构跨期变化）和 `region_analysis`（地区结构与出海趋势）可直接引用，无需手动重算。`thesis_scan.py` 的 `people_governance` 块还会确定性摆出高管稳定性、利益绑定、集中度/制衡、重要股东增减持等人/治理事实，供维度 5 起步（判断仍由你做）。

---

## 五、定量分析框架：估值阶段与隐含预期

定量分析的核心任务是回答：**当前价格隐含了什么样的未来预期？这个预期合理吗？**

**完整方法论见 `references/quantitative_framework.md`，行业估值方法库见 `references/industry_valuation_library.md`**。本节保留纲要：

1. **双轴分型再选模式**（§5.1）
   - 轴 1·生命周期：成长股 / 成熟龙头 / 红利价值——决定看远期还是看当期
   - 轴 2·行业 / 商业模式：按四问决策树（盈利稳否？利润释放否？资产重否？多业务否？）+ 行业方法库选主估值锚（PE / PEG / PS / EV-Sales / EV-ARR / Rule of 40 / PB / EV-EBITDA / SOTP / rNPV / DCF / NAV / P-EV / P-NBV 等）
2. **估值方法与相对贵贱**（§5.2）——按 5.1 选定的主锚组织快照，不默认 PE；`valuation-band` 提供 PE/PB/PS/股息率近 1/3/5 年区间与当前分位，但报告只展示主锚对应数据；同业 3–5 家可比清单、公司历史 band、行业中枢和当前市场水温必须放在同一节判断"相对贵不贵"
3. **逆向推算隐含预期**（§5.3）——按主锚分路径反推：PE 推 EPS 增速；PS 推远期收入 + 利润率正常化；PB 推中周期 ROE；EV/ARR 推 ARR 增速 + NDR；股息率推派息可持续性——**禁止把非 PE 主锚塞回 PE 框架反推**
4. **三情景推演**（§5.4）——三情景的推算变量与表头**必须沿用主锚**（PE / PS / PB / EV-EBITDA / EV-ARR / 股息率 / rNPV / SOTP 七种模板,见 §5.4.A 表），辅助锚只能在表后做对照,不得反过来作主路径。**成长股 / B 型期权再加概率权重 + 期望市值**（§5.4.C）：概率由「成长成功率」档位给出（高 40/45/15、中 25/50/25、低 15/40/45），把成功率量化进估值
5. **主线归属修正**（§5.5，A股关键调节项）——强/弱/无连接决定估值容忍度
6. **估值结论六项必输出**（§5.6）——当前估值、行业中枢、历史分位、合理估值区间、上修条件、下修条件；缺项明写"未取得"并降置信度
7. **财务健康度交叉验证**——偿债安全、利润质量、资本效率

```bash
python scripts/data_fetcher.py fetch valuation-band 600519.SH --years 5
# 同业主锚中位（3–5 家自构清单逐家取最新快照）
python scripts/data_fetcher.py fetch daily-basic <peer_code> --limit 1
```

---

## 六、股东与治理分析

输出落位**随分型不同**：

- **成熟龙头 / 红利价值**：落第三部分「背景与风险」，作为背景与风险信号（管理层激励、大股东增减持、一言堂风险等；对判断有信息量的可在定性里点一句）。
- **成长股 / 已确认 B 型期权**：同一批数据**升格为成长成功率的正向输入**（不只是风险）——管理层稳定性、利益绑定、治理诚信是"成长能否兑现"的概率依据，按 §四维度 5 与 `references/growth_success_rate.md` 处理，并在第一部分「成长成功率」子节给出档位、接回定量。本节数据这时是该判断的事实底座。

使用 `top10-holders`、`managers`、`rewards`、`holder-number`、`holder-trade`、`share-float`、`block-trade`。Deep 模式下还要按 `deep_mode.md §5.7 方向三` 读激励/承诺/监管函/质押公告 + 联网查创始人履历，把团队 track record 与治理诚信做实。

### 6.1 判断要素

- **股权集中度**：第一大股东持股 > 40% 且与第二大股东差距大 → 控制力强但需关注一言堂风险。机构/社保/QFII 占比上升 → 通常为正面信号。
- **管理层激励**：有期权/限制性股票激励的管理团队与股东利益更绑定；对比管理层薪酬与公司利润规模。
- **股东户数变化**：连续下降 → 筹码集中，通常与价格上行共振；连续上升 → 筹码分散。
- **重要股东增减持**：`holder-trade` 大额减持需关注原因；增持通常是信心信号（但也可能是护盘）。
- **限售股解禁**：`share-float` 近期有大额解禁 → 供给压力。
- **大宗交易**：`block-trade` 频繁出现且折价明显，需结合股东变动和公告判断是否存在减持压力。

### 6.2 注意事项

- 不要基于单个报告期过度推断治理质量。
- 股东户数变化是辅助信号而非决策依据。

---

## 七、公告事件与机构调研分析

输出落位：报告第一部分「近期动态：公告事件与机构调研」，作为对公司现状的补充；其中与主线相关的佐证在定量「主线归属修正」处被引用。

### 7.1 公告事件验证

使用 `announcements` 先定位事件，再决定是否读取 `announcement-text`。

- **监管/问询**：监管函、关注函、问询回复通常需要读原文，确认问题指向、公司解释和整改承诺。
- **资本运作**：定增、股权激励、员工持股要确认发行对象、价格、解锁条件、业绩考核和摊薄影响。
- **回购/增减持**：确认规模、价格区间、资金来源、执行进度和主体身份，不要只凭“回购/增持”定性利好。
- **重大合作/项目**：必须读原文确认协议约束力、金额、履约期限、收入确认条件、对手方和风险条款。
- **业绩快报/预告**：重点比较收入、利润、扣非利润和现金流线索，必要时再读定期报告解释。

公告标题只是索引。对公司基本面、估值或风险有影响的结论，必须来自公告原文、定期报告正文或其他可验证来源。

### 7.2 机构调研使用方法

使用 `institutional-research` 观察市场关注度和产业问题焦点。

- **调研频率**：短期明显升温说明关注度上升，但不等同于基本面改善。
- **机构类型**：公募、券商、险资、QFII、私募等参与结构可以辅助判断关注质量。
- **调研方式**：现场、电话、线上会议等只说明沟通形式，不直接说明信息增量。
- **调研内容关键词**：提取 AI/算力/出海/订单/价格/产能/客户/毛利率等关键词，验证公司是否被市场放入当前主线。
- **风险边界**：机构调研记录是公开披露信息，不能当作业绩承诺或内幕信息。

---

## 八、输出模板

下面模板里的几个小标题同时是 HTML 渲染（2.3 节）的图表锚点：「核心判断」→ hero 卡片，「估值方法与相对贵贱」→ 主估值锚估值带时间序列图，「成长性与财务质量诊断」→ 财务趋势图。沿用这些命名能让图表自动落位；但锚点是尽力而为，命名变了也只是少几张图，不影响正文。

跟踪已建表的股票时（§2.5），正文可在建模字段的数值后挂行内跟踪点 `{{track:字段id}}`（如"2026E 归母净利 96–100 亿元 `{{track:fy2026_np}}`"），渲染成"更新徽标 + 历史弹层"；纯可选，缺表/缺字段静默降级，不影响正文。

标题下必须放一张更新记录表，只保留两列：`日期`、`版本号`。首次报告写 `v1.0`；跟踪更新或重写时新增一行并把最新记录放在最上方。

**报告是活的（更新时的生命周期规则，详见 `references/living_report.md`）**：更新历史只住三层——正文只有最新真相、`## 更新 YYYY-MM-DD：一句话摘要` 章节承载增量叙事（放在核心判断之后、第一部分之前，新在前）、PG 跟踪表 + 文末「版本变更记录」表承载数字与版本台账。更新时状态型小节（速览/近期动态/估值结论/主线/对标）必须刷新，论证型小节可冻结但标基准日；会漂移的关键数字必挂 `{{track:}}`；三情景表只写现行口径；核心判断收尾放固定词表 bullets（公司类型/估值阶段/主线连接强度/成长成功率/当前市值/期望市值/最关键变量/总体置信度，每条值 ≤20 字），渲染成 hero 指标网格。

**Deep 模式的嵌入规则（确保查了的都体现，不是凑满 3 条就行）**：调研工单里每条 ✅ 完成项，都要把它的结构化 `==深度调研发现｜工单号｜主题｜置信度：高/中/低` 块**就近嵌入相关正文**——异常归因→§4 成长诊断 / 主线·B 型期权→§5 核心看点与定量 §6–§7 / 人与治理→§6 成长成功率 / 风险→第三部分；并在末尾「深度调研索引」登记一行。每张发现卡只允许四行：`来源 / 原文 / 判断 / 影响`。⚠️ 数据缺、✗ 放弃的项不嵌正文，但**仍要进索引并注明、汇入估值结论置信度**。**正文 + 索引合起来必须覆盖整张工单，无一遗漏。**

**Deep 发现卡格式（HTML 会渲染成专用卡片）**：

```markdown
==深度调研发现｜W1｜异常归因｜置信度：高
来源：[《2025年年度报告》](https://...) · 管理层讨论与分析 p.23
原文："关键原文摘录，控制在一句内"
判断：这条证据部分证实毛利率改善来自产品结构，而不是一次性因素。
影响：提高基准情景收入兑现置信度；估值结论置信度维持中。
==
```

来源链接规则：CNInfo 定期报告和公告必须把标题写成 Markdown 链接，URL 来自 `report-text` / `announcement-text` 返回的 `download_url` 或 `adjunct_url`；联网检索资料同样用原网页链接。确实没有 URL 时，写 `来源：《标题》（原文链接缺失） · 章节/页`，并在「深度调研索引」里保留这个缺口。

```markdown
# [公司名称]（[股票代码]）基本面研究

| 日期 | 版本号 |
|---|---|
| [YYYY-MM-DD] | v1.0 |

## 核心判断
[2-4 句结论先行：公司类型（成长股/成熟龙头/红利价值）+ 一句话看点 + 行业地位 + 估值状态（贵/合理/便宜，当前价格是否合理）+ 最关键的变量。结尾放固定词表 bullets 尾块（渲染成 hero 指标网格），每条值 ≤20 字：]

- **公司类型**：[…]
- **估值阶段**：[深度低估/合理/偏高透支/…]
- **主线连接强度**：[强/弱/无连接]
- **成长成功率**：[高/中性/低；非成长股写"不适用"]
- **当前市值**：[X 亿元 {{track:current_mv}}]
- **期望市值**：[Y 亿元 {{track:weighted_expected_mv}}；非成长股写"不适用"]
- **最关键变量**：[≤20 字]
- **总体置信度**：[高/中/低]

## 更新 YYYY-MM-DD：[一句话摘要]（第 2 次及以后分析时逐节新增，新在前；格式与刷新规则见 references/living_report.md）
[快照表：`| 维度 | 最新值 | 相对上次 | 对模型的影响 |`（没变的关键维度也列"不变"）→ 增量叙事 → 本轮结论 + 跟踪事项状态核销]

---

## 第一部分 · 定性：这是一家什么公司，好在哪

### 1. 公司速览
[一句话说清主营做什么；主营产品/收入结构、所属行业、总市值、上市时间等关键事实。克制，不堆 `company` 原始字段]

### 2. 公司分型
[归入成长股/成熟龙头/红利价值哪一型 + 依据（增速/股息率/行业地位/主线）。这是后续定性侧重与定量估值模式的纲。标注置信度，并说明是否处于类型切换期]

### 3. 行业地位与竞争格局
[行业景气度与所处阶段；公司是领导者/挑战者/跟随者；护城河类型与强弱；市占率/份额趋势。外部事实需联网检索并引用来源]

### 4. 成长性与财务质量诊断
[五维度评估（按分型调整权重）：收入增长质量/利润含金量/现金流验证/业务结构/再投资能力与 ROE；并入财务健康：偿债安全/利润质量/资本效率。最后归入成长阶段，并核对与分型是否自洽]

### 5. 核心看点
[2-4 条亮点，落在该类型的核心矛盾上（成长股=成长动力与远期空间、成熟龙头=盈利稳定与股东回报、红利价值=可持续现金分红）。每条附数据和最强反方观点]

### 6. 成长成功率：好公司 + 好团队?（成长股 / B 型期权必填；成熟龙头 / 红利价值可省）
[VC 透镜，估"成长能否被兑现"的概率。各维度给绿旗/红旗证据，区分事实 vs 推断：
- **创始人 / 掌舵人素质**：是否 founder-led、产业背景、核心高管稳定性、利益绑定（持股/薪酬）、创始人尾部风险（质押爆仓线/离婚/多元分心）
- **历史团队表现**：承诺兑现度（激励考核/业绩承诺是否达成，最硬信号）、第二曲线落地率、资本配置回报、穿越周期
- **公司治理水平**：信披合规（监管函/问询/变脸）、对小股东态度（分红 vs 圈钱/减持节奏/质押）、制衡与激励真伪
- **组织能力与人才密度**：研发人员/核心技术人员稳定性、激励覆盖广度与考核进取性、人均创收、募投达产——好船长还要配能打的船员
- （判 B 型期权时叠加横切透镜）创始人-赛道匹配、第二曲线内生邻接 vs 跨界、外部聪明钱背书、预期管理质量
综合成**档位：高成功率 / 中性 / 低成功率**，标注置信度与数据缺口（治理硬伤可单独压到低档）。一句话说明它如何调整下方定量的三情景概率权重与 B 型期权计入。详见 references/growth_success_rate.md]

### 7. 近期动态：公告事件与机构调研
[作为对公司现状的补充：近期重大公告事件（区分原文事实 vs 推断，必要时读原文）；机构调研频率、参与机构、问题关键词。注明这些只反映关注度与现状，不等同业绩改善]

---

## 第二部分 · 定量：贵不贵，当前价格合不合理

### 1. 估值模式（双轴分型）
- **生命周期分型**：[成长股 / 成熟龙头 / 红利价值]，依据 [增速 / 股息率 / 行业地位 / 主线]
- **行业 / 商业模式分型**：[半导体设备 / IC 设计 / SaaS / 银行 / 周期资源品 / …]，按四问决策树（盈利稳否 → 利润释放否 → 资产重否 → 多业务否）
- **主估值锚**：[PE / PEG / PS / EV-Sales / EV-ARR / Rule of 40 / PB / EV-EBITDA / 中周期 PE / SOTP / rNPV / DCF / NAV / P-EV / P-NBV …]
- **辅助锚**：[…]
- **不适用的常见误用**：[显式排除一个最容易被错套上的方法，如"重资产周期股不能用景气顶利润 PE"]

### 2. 估值方法与相对贵贱（估值带 + 同业）
- **采用的估值方法**：[直接判断采用 PE / PEG / PS / EV-Sales / EV-ARR / Rule of 40 / PB / EV-EBITDA / 中周期 PE / SOTP / rNPV / DCF / NAV / P-EV / P-NBV / 股息率中的哪一种]，一句话说明为什么它比常见 PE/PB/PS 口径更适合这家公司
- **只展示主锚数据**：[主锚当前值 + 市值 + 取数日期]；主锚维度历史 band：近 1 / 3 / 5 年 min / p25 / median / p75 / max + 当前分位。不要把 PE、PB、PS 三套表都列出来；不适用的常见方法只用一句话解释为什么不用
- **同业相对位置**：可比清单（3–5 家）+ 选择依据（同赛道 / 商业模式 / 规模量级 / 客户产品代际）+ 各家主锚数值 + 中位数；若可比 < 3 家，明确"同业中位置信度低"
- **相对贵贱判断**：把主锚历史 band、同业中位、行业中枢和当前市场水温放在一起判断。结论用"相对自身历史偏高/偏低、相对同业偏贵/偏便宜、在当前市场水温下是否可容忍"来写，避免孤立说"贵/便宜"
- 成长股说明 band 仅作下行参考；增速降档 / 上市样本短时，明确缩短窗口或弃用

### 3. 行业中枢与产业景气位置
- 行业历史分位 / 行业指数估值中枢（联网取得；无法取得则写"未取得"）
- 当前产业景气位置（上行 / 见顶 / 下行 / 触底回升）+ 一句方向性影响

### 4. 隐含预期分析
[从当前主锚反推市场隐含的增长预期 / 利润率 / 远期空间，与第一部分判断的实际成长能力对比。增速假设需显式标注为假设]

### 5. 主线归属修正（A股关键调节项）
- 当前市场主线：[简要说明，附依据]
- 与主线连接强度：[强/弱/无连接]
- 验证信号：[机构调研/公司催化公告/相对涨跌；北向、研报需联网，注明数据边界]
- 主线判断置信度：[高/中/低]
- 对估值的修正：[膨胀容忍度/谨慎程度]

### 6. 三情景推演（沿用主锚的推算路径）
- **表头按主锚选**（§5.4.B）：
  - PE 主锚：`情景 | 核心假设 | 远期净利 | 合理PE区间 | 隐含市值 | 与当前偏离`
  - PS 主锚：`情景 | 核心假设 | 远期收入 | 远期净利率（说明）| 合理PS区间 | 隐含市值 | 与当前偏离`
  - PB 主锚：`情景 | 核心假设 | 远期BVPS | 中周期ROE | 合理PB区间 | 隐含市值 | 与当前偏离`
  - EV/EBITDA / EV/ARR / 股息率 / rNPV / SOTP 各按 §5.4.B 对应表头
- **禁止把主锚不是 PE 的票退回 PE 三情景**——这会让 5.1 的分型努力作废，结果就是 PS 只能在表底以"若改用 PS"作为脚注（典型错误模式）
- **成长股 / B 型期权加概率权重**（§5.4.C）：表头补一列 `概率`（来自成长成功率档位：高 40/45/15、中 25/50/25、低 15/40/45，可微调注明依据），表后加一行 **期望市值 = Σ 概率×情景市值** 与当前市值比；B 型期权按档位决定计入比例（高=可进基准、中=仅乐观、低=仅脚注）
- 辅助锚可在表后补一句对照（如"对照口径：若 2028 年净利率达 15%、给予 PE 30×，对应市值 X"），但不作主推算路径
- **只写现行口径**：更新重估时直接改表内数值，不做"初版 vs 重算"对照列——演化轨迹交给跟踪字段（`{{track:}}`）与当轮更新章节（见 references/living_report.md §6）

### 7. 估值结论（六项必输出）
- **当前估值**：[主锚数值；辅助锚仅在一行解释，不另铺表]，取数日期
- **行业中枢**：[行业指数 / 行业分位 或 写"未取得"]
- **历史分位**：[公司自身近 3 年 median + 当前分位]
- **合理估值区间**：[主锚区间，如 PE 18–28× / PS 6–8× / PB 1.2–1.5×]，依据 [同业中位 + 自身 3 年 median + 行业中枢 + 当前市场水温 的权重分配]
- **上修条件**（≥3 条，分业绩/产业/事件/估值四类，含量化阈值；跟踪报告每条行尾标注归属跟踪事项，如 `→ TODO-01`，状态只在跟踪事项处维护）
- **下修条件**（≥3 条，分业绩/产业/事件/估值四类，含量化阈值；同上标注 `→ TODO-xx`）
- **估值阶段**：[深度低估 / 合理偏低 / 合理定价 / 偏高透支 / 极度乐观]
- **成长成功率档位**（成长股 / B 型期权）：[高 / 中性 / 低]，对三情景概率权重与 B 型期权计入的影响；成熟龙头 / 红利价值写"不适用"
- **概率加权期望市值**（成长股 / B 型期权）：[期望市值 X vs 当前市值 Y，偏离 Z%，来自 §7]；成熟龙头 / 红利价值写"不适用"
- **主线归属修正后总结论**：[当前价格是否合理；成长股结合上面的期望市值偏离一起说]
- **总体置信度**：[高/中/低]，依据 [六项的完备度 + 数据时效 + 第一部分财务异常项 + 成长成功率档位（成长股；未做或档位"低"降一档）]

---

## 第三部分 · 背景与风险

### 1. 股东与治理
[股权结构/管理层激励/股东户数/重要股东增减持/限售解禁/大宗交易。作为背景与风险信号]

### 2. 风险提示
[分两组：**特异性风险** 3-6 条在前，逐条给量化阈值或可观察信号（含主线轮换风险），可挂 TODO；**例行风险**压缩成一条指针指回公告原文（如"XX 公告 §5 列示七类例行风险"），不逐条抄]

---

## 后续跟踪清单（跟踪报告必填；每项一张卡片块，不用宽表）

==跟踪事项｜TODO-YYYYMMDD-简称-01｜[类型]｜优先级：[高/中/低]｜状态：[待跟踪/部分兑现/已兑现/证伪/更新观点]｜更新：YYYY-MM-DD
事项：[一句话说清跟踪什么、当前进展]
变量：[Driver / 变量，可写跟踪字段 id]
验证：[验证方式与数据源]
反证：[反证方向]
来源：[标题链接或 [W..] 标号]
==

## 版本变更记录（第 2 版起必填；时间轴组件的数据源）

| 日期 | 版本 | 主要变更 | 关键数字变化 |
|---|---|---|---|
| [YYYY-MM-DD] | v1.1 | [接入了什么证据、改/没改什么] | [口径跃迁，如"期望市值 224 → 465 亿"] |
| [YYYY-MM-DD] | v1.0（初版） | [建仓逻辑一句话] | [初版核心锚] |

---

## 附：深度调研索引（仅 Deep 模式必填，骨架版可省略）

> 此节是 Deep 模式无法被静默省略的"足迹"，也是**完整性账本**：调研工单里**每一条执行过的项都要在此登记一行**——✅ 有实质发现的，正文必有对应结构化 `==深度调研发现｜...` 块；⚠️ 数据没取到、✗ 超预算放弃的，也登记并注明（汇入估值结论置信度）。**索引行数应等于已执行工单项数，少一行就是把查过的东西漏掉了。**
> 索引同时是报告的**唯一来源台账**：不要另设「信息来源」清单节（三处登记必然漂移）。正文轻量引用用行内标号 `[W15]`（渲染成跳转索引行的锚链 chip），就近论证仍用 `==深度调研发现｜...` 发现卡。

| # | 工单号 | 命题 / 旗标 / 维度 | 状态 | 原文出处（标题链接 + 章节 / 页） | 引文摘要（≤ 30 字） | 模型判断 | 置信度 |
|---|---|---|---|---|---|---|---|
| 1 | W1 | [A1/A2/B / 异常 / 人·治理 …] | ✅ | [《报告/公告标题》](原文URL) · [章节/页] | "..." | [一句证实/证伪 + 数字] | 高/中/低 |
| 2 | W2 | ... | ⚠️ 数据缺 | — | — | [未取得，已降置信度] | — |
| 3 | W3 | ... | ✗ 放弃 | — | — | [超预算 / 边际信息低] | — |
| … | … | （工单每条执行项都列到，直到全覆盖） | | | | | |

---
以上基于公开数据和当前可得信息，不构成投资建议。数据存在滞后性，主线判断带有主观性，分析结论可能因新信息而改变。
```
---

## 九、质量要求

**文风默认（项目级硬性要求）：**

- **文风讲人话，减少机械与僵硬。** 像跟懂行的人当面把一件事讲清楚那样写，句子通顺、有逻辑衔接，该解释因果和给判断时把话说透。避免模板腔、翻译腔和套话——别成段堆砌"综上所述""值得注意的是""总体来看"，别把每条都写成生硬的"主语+动词+宾语"公式句，也别为了凑结构把话说断、只丢关键词。
- **同项罗列优先用 list，但每条要说人话。** 同一维度的多个条目（多条成长线索、多个估值假设、多项风险提示）拆成 bullet 或编号，一条一项，别塞进一个长段落；但每条用完整通顺的话写，不要退化成"字段A - 字段B - 字段C"式的横杠拼接。结构化对照（指标 × 数值、情景 × 假设 × 估值）才用表格。

**内容质量：**

- 能给具体数字时优先给数字，数据有日期时写明报告期。
- 不要堆原始表格，用关键数字支撑论点。
- 不要编造竞争对手、客户、政策、产业事实或市场主线；这类当前外部事实需要联网检索并引用来源。
- 主线归属判断必须基于近期可验证的市场观察，不要凭训练记忆判断当前主线。
- 避免单边结论，每个判断都要写出最强反方观点。
- 区分"我从数据中看到了什么"和"我推断了什么"——前者是事实陈述，后者需标注为推断。
- 公告标题只能用于定位事件；涉及重大影响时必须读取公告或报告原文。
- 机构调研只能用于关注度和问题焦点验证，不得写成业绩改善证据。
- 主线归属作为可被推翻的假设而非事实，必须标注置信度。
- **估值方法必须按 5.1 双轴分型选择，不得默认通用 PE**。重资产 / 周期 / 金融 / 创新药 / SaaS / 多业务并行公司用 PE 是系统性错误；估值中枢不允许写死数值，必须由"自身历史分位 + 同业中位 + 行业中枢 + 产业景气位置"四项动态构成。
- **估值结论缺一不可的六项**：当前估值、行业中枢、历史分位、合理估值区间、上修条件、下修条件；某项数据无法取得时**明写"未取得"**，并对应下调置信度——不得静默省略。
- **成长股的估值溢价是对未来兑现的赌注**：必须用「成长成功率」（创始人素质 / 团队承诺兑现 / 治理质量，见 `references/growth_success_rate.md`）估其兑现概率，接回三情景概率权重（§5.4.C）与置信度；不做评估或档位为"低"要降一档置信度。治理硬伤（资金占用 / 重大违规 / 超高质押 + 清仓减持）可单独把成功率压到低档，不被业务故事对冲；明星创始人光环不等于高成功率，以承诺兑现等硬记录为准。
- **更新已有报告时守活报告契约**（`references/living_report.md`，含更新一轮的自检清单）：状态型小节刷成最新口径，不允许正文残留旧市值/旧口径与更新章节打架；现行方法论住正文，更新章节只留"从旧到新"的叙事；同一观察点只在跟踪事项登记一次，条件/字段引用它。
- 最终回答要适合投资者阅读：简洁、有证据、清楚表达不确定性。

### 9.1 Deep 模式产出自检（仅 Deep 模式必走，骨架版跳过）

写完报告 *交付前* 必须勾完以下各项；任一漏项必须回头补齐，不得提前结案：

- [ ] **工单是否全部核销**（每项 ✅完成 / ⚠️数据缺降置信度 / ✗超预算放弃，无 ⬜ 遗留）？主上下文有没有被 PDF/公告全文污染？（编排自检见 `references/orchestration.md §5`）
- [ ] 是否在报告之外向用户输出了 `[Deep 模式启动]` 协议？（命题候选 + 高优先旗标数 + 调研预算 + 计划 probe）
- [ ] **工单全覆盖**：每条 ✅ 完成的工单项都有对应结构化 `==深度调研发现｜...` 块、就近嵌入正文（实质发现 ≥3 条；每条只有 `来源 / 原文 / 判断 / 影响` 四行；`来源` 标题带原文链接）？有没有"查了却没写进报告"的项？
- [ ] **索引 = 完整性账本**：每条执行过的工单项（✅/⚠️/✗）都在「深度调研索引」登记，**索引行数 == 已执行工单项数**（少一行=漏了）？⚠️/✗ 项是否已汇入估值结论置信度？
- [ ] 是否在报告之外向用户输出了 `[Deep 模式完成]` 收口？（读 N 篇 / 联网 K 次 / 嵌入 M 条发现 / 工单 P 项全部登记 / 索引行数==工单项数 ✅）

读了 PDF、跑了 thesis_scan 但报告里只多了几句"模糊判断"——这是骨架版冒充 Deep，不算合格交付。**查了 N 条却只写出 3 条、剩下的悄悄丢掉——同样不合格**：Deep 的承诺是"查多少、体现多少"，索引行数对不上已执行工单项数就是漏了，必须补齐。
