# 从筛选到估值：统一口径以后，再比较和定价

选股、同业比较和估值，经常被当成三项独立工作。实际做起来，它们是一条连续的数据链。

筛选规则决定哪些公司进入样本，同业口径决定哪些数字可以比较，估值模型再把这些数据变成市场假设。前面任何一步偷懒，最后那个看起来很精确的目标价都会失去意义。

这一章从沪深 300 条件筛选开始，再比较中际旭创、新易盛和天孚通信，最后用美的集团做反向估值。

标的不同，方法却能接起来：每一步都必须留下逐行证据、不可比项和可复算公式。

## 1、先把自然语言条件变成筛选规则

筛选不是把条件写进一句 Prompt 就结束。每个字段都要有定义，每只样本都要留下是否通过的逐行证据。

### 先确认工具能不能读到完整样本

打开左侧的「技能 · 连接器 · 伙伴」，在搜索框输入“选股工具”。确认卡片名称和说明与任务匹配后加载能力，再回到新工作任务输入 Prompt。这里不要把能力名称当成结论来源；它负责组织工作流，最终数字仍要接受来源与口径审计。

### 自然语言条件，先变成机器规则

我在「豆包工作」里选择选股与财务筛选能力，把成分股日期和数据日期都固定在 2026 年 8 月 28 日。第一条 Prompt 要求它先解释规则，再执行扫描。

```text
请把下面的自然语言条件转换成可以计算的沪深 300 股票筛选规则，并在 2026 年 8 月 28 日这个固定数据日期执行。
1、条件包括最近三个完整年度营业收入都增长，最近三个完整年度经营现金流净额都为正，最近一个完整年度 ROE 不低于 15%，资产负债率不高于 70%，截至数据日没有被实施退市风险警示。
2、逐条定义字段、公式、报告期、币种、缺失值处理和排除条件。先告诉我哪些条件能直接计算，哪些仍有口径争议。必须说明实际扫描的股票数量、成分股名单日期和数据覆盖率。
3、输出每条规则的筛选漏斗、入选公司及关键数值、被排除公司的原因、对阈值上下浮动 10% 的敏感性分析。
检查幸存者偏差、未来数据误用和成分股调整。无法扫描完整样本时，把结果标为样例演示，不得写成沪深 300 全量筛选。
```

首轮回答声称读取 300 只成分股，其中 295 只取得完整字段，最后留下 32 家。

继续核对后，筛选漏斗却出现 267 和 268 两种中间数量，真正独立二次取数的股票只有 14 只，并且已经发现北方华创等多处 ROE 错误。只有汇总数字，没有另外 268 家逐股退出记录，不能证明它完成了全量筛选。

我继续输入覆盖率审计 Prompt。**豆包工作**随后把标题降级为“样例筛选（部分独立复核版）”，撤回全量覆盖说法。这一步没有产生完整交付，却是必要修正：遇到证据不足，先降低结论等级，再补材料。

```text
请审计刚才的筛选样本。列出实际读取的股票总数、成功取得全部字段的数量、缺失字段数量、每一步剩余数量和最终公司名单。若没有覆盖数据日的完整沪深 300 成分股，立即把标题和结论改为样例筛选，并删除任何全市场覆盖的说法。
```

### 300 只股票，需要 300 行证据

要把任务从 待补充 推到 最终文件，只补一段文字不够。我在原对话直接发送计划中的全量补跑 Prompt，要求保存固定日期的成分股清单，并为 300 只股票分别落下营收、经营现金流、ROE、资产负债率、风险警示状态、来源和五条规则判定。

```text
刚才的结果只独立复核了 14 只股票，不能证明完成沪深 300 全量筛选。请继续执行，不要再用汇总数量代替逐股证据。

固定成分股日期和数据日期仍为 2026 年 8 月 28 日。先取得并保存当日可复核的沪深 300 成分股清单，明确来源和 300 个证券代码。然后为每只股票保存最近三个完整年度营业收入、最近三个完整年度经营现金流净额、最近一个完整年度 ROE、资产负债率和退市风险警示状态。每一行必须包含证券代码、公司名、报告期、字段值、单位、数据来源、缺失原因和五条规则的通过/不通过结果。

请使用可重复执行的本地脚本完成筛选，并输出《沪深300逐股证据.csv》《沪深300筛选脚本.py》《沪深300筛选报告.md》和运行日志。重新计算每一步筛选漏斗、最终名单、排除原因、缺失字段统计和阈值上下浮动 10% 的敏感性。对金融行业资产负债率口径单列规则，不得与非金融企业硬比。再从最终名单、边界样本和被排除样本中至少各抽取 10 只，回到原始报告独立复核；发现错误就修正全量数据并重跑。

请保留样例筛选，另存全量结果便于对照。只有证据表恰好包含 300 个不重复证券代码、脚本可以重复执行、抽查结果通过时，才输出最终名单和完整核对清单；否则继续复算，并明确列出待补充项。最后给出四个文件入口，不给买卖建议。
```

