# 如何判断一只股票的价格是否合理 > 版本:v1.3(在同一正式文件上持续更新,不另建历史版本文件) > 更新日期:2026-08-09 > 适用范围:以普通工商企业为主,同时说明银行、保险、周期、资源、亏损成长股等特殊情况。 > 重要提示:估值不是计算一个“绝对正确价格”,而是在明确假设下计算合理价格区间、预期收益率和下行情景。本手册不构成投资建议。 --- ## 一、最终要回答的四个问题 判断股价是否合理,不应只看一个市盈率。完成分析后,必须同时回答: 1. 公司当前真实、可持续的盈利能力是多少? 2. 当前股价隐含了怎样的增长、利润率和回报率假设? 3. 在悲观、基准、乐观情景下,合理价格和未来收益率分别是多少? 4. 基准收益是否达到要求,同时悲观情景的损失是否可以承受? 最终输出至少包括以下七项: | 输出 | 含义 | |---|---| | 归一化利润 | 剔除一次性和不可持续因素后的正常利润 | | 合理价值区间 | 悲观、基准、乐观三个情景下的每股价值 | | 当前价格位置 | 当前价处在合理区间的下方、内部还是上方 | | 预期年化收益率 | 从当前价买入,在给定持有期和退出估值下的年化回报 | | 反向估值结果 | 当前价格要求公司未来做到什么 | | 机构预期对照 | 一致预期、预测区间、机构明细、更新时间和是否滞后 | | 主要风险与触发条件 | 哪些事实变化会使原估值失效 | > 核心原则:合理价格是一个区间,不是一个点;利润必须先还原,再估值;信息来源必须记录日期、口径和优先级。 --- ## 二、30 分钟快速计算路径 本节是快速形成计算骨架的方法,不代表完整报告必须缩短。完整报告可以保留全部历史、模型、证据和复算过程;速度应主要通过固定信源、复用公司底稿、一次取数、一次计算和异常驱动复核实现,详见第二十一至第二十九节。 如果时间有限,按以下顺序执行: 1. 确定估值日、当前股价和完全摊薄总股本。 2. 下载最新年报、最新季报或中报、业绩预告/快报及其修正公告,同时取得最新机构一致预期。 3. 计算 TTM 利润,并把一次性收益、损失和周期高低点调整为归一化利润。 4. 根据公司类型选一个主模型和至少一个交叉验证模型。 5. 做悲观、基准、乐观三套增长与估值假设。 6. 计算合理价值区间、五年预期年化收益率和悲观下跌空间。 7. 用反向估值检查:当前股价隐含的增长是否现实。 8. 给出“明显低估 / 大致合理 / 明显偏贵 / 暂时无法评估”结论。 最简输入只需要: | 输入 | 最低要求 | |---|---| | 当前股价 | 同一估值日收盘价或实时价 | | 完全摊薄总股本 | 含已确定会摊薄的期权、可转债等 | | TTM 归母净利润 | 最近十二个月口径 | | 归一化归母净利润 | 剔除不可持续项目 | | 机构一致预期 | 至少包括机构数、未来三年利润区间、均值和更新时间 | | 净现金或净负债 | 现金、金融资产、有息负债 | | 未来 3—5 年增长假设 | 悲观、基准、乐观 | | 退出估值 | 未来市盈率、EV/EBIT 或终值假设 | | 要求回报率 | 与公司风险相匹配的最低年化收益 | --- ## 三、统一口径:先把“价格”和“价值”算对 ### 3.1 市值 ```text 总市值 = 当前每股价格 × 完全摊薄总股本 ``` 不要只使用软件显示的静态总股本。以下项目可能导致摊薄: - 限制性股票、员工期权; - 可转债、认股权证; - 已公告但尚未完成的定增; - 长期使用股份支付且持续增发的激励计划。 ### 3.2 企业价值 EV ```text 企业价值 EV = 总市值 + 有息负债 + 优先股 + 少数股东权益 - 可自由支配现金 - 与主营经营无关的金融资产 ``` EV 用于衡量整个经营性资产的价值,适合与 EBIT、EBITDA、FCFF 比较。 ### 3.3 股东权益价值和每股价值 ```text 普通股股东权益价值 = 企业价值 + 可自由支配现金 + 非经营性资产 - 有息负债 - 优先股 - 少数股东权益 每股价值 = 普通股股东权益价值 ÷ 完全摊薄总股本 ``` ### 3.4 估值日与货币口径 所有数据必须注明: - 截止日期; - 报告期; - 币种; - 单位; - 是否为合并报表; - 是否为归母口径; - 是否已经年化; - 是否为完全摊薄口径。 不得把不同日期的股价、汇率、负债和利润随意组合。 --- ## 四、信息从哪里获取,以及优先级怎么排 ### 4.1 信息优先级 | 等级 | 来源 | 主要用途 | 可信度处理 | |---|---|---|---| | A1 | 经审计年度报告、审计报告 | 历史利润、资产负债、现金流、分部数据 | 最高;仍需检查审计意见和会计变更 | | A2 | 正式季报、中报、法定临时公告 | 最新累计经营数据、资本结构、重大事项 | 高;未经审计项目要注意估计偏差 | | A3 | 业绩快报、业绩预告、预告修正 | 更新最新利润区间和重大变动原因 | 高;区间值不能伪装成精确值 | | A4 | 月度经营数据、合同、产销、价格、回购增发公告 | 拆解销量、价格、产能和股本变化 | 高,但通常不能替代完整利润表 | | B1 | 业绩说明会、电话会、投资者关系记录、公司官网 | 管理层指引、经营解释、战略与资本开支 | 中高;属于管理层陈述,需与财报核对 | | B2 | 政府、监管机构、海关、央行、统计局、行业协会 | 宏观、行业量价、政策和竞争格局 | 中高;注意统计口径和发布时间 | | C1 | 多家机构一致预期、专业数据库 | 市场预期、预测分歧、历史估值 | 中;必须记录样本数和更新时间 | | C2 | 单家券商研究报告 | 行业逻辑、模型假设和细分数据 | 中低;用作假设参考,不作为事实替代品 | | D | 新闻转载、论坛、自媒体、社交媒体、传闻 | 发现线索 | 低;只能触发核查,不能直接进入估值模型 | ### 4.2 同一指标冲突时的处理规则 1. 先确认是否为同一报告期、同一币种和同一利润口径。 2. 法定公告优先于电话会表述;原始文件优先于数据库转录。 3. 最新修正公告优先于旧预告。 4. 已实现数据优先于预测,但预测用于未来估值。 5. 多家一致预期优先于单家预测;同时保留最高、最低和中位数。 6. 归母净利润、扣非归母净利润、经营利润和 EBITDA 不得混用。 7. 无法消除的冲突必须转化为估值区间,并降低结论置信度。 ### 4.3 常用官方入口 中国内地上市公司: - [巨潮资讯网](https://www.cninfo.com.cn/) - [上海证券交易所](https://www.sse.com.cn/) - [深圳证券交易所](https://www.szse.cn/) - [北京证券交易所](https://www.bse.cn/) 中国香港上市公司: - [披露易 HKEXnews](https://www.hkexnews.hk/) 美国上市公司: - [SEC EDGAR](https://www.sec.gov/edgar/search/) 行业与宏观数据可从国家统计局、海关总署、人民银行、行业协会、商品交易所等原始机构获取。Wind、Choice、iFinD、Bloomberg、FactSet、LSEG 等适合提高效率,但重要数字应回到原公告核验。 ### 4.4 最低数据包 正式估值前,建议收集: - 最近 5 个完整会计年度的三张报表; - 最近 8 个季度的收入、利润、现金流和主要经营指标; - 最新股本、期权、可转债、增发、回购和大股东占款信息; - 业务分部收入、毛利、资产、资本开支; - 最近 2—3 年管理层指引和一致预期; - 行业供需、价格、产能、竞争份额与监管信息; - 历史估值区间及可比公司的口径一致数据。 --- ## 五、利润怎么算:从报告利润到可持续利润 ### 5.1 先区分四种利润 | 利润口径 | 作用 | 能否直接估值 | |---|---|---| | 报告归母净利润 | 财报列示、属于普通股股东的利润 | 不能默认直接使用 | | 扣非归母净利润 | 剔除公司按规则披露的非经常损益 | 可作为起点,但仍需复核 | | 归一化利润 | 按经济实质剔除不可持续项目和周期偏离 | 估值主要口径 | | NTM 未来十二个月利润 | 基于经营驱动预测的未来一年利润 | 前瞻估值口径 | ### 5.2 TTM 最近十二个月利润 当最新报告不是完整年度时: ```text TTM 利润 = 最近完整年度利润 + 本年度最新累计利润 - 上年度同期累计利润 ``` 例如:2025 年利润 10 亿元,2026 年上半年利润 7 亿元,2025 年上半年利润 4 亿元: ```text 2026 年上半年时点 TTM 利润 = 10 + 7 - 4 = 13 亿元 ``` ### 5.3 从累计数据计算单季度 ```text 本季度单季利润 = 本期累计利润 - 上一报告期累计利润 ``` 例如前三季度累计利润 9 亿元、上半年累计利润 5 亿元,则第三季度单季利润为 4 亿元。 ### 5.4 从业绩预告计算隐含季度利润 如果年度预告为 12—14 亿元,前三季度实际为 9 亿元: ```text 第四季度隐含利润区间 = 12—14 - 9 = 3—5 亿元 ``` 不要只取预告中点。悲观、基准、乐观情景应分别保留下限、中点和上限,除非有更强证据调整。 ### 5.5 归一化利润 推荐以扣非归母净利润为起点,再逐项检查: ```text 归一化利润 = 扣非归母净利润 + 被扣除但实际具有持续性的经营损失或费用 - 被保留但实际不可持续的收益 ± 周期、会计政策和异常经营状态调整 ``` 也可以从报告归母净利润出发: ```text 归一化利润 = 报告归母净利润 - 不可持续收益 + 不可持续损失 ± 周期正常化调整 ± 会计口径调整 ``` ### 5.6 常见调整项目 | 项目 | 通常怎么调 | 必须检查什么 | |---|---|---| | 资产出售、拆迁补偿、重组收益 | 从利润中扣除 | 是否反复出售资产形成“常态利润” | | 诉讼、灾害、停工损失 | 加回税后影响 | 是否真为一次性,保险赔付是否对应 | | 政府补助 | 按可持续比例保留 | 是否与主营经营直接相关、是否连续多年 | | 税收优惠 | 按未来可维持税率调整 | 到期时间、续期条件、地区和业务限制 | | 公允价值和投资收益 | 非经营部分扣除 | 是否属于金融机构核心经营业务 | | 信用减值、资产减值 | 不应机械全部加回 | 是否暴露真实经营和资产质量问题 | | 股份支付 | 一般视为真实成本 | 同时检查稀释;不能既加回又忽略增发 | | 汇兑损益 | 区分经营性与融资性 | 是否长期、系统性暴露 | | 周期高景气利润 | 调至中周期水平 | 商品价格、开工率、库存、产能周期 | | 少数股东损益 | 使用归母口径 | 子公司利润是否真正属于普通股股东 | | 资本化费用 | 还原为经济费用 | 研发、利息、销售费用是否激进资本化 | ### 5.7 调整的三条纪律 1. 所有调整都要计算税后影响,不能直接用税前金额替换税后利润。 2. 坏消息不能轻易全部称为“一次性”;连续出现三年的一次性项目通常已是常态。 3. 每项调整都要留下原公告位置、金额、理由和是否进入三个情景。 --- ## 六、利润从哪里来:建立经营驱动模型 利润预测不能只写“机构预计增长 20%”。必须能拆回业务变量。 ### 6.1 通用利润桥 ```text 利润变化 = 销量或客户数变化 + 价格或 ARPU 变化 + 产品与地区结构变化 - 单位成本变化 - 销售、管理、研发费用变化 - 财务费用变化 ± 税率和少数股东变化 ± 一次性因素变化 ``` ### 6.2 收入模型 按业务类型选择驱动: ```text 制造业收入 = 销量 × 平均售价 互联网平台收入 = 活跃用户 × 付费率 × ARPU 零售收入 = 门店数 × 单店收入 酒店收入 = 可售房间数 × 入住率 × 平均房价 订阅业务收入 = 期初客户 + 净新增客户,再乘以 ARPU 资源企业收入 = 产量 × 商品价格 × 品位或回收率调整 ``` 多业务公司应分部预测,再汇总收入和利润。 ### 6.3 利润模型 ```text 毛利润 = 收入 - 营业成本 营业利润 = 毛利润 - 销售费用 - 管理费用 - 研发费用 ± 其他经营项目 税前利润 = 营业利润 + 投资收益 - 财务费用 ± 非经营项目 归母净利润 = 税前利润 - 所得税 - 少数股东损益 ``` ### 6.4 预测来源的使用顺序 | 优先级 | 预测输入 | 使用方法 | |---|---|---| | 1 | 已签订单、已投产产能、法定价格、合同量 | 直接进入可验证的销量和价格 | | 2 | 公司正式指引 | 检查历史兑现率后使用 | | 3 | 行业供需和价格数据 | 建立总量、价格和份额假设 | | 4 | 多家机构一致预期 | 作为市场基准和分歧观察 | | 5 | 单家机构预测 | 只采用能解释并独立核验的驱动 | | 6 | 自己的趋势外推 | 仅用于缺少更强证据的变量 | 机构预测不是事实。至少记录:预测机构数、中位数、均值、最高值、最低值、最近更新时间、主要机构明细,以及过去预测是否系统性偏乐观。还必须将研报日期与最新财报、业绩预告、快报和重大合同日期比较;预测早于重大新信息时按第二十五节标记为滞后。 ### 6.5 不同公司如何预测 | 公司类型 | 核心驱动 | 主要风险 | |---|---|---| | 成熟消费/制造 | 量、价、份额、毛利率、费用率 | 增长见顶、品牌衰退、成本上涨 | | 高增长企业 | 客户数、留存、ARPU、单位经济、规模效应 | 增长降速、获客成本、稀释 | | 周期/资源 | 中周期价格、产量、成本曲线、资本开支 | 在景气顶点使用峰值利润 | | 项目制企业 | 在手订单、转化率、完工进度、回款 | 收入确认和现金回收不一致 | | 银行 | 资产规模、净息差、手续费、信用成本、资本充足率 | 坏账滞后、资本约束 | | 保险 | 新业务价值、投资收益、赔付率、偿付能力 | 利率、精算假设、投资波动 | | 亏损成长股 | 毛利、经营杠杆、现金消耗、达到盈亏平衡时间 | 永久无法盈利或再融资 | --- ## 七、先检查利润质量和生存能力 估值之前先排除“有利润、没现金”和“便宜但可能活不下去”的情况。 ### 7.1 现金转化率 ```text 三年现金转化率 = 最近三年累计经营活动现金流净额 ÷ 最近三年累计归母净利润 ``` 经验上,长期显著低于 1 需要解释;但预收款、金融业务、快速扩张和营运资本周期会影响该指标,不能机械套阈值。 ### 7.2 自由现金流 简化口径: ```text 简化自由现金流 = 经营活动现金流净额 - 资本开支 ``` 股权自由现金流 FCFE: ```text FCFE = 经营活动现金流净额 - 资本开支 + 可持续净借款 ``` 企业自由现金流 FCFF: ```text FCFF = EBIT × (1 - 所得税率) + 折旧摊销 - 资本开支 - 营运资本增加 ``` ### 7.3 自由现金流收益率 ```text 股权自由现金流收益率 = 归一化 FCFE ÷ 总市值 企业自由现金流收益率 = 归一化 FCFF ÷ EV ``` ### 7.4 ROIC 和增长质量 ```text NOPAT = EBIT × (1 - 正常所得税率) 平均投入资本 ≈ 平均(股东权益 + 有息负债 - 可自由支配现金) ROIC = NOPAT ÷ 平均投入资本 可持续增长率 g ≈ 再投资率 × 增量 ROIC ``` 高增长只有在增量 ROIC 高于资本成本时才创造价值。低回报的扩张可能增加收入和利润,却降低每股价值。 ### 7.5 负债与偿付能力 ```text 净负债 = 有息负债 - 可自由支配现金 净负债率 = 净负债 ÷ 股东权益 净负债 / EBITDA = 净负债 ÷ EBITDA 利息保障倍数 = EBIT ÷ 利息费用 ``` 检查债务到期时间、利率类型、抵押限制、外币负债和再融资环境。银行、保险和地产不能只套上述通用阈值,应按行业资本规则分析。 ### 7.6 股本稀释 ```text 年度稀释率 = 本年完全摊薄股数 ÷ 上年完全摊薄股数 - 1 ``` 公司利润增长不等于每股利润增长。长期股份支付或增发必须同时进入股数预测。 ### 7.7 需要暂停估值的红旗 - 审计保留意见、无法表示意见或持续经营重大不确定性; - 连续多年利润为正但经营现金流持续为负,且无法用扩张解释; - 应收、存货或合同资产增速长期远高于收入; - 频繁变更会计政策、收入确认或审计机构; - 大额关联交易、资金占用、担保和表外负债; - 依赖短期借款维持长期资产或即将发生大额债务到期; - 利润主要来自公允价值、资产出售、补助或资本化; - 业务结果高度二元化,关键许可证、诉讼或单一产品尚未落地。 存在重大红旗时,应先判断财务真实性和生存概率,而不是给出一个看似精确的目标价。 --- ## 八、根据公司类型选择估值方法 ### 8.1 模型选择表 | 公司类型 | 主模型 | 交叉验证 | 不宜单独使用 | |---|---|---|---| | 稳定盈利普通企业 | 归一化 P/E 或 FCFF-DCF | EV/EBIT、FCF 收益率、反向 DCF | 静态市盈率 | | 重资产企业 | EV/EBIT、DCF | P/B、FCF 收益率 | EV/EBITDA 忽略维持性资本开支 | | 银行 | P/B-ROE、股利折现 | P/E、资本充足率情景 | EV/EBITDA | | 保险 | P/EV、股利折现 | P/B、ROE、新业务价值 | 普通企业 EV 模型 | | REIT/物业 | P/FFO、NAV、分派收益率 | DCF | 会计净利润 P/E | | 周期/资源 | 中周期 EV/EBIT、NAV | DCF、P/B、成本曲线 | 峰值利润 P/E | | 亏损成长企业 | 情景 DCF、EV/收入 | 单位经济、盈亏平衡分析 | 负数 P/E | | 多元集团 | SOTP 分部加总 | 合并 DCF、历史折价 | 单一合并倍数 | 规则:至少使用一个主模型和一个交叉验证模型。两个模型的基准价值相差超过 25% 时,不要简单平均,必须解释差异。 --- ## 九、相对估值标准和计算方法 ### 9.1 市盈率 P/E ```text TTM P/E = 总市值 ÷ TTM 归母净利润 归一化 P/E = 总市值 ÷ TTM 归一化归母净利润 Forward P/E = 总市值 ÷ NTM 归母净利润 盈利收益率 = 归一化利润 ÷ 总市值 = 1 ÷ 归一化 P/E ``` 适用:盈利为正、资本结构稳定、利润可持续的公司。 不适用:周期顶部、利润大幅波动、负债差异很大或利润为负的公司。 合理 P/E 不是直接照搬行业平均值,而是由以下因素共同决定: - 未来盈利增速和持续年限; - ROIC/ROE 和再投资空间; - 现金转化率; - 资产负债风险; - 商业稳定性和治理质量; - 利率与投资者要求回报率。 ### 9.2 EV/EBIT 与 EV/EBITDA ```text EBIT = 利润总额 + 利息费用 EBITDA = EBIT + 折旧 + 摊销 EV/EBIT = EV ÷ 归一化 EBIT EV/EBITDA = EV ÷ 归一化 EBITDA ``` 适合比较资本结构不同的公司。EV/EBITDA 不能替代自由现金流,因为它忽略资本开支、营运资本和税。 ### 9.3 市净率 P/B 与 ROE ```text P/B = 总市值 ÷ 归母净资产 ROE = 归母净利润 ÷ 平均归母净资产 理论合理 P/B ≈ (ROE - g) ÷ (股权要求回报率 R - g) ``` 该简化关系要求 ROE、增长和分红长期稳定,且 `R > g`。适用于净资产能代表经营资本的金融、成熟资产型公司。 低 P/B 不等于便宜。如果资产质量差、ROE 低于要求回报率、未来需要减值,低 P/B 可能合理。 ### 9.4 股东收益率 ```text 净回购 = 实际注销或减少的回购金额 - 新股发行及股权融资 股东收益率 =(现金分红 + 净回购)÷ 总市值 ``` 回购只有在没有被新增股份抵消、且价格不明显高估时才真正创造每股价值。 ### 9.5 可比公司选择 可比公司应在以下方面相似: - 商业模式和客户; - 收入增速与利润率; - ROIC/ROE; - 资本开支和现金转化; - 杠杆与风险; - 所处国家、税制和会计准则。 不要因为“同一行业”就直接使用平均倍数。优先使用中位数,并解释目标公司相对可比公司的溢价或折价。 --- ## 十、绝对估值:DCF 完整计算 ### 10.1 第一步:预测 FCFF ```text FCFF = EBIT × (1 - 正常所得税率) + 折旧与摊销 - 资本开支 - 营运资本增加 ``` 至少预测 5 年。高增长或重大产能建设期可预测 8—10 年,但越远的预测越不可靠。 ### 10.2 第二步:确定折现率 股权资本成本: ```text Ke = 无风险利率 Rf + Beta × 股权风险溢价 ERP + 公司特定风险 ``` 加权平均资本成本: ```text WACC = Ke × E / (D + E) + 税前债务成本 Kd × (1 - 税率) × D / (D + E) ``` 要求: - 无风险利率、现金流和通胀假设必须使用同一币种; - 债务与权益权重优先使用长期目标资本结构; - 不要为了得到想要的目标价随意调低 WACC; - 对小公司、集中客户、治理或流动性风险,可通过情景或特定风险反映。 ### 10.3 第三步:计算终值 永续增长法: ```text 终值 TV = 第 n+1 年 FCFF ÷ (WACC - 永续增长率 g) ``` 必须满足: ```text WACC > g ``` 永续增长率不应长期高于公司主要经营地区的名义经济增长率。终值年份的利润率、ROIC、再投资率必须相互一致。 ### 10.4 第四步:折现并还原股权价值 ```text EV = 各年 FCFF 的现值之和 + 终值的现值 股权价值 = EV + 可自由支配现金 + 非经营性资产 - 有息负债 - 优先股 - 少数股东权益 每股价值 = 股权价值 ÷ 完全摊薄总股本 ``` ### 10.5 第五步:敏感性分析 至少测试: - 收入增长率; - 稳态营业利润率; - WACC; - 永续增长率; - 资本开支和营运资本; - 完全摊薄股数。 建议输出二维表,例如“WACC × 永续增长率”或“收入增长 × 利润率”。如果终值占 EV 超过约 70%—80%,结论对远期假设高度敏感,应降低置信度。 --- ## 十一、反向估值:当前股价到底在押注什么 反向估值不先预测目标价,而是把当前市值代入模型,求解市场隐含假设。 可以反推: - 未来 5 年收入复合增速; - 稳态营业利润率; - ROIC 与再投资率; - 高增长持续时间; - 未来退出 P/E; - 永续增长率。 ### 11.1 用 P/E 做简化反推 已知当前价、五年后合理退出 P/E、分红和要求回报率: ```text 要求的五年后股价 = 当前股价 × (1 + 要求回报率)^5 - 五年累计分红的终值影响 要求的五年后 EPS = 要求的五年后股价 ÷ 退出 P/E 隐含 EPS 年复合增速 = (五年后 EPS ÷ 当前正常 EPS)^(1/5) - 1 ``` 再判断该增速能否由客户、销量、价格、利润率和回购真实实现。 ### 11.2 反向估值的结论标准 - 隐含增长低于公司保守可实现能力:价格可能有安全边际; - 隐含增长接近基准能力:价格大致合理; - 隐含增长需要份额、价格和利润率同时创纪录:价格偏贵; - 隐含结果超过行业总量、产能或资本约束:价格明显不合理。 --- ## 十二、情景收益率:从当前价出发判断是否值得 目标价高于当前价并不代表值得买。必须计算持有期年化收益率。 ### 12.1 未来 EPS 和退出价格 ```text 第 N 年 EPS = 当前归一化 EPS × (1 + EPS 年增长率)^N 第 N 年股价 = 第 N 年 EPS × 退出 P/E ``` ### 12.2 简化年化收益率 IRR ```text 年化收益率 ≈ [(第 N 年股价 + 持有期累计现金分红) ÷ 当前股价]^(1/N) - 1 ``` 若各年分红较大,应按每年的实际时间点使用 XIRR,而不是把所有分红都放在期末。 ### 12.3 安全边际和悲观下跌空间 ```text 安全边际 = (基准合理价值 - 当前价格) ÷ 基准合理价值 悲观下跌空间 = (当前价格 - 悲观合理价值) ÷ 当前价格 ``` ### 12.4 要求回报率 ```text 要求回报率 R = 同币种长期无风险利率 + 权益风险溢价 + 公司特定风险补偿 ``` 以下参考规则仅是研究起点,应按市场、利率、公司风险和个人机会成本调整: | 风险状态 | 要求回报率应如何调整 | |---|---| | 业务稳定、现金流强、负债低 | 接近市场权益要求回报率 | | 周期、客户集中、治理一般 | 增加风险补偿 | | 高杠杆、亏损、二元事件 | 显著提高,或直接要求更大安全边际 | | 信息严重不足 | 不用提高折现率掩盖问题,直接判为无法评估 | --- ## 十三、怎样下结论 可使用以下可调整标准: | 结论 | 定量条件 | 定性条件 | |---|---|---| | 明显低估 | 基准年化收益率 ≥ 要求回报率 + 3 个百分点;且当前价低于基准价值区间下沿 | 反向隐含假设不激进;悲观损失在承受范围;财务质量合格 | | 大致合理 | 基准年化收益率处于要求回报率 ±3 个百分点;当前价位于合理区间 | 假设可实现;至少两个模型基本一致 | | 明显偏贵 | 基准年化收益率 < 要求回报率 - 3 个百分点;或当前价高于合理区间上沿 | 只有乐观情景才能提供足够回报;隐含假设激进 | | 暂时无法评估 | 模型差异过大,或利润无法正常化 | 信息不可靠、持续经营存疑、结果高度二元化 | 3 个百分点不是普遍真理,只是避免把估值误差误判为机会的缓冲区。波动更大、信息更差的公司应使用更宽的区间。 ### 13.1 必须同时满足的检查 一个“低估”结论至少应通过: 1. 盈利真实性检查; 2. 现金流和负债检查; 3. 主估值模型; 4. 交叉验证模型; 5. 反向估值; 6. 悲观情景; 7. 股本稀释检查; 8. 信息时效性检查。 --- ## 十四、完整计算示例:虚构的“甲公司” 以下示例仅演示方法,数字均为虚构。 ### 14.1 基础数据 | 项目 | 数值 | |---|---:| | 当前股价 | 22.50 元 | | 完全摊薄总股本 | 10 亿股 | | 总市值 | 225 亿元 | | 可自由支配现金 | 40 亿元 | | 有息负债 | 60 亿元 | | 少数股东权益 | 5 亿元 | | 企业价值 EV | 250 亿元 | | TTM 报告归母净利润 | 18 亿元 | | 其中一次性资产出售税后收益 | 3 亿元 | | TTM 归一化归母净利润 | 15 亿元 | | NTM 归一化归母净利润 | 16.5 亿元 | | TTM 归一化 FCFE | 13 亿元 | 计算: ```text 总市值 = 22.50 × 10 = 225 亿元 EV = 225 + 60 + 5 - 40 = 250 亿元 归一化利润 = 18 - 3 = 15 亿元 ``` ### 14.2 相对估值 ```text 报告 P/E = 225 ÷ 18 = 12.5 倍 归一化 P/E = 225 ÷ 15 = 15.0 倍 Forward P/E = 225 ÷ 16.5 = 13.6 倍 FCFE 收益率 = 13 ÷ 225 = 5.8% ``` 假设根据增长、ROIC、现金转化和可比公司,基准合理 Forward P/E 为 15 倍: ```text 基准股权价值 = 16.5 × 15 = 247.5 亿元 基准每股价值 = 247.5 ÷ 10 = 24.75 元 ``` ### 14.3 DCF 估值 假设: - 第一年 FCFF 为 16 亿元; - 前五年 FCFF 每年增长 7%; - WACC 为 10%; - 永续增长率为 3%; - 净负债加少数股东权益为 25 亿元。 | 年度 | FCFF(亿元) | 折现后现值(亿元) | |---|---:|---:| | 第 1 年 | 16.00 | 14.55 | | 第 2 年 | 17.12 | 14.15 | | 第 3 年 | 18.32 | 13.76 | | 第 4 年 | 19.60 | 13.39 | | 第 5 年 | 20.97 | 13.02 | ```text 第 6 年 FCFF = 20.97 × 1.03 = 21.60 亿元 第 5 年末终值 = 21.60 ÷ (10% - 3%) = 308.60 亿元 终值现值 = 308.60 ÷ 1.10^5 = 191.62 亿元 EV = 14.55 + 14.15 + 13.76 + 13.39 + 13.02 + 191.62 = 260.49 亿元 股权价值 = 260.49 - 25 = 235.49 亿元 每股价值 = 235.49 ÷ 10 = 23.55 元 ``` 终值约占 EV 的 74%,因此要重点检查 WACC、永续增长和五年后利润率。 ### 14.4 三情景五年收益率 假设当前归一化 EPS 为 1.50 元: | 情景 | EPS 年增速 | 第 5 年 EPS | 退出 P/E | 五年累计分红 | 第 5 年价格 | 年化收益率 | |---|---:|---:|---:|---:|---:|---:| | 悲观 | 2% | 1.66 元 | 12 倍 | 1.80 元 | 19.92 元 | 约 -0.7% | | 基准 | 7% | 2.10 元 | 15 倍 | 2.25 元 | 31.50 元 | 约 8.4% | | 乐观 | 11% | 2.53 元 | 18 倍 | 2.70 元 | 45.54 元 | 约 16.3% | 计算示例: ```text 基准第 5 年 EPS = 1.50 × 1.07^5 = 2.10 元 基准第 5 年股价 = 2.10 × 15 = 31.50 元 基准年化收益率 = [(31.50 + 2.25) ÷ 22.50]^(1/5) - 1 ≈ 8.4% ``` > 注:表格中的收益率应以电子表格或计算器按完整精度复算。若按各年分红时点计算 XIRR,结果会与“期末一次性收到累计分红”的简化算法略有差异。 如果投资者要求回报率为 10%,则: - 相对估值给出 24.75 元; - DCF 给出 23.55 元; - 当前价 22.50 元略低于两种基准估值; - 但简化五年基准收益率未明显超过 10%; - 悲观情景仍存在亏损可能。 因此结论应为:**大致合理或略偏低,但尚不足以认定为明显低估。** 重新评估触发条件可设为: - 归一化利润较基准下降超过 10%; - 现金转化率持续恶化; - 净负债明显增加; - 行业竞争使合理退出 P/E 降至 12 倍; - 股本摊薄超过原预测; - 公司正式指引或行业价格发生重大变化。 --- ## 十五、一页式计算模板 复制本节,为每只股票填写一次。 ### 15.1 任务信息 | 字段 | 填写内容 | |---|---| | 公司 / 代码 | | | 估值日期 | | | 报告截止期 | | | 币种 / 单位 | | | 公司类型 | | | 主估值模型 | | | 交叉验证模型 | | | 要求回报率 | | | 计划持有期 | | ### 15.2 市值和资本结构 | 项目 | 悲观 | 基准 | 乐观 | 来源及日期 | |---|---:|---:|---:|---| | 当前股价 | | | | | | 完全摊薄总股本 | | | | | | 总市值 | | | | | | 可支配现金 | | | | | | 有息负债 | | | | | | 少数股东权益 | | | | | | 非经营性资产 | | | | | | EV | | | | | ### 15.3 利润和现金流 | 项目 | TTM 报告值 | 调整 | 归一化值 | NTM 预测 | 来源及理由 | |---|---:|---:|---:|---:|---| | 收入 | | | | | | | EBIT | | | | | | | EBITDA | | | | | | | 归母净利润 | | | | | | | 经营现金流 | | | | | | | FCFF | | | | | | | FCFE | | | | | | ### 15.4 机构预期 | 年度 | 机构数 | 最小值 | 均值 | 中位数 | 最大值 | 对应PE | 更新时间 | 时效状态 | |---|---:|---:|---:|---:|---:|---:|---|---| | 本年/NTM | | | | | | | | | | 下一年 | | | | | | | | | | 第三年 | | | | | | | | | | 代表机构 | 报告日期 | 本年利润 | 下一年利润 | 第三年利润 | 核心假设 | 是否滞后 | |---|---|---:|---:|---:|---|---| | 最高预测 | | | | | | | | 中位附近 | | | | | | | | 最低预测 | | | | | | | ### 15.5 质量指标 | 指标 | 结果 | 判断 | 来源 | |---|---:|---|---| | 三年现金转化率 | | | | | ROIC | | | | | ROE | | | | | 净负债 / EBITDA | | | | | 利息保障倍数 | | | | | 年度股本稀释率 | | | | | 审计意见 | | | | ### 15.6 经营驱动 | 驱动 | 历史值 | 悲观 | 基准 | 乐观 | 依据 | |---|---:|---:|---:|---:|---| | 销量 / 客户数 | | | | | | | 单价 / ARPU | | | | | | | 市场份额 | | | | | | | 毛利率 | | | | | | | 费用率 | | | | | | | 税率 | | | | | | | 资本开支 | | | | | | | 营运资本 | | | | | | ### 15.7 估值结果 | 模型 | 悲观每股价值 | 基准每股价值 | 乐观每股价值 | 关键假设 | |---|---:|---:|---:|---| | 主模型 | | | | | | 交叉模型 1 | | | | | | 交叉模型 2 | | | | | | 情景 | 未来 EPS/FCF | 退出估值 | 累计分红 | 年化收益率 | 当前价隐含条件 | |---|---:|---:|---:|---:|---| | 悲观 | | | | | | | 基准 | | | | | | | 乐观 | | | | | | ### 15.8 最终结论 ```text 当前价格: 合理价值区间: 基准价值: 安全边际: 悲观下跌空间: 基准年化收益率: 要求回报率: 反向估值隐含增长: 结论:明显低估 / 大致合理 / 明显偏贵 / 暂时无法评估 置信度:高 / 中 / 低 结论最依赖的三个假设: 1. 2. 3. 需要重新估值的触发条件: 1. 2. 3. ``` --- ## 十六、利润归一化工作底稿模板 | 序号 | 调整项目 | 报告税前金额 | 税率 | 税后影响 | 加回/扣除 | 悲观 | 基准 | 乐观 | 原公告位置 | 调整理由 | |---:|---|---:|---:|---:|---|---:|---:|---:|---|---| | 1 | | | | | | | | | | | | 2 | | | | | | | | | | | | 3 | | | | | | | | | | | | 4 | | | | | | | | | | | 计算: ```text 归一化归母净利润 = 报告归母净利润 + 所有应加回的税后项目 - 所有应扣除的税后项目 ``` --- ## 十七、证据登记表 每个进入模型的重要数据都应可追溯。 | 数据项 | 数值 | 单位 | 报告期 | 发布日期 | 来源等级 | 原始链接/文件 | 页码/章节 | 是否复核 | 备注 | |---|---:|---|---|---|---|---|---|---|---| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 建议给预测变量增加: - 预测负责人或机构; - 更新时间; - 原预测值和修正值; - 历史兑现率; - 悲观、基准、乐观的选择理由。 --- ## 十八、常见错误 1. **只看静态 P/E**:没有区分一次性利润和周期高点。 2. **把机构一致预期当事实**:忽略预测更新、样本数量和分歧。 3. **利润与股数口径不一致**:利润是未来值,股数却没有考虑摊薄。 4. **只给目标价,不算收益率**:目标价上涨不一定覆盖时间和风险成本。 5. **只做乐观预测**:没有悲观情景和触发条件。 6. **把所有减值加回**:掩盖经营和资产质量恶化。 7. **用 EV/EBITDA 忽略资本开支**:重资产公司尤其危险。 8. **直接比较不同会计口径的公司**:租赁、研发资本化、收入确认可能不同。 9. **折现率和永续增长率随意设置**:模型只是在迎合目标价。 10. **把低估值当安全边际**:高负债、衰退和治理风险可能使低估值合理。 11. **把历史最高估值当正常估值**:估值中枢会随利率和竞争格局变化。 12. **对无法估值的公司硬算精确价格**:信息不足时,“无法评估”是有效结论。 --- ## 十九、最终检查清单 ### 数据 - [ ] 股价、股本、财务数据使用同一估值日附近的信息。 - [ ] 使用完全摊薄股数。 - [ ] TTM 计算正确,没有重复或漏算季度。 - [ ] 业绩预告已检查后续修正公告。 - [ ] 重要数字已回到原公告核验。 - [ ] 币种、单位、税前税后、合并和归母口径一致。 ### 利润 - [ ] 报告利润、扣非利润、归一化利润和 NTM 利润已分开。 - [ ] 每项一次性调整都有证据和税后金额。 - [ ] 周期公司使用中周期利润,而非峰值利润。 - [ ] 未来利润能拆解为量、价、结构、成本和费用。 - [ ] 机构预测仅作为输入之一,并记录更新时间与分歧。 - [ ] 机构预测已与最新经营信息日比较,并标记滞后预测。 ### 质量和风险 - [ ] 检查经营现金流、资本开支和自由现金流。 - [ ] 检查 ROIC/ROE 与资本成本。 - [ ] 检查负债到期、利息保障和再融资。 - [ ] 检查应收、存货、关联交易和审计意见。 - [ ] 检查股权融资、股份支付和潜在摊薄。 ### 估值 - [ ] 主模型符合公司类型。 - [ ] 至少有一个独立交叉验证模型。 - [ ] 模型差异超过 25% 时已解释原因。 - [ ] 已做悲观、基准、乐观三情景。 - [ ] 已计算持有期年化收益率,而不只是目标价。 - [ ] 已做反向估值,理解当前股价隐含的条件。 - [ ] DCF 已检查终值占比和敏感性。 ### 结论 - [ ] 合理价格使用区间而非单点。 - [ ] 基准收益达到要求回报率。 - [ ] 悲观损失在可承受范围。 - [ ] 结论注明置信度和失效条件。 - [ ] 证据、计算和判断可以由第三方复核。 --- ## 二十、延伸参考 以下材料适合核对披露口径和估值原理: - [中国证监会:公开发行证券的公司信息披露内容与格式准则](https://www.csrc.gov.cn/shanghai/c105565/c7549909/content.shtml) - [中国证监会:公开发行证券的公司信息披露编报规则](https://www.csrc.gov.cn/csrc/c101954/c7451398/content.shtml) - [上海证券交易所股票上市规则](https://www.sse.com.cn/lawandrules/sselawsrules2025/stocks/mainipo/c/c_20260424_10816589.shtml) - [Aswath Damodaran:Valuation Lectures](https://pages.stern.nyu.edu/~adamodar/New_Home_Page/lectures/val.html) - [Aswath Damodaran:Value per Share](https://pages.stern.nyu.edu/adamodar/New_Home_Page/littlebook/valuepershare.htm) - [Investor.gov:P/E Ratio](https://www.investor.gov/introduction-investing/investing-basics/glossary/price-earnings-pe-ratio) --- ## 二十一、质量不降级的提速体系 ### 21.1 提速目标 提速不是减少报告长度,也不是减少必要证据,而是减少以下低价值重复工作: 1. 每次重新判断同一官方网站是否可信; 2. 每次重新寻找同一种公告入口; 3. 每次手工复制和换算相同字段; 4. 每次重新编写已经固定的估值公式; 5. 每次对全部数据做同等强度的重复核验; 6. 每次从零撰写相同报告结构; 7. 已经解决过的单位、口径、年化和预测滞后问题再次发生。 完整报告可以有数百行甚至更长。效率来自“标准化生产”,而不是“少分析”。 ### 21.2 固定、复用与重查的总原则 所有工作分成三类: | 类别 | 含义 | 处理方式 | |---|---|---| | 固定规则 | 不随公司和估值日改变的信源等级、公式、单位规则、模型选择和质检规则 | 写入本手册,正常情况下不重复论证 | | 可复用事实 | 已核实的历史年报、业务结构、历史股本、历史利润、长期合同背景 | 建立公司基线;后续只检查是否发生修订或重大变化 | | 时点数据 | 股价、最新股本、最新财报、业绩预告、机构预测、债务和重大事项 | 每次估值必须重新取得并记录时间 | ### 21.3 四层复用资产 ~~~text 第一层:全局可信信源注册表 所有公司共用;固定来源等级、用途、回退规则 第二层:全局公式与数据字典 所有公司共用;固定字段、单位、计算和校验关系 第三层:公司基线底稿 同一公司复用;保存历史事实、公告清单和已核实的长期特征 第四层:估值日增量快照 每次更新;只保存估值日变化的价格、财务、预告、预测和事件 ~~~ 第一次分析某公司时建立公司基线,后续评估采用: ~~~text 本次完整报告 = 上次已核实公司基线 + 本次估值日增量 + 因增量触发的局部重算和局部复核 ~~~ 不得因为复用而忽略修订公告、会计差错更正、股本变化、重大收购或业务重组。 ### 21.4 一次取数、一次计算、多处引用 同一数据只能有一个主记录。正文、表格和结论引用该主记录,不应在多个段落手工重复输入。 推荐逻辑: ~~~text 原始来源 -> 标准数据快照 -> 统一计算结果 -> 报告各章节引用 -> 自动一致性检查 ~~~ 如果正文中的市值、PE、EPS、利润或股本需要改变,应修改标准快照或计算结果,而不是逐处手改。 --- ## 二十二、可信信源注册表 ### 22.1 已固定的最高优先级来源 以下来源的“身份和优先级”已经固定,不需要在每次分析时重新论证其是否可信;每次只需要确认文件属于目标公司、报告期正确、版本最新。 | 市场 | 固定首选来源 | 固定用途 | 每次仍需检查 | |---|---|---|---| | 中国内地 | 巨潮资讯网、上交所、深交所、北交所 | 年报、季报、临时公告、业绩预告、修正公告 | 证券代码、公告日期、公告编号、是否有修订 | | 中国香港 | HKEXnews 披露易 | 年报、中报、公告和通函 | 公司代码、币种、报告期、后续补充公告 | | 美国 | SEC EDGAR | 10-K、10-Q、8-K、注册文件 | 表格类型、财年、修订文件、XBRL口径 | | 中国监管与宏观 | 证监会、交易所、统计局、海关、央行、财政部及有权监管机构 | 规则、行业、宏观和政策原文 | 生效日期、适用范围、统计口径 | | 公司自身 | 公司投资者关系官网 | 演示材料、电话会、经营说明、公告副本 | 是否与交易所版本一致,是否仅为管理层陈述 | 固定规则: 1. 已取得交易所或法定披露平台原文后,不再寻找第三个转载来源证明同一数字。 2. 同一公告在巨潮资讯网与交易所均存在时,二者属于同一法定信息,不按两份独立证据计算。 3. 公司官网与交易所公告冲突时,以交易所或法定披露平台版本为准。 4. 可信来源保证“文件身份可靠”,不保证管理层预测一定实现,也不替代会计和经济实质判断。 ### 22.2 固定的效率型来源 这些来源适合提高速度,但用途被严格限定: | 来源类别 | 可固定用途 | 不可替代的核验 | |---|---|---| | 行情接口或大型行情平台 | 取得股价、成交、总市值的估值日快照 | 总股本、复权和公司行动仍要与正式披露核对 | | Wind、Choice、iFinD、Bloomberg、FactSet、LSEG 等 | 批量历史数据、一致预期、可比公司和估值历史 | 重大结论使用的核心财务数字应能回到原始披露 | | 同花顺 F10 等机构预测汇总页 | 机构数、预测均值、最大值、最小值、EPS和更新时间 | 单家预测的重要假设应回到研报摘要或原文 | | 券商研究报告原文 | 机构盈利预测、行业数据和模型假设 | 公司已实现数据以法定披露为准 | | 财经网站公告镜像 | 官方链接暂时不可用时读取公告内容 | 应记录其为镜像;正式交付优先补回原始链接 | ### 22.3 行情来源固定规则 行情数据每次必须记录: - 证券代码和市场; - 价格类型:实时价、收盘价或复权历史价; - 价格日期和时间; - 币种; - 总股本对应日期; - 行情来源; - 是否停牌、除权、拆股或发生异常交易。 必须自动或手工验证: ~~~text 复算总市值 = 股价 × 总股本 市值差异率 = |平台总市值 - 复算总市值| ÷ 复算总市值 ~~~ 差异率不超过 1% 且能由四舍五入解释时,不需要再找第三家行情源。超过 1% 时,优先检查股本日期、价格单位、B/H股、复权和接口缩放。 ### 22.4 信源回退顺序 ~~~text 法定披露原文 -> 公司官网中的同一文件 -> 专业数据库转录 -> 大型财经网站公告镜像 -> 新闻摘要 -> 搜索结果片段 ~~~ 只有前一层无法取得时才进入下一层。新闻和搜索片段只能用于定位文件,不能成为核心利润、股本、债务和现金流的唯一证据。 ### 22.5 信源可信不等于数据永远有效 以下项目即使来自 A1—A4 来源,也必须按估值日重查: - 最新股价和总股本; - 最新报告期数据; - 业绩预告及修正; - 会计差错更正和追溯调整; - 分红、回购、增发、可转债和股权激励; - 重大合同、诉讼、资产重组和债务; - 审计意见变化; - 机构预测是否已经被新公告超越。 --- ## 二十三、哪些可以复用,哪些必须重新核对 ### 23.1 默认可复用 满足“来源原文已保存、报告期明确、无后续修订”时,以下内容不需要每次重新从网络查找: | 可复用内容 | 建议有效期 | 失效触发器 | |---|---|---| | 已审计历史年报数字 | 长期 | 差错更正、追溯调整、监管处罚 | | 历史季度利润和现金流 | 长期 | 重述或口径变化 | | 公司成立、上市、主要业务沿革 | 至重大重组前 | 收购、出售、业务重组 | | 历史股本变化 | 长期 | 发现漏记公司行动 | | 已完成重大合同的事实 | 长期 | 公告撤销、重大争议或会计重述 | | 历史审计意见 | 长期 | 不会失效,但最新审计意见必须新增 | | 已验证的公式和单位换算 | 长期 | 会计准则或模型定义改变 | | 官方网站的来源等级 | 长期 | 域名、监管职责或披露制度改变 | ### 23.2 每次必须更新 | 每次更新内容 | 原因 | |---|---| | 估值日股价和市值 | 直接决定价格合理性 | | 最新完全摊薄股本 | 增发、回购、转债会改变每股价值 | | 最新财报或业绩预告 | 改变 TTM 和 NTM 利润 | | 最新机构一致预期 | 市场预期会随公告变化 | | 最新现金、债务和少数股东权益 | 改变 EV 和财务风险 | | 最新重大合同和订单 | 改变利润持续性 | | 最新分红、回购和融资 | 改变股东回报和摊薄 | | 最新审计、监管、诉讼和治理风险 | 可能直接使估值失效 | ### 23.3 条件触发后局部重查 仅当触发以下条件时,扩大复核范围: | 触发条件 | 扩大复核范围 | |---|---| | 收入或利润同比变化超过 30% | 分部、单季度、合同、价格和一次性项目 | | 单季度贡献全年利润超过 50% | 收入确认、交付、验收、回款和可重复性 | | 新合同金额超过上年收入 20% | 合同期限、预付款、客户集中和毛利率 | | 应收或存货增速高于收入 20 个百分点以上 | 账龄、减值、周转和现金流 | | 实际业绩超出预告区间 | 原因说明、内部控制和预告可靠性 | | 机构全年预测低于已经实现的累计利润 | 标记预测滞后,不直接使用一致预期 | | 主模型与交叉模型差异超过 25% | 现金转化、资本开支、净现金和终值 | | 市值复算差异超过 1% | 股本、价格缩放、复权和证券类别 | | 审计意见非标准或发生监管处罚 | 暂停普通估值,进入财务真实性审查 | ### 23.4 不需要重复做的事情 如果没有触发异常,不应: 1. 为同一个年报利润数字寻找三家以上转载来源; 2. 每次重新论证巨潮资讯网、交易所或 SEC 是否权威; 3. 对已审计且未重述的五年前历史数字重新下载和重算; 4. 手工重复计算已经由统一公式生成的 PE、EPS、EV 和 IRR; 5. 为了“信息更多”而阅读与估值无关的全部新闻; 6. 在机构预测已经明确滞后时继续平均更多旧报告; 7. 对 DCF 进行没有决策意义的过度精细化。 --- ## 二十四、标准数据快照与统一计算引擎 ### 24.1 标准数据快照 每次估值先形成唯一的标准输入表,再开始写报告。最低字段如下: | 字段组 | 必填字段 | |---|---| | 标识 | 公司、代码、市场、估值日、币种、报告截止期 | | 行情 | 股价、价格时间、总股本、摊薄股本、总市值 | | 利润 | 年度归母、年度扣非、本期累计、上年同期、预告区间 | | 现金流 | CFO、资本开支、FCFF或FCFE所需字段 | | 资产负债 | 现金、金融资产、有息负债、少数股东权益、净资产 | | 经营质量 | 应收、存货、合同资产、合同负债、减值、研发 | | 机构预测 | 机构数、均值、中位数、最大值、最小值、报告日期 | | 公司行动 | 分红、回购、增发、转债、股权激励 | | 来源 | 来源等级、公告日期、原始链接、页码或章节 | 数字建议同时保存两种形式: ~~~text raw_value:原始货币最小单位,例如元 display_value:报告展示单位,例如亿元 ~~~ 所有计算使用 raw_value,只在输出时转换成万元或亿元,避免“万元、亿元、元”混算。 ### 24.2 固定单位规则 | 原始单位 | 转换为亿元 | |---|---:| | 元 | ÷ 100,000,000 | | 万元 | ÷ 10,000 | | 百万元 | ÷ 100 | | 亿元 | 不变 | 每个数据项必须带: ~~~text value unit currency period_end publish_date scope source ~~~ 缺少单位或报告期的数据不得进入计算。 ### 24.3 固定公式注册表 以下公式固定,不再在每个案例中重新推导: ~~~text 总市值 = 股价 × 完全摊薄总股本 TTM = 最近完整年度 + 本年累计 - 上年同期累计 单季度 = 本期累计 - 上一期累计 预告隐含季度 = 预告全年或累计区间 - 已实现累计值 归一化利润 = 报告利润 - 不可持续收益 + 不可持续损失 ± 周期调整 EPS = 归母利润 ÷ 完全摊薄总股本 PE = 总市值 ÷ 归母利润 PB = 总市值 ÷ 归母净资产 EV = 总市值 + 有息负债 + 少数股东权益 - 可支配现金 - 非经营金融资产 简化 FCF = CFO - 资本开支 五年年化收益率 = [(退出价格 + 累计分红) ÷ 当前价格]^(1/5) - 1 ~~~ ### 24.4 一次计算必须同时生成的结果 输入表完成后,一次性计算并冻结: - 总市值和 EV; - TTM 报告利润、TTM 扣非利润; - 归一化利润和 EPS; - 报告 PE、扣非 PE、归一化 PE、Forward PE; - PB、ROE、现金转化率和简化 FCF; - 悲观、基准、乐观价值; - 当前价格相对各情景的位置; - 五年收益率; - 反向隐含利润和增长; - DCF 及敏感性结果(适用时); - 机构预测对应 PE; - 所有自动质检结果。 报告写作只引用这组冻结结果。若输入发生变化,应整组重算。 ### 24.5 模型路由固定 公司类型确定后,模型选择不再从零讨论: 公司类型必须按**主要收入、主要利润、核心资产和现金流来源**确定,不得直接沿用行情软件概念板块、行业调研入池标签、新闻题材或产业链邻接关系。主题相关业务收入或利润尚非主要来源时,只能作为分部成长选项或催化因素,不能决定整家公司主模型和估值倍数;无法取得分部利润时,至少用法定分部收入、毛利率和资产投入验证业务纯度,并对无法证明的题材贡献折价。 | 公司特征 | 默认主模型 | 固定交叉验证 | |---|---|---| | 稳定盈利、现金流良好 | 正常化 PE | FCF收益率或DCF | | 项目制、订单集中 | 正常化 PE情景 | 反向PE、现金流压力测试 | | 重资产 | EV/EBIT或DCF | PB、FCF收益率 | | 周期资源 | 中周期EV/EBIT或NAV | 成本曲线、PB | | 银行 | PB-ROE | PE、资本充足率 | | 保险 | P/EV | PB、股利折现 | | 亏损成长 | 情景DCF或EV/收入 | 单位经济、融资需求 | 只有出现模型不适用证据时才偏离默认路由,并记录理由。 --- ## 二十五、机构预期固定模块 机构预期是每份完整估值报告的必填项,不得只写“机构看好”或只列目标价。 ### 25.1 必须输出的汇总表 | 年度 | 机构数 | 利润最小值 | 利润均值 | 利润中位数 | 利润最大值 | EPS均值 | 对应PE | |---|---:|---:|---:|---:|---:|---:|---:| | NTM/本年 | | | | | | | | | 下一年 | | | | | | | | | 第三年 | | | | | | | | ### 25.2 必须输出的机构明细 | 机构 | 研报日期 | 本年利润 | 下一年利润 | 第三年利润 | 核心假设 | 是否早于最新公告 | 是否纳入一致预期 | |---|---|---:|---:|---:|---|---|---| | | | | | | | | | ### 25.3 机构预测时效规则 定义: ~~~text 最新经营信息日 = 最新财报、业绩预告、快报、重大合同或正式指引中最晚的发布日期 ~~~ 研报日期早于最新经营信息日时,标记: ~~~text STALE_BEFORE_LATEST_DISCLOSURE ~~~ 若机构全年利润预测低于公司已经实现或预告的累计利润下限,标记: ~~~text STALE_BELOW_REPORTED_CUMULATIVE ~~~ 这类预测仍可展示为“公告前市场预期”,但不得直接作为当前 NTM 基准。 预测抓取日、网页访问日或批处理运行日不得代替研报发布日期。只有汇总均值而无法证明每一家底层研报日期时,标记: ~~~text DATE_UNPROVEN_AGGREGATE ~~~ 该汇总可以展示为“日期不可证的市场参考”,但不得进入当前一致预期、NTM基准利润或情景上沿;必须补回底层机构、真实研报日期和逐年预测后才能解除。若汇总值后来被证明由最新披露前的旧报告计算而来,应按底层日期分别标记滞后,不得保留抓取日身份。 ### 25.4 机构预测的使用顺序 1. 先列汇总,不急于采用; 2. 检查机构数和更新日期; 3. 对照最新累计利润、业绩预告和合同; 4. 标记滞后预测; 5. 阅读最高、最低和最接近中位数的机构假设; 6. 解释本报告自有预测与一致预期的差异; 7. 不把目标价或券商评级当作估值结论。 ### 25.5 机构预测自动检查 ~~~text 最小值 <= 均值 <= 最大值 机构预测EPS × 摊薄股本 ≈ 机构预测归母净利润 机构预测对应PE = 当前总市值 ÷ 预测归母净利润 若全年预测 < 已实现累计利润: 预测状态 = 滞后 ~~~ 中位数只要求位于最小值和最大值之间,不要求一定小于或大于均值。 --- ## 二十六、已解决问题的固定规则库 每次案例中解决的问题,都应转化为可复用规则,避免下一只股票再次耗时。 ### 26.1 单位和缩放错误 问题:公告使用万元,行情接口使用缩放整数,报告使用亿元,容易产生 10 倍、100 倍或 10,000 倍错误。 固定解决: 1. 保存原始值和原始单位; 2. 计算统一使用元; 3. 展示时再转亿元; 4. 用“股价 × 股本 = 市值”做数量级检查; 5. 用“EPS × 股本 ≈ 归母利润”做第二重检查。 ### 26.2 累计利润被误当单季度利润 固定解决: ~~~text 单季度 = 当前累计 - 上一期累计 ~~~ 报告必须同时标注“累计”或“单季度”,不得只写 Q2、Q3 而不说明口径。 ### 26.3 项目集中交付被机械年化 触发: - 单季度利润占 TTM 超过 40%; - 单一合同金额超过上年收入 20%; - 管理层明确说明集中交付或验收。 固定解决: 1. 计算隐含单季度利润; 2. 禁止直接乘四或上半年乘二; 3. 建立悲观、基准、乐观的可持续利润; 4. 用订单连续性和现金回收决定合理 PE; 5. 下一报告期验证是否回落。 ### 26.4 业绩预告与最终业绩不一致 固定解决: 1. 保存预告区间; 2. 保存最终实际值; 3. 计算偏离率; 4. 记录公司解释; 5. 下次使用该公司预告时,对区间保留额外折扣或降低置信度。 ~~~text 预告偏离率 = 实际值相对预告最近边界的差额 ÷ 预告最近边界绝对值 ~~~ ### 26.5 机构预测已经过期 固定解决: 1. 机构预测必须带研报日期; 2. 与最新公告日期比较; 3. 全年预测低于累计已实现利润时自动标红; 4. 过期预测只用于说明公告前预期差,不进入当前基准利润。 ### 26.6 净现金重复计算 问题:在 PE 估值中直接使用归母利润价值后,又把经营所需现金全部加回,可能高估;或在 EV 模型中遗漏债务和少数股东权益。 固定解决: - PE 模型只有在明确属于超额、非经营性现金时才额外加回; - EV 模型统一使用第 3.2 节公式; - 对受限资金、保证金和经营最低现金不按可自由支配现金处理; - 同一现金项目只能进入一次。 ### 26.7 DCF 手工迭代和公式漂移 固定解决: 1. DCF 使用固定公式; 2. 折现率、永续增长和现金流币种一致; 3. 反向 DCF 使用数值求解,不手工试到“差不多”; 4. 自动检查“WACC > g”; 5. 自动输出终值占比; 6. DCF 与 PE 差异超过 25% 时解释,不平均。 ### 26.8 现金流与利润差异 固定解决: 按以下顺序拆解: ~~~text 净利润 -> 非现金折旧摊销 -> 减值 -> 存货变化 -> 应收和合同资产变化 -> 应付和合同负债变化 -> 税费和其他营运资本 -> CFO -> 资本开支 -> FCF ~~~ 项目预收款导致的现金流改善不直接视为永久自由现金流。 ### 26.9 版本与修正公告遗漏 固定解决: 每份法定文件登记: ~~~text document_title publish_date report_period announcement_id revision_status superseded_by source_url ~~~ 存在修正文件时,旧版本保留证据但不再作为主计算输入。 ### 26.10 结论超过证据 固定解决: - 已实现:使用“已经实现、报告显示”; - 公司预告:使用“预计、预告区间”; - 机构预测:使用“机构预计”; - 自有模型:使用“本报告假设”; - 无法验证:使用“待验证、条件成立时”。 不得把预测写成事实,也不得从目标价反推为确定收益。 --- ## 二十七、异常驱动复核与停止搜索规则 ### 27.1 复核强度不应平均分配 对所有数据重复查三遍既慢,也不会自动提高质量。应把复核资源集中在会改变估值结论的数据: | 数据重要性 | 示例 | 复核方式 | |---|---|---| | 核心 | 利润、股本、价格、现金、债务、重大合同 | 原文 + 公式交叉验证 | | 重要 | 分部收入、毛利率、研发、减值、订单 | 原文或可信数据库 + 合理性检查 | | 辅助 | 公司简介、行业背景、非关键描述 | 一个可靠来源即可 | | 线索 | 新闻、自媒体、论坛 | 只用于触发原文搜索 | ### 27.2 满足以下条件即可停止继续寻找同一数字 1. 已取得 A1—A4 原始文件; 2. 公司、报告期、币种和口径明确; 3. 没有后续修正公告; 4. 该数字与报表勾稽或公式关系一致; 5. 不存在数量级异常; 6. 该数字的解释足以支持估值用途。 满足后,不再为“多一个来源”继续搜索。 ### 27.3 必须升级复核的情况 - 两个原始文件口径相同但数字冲突; - 市值、EPS、利润无法互相勾稽; - 预告、快报和正式报告差异超出合理范围; - 数据库数字无法追溯到公告; - 一次性项目足以改变估值结论; - 单一合同或客户决定大部分利润; - 现金流和利润长期背离; - 结论仅在一个精确假设下成立。 ### 27.4 搜索停止不等于分析停止 停止继续找同一数字后,应把时间用于: - 判断利润是否可持续; - 解释现金流; - 建立情景; - 做反向估值; - 检查当前价格隐含条件; - 写清楚结论边界。 --- ## 二十八、自动质检清单 完整报告交付前统一执行以下检查。能通过公式完成的检查不再依赖人工逐段重算。 ### 28.1 数据完整性 - [ ] 公司、代码、市场、估值日、币种齐全。 - [ ] 股价带日期和时间。 - [ ] 股本带报告期,并考虑摊薄。 - [ ] 年报、最新报告、预告和修正公告状态明确。 - [ ] 机构预测带机构数和更新时间。 - [ ] 所有核心数值都有来源等级和链接。 ### 28.2 算术勾稽 - [ ] “股价 × 股本 ≈ 总市值”,差异不超过 1%。 - [ ] “EPS × 股本 ≈ 归母利润”,差异能由摊薄或四舍五入解释。 - [ ] “年度 + 本期累计 - 上年同期 = TTM”。 - [ ] “累计本期 - 累计上期 = 单季度”。 - [ ] 预告区间下限不大于上限。 - [ ] 机构预测最小值不大于均值和最大值。 - [ ] PE、PB、EV和每股价值没有单位错配。 - [ ] 报告中同一指标没有出现两个无法解释的数值。 ### 28.3 时效性 - [ ] 最新经营信息日已经识别。 - [ ] 机构研报早于最新公告时已标记滞后。 - [ ] 已检查财报、预告或快报的修正公告。 - [ ] 估值日以后发生的事实没有混入当时判断。 - [ ] 历史数据复用时检查了重述和会计政策变化。 ### 28.4 估值逻辑 - [ ] 报告利润、扣非利润、归一化利润和机构预测没有混用。 - [ ] 项目制利润没有机械年化。 - [ ] 负利润没有计算无意义的 PE。 - [ ] 净现金没有重复加回。 - [ ] 主模型与公司类型匹配。 - [ ] 至少一个交叉验证模型独立于主模型。 - [ ] 模型差异超过 25% 已解释。 - [ ] DCF 满足“WACC > g”并输出终值占比。 - [ ] 当前价格的反向隐含利润已计算。 ### 28.5 报告质量 - [ ] 结论、表格和复算摘要一致。 - [ ] 机构预期单独成表。 - [ ] 关键假设标明“公司预告、机构预测或本报告假设”。 - [ ] 悲观、基准、乐观情景均有经营含义。 - [ ] 风险写成可观察的触发条件。 - [ ] 没有 TODO、TBD、待计算等占位符。 - [ ] Markdown代码围栏成对,表格列数一致。 - [ ] 本地文件链接和外部来源链接可识别。 - [ ] 结论不输出交易指令或收益承诺。 ### 28.6 异常输出 质检不通过时,不应重新跑全部流程,而应输出异常清单: | 异常ID | 数据项 | 异常类型 | 影响结论 | 需要补什么 | 修复后重算范围 | |---|---|---|---|---|---| | | | | | | | 仅重取或重算受影响部分。 --- ## 二十九、完整报告的标准执行 SOP ### 29.1 首次分析某公司 ~~~text 步骤 1:读取可信信源注册表和固定公式 步骤 2:建立公司基线底稿 步骤 3:并行取得年报、最新报告、预告、合同、行情和机构预测 步骤 4:填充标准数据快照 步骤 5:一次运行全部公式和质检 步骤 6:只对异常项补充复核 步骤 7:将结果填入固定报告结构 步骤 8:完成人工判断:利润持续性、情景和结论边界 步骤 9:运行最终自动质检 步骤 10:冻结估值日版本 ~~~ 首次分析仍然会比后续更新耗时,因为需要建立公司基线;但同类信源判断、公式和报告结构已经固定,不应从零开始。 ### 29.2 同一公司的后续更新 ~~~text 步骤 1:读取上次公司基线和估值快照 步骤 2:只查上次截止日后的新公告、新财报、新机构预测和新价格 步骤 3:检查是否发生重述、股本或业务结构变化 步骤 4:更新标准数据快照 步骤 5:整组重算估值结果 步骤 6:只重写发生变化的章节 步骤 7:重新运行完整质检 ~~~ 后续更新不得重新搜索已经归档且未发生修订的历史年报数字。 ### 29.3 固定的完整报告结构 为保持质量和写作速度,完整报告默认使用: 1. 结论摘要; 2. 市场和资本结构快照; 3. 信息来源与证据优先级; 4. 业务及利润来源; 5. 历史盈利与波动; 6. TTM 和归一化利润; 7. 机构预期汇总及明细; 8. 利润质量、现金流和资产负债; 9. 模型选择; 10. 悲观、基准、乐观估值; 11. 当前价格反向隐含条件; 12. PB、DCF或其他交叉验证; 13. 持有期收益压力测试; 14. 风险、上调和下调触发器; 15. 复评清单; 16. 数据局限和复算摘要。 报告长度不设硬上限。只要每个章节有决策作用、数据可追溯、公式可复算,就可以保留。 ### 29.4 并行取得、串行判断 可并行取得: - 行情; - 最新法定公告; - 历史财务数据; - 重大合同; - 机构一致预期; - 单家机构研报。 必须串行完成: 1. 确定数据口径; 2. 归一化利润; 3. 模型选择; 4. 情景假设; 5. 结论。 原因是后一步依赖前一步的判断,但资料下载本身不需要逐个等待。 ### 29.5 问题闭环 每次遇到新问题,按以下流程处理: ~~~text 发现问题 -> 记录现象和根因 -> 修复本次数据或公式 -> 判断是否可复现 -> 可复现则写入规则库或自动质检 -> 下一案例自动拦截 ~~~ 只有无法复现、只与单家公司特殊事实有关的问题,才保留在公司底稿中。 ### 29.6 提速后的质量底线 无论报告生成多快,都不得省略: - 原始披露优先; - 估值日与数据日期; - TTM和归一化利润; - 机构预期及其时效判断; - 现金流和负债; - 三情景; - 反向估值; - 至少一个交叉验证; - 公式复算; - 风险和失效条件。 真正可以省略的是重复搜索、重复输入、重复推导和无异常情况下的过度复核。 --- ## 三十、可执行流水线 V1 本手册中的固定规则已经落地为本地可执行工具: - [工具说明](../../dev/ana-dev/stock_valuation_pipeline/README.md) - [标准快照契约](../../dev/ana-dev/stock_valuation_pipeline/snapshot.schema.json) - [可信信源注册表](../../dev/ana-dev/stock_valuation_pipeline/source_registry.json) - [长城军工回归快照](../../dev/ana-dev/test/stock_valuation_pipeline/fixtures/great_wall_military_20260731.json) ### 30.1 V1 已经固定的部分 | 模块 | 已固定内容 | 是否需要每只股票重新判断 | |---|---|---| | 信源 | 来源身份、等级、允许用途、回退顺序、停止搜索规则 | 否;只检查目标公司、日期、版本和修订状态 | | 数据 | JSON 字段、元/股/元每股单位、累计与 TTM 口径 | 否;只填本次数据 | | 计算 | 市值、EV、TTM、EPS、PE、PB、PS、FCF、情景、反向 PE、持有期回报 | 否;由引擎一次生成 | | 机构预期 | 汇总、明细、公告前滞后、低于已实现利润、EPS 勾稽 | 否;只更新机构原始预测 | | 质量控制 | 未来信息、市值差异、核心来源、旧修订文件、负利润、负 FCF、缓存完整性 | 否;由引擎自动检查 | | 报告 | 固定章节、公式摘要、异常表、复评清单 | 否;人工只补经营解释和结论边界 | ### 30.2 每次仍需人工或取数环节完成的部分 V1 不直接抓取网页,避免网页结构、登录状态和接口缩放变化悄悄污染正式数字。每次仍需: 1. 并行取得估值日价格、最新法定披露、业绩预告、重大事项和机构预测; 2. 确认公告是否修订、股本是否摊薄、现金是否受限; 3. 把数字写入唯一标准快照,并登记来源支持字段; 4. 人工判断利润来源、持续性、情景经营含义和结论边界。 网页取数完成后,后续算术、报告数字和质检应交给引擎,禁止在正文多处手工改数。 ### 30.3 运行方式 在项目根目录执行: ```powershell $env:PYTHONPATH = (Resolve-Path 'dev/ana-dev') python -m stock_valuation_pipeline ` --input <标准快照.json> ` --output-dir <本次输出目录> ``` 一次运行生成: - `valuation_results.json`:冻结的统一计算结果; - `valuation_report.md`:固定结构的 Markdown 计算底稿; - `run_manifest.json`:输入、注册表、引擎源码与契约的联合指纹和产物哈希。 输入、规则、引擎源码和契约完全相同且产物哈希未变时,后续运行直接返回 `REUSED`;代码、Schema、输入、注册表或任一产物发生变化时自动重算。 ### 30.4 自动结果的使用门禁 | 状态 | 含义 | 后续动作 | |---|---|---| | `PASS` | 自动规则未发现问题 | 进入人工经营判断和最终复核 | | `PASS_WITH_WARNINGS` | 计算完成,但存在负利润、负 FCF、预测滞后等局部问题 | 只补查异常表指定模块 | | `BLOCKED_INPUT_ERRORS` | 来源、日期、市值勾稽或主输入存在阻断错误 | 修复输入;不得把当前底稿升级为正式结论 | 长城军工回归样例已经固定验证总市值、TTM 收入、TTM 归母与扣非、PB、PS、三情景、50 倍反向利润和五年目标价。当前最终代码本机基准为:完整强制重算平均约 20 毫秒,有效缓存读取平均约 9 毫秒。这里衡量的是标准快照完成后的机械链路,不包含外部资料取得和人工判断时间。 ### 30.5 速度目标的正确拆分 完整估值耗时应分开记录: ```text 总耗时 = 增量资料取得 + 标准快照填写与口径确认 + 自动计算和报告生成 + 异常项局部复核 + 人工经营判断与终验 ``` V1 已把“自动计算和报告生成”压缩到毫秒级。下一阶段的主要提速空间不再是优化公式,而是建立公司基线、只搜索截止日后的增量公告,并为稳定数据源增加受控取数适配器。取数适配器必须保留原始来源、日期、单位和修订检查,不能用速度交换证据质量。 --- ## 三十一、端到端协调层 V2 V2 已把 V1 前面的机械工作落地为 project 级端到端协调层:以 `ticker + as-of` 为入口,并发取得登记的公开数据,形成字段级证据回链、公司增量基线、固定 16 节报告和自动 QA;估值计算仍调用只读 V1 内核,不复制或修改公式。 - [V2 工具说明](../../dev-doc/project-doc/股票估值端到端协调层V2.md) - [V2 实现与验收证据](../../dev-doc/project-doc/股票估值端到端协调层V2实现与验收证据.md) - [V2 代码入口](../../dev/project-dev/stock_valuation_pipeline_v2/README.md) ### 31.1 ticker + as-of 运行方式 在项目根目录执行: ```powershell $env:PYTHONPATH = (Resolve-Path 'dev/project-dev') python -m stock_valuation_pipeline_v2 ` --ticker 001270.SZ ` --as-of 2026-08-01 ` --cache-dir dev/tmp/valuation-v2/cache ` --output-dir dev/tmp/valuation-v2/out ``` 如需形成方向性估值结果,再通过 `--judgment <判断覆盖层.json>` 提供最小人工判断。判断覆盖层只能补充商业判断、情景和模型选择,不得覆盖价格、股本、法定利润、日期或 A1 来源身份。V1 的 `--input` 入口继续兼容,退出码、三件套产物和 `GENERATED/REUSED` 语义不变。 没有 judgment 时,正常终态为 `DATA_READY_NEEDS_JUDGMENT`:数据、报告和 QA 已准备好,但不会生成 `valuation_snapshot.json`、`valuation_results.json`,也不会伪造方向、价格区间或投资结论。 ### 31.2 数据、证据和停止规则 首期只使用登记的巨潮资讯和东方财富公开端点,分别承担公告身份、行情与股本、法定财务和机构预测。每个核心数字必须具有机器可读的 `field -> source_id -> A1 -> raw_hash` 回链;发布日期、数据日期和报告期不得晚于 `as-of`,缺日期时不能用请求日期代填。 历史行情在 `as-of - 14` 个自然日至 `as-of` 的窗口中过滤未来行,再选择最大有效交易日。实时 quote 只有在时间戳能证明同日有效时才能支持股本和市值;例如 `f124=0` 无法证明历史股本时,流程必须诚实 `BLOCKED`,不得把当前股本重新标成历史数据。机构预测只接受响应中的真实报告/更新时间;汇总 4 家、明细 3 家只形成一个有界 coverage gap,不无限换站或搜索。 所有网络请求共享一个 90 秒单调截止时间。请求、响应体读取、错误体、重试和退避都裁剪到剩余预算;截止后不再发起请求或写入缓存、基线。未知域名、路径/query/reportName/content-type 变体和重定向在 transport 前拒绝。 ### 31.3 内容寻址缓存与公司增量基线 公司基线按十类数据独立保存和判定:`stock_identity`、`announcement_index`、`market_close`、`shares_market_cap`、四张/类财务、`forecast_summary`、`forecast_detail`。每类为 `FRESH/STALE/MISSING`:只运输 stale/missing 种类,STALE 不进入正式值。 单个内容 blob 缺失或被篡改,只令目标种类 STALE,其余健康种类继续 FRESH。相同 digest 路径存在错误实物时,刷新会原子修复并写后复验;任一核心或非核心种类 repair 写失败、写后 hash 不一致,或十类实物不完整,都不得推进 company `current.json` 或活动基线,也不得提升目标 reusable。非核心 forecast 可保留带 gap 的正式输出,但不能把损坏或缺项状态登记成健康公司基线。 ### 31.4 终态、正式产物与双墙钟 | 终态 | ticker 退出码 | 含义 | |---|---:|---| | `COMPLETE` | 0 | 数据、判断、估值和 QA 完成,无 gap | | `COMPLETE_WITH_GAPS` | 0 | 估值完成,存在非阻断 gap | | `DATA_READY_NEEDS_JUDGMENT` | 0 | 机械数据与 QA 完成,等待人工判断 | | `INPUT_ERROR` | 2 | 参数、task-start 或 judgment 合同错误;不创建正式包 | | `BLOCKED` | 4 | 核心数据、as-of、A1 或 schema 不满足;只保留失败包 | | `FAILED` | 5 | 非业务阻断的运行时失败;只保留失败包 | ticker 模式 stdout 始终是一行规范 JSON。三个成功终态的正式目录固定包含数据快照、provider 结果、构建报告、来源证据、gaps、16 节报告、QA、runtime 和 manifest;有 judgment 时再包含 V1 snapshot/results。`manifest.json` 在包内最后写入,同级 `.commit-receipt.json` 使用一次写入的 schema 2,绑定 run、终态和 manifest 指纹。 schema 2 receipt 不自报其自身最终写后墙钟。receipt 原子写入、复读、hash/bytes 复算和备份清理尝试都完成后,stdout 的 `terminal_at/task_wall_seconds/process_wall_seconds` 才是最终权威;包内 runtime 记录到 `commit_ready`。其中 `process_wall_seconds` 衡量本次进程,`task_wall_seconds` 衡量用户任务起点至交付,不能用前者冒充总墙钟。 ### 31.5 验收结果和当前限制 铖昌科技离线 fixture 已验证冷运行低于 5 秒、热基线低于 2 秒,冷/热/带判断三种路径均通过自动 QA、16 节结构、manifest/receipt 复算和 V1 关键数值一致性;完整离线回归为 V2 `59/59 PASS`、V1 只读 `10/10 PASS`。 真实网络 cold/warm smoke 均在约 1.5 秒内诚实阻断于 `E_HISTORICAL_SHARES_UNPROVEN`:首期公开 quote 未提供可验证的历史股本时间戳。这是明确的数据能力边界,不是成功估值证据。若未来需要新增历史股本来源,必须单独设计和审核,不得静默增加 provider。 V2 不输出交易指令,也不把 `DATA_READY_NEEDS_JUDGMENT` 解释为买卖结论;最终判断仍须结合业务、利润持续性、风险承受能力和复评条件。 --- ## 三十二、最新收盘价日更与单一最新版规则 ### 32.1 日更范围和目标交易日 每次收到“按最新价格重新判定全部已估值公司”的要求时,默认处理 MySQL `stock_valuation` 中所有 `active=1`、且存在当日有效正式估值版本的证券,不再逐份打开历史报告手工计算。 目标价格日按以下顺序确定: 1. 先要求正式交易日历 current asset 的 `window_end` 覆盖请求日; 2. 再从该资产中选择请求日以前最近一个 `is_open=1` 的交易日; 3. 只读取 `trading_xuntou.cn_stock_kline_1d_front` 的前复权完整日 K; 4. 日 K 的证券身份、来源、日期、正数收盘价和收盘后更新时间必须通过现有门禁; 5. 周末或休市日使用最近开市日收盘价,不把自然日写成交易日; 6. 日历水位落后时必须先由有权限的上游运维流程刷新正式日历资产,不得使用测试 fixture、旧行情表、网络回退或手工改日历绕过门禁。 ### 32.2 增量执行和跳过规则 合理区间、利润预测和估值倍数在没有新财报、业绩预告、重大事件或正式复评时保持不变;日常任务只刷新价格和价格位置判定。 执行前按 `ticker + 目标交易日` 比对: - 同日价格、来源、估值版本和判定已经存在且完全一致:计为 `unchanged`,直接跳过,不重复写入; - 有新完整收盘价:只新增该交易日的 `daily_price` 和 `daily_judgement`; - 单只停牌、港股不受支持或行情证据不完整:该证券零写入并进入固定缺口清单,其余证券继续; - 同日价格或判定与已存事实冲突:拒绝覆盖,返回不可变冲突; - 新正式复评出现:先幂等导入新估值版本,再按其生效日参与后续价格判定,不用每日价格更新反向修改合理区间。 周度复评与财报密集披露期不得把“上次没有新数据”当成本次跳过依据。尤其一季报、中报、三季报和年报窗口,先对全部已有估值标的重新检查最新法定财务期、披露日、真实主营和逐家机构预测日期,再决定逐股重算或复用。机构预测早于最新财务披露,或预测全年利润低于已实现累计利润且没有明确口径解释时,只能作为被排除的预期差证据,不得继续进入基准利润。 全量复评还必须执行盈利锚异常扫描:TTM扣非亏损时不得只因存在远期预测就机械套PE;TTM扣非利润接近零导致PE极端敏感、扣非利润超过同期营业收入、或TTM利润显著高于最新多家机构全年预期时,必须改用适配的资产/收入/分部模型,或对正常化利润作有证据的下调并降低置信度。若冻结数值内核不支持所需模型,则显式列为“估值模型缺口”,不得沿用已被新财报推翻的旧合理区间。 ### 32.3 单一最新版文档 用户日常读取的正式估值判定只保留以下稳定入口: - `ana-data/result/股票估值/估值台账/latest.md` - `ana-data/result/股票估值/估值台账/latest.csv` - `ana-data/result/股票估值/估值台账/latest_gaps.csv` 每次成功日更直接原子覆盖上述同名文件,不创建带日期、批次号、版本号或 `latest_v2` 一类并列日更文档。`latest.md` 和 `latest.csv` 必须来自同一次数据库快照,任一文件发布失败时恢复上一组文件。 公司基础估值报告、原始披露、计算底稿、manifest 和数据库历史行属于估值依据或审计证据,不是并列的“当前日更版本”,不得因每日股价变化而整批重写。公司发生正式复评时,用户可见的当前入口只指向最新有效报告;旧报告如因证据链必须保留,只能作为历史证据,不得继续冒充当前版本。 ### 32.4 日更后的验证与 Git 交付 日更完成后至少验证: 1. 数据库最新交易日与 `latest.md/latest.csv` 一致; 2. 导出证券数等于当日成功判定数,逐股代码、收盘价、估值版本和四档标签复算差异为 0; 3. 缺失或不支持证券全部进入 `latest_gaps.csv`,不得静默丢失; 4. 当日已是最新版时不重复生成、不重复写库; 5. 工作区只暂存本次估值规范和固定 latest 文件,不使用 `git add .` 带入其他角色或用户的改动; 6. 存在有效文件差异时提交当前分支并推送远端;没有内容差异时不制造空提交,但仍确认当前分支与远端同步。 本节规范的是用户可见结果的“单一最新版”和日常交付动作;数据库中按交易日保存的历史价格、判定及估值版本继续用于追溯和复算,不作为多个用户文档版本展示。 --- ## 三十三、估值泡沫判定与泡沫原因 ### 33.1 泡沫的操作性定义 本手册使用以下可复算定义: ```text 泡沫成立:当前价格 > 基准合理区间上沿 泡沫溢价率 = 当前价格 ÷ 基准合理区间上沿 - 1 相对乐观上沿偏离 = 当前价格 ÷ 乐观情景上沿 - 1 ``` 该定义回答的是“价格是否已经高于现有基本面基准所能支持的范围”,不等同于公司造假、股价必然立即下跌,也不证明市场参与者具有某一种共同动机。合理区间本身发生正式复评时,泡沫判定必须随新估值版本重算。 泡沫程度按价格位置分为: | 状态 | 规则 | 含义 | |---|---|---| | 未识别估值泡沫 | 当前价不高于基准上沿 | 仅表示没有触发本节定义,不代表一定低估或没有经营风险 | | 泡沫-轻 | 高于基准上沿不超过 15% | 接近估值误差、短期乐观预期与泡沫的交界 | | 泡沫-中 | 高于基准上沿 15%—50% | 已经明显提前支付乐观增长 | | 泡沫-高 | 高于基准上沿超过 50%,但未超过乐观上沿 | 大幅提前资本化乐观情景 | | 泡沫-极端 | 当前价超过乐观情景上沿 | 现有乐观模型仍不足以解释价格,存在额外叙事、事件期权或情绪溢价 | ### 33.2 原因分析必须分四层 泡沫原因不得只写“市场炒作”。每只触发泡沫的公司必须依次检查: 1. **估值反推层**:价格高于基准上沿多少,是否超过乐观上沿,当前价隐含利润、增长率或估值倍数是否明显高于基础情景; 2. **业务预期层**:市场最可能提前交易什么,包括订单、产能、技术突破、国产替代、景气回升、利润率改善、扭亏、并购重组或资产整合; 3. **量价显影层**:检查近 20/60 日涨幅、相对 60 日均线、成交额变化以及同行业背景,判断动量和交易拥挤是否放大溢价; 4. **事件证据层**:只有公告、监管文件、公司披露或可复核事件链能够证明时,才把具体政策、订单、重组、控制权变化或风险解除写成已验证原因;新闻、论坛和市场叙事只能作为待验证解释。 如果只能完成前两层,原因性质必须写成“基于估值反推和业务驱动的推断”;不得把“最可能解释”改写成“已经证实的上涨原因”。量价只证明市场显影,不能单独证明因果。 ### 33.3 泡沫原因标准分类 泡沫公司至少填写一个主要原因;可填写多个次要放大因素: | 原因分类 | 典型含义 | 主要验证项 | |---|---|---| | 盈利修复或扭亏预期提前定价 | 当前利润弱、亏损或普通 PE 不适用,但价格提前交易未来盈利恢复 | 扣非利润、现金流、毛利率、费用率、扭亏持续性 | | 军工、商业航天或低空经济主题溢价 | 市场提前交易订单恢复、型号放量、卫星/无人机/低空产业预期 | 正式合同、合同负债、收入确认、回款、交付节奏 | | 半导体国产替代、AI 算力或先进封装预期 | 市场提前交易国产替代、算力需求、制程/良率或新品放量 | 客户认证、收入占比、产能利用率、研发转收入 | | 机器人、自动化或智能制造成长预期 | 市场提前交易机器人渗透率、核心零部件国产化和规模效应 | 订单、出货量、单价、毛利率、客户集中度 | | 新能源、储能或电动化成长预期 | 市场提前交易需求增长、产能释放和新技术路线 | 价格、库存、开工率、产能利用率、现金流 | | 创新药、医疗器械或国产替代预期 | 市场提前交易临床、获批、授权和商业化 | 临床节点、监管审批、销售放量、研发费用 | | 资源品稀缺性或周期高景气外推 | 把阶段性价格上涨或供给紧张按长期状态资本化 | 商品价格、库存、成本曲线、产量和资本开支 | | 信创、通信、智能汽车或消费电子主题溢价 | 市场提前交易政策、产品升级、渗透率和需求复苏 | 真实业务占比、客户订单、量产节奏和利润贡献 | | 并购重组、资产整合或控制权期权 | 当前经营价值之外还计入未完成的资本动作 | 正式公告、交易进度、审批、对价、摊薄和整合风险 | | 趋势动量与交易拥挤 | 价格趋势、成交和板块共振放大原有预期 | 20/60 日涨幅、MA60 偏离、成交额、行业对照组 | ### 33.4 每只股票的必填字段 `latest.csv` 和 `latest.md` 对全部有数值判定的公司补充以下字段;没有泡沫的公司也不能留空,必须明确写“未识别估值泡沫”: | 字段 | 内容 | |---|---| | `bubble_status` | 未识别、轻、中、高、极端 | | `bubble_premium_pct` | 当前价相对基准上沿的溢价率 | | `bubble_vs_optimistic_pct` | 当前价相对乐观上沿的偏离 | | `bubble_primary_cause` | 一个主要原因 | | `bubble_secondary_cause` | 乐观情景提前定价、动量拥挤等次要因素 | | `bubble_reason` | 公司级原因说明,必须包含具体业务驱动和价格位置 | | `bubble_reason_nature` | 规则判定、推断或已验证事件链 | | `bubble_confidence` | 高、中、中低;未经事件链验证不得标高置信因果 | | `bubble_evidence_basis` | 估值反推、正式报告、机构预期、量价或事件证据入口 | | `bubble_recheck_trigger` | 哪个事实可验证或推翻当前原因解释 | | `return_20d_pct`、`return_60d_pct` | 前复权 20/60 日涨幅 | | `distance_to_ma60_pct` | 当前价相对前复权 MA60 的偏离 | | `amount_ratio_5d_to_60d` | 近 5 日平均成交额相对近 60 日平均成交额 | | `market_sample_count` | 可用前复权交易日样本数;少于 61 个时,60 日涨幅留空并在原因说明中降级披露 | ### 33.5 信息优先级和结论边界 泡沫原因的信息优先级为: 1. A1 法定披露、交易所和监管文件,用于确认订单、业绩、重组、控制权和风险事件; 2. 当前正式估值报告的业务驱动、利润来源、反向估值和风险段落; 3. 有日期与样本数的机构一致预期,只用于识别市场预期,不作为事实利润; 4. `trading_xuntou.cn_stock_kline_1d_front` 前复权量价,用于确认市场显影和拥挤程度; 5. 新闻、研报观点和 Darkline 线索,只用于提出替代解释;没有关键节点和现实验证时保持 `中低` 置信度。 泡沫原因应使用“主要在提前交易”“最可能来自”“量价可能放大”等表述。只有直接证据闭环时才使用“已由公告确认”“已验证”。不得因为行业上涨就自动认定单只公司的订单、利润或技术突破已经发生。 ### 33.6 日更执行、停止规则和质量检查 每日台账成功导出基础 `latest.csv/latest.md` 后,执行: ```powershell python ai-valuation-analyst/tools/enrich_valuation_bubbles.py --project-root . --write ``` 运行前通过本机安全配置向进程提供 `MYSQL_HOST/MYSQL_PORT/MYSQL_USER/MYSQL_PASSWORD`,凭据不得写入命令、脚本、日志或正式文档。脚本只读取当前稳定 CSV、其中引用的正式报告和 `cn_stock_kline_1d_front`,不修改合理区间、基础估值版本或 MySQL 事实表。相同输入重复执行必须达到 `files_changed=false`,不得制造无内容差异的新版本。 完成后必须检查: 1. 输出行数等于当前数值判定行数,代码唯一; 2. `bubble_status != 未识别估值泡沫` 的集合严格等于 `close > base_high` 的集合; 3. 泡沫集合与“偏贵/明显偏贵”标签集合一致,差异为 0; 4. 正式报告解析缺失为 0,前复权量价缺失及不足 61 个交易日的样本必须分别显式列出; 5. 所有泡沫行都有主要原因、原因性质、置信度、证据基础和复核触发器; 6. 所有无泡沫行明确说明未超过基准上沿,不把“无泡沫”误写成“无风险”; 7. 对极端泡沫优先复核基础估值是否存在单位、股本、利润或模型失真;确认估值输入无误后,才讨论额外叙事溢价; 8. `latest.csv/latest.md` 原子覆盖且第二次运行字节不变,再按第三十二节精确提交推送。 --- ## 最简结论公式 如果只记住一套流程,记住下面这组: ```text 1. TTM 利润 = 最近年度 + 本期累计 - 去年同期累计 2. 归一化利润 = 报告利润 - 不可持续收益 + 不可持续损失 ± 周期调整 3. 合理价值 = 归一化未来利润 × 合理倍数 或 合理价值 = 未来自由现金流折现值 4. 年化收益率 = [(未来合理价格 + 累计分红) ÷ 当前价格]^(1/持有年数) - 1 5. 安全边际 = (基准合理价值 - 当前价格) ÷ 基准合理价值 6. 泡沫溢价率 = 当前价格 ÷ 基准合理区间上沿 - 1 7. 只有当: 基准回报达到要求 + 悲观损失可承受 + 当前隐含假设不激进 才能认为价格具有吸引力。 ``` 这套方法不能消除未来的不确定性,但能把“感觉便宜”变成一套有数据来源、有计算过程、有情景边界、可复核的判断。