全量文件落盘后，筛选漏斗变成 300→116→97→36→35→35。五步分别对应营收三年增长、经营现金流三年为正、期末 ROE 不低于 15%、非金融企业资产负债率不高于 70%、没有退市风险警示。最终 35 家通过全部规则。金融公司不与制造业硬比资产负债率，而是保留原值并单列。

阈值也逐股重算。把 ROE 门槛放宽 10% 到 13.5%，结果为 42 家；提高到 16.5%，结果为 24 家。非金融企业资产负债率门槛放宽到 77% 时仍为 35 家，收紧到 63% 时为 33 家。杭州银行的 ROE 修正以后，不再进入 13.5% 的宽松情景。

### 抽样复核以后，再谈筛选结果

全量筛选生成以后，先抽取最终名单、边界样本和被排除样本各 10 只，回到年报或交易所披露复核。抽查发现 ROE 口径不一致时，不能只改 30 只样本，要统一公式后重新计算 300 只股票和筛选漏斗。

**第一次收紧：补齐 30 只原始报告复核**

全量筛选已经落盘，接下来补齐 30 只分层样本的原始报告证据。

```text
请在刚才 F08 四个最终文件基础上补最后一件交付物，不再删除任何目录。新建《30只分层原始报告复核.csv》，只保留最终名单、边界样本、被排除样本各10只，共30只。每只至少一行，列必须包含：类别、证券代码、公司名、原始年报或交易所正式披露链接、报告期、页码或报表名称、核对字段、原始披露值、最终证据表值、差异、修正动作、复核结果。不能把同花顺概览、搜索摘要或没有实际返回结果的工具调用写成原始报告；无法拿到官方原文、页码或表名时必须标为未关闭，整章保持待补充。如果 30 只都能回到原始报告，再把该文件路径追加到最终回复，并确认旧文件与rerun_check目录全部保留。
```

**第二次收紧：统一 ROE 计算口径**

复核表又暴露了 ROE 口径冲突，这一轮只统一公式并重新跑数。

```text
如果资料仍有缺口，请明确列出待补充项。刚生成的30只复核表暴露出一个未关闭矛盾：筛选脚本第20行仍写“ROE优先加权平均，其次期末”，筛选报告第九节却写“证据表一律采用期末口径”；复核表又把官方加权ROE与证据表期末ROE的判定翻转直接标成已关闭。

请统一R3的唯一绑定口径为“期末ROE=归属于母公司股东的净利润÷期末归属于母公司股东的净资产×100%”，并更新脚本说明、筛选报告、raw证据口径说明和运行日志。对《30只分层原始报告复核.csv》里的30只样本，原始披露值必须补充年报中的归母净利润、期末归母净资产、单位、报表名称或页码，以及按上述公式复算的期末ROE；然后只用复算期末ROE与最终证据表期末ROE做同口径比较。汇川技术、豪威集团、金山办公、赛力斯等加权与期末会导致判定翻转的样本必须单独列明，但不能再把加权ROE当成R3输入。无法取得计算所需的官方原文数字时，写明“官方原文数字未取得”，并列入待验证清单。

完成后再次执行正式脚本，复核300个代码、漏斗、最终名单、敏感性和文件SHA；更新四个最终文件与30只复核表，不删除rerun_check目录和任何旧文件。最后明确回答脚本、报告、raw、复核表的ROE口径是否已经完全一致。
```

**打开全量筛选文件**

筛选文件要一起打开。报告给结论，CSV、脚本和日志负责证明它怎样得出。

### 筛选报告要和逐行证据一起打开

一份筛选报告写出“300 只中命中 12 只”，并不能证明它真的扫过 300 只。所以最终检查要同时打开报告、证据表和抽样复核表。

先看规则定义和数据截止日。“高 ROE”不是规则，“连续三年加权 ROE 大于 15%”才是。

再看每一只股票是否都有原始值、口径、来源和通过理由。只有汇总数，没有过程行，就只能降级为样例。

最后抽查命中与未命中标的。错一条规则，不是改一个数字，而是重新跑整个样本。

## 2、进入同业比较前，先统一口径

进入候选池以后，不要立刻排名。报告期、单位、业务范围和指标定义先统一，不可比项单独解释。

### 横向对比前，先选对工作流

打开左侧的「技能 · 连接器 · 伙伴」，在搜索框输入“多股对比”。确认卡片名称和说明与任务匹配后加载能力，再回到新工作任务输入 Prompt。这里不要把能力名称当成结论来源；它负责组织工作流，最终数字仍要接受来源与口径审计。

### 先决定哪些列真的可比

我选择「多股对比」Skill，把数据截止日和报告期写进 Prompt，并明确要求说明哪些指标暂时不可比。

```text
请在同一数据截止日 2026 年 8 月 28 日，横向比较中际旭创 300308、新易盛 300502 和天孚通信 300394。

统一比较三家公司的业务位置、产品结构、客户集中度、收入与利润增长、毛利率、经营现金流、资本开支、研发投入、估值口径和主要风险。所有数字使用相同报告期、相同单位和相同来源等级。

请解释三家公司在光模块、光器件和 CPO 产业链中的差别，指出哪些指标可以直接比较，哪些不能硬比。输出同口径对比表、每家最强优势与最大脆弱点、决定相对表现的五个变量和后续验证节点。不要简单排出第一名，也不要给组合仓位。
```

豆包工作生成了对比草稿，把两家光模块整机厂与上游器件公司放在不同业务位置，并在结论中写明“不排名”。

这一步避免了把不同产业链环节的高毛利率直接解释成经营能力更强。

### 报告期、单位和口径，必须统一

首轮草稿尝试统一使用 2026 年 8 月 28 日市场数据，以及截至 2026 年 6 月 30 日的 TTM 或半年报口径。它标注了毛利率、研发投入与客户集中度的可比性限制，但交付流程没有完全完成。豆包工作留下 XML 草稿和证据台账，计划创建的正式文档没有成功生成，证据台账也没有通过编辑门禁。

我继续用一条口径审计 Prompt 逐列复核。

```text
请审计刚才的三股对比表。逐列检查报告期、币种、单位、会计口径、是否来自公司原始披露。报告期不同或来源等级不同的项目移出主表，放入「暂不可比」。重新计算可以比较的项目，并说明结论发生了什么变化。
```

复核后，原表 16 项指标只保留 10 项。6 项可以严格比较，4 项按同一公式重新计算为 TTM；另外 6 项因为报告期不同、会计口径未核实、带息债务不完整或研发资本化缺少依据，被移到“暂不可比”。

### 不可比项放进解释表，不硬塞进主表

横向比较最后要把“可比”和“暂不可比”分成两张表。继续追问时，为每个指标写清报告期、单位、分子、分母、来源和公式；缺少同口径数据的项目进入附表，不用估算值补齐。

**生成同口径比较最终版**

列级口径审计完成后，再生成只保留可比指标的最终文件。

```text
请把刚才已经完成逐列口径审计的三股对比整理为最终交付版。比较对象仍为中际旭创 300308、新易盛 300502 和天孚通信 300394，数据截止日仍为 2026 年 8 月 28 日。

主表只保留已经通过审计的十项同报告期、同单位、同来源等级指标。六项暂不可比指标继续放在独立附表，逐项说明缺少哪家公司、哪一报告期或哪一种原始披露，不能为填满表格而补数。重新检查每个比例的分子、分母和单位，并解释差异来自产业链位置、客户结构、扩产阶段还是技术路线。删除任何简单排名或组合建议。

请输出新的《三家光通信公司同口径比较.md》，包含产业链位置、十项可比主表、六项暂不可比附表、每家最强优势与最大脆弱点、五个决定变量、后续验证节点、来源复核表和逐项核对清单。请另存为新文件，保留前一版本便于对照。最后说明审计前后结论怎样变化，并给出新文件入口。
```

**打开同业比较文件**

同业比较要同时打开主表和不可比附表，只看主表会漏掉口径边界。

### 横向比较，不是排一张冠军榜

多公司对比最容易给人一种“数字很整齐”的错觉。打开主表后，要逐列追问报告期、单位、会计口径和业务定义是否一致。

前两屏先固定公司、报告期和比较列。同一个“收入”，可能是半年度、全年度或过去十二个月，不能直接横排。

中间两屏检查每一列的表底。单位不同可以换算，业务定义不同就必须单独解释。

最后两屏看附表和不可比项。主表负责比较，解释表负责防止误读，两张表缺一不可。

## 3、用估值反推市场正在押注什么

估值放在最后。输入、公式和结果分开，三种情景并列，再用当前价格反推市场隐含的增长与利润假设。

### 建模前，先把工具和材料选对

打开左侧的「技能 · 连接器 · 伙伴」，在搜索框输入“估值建模”。

### 输入、公式和结果，必须分开

我在「豆包工作」里选择「估值建模」Skill，要求只生成本地文件，不创建线上表格。Prompt 同时要求正向估值和反向推导，所有输入保留来源、日期和单位。

```text
请分析截至 2026 年 8 月 28 日美的集团 000333 当前估值隐含了哪些经营假设。

先从公司最近三年正式财报提取收入、营业利润、经营现金流、资本开支、净现金和总股本。说明你选择 DCF、股东自由现金流或可比公司方法的原因，也说明没有采用其他方法的原因。

建立基准、乐观和谨慎三种情景，列出收入增长、利润率、再投资、折现率和终值假设。所有输入注明来源、日期和单位。把输入、公式和结果分别放置，所有公式写进可复算的本地表格，不创建线上表格。

请反推当前市值需要怎样的增长与利润率路径才能成立，再做折现率和永续增长率的敏感性分析。输出假设表、估值区间、反向推导和最容易错的三个变量。估值区间不能写成保证实现的目标价。
```

首轮工作簿包含七个工作表，假设、DCF、反向推导和结论页都已经生成。

### 三种情景，比一个目标价诚实

估值模型要从“输入—公式—结果—复核”四层重建。继续追问时，要求豆包工作把三种情景、敏感性和反向估值放进同一个工作簿，并用独立计算结果逐项比对关键单元格。任何错误值、循环引用或关键硬编码都要先处理。

**从最小可算版本重建估值模型**

公式审计没有通过，所以这一轮直接从最小可算模型重新开始。

```text
刚才的工作簿公式审计没有通过。请不要在错误文件上继续打补丁，从最小可算版本重新建立美的集团估值模型，并把这次任务真正走完。

第一步只使用截至 2026 年 8 月 28 日能够从公司最近三年正式财报核验的收入、营业利润、经营现金流、资本开支、净现金和总股本。建立一张输入表，逐项写明报告期、单位、页码或官方链接。第二步先建立单一基准情景，只保留一条自由现金流路径、折现率和终值公式；用独立计算脚本手工复算企业价值、股权价值和每股价值。基准情景通过以后再增加谨慎与乐观情景、反向估值和折现率/永续增长率敏感性表。

请新建《美的集团估值模型.xlsx》和配套《美的集团公式审计与复算报告.md》，旧文件和早期版本和核对记录全部保留，不覆盖。重新打开 v3 工作簿，扫描所有公式、中文工作表引用、跨表引用、空值、单位、总股本、终值公式和敏感性表。任何 #NAME?、#REF!、#VALUE!、#DIV/0!、循环引用或关键硬编码都必须重新计算。用独立脚本逐项比对三种情景和敏感性表，关键结果差异不得超过 0.01%。如果审计仍未通过，就继续重新计算，不要输出估值区间，也请明确列出仍待补充的项目。

最后输出输入来源表、模型结构、三种情景、反向推导、敏感性表、逐单元格公式审计、独立复算结果和逐项核对清单，并给出两个新文件入口。估值结果只作为假设演示，不写成保证实现的目标价。
```

**打开估值工作簿**

工作簿生成以后，先检查输入和公式，再看三种估值情景。

### 市场价格反推出的不是答案，是假设

估值模型最怕的不是参数多，是把参数、公式和结果混在一起。打开文件后，先检查哪些是原始数据，哪些是人为假设。

前两屏固定数据日期、口径和单位。如果历史数据对不上，后面的 DCF 只会更精致地错下去。

中间两屏检查公式和现金流链路。每一个结果都要能逆着找回输入。

最后两屏看基准、乐观和保守情景。估值区间可以很宽，但每一段宽度都要能解释是哪个假设造成的。

## 数字越精确，越要能退回第一步

筛选、比较和估值连成一条链以后，每个结果都能退回上一步。

某家公司为什么进入样本，可以查看筛选证据；为什么比同行高或低，可以查看口径和不可比项；估值为什么变化，可以回到输入、公式和情景假设。

这比一个漂亮的排名更麻烦，却也更可靠。

金融模型最怕的不是计算复杂，而是一个错误口径沿着整条链传到最后，还被小数点包装得很确定。
