版本:v1.2(在同一正式文件上持续更新,不另建历史版本文件)
更新日期:2026-08-09
适用范围:以普通工商企业为主,同时说明银行、保险、周期、资源、亏损成长股等特殊情况。
重要提示:估值不是计算一个“绝对正确价格”,而是在明确假设下计算合理价格区间、预期收益率和下行情景。本手册不构成投资建议。
判断股价是否合理,不应只看一个市盈率。完成分析后,必须同时回答:
最终输出至少包括以下七项:
| 输出 | 含义 |
|---|---|
| 归一化利润 | 剔除一次性和不可持续因素后的正常利润 |
| 合理价值区间 | 悲观、基准、乐观三个情景下的每股价值 |
| 当前价格位置 | 当前价处在合理区间的下方、内部还是上方 |
| 预期年化收益率 | 从当前价买入,在给定持有期和退出估值下的年化回报 |
| 反向估值结果 | 当前价格要求公司未来做到什么 |
| 机构预期对照 | 一致预期、预测区间、机构明细、更新时间和是否滞后 |
| 主要风险与触发条件 | 哪些事实变化会使原估值失效 |
核心原则:合理价格是一个区间,不是一个点;利润必须先还原,再估值;信息来源必须记录日期、口径和优先级。
本节是快速形成计算骨架的方法,不代表完整报告必须缩短。完整报告可以保留全部历史、模型、证据和复算过程;速度应主要通过固定信源、复用公司底稿、一次取数、一次计算和异常驱动复核实现,详见第二十一至第二十九节。
如果时间有限,按以下顺序执行:
最简输入只需要:
| 输入 | 最低要求 |
|---|---|
| 当前股价 | 同一估值日收盘价或实时价 |
| 完全摊薄总股本 | 含已确定会摊薄的期权、可转债等 |
| TTM 归母净利润 | 最近十二个月口径 |
| 归一化归母净利润 | 剔除不可持续项目 |
| 机构一致预期 | 至少包括机构数、未来三年利润区间、均值和更新时间 |
| 净现金或净负债 | 现金、金融资产、有息负债 |
| 未来 3—5 年增长假设 | 悲观、基准、乐观 |
| 退出估值 | 未来市盈率、EV/EBIT 或终值假设 |
| 要求回报率 | 与公司风险相匹配的最低年化收益 |
总市值 = 当前每股价格 × 完全摊薄总股本
不要只使用软件显示的静态总股本。以下项目可能导致摊薄:
企业价值 EV
= 总市值
+ 有息负债
+ 优先股
+ 少数股东权益
- 可自由支配现金
- 与主营经营无关的金融资产
EV 用于衡量整个经营性资产的价值,适合与 EBIT、EBITDA、FCFF 比较。
普通股股东权益价值
= 企业价值
+ 可自由支配现金
+ 非经营性资产
- 有息负债
- 优先股
- 少数股东权益
每股价值 = 普通股股东权益价值 ÷ 完全摊薄总股本
所有数据必须注明:
不得把不同日期的股价、汇率、负债和利润随意组合。
| 等级 | 来源 | 主要用途 | 可信度处理 |
|---|---|---|---|
| A1 | 经审计年度报告、审计报告 | 历史利润、资产负债、现金流、分部数据 | 最高;仍需检查审计意见和会计变更 |
| A2 | 正式季报、中报、法定临时公告 | 最新累计经营数据、资本结构、重大事项 | 高;未经审计项目要注意估计偏差 |
| A3 | 业绩快报、业绩预告、预告修正 | 更新最新利润区间和重大变动原因 | 高;区间值不能伪装成精确值 |
| A4 | 月度经营数据、合同、产销、价格、回购增发公告 | 拆解销量、价格、产能和股本变化 | 高,但通常不能替代完整利润表 |
| B1 | 业绩说明会、电话会、投资者关系记录、公司官网 | 管理层指引、经营解释、战略与资本开支 | 中高;属于管理层陈述,需与财报核对 |
| B2 | 政府、监管机构、海关、央行、统计局、行业协会 | 宏观、行业量价、政策和竞争格局 | 中高;注意统计口径和发布时间 |
| C1 | 多家机构一致预期、专业数据库 | 市场预期、预测分歧、历史估值 | 中;必须记录样本数和更新时间 |
| C2 | 单家券商研究报告 | 行业逻辑、模型假设和细分数据 | 中低;用作假设参考,不作为事实替代品 |
| D | 新闻转载、论坛、自媒体、社交媒体、传闻 | 发现线索 | 低;只能触发核查,不能直接进入估值模型 |
中国内地上市公司:
中国香港上市公司:
美国上市公司:
行业与宏观数据可从国家统计局、海关总署、人民银行、行业协会、商品交易所等原始机构获取。Wind、Choice、iFinD、Bloomberg、FactSet、LSEG 等适合提高效率,但重要数字应回到原公告核验。
正式估值前,建议收集:
| 利润口径 | 作用 | 能否直接估值 |
|---|---|---|
| 报告归母净利润 | 财报列示、属于普通股股东的利润 | 不能默认直接使用 |
| 扣非归母净利润 | 剔除公司按规则披露的非经常损益 | 可作为起点,但仍需复核 |
| 归一化利润 | 按经济实质剔除不可持续项目和周期偏离 | 估值主要口径 |
| NTM 未来十二个月利润 | 基于经营驱动预测的未来一年利润 | 前瞻估值口径 |
当最新报告不是完整年度时:
TTM 利润
= 最近完整年度利润
+ 本年度最新累计利润
- 上年度同期累计利润
例如:2025 年利润 10 亿元,2026 年上半年利润 7 亿元,2025 年上半年利润 4 亿元:
2026 年上半年时点 TTM 利润 = 10 + 7 - 4 = 13 亿元
本季度单季利润 = 本期累计利润 - 上一报告期累计利润
例如前三季度累计利润 9 亿元、上半年累计利润 5 亿元,则第三季度单季利润为 4 亿元。
如果年度预告为 12—14 亿元,前三季度实际为 9 亿元:
第四季度隐含利润区间 = 12—14 - 9 = 3—5 亿元
不要只取预告中点。悲观、基准、乐观情景应分别保留下限、中点和上限,除非有更强证据调整。
推荐以扣非归母净利润为起点,再逐项检查:
归一化利润
= 扣非归母净利润
+ 被扣除但实际具有持续性的经营损失或费用
- 被保留但实际不可持续的收益
± 周期、会计政策和异常经营状态调整
也可以从报告归母净利润出发:
归一化利润
= 报告归母净利润
- 不可持续收益
+ 不可持续损失
± 周期正常化调整
± 会计口径调整
| 项目 | 通常怎么调 | 必须检查什么 |
|---|---|---|
| 资产出售、拆迁补偿、重组收益 | 从利润中扣除 | 是否反复出售资产形成“常态利润” |
| 诉讼、灾害、停工损失 | 加回税后影响 | 是否真为一次性,保险赔付是否对应 |
| 政府补助 | 按可持续比例保留 | 是否与主营经营直接相关、是否连续多年 |
| 税收优惠 | 按未来可维持税率调整 | 到期时间、续期条件、地区和业务限制 |
| 公允价值和投资收益 | 非经营部分扣除 | 是否属于金融机构核心经营业务 |
| 信用减值、资产减值 | 不应机械全部加回 | 是否暴露真实经营和资产质量问题 |
| 股份支付 | 一般视为真实成本 | 同时检查稀释;不能既加回又忽略增发 |
| 汇兑损益 | 区分经营性与融资性 | 是否长期、系统性暴露 |
| 周期高景气利润 | 调至中周期水平 | 商品价格、开工率、库存、产能周期 |
| 少数股东损益 | 使用归母口径 | 子公司利润是否真正属于普通股股东 |
| 资本化费用 | 还原为经济费用 | 研发、利息、销售费用是否激进资本化 |
利润预测不能只写“机构预计增长 20%”。必须能拆回业务变量。
利润变化
= 销量或客户数变化
+ 价格或 ARPU 变化
+ 产品与地区结构变化
- 单位成本变化
- 销售、管理、研发费用变化
- 财务费用变化
± 税率和少数股东变化
± 一次性因素变化
按业务类型选择驱动:
制造业收入 = 销量 × 平均售价
互联网平台收入 = 活跃用户 × 付费率 × ARPU
零售收入 = 门店数 × 单店收入
酒店收入 = 可售房间数 × 入住率 × 平均房价
订阅业务收入 = 期初客户 + 净新增客户,再乘以 ARPU
资源企业收入 = 产量 × 商品价格 × 品位或回收率调整
多业务公司应分部预测,再汇总收入和利润。
毛利润 = 收入 - 营业成本
营业利润 = 毛利润 - 销售费用 - 管理费用 - 研发费用 ± 其他经营项目
税前利润 = 营业利润 + 投资收益 - 财务费用 ± 非经营项目
归母净利润 = 税前利润 - 所得税 - 少数股东损益
| 优先级 | 预测输入 | 使用方法 |
|---|---|---|
| 1 | 已签订单、已投产产能、法定价格、合同量 | 直接进入可验证的销量和价格 |
| 2 | 公司正式指引 | 检查历史兑现率后使用 |
| 3 | 行业供需和价格数据 | 建立总量、价格和份额假设 |
| 4 | 多家机构一致预期 | 作为市场基准和分歧观察 |
| 5 | 单家机构预测 | 只采用能解释并独立核验的驱动 |
| 6 | 自己的趋势外推 | 仅用于缺少更强证据的变量 |
机构预测不是事实。至少记录:预测机构数、中位数、均值、最高值、最低值、最近更新时间、主要机构明细,以及过去预测是否系统性偏乐观。还必须将研报日期与最新财报、业绩预告、快报和重大合同日期比较;预测早于重大新信息时按第二十五节标记为滞后。
| 公司类型 | 核心驱动 | 主要风险 |
|---|---|---|
| 成熟消费/制造 | 量、价、份额、毛利率、费用率 | 增长见顶、品牌衰退、成本上涨 |
| 高增长企业 | 客户数、留存、ARPU、单位经济、规模效应 | 增长降速、获客成本、稀释 |
| 周期/资源 | 中周期价格、产量、成本曲线、资本开支 | 在景气顶点使用峰值利润 |
| 项目制企业 | 在手订单、转化率、完工进度、回款 | 收入确认和现金回收不一致 |
| 银行 | 资产规模、净息差、手续费、信用成本、资本充足率 | 坏账滞后、资本约束 |
| 保险 | 新业务价值、投资收益、赔付率、偿付能力 | 利率、精算假设、投资波动 |
| 亏损成长股 | 毛利、经营杠杆、现金消耗、达到盈亏平衡时间 | 永久无法盈利或再融资 |
估值之前先排除“有利润、没现金”和“便宜但可能活不下去”的情况。
三年现金转化率
= 最近三年累计经营活动现金流净额
÷ 最近三年累计归母净利润
经验上,长期显著低于 1 需要解释;但预收款、金融业务、快速扩张和营运资本周期会影响该指标,不能机械套阈值。
简化口径:
简化自由现金流 = 经营活动现金流净额 - 资本开支
股权自由现金流 FCFE:
FCFE = 经营活动现金流净额 - 资本开支 + 可持续净借款
企业自由现金流 FCFF:
FCFF = EBIT × (1 - 所得税率) + 折旧摊销 - 资本开支 - 营运资本增加
股权自由现金流收益率 = 归一化 FCFE ÷ 总市值
企业自由现金流收益率 = 归一化 FCFF ÷ EV
NOPAT = EBIT × (1 - 正常所得税率)
平均投入资本
≈ 平均(股东权益 + 有息负债 - 可自由支配现金)
ROIC = NOPAT ÷ 平均投入资本
可持续增长率 g ≈ 再投资率 × 增量 ROIC
高增长只有在增量 ROIC 高于资本成本时才创造价值。低回报的扩张可能增加收入和利润,却降低每股价值。
净负债 = 有息负债 - 可自由支配现金
净负债率 = 净负债 ÷ 股东权益
净负债 / EBITDA = 净负债 ÷ EBITDA
利息保障倍数 = EBIT ÷ 利息费用
检查债务到期时间、利率类型、抵押限制、外币负债和再融资环境。银行、保险和地产不能只套上述通用阈值,应按行业资本规则分析。
年度稀释率 = 本年完全摊薄股数 ÷ 上年完全摊薄股数 - 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% 时,不要简单平均,必须解释差异。
TTM P/E = 总市值 ÷ TTM 归母净利润
归一化 P/E = 总市值 ÷ TTM 归一化归母净利润
Forward P/E = 总市值 ÷ NTM 归母净利润
盈利收益率 = 归一化利润 ÷ 总市值 = 1 ÷ 归一化 P/E
适用:盈利为正、资本结构稳定、利润可持续的公司。
不适用:周期顶部、利润大幅波动、负债差异很大或利润为负的公司。
合理 P/E 不是直接照搬行业平均值,而是由以下因素共同决定:
EBIT = 利润总额 + 利息费用
EBITDA = EBIT + 折旧 + 摊销
EV/EBIT = EV ÷ 归一化 EBIT
EV/EBITDA = EV ÷ 归一化 EBITDA
适合比较资本结构不同的公司。EV/EBITDA 不能替代自由现金流,因为它忽略资本开支、营运资本和税。
P/B = 总市值 ÷ 归母净资产
ROE = 归母净利润 ÷ 平均归母净资产
理论合理 P/B ≈ (ROE - g) ÷ (股权要求回报率 R - g)
该简化关系要求 ROE、增长和分红长期稳定,且 R > g。适用于净资产能代表经营资本的金融、成熟资产型公司。
低 P/B 不等于便宜。如果资产质量差、ROE 低于要求回报率、未来需要减值,低 P/B 可能合理。
净回购 = 实际注销或减少的回购金额 - 新股发行及股权融资
股东收益率
=(现金分红 + 净回购)÷ 总市值
回购只有在没有被新增股份抵消、且价格不明显高估时才真正创造每股价值。
可比公司应在以下方面相似:
不要因为“同一行业”就直接使用平均倍数。优先使用中位数,并解释目标公司相对可比公司的溢价或折价。
FCFF
= EBIT × (1 - 正常所得税率)
+ 折旧与摊销
- 资本开支
- 营运资本增加
至少预测 5 年。高增长或重大产能建设期可预测 8—10 年,但越远的预测越不可靠。
股权资本成本:
Ke = 无风险利率 Rf + Beta × 股权风险溢价 ERP + 公司特定风险
加权平均资本成本:
WACC
= Ke × E / (D + E)
+ 税前债务成本 Kd × (1 - 税率) × D / (D + E)
要求:
永续增长法:
终值 TV = 第 n+1 年 FCFF ÷ (WACC - 永续增长率 g)
必须满足:
WACC > g
永续增长率不应长期高于公司主要经营地区的名义经济增长率。终值年份的利润率、ROIC、再投资率必须相互一致。
EV
= 各年 FCFF 的现值之和
+ 终值的现值
股权价值
= EV
+ 可自由支配现金
+ 非经营性资产
- 有息负债
- 优先股
- 少数股东权益
每股价值 = 股权价值 ÷ 完全摊薄总股本
至少测试:
建议输出二维表,例如“WACC × 永续增长率”或“收入增长 × 利润率”。如果终值占 EV 超过约 70%—80%,结论对远期假设高度敏感,应降低置信度。
反向估值不先预测目标价,而是把当前市值代入模型,求解市场隐含假设。
可以反推:
已知当前价、五年后合理退出 P/E、分红和要求回报率:
要求的五年后股价
= 当前股价 × (1 + 要求回报率)^5 - 五年累计分红的终值影响
要求的五年后 EPS = 要求的五年后股价 ÷ 退出 P/E
隐含 EPS 年复合增速
= (五年后 EPS ÷ 当前正常 EPS)^(1/5) - 1
再判断该增速能否由客户、销量、价格、利润率和回购真实实现。
目标价高于当前价并不代表值得买。必须计算持有期年化收益率。
第 N 年 EPS = 当前归一化 EPS × (1 + EPS 年增长率)^N
第 N 年股价 = 第 N 年 EPS × 退出 P/E
年化收益率
≈ [(第 N 年股价 + 持有期累计现金分红) ÷ 当前股价]^(1/N) - 1
若各年分红较大,应按每年的实际时间点使用 XIRR,而不是把所有分红都放在期末。
安全边际 = (基准合理价值 - 当前价格) ÷ 基准合理价值
悲观下跌空间 = (当前价格 - 悲观合理价值) ÷ 当前价格
要求回报率 R
= 同币种长期无风险利率
+ 权益风险溢价
+ 公司特定风险补偿
以下参考规则仅是研究起点,应按市场、利率、公司风险和个人机会成本调整:
| 风险状态 | 要求回报率应如何调整 |
|---|---|
| 业务稳定、现金流强、负债低 | 接近市场权益要求回报率 |
| 周期、客户集中、治理一般 | 增加风险补偿 |
| 高杠杆、亏损、二元事件 | 显著提高,或直接要求更大安全边际 |
| 信息严重不足 | 不用提高折现率掩盖问题,直接判为无法评估 |
可使用以下可调整标准:
| 结论 | 定量条件 | 定性条件 |
|---|---|---|
| 明显低估 | 基准年化收益率 ≥ 要求回报率 + 3 个百分点;且当前价低于基准价值区间下沿 | 反向隐含假设不激进;悲观损失在承受范围;财务质量合格 |
| 大致合理 | 基准年化收益率处于要求回报率 ±3 个百分点;当前价位于合理区间 | 假设可实现;至少两个模型基本一致 |
| 明显偏贵 | 基准年化收益率 < 要求回报率 - 3 个百分点;或当前价高于合理区间上沿 | 只有乐观情景才能提供足够回报;隐含假设激进 |
| 暂时无法评估 | 模型差异过大,或利润无法正常化 | 信息不可靠、持续经营存疑、结果高度二元化 |
3 个百分点不是普遍真理,只是避免把估值误差误判为机会的缓冲区。波动更大、信息更差的公司应使用更宽的区间。
一个“低估”结论至少应通过:
以下示例仅演示方法,数字均为虚构。
| 项目 | 数值 |
|---|---|
| 当前股价 | 22.50 元 |
| 完全摊薄总股本 | 10 亿股 |
| 总市值 | 225 亿元 |
| 可自由支配现金 | 40 亿元 |
| 有息负债 | 60 亿元 |
| 少数股东权益 | 5 亿元 |
| 企业价值 EV | 250 亿元 |
| TTM 报告归母净利润 | 18 亿元 |
| 其中一次性资产出售税后收益 | 3 亿元 |
| TTM 归一化归母净利润 | 15 亿元 |
| NTM 归一化归母净利润 | 16.5 亿元 |
| TTM 归一化 FCFE | 13 亿元 |
计算:
总市值 = 22.50 × 10 = 225 亿元
EV = 225 + 60 + 5 - 40 = 250 亿元
归一化利润 = 18 - 3 = 15 亿元
报告 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 倍:
基准股权价值 = 16.5 × 15 = 247.5 亿元
基准每股价值 = 247.5 ÷ 10 = 24.75 元
假设:
| 年度 | 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 |
第 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、永续增长和五年后利润率。
假设当前归一化 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% |
计算示例:
基准第 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%,则:
因此结论应为:**大致合理或略偏低,但尚不足以认定为明显低估。**
重新评估触发条件可设为:
复制本节,为每只股票填写一次。
| 字段 | 填写内容 |
|---|---|
| 公司 / 代码 | |
| 估值日期 | |
| 报告截止期 | |
| 币种 / 单位 | |
| 公司类型 | |
| 主估值模型 | |
| 交叉验证模型 | |
| 要求回报率 | |
| 计划持有期 |
| 项目 | 悲观 | 基准 | 乐观 | 来源及日期 |
|---|---|---|---|---|
| 当前股价 | ||||
| 完全摊薄总股本 | ||||
| 总市值 | ||||
| 可支配现金 | ||||
| 有息负债 | ||||
| 少数股东权益 | ||||
| 非经营性资产 | ||||
| EV |
| 项目 | TTM 报告值 | 调整 | 归一化值 | NTM 预测 | 来源及理由 |
|---|---|---|---|---|---|
| 收入 | |||||
| EBIT | |||||
| EBITDA | |||||
| 归母净利润 | |||||
| 经营现金流 | |||||
| FCFF | |||||
| FCFE |
| 年度 | 机构数 | 最小值 | 均值 | 中位数 | 最大值 | 对应PE | 更新时间 | 时效状态 |
|---|---|---|---|---|---|---|---|---|
| 本年/NTM | ||||||||
| 下一年 | ||||||||
| 第三年 |
| 代表机构 | 报告日期 | 本年利润 | 下一年利润 | 第三年利润 | 核心假设 | 是否滞后 |
|---|---|---|---|---|---|---|
| 最高预测 | ||||||
| 中位附近 | ||||||
| 最低预测 |
| 指标 | 结果 | 判断 | 来源 |
|---|---|---|---|
| 三年现金转化率 | |||
| ROIC | |||
| ROE | |||
| 净负债 / EBITDA | |||
| 利息保障倍数 | |||
| 年度股本稀释率 | |||
| 审计意见 |
| 驱动 | 历史值 | 悲观 | 基准 | 乐观 | 依据 |
|---|---|---|---|---|---|
| 销量 / 客户数 | |||||
| 单价 / ARPU | |||||
| 市场份额 | |||||
| 毛利率 | |||||
| 费用率 | |||||
| 税率 | |||||
| 资本开支 | |||||
| 营运资本 |
| 模型 | 悲观每股价值 | 基准每股价值 | 乐观每股价值 | 关键假设 |
|---|---|---|---|---|
| 主模型 | ||||
| 交叉模型 1 | ||||
| 交叉模型 2 |
| 情景 | 未来 EPS/FCF | 退出估值 | 累计分红 | 年化收益率 | 当前价隐含条件 |
|---|---|---|---|---|---|
| 悲观 | |||||
| 基准 | |||||
| 乐观 |
当前价格:
合理价值区间:
基准价值:
安全边际:
悲观下跌空间:
基准年化收益率:
要求回报率:
反向估值隐含增长:
结论:明显低估 / 大致合理 / 明显偏贵 / 暂时无法评估
置信度:高 / 中 / 低
结论最依赖的三个假设:
1.
2.
3.
需要重新估值的触发条件:
1.
2.
3.
| 序号 | 调整项目 | 报告税前金额 | 税率 | 税后影响 | 加回/扣除 | 悲观 | 基准 | 乐观 | 原公告位置 | 调整理由 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | ||||||||||
| 2 | ||||||||||
| 3 | ||||||||||
| 4 |
计算:
归一化归母净利润
= 报告归母净利润
+ 所有应加回的税后项目
- 所有应扣除的税后项目
每个进入模型的重要数据都应可追溯。
| 数据项 | 数值 | 单位 | 报告期 | 发布日期 | 来源等级 | 原始链接/文件 | 页码/章节 | 是否复核 | 备注 |
|---|---|---|---|---|---|---|---|---|---|
建议给预测变量增加:
以下材料适合核对披露口径和估值原理:
提速不是减少报告长度,也不是减少必要证据,而是减少以下低价值重复工作:
完整报告可以有数百行甚至更长。效率来自“标准化生产”,而不是“少分析”。
所有工作分成三类:
| 类别 | 含义 | 处理方式 |
|---|---|---|
| 固定规则 | 不随公司和估值日改变的信源等级、公式、单位规则、模型选择和质检规则 | 写入本手册,正常情况下不重复论证 |
| 可复用事实 | 已核实的历史年报、业务结构、历史股本、历史利润、长期合同背景 | 建立公司基线;后续只检查是否发生修订或重大变化 |
| 时点数据 | 股价、最新股本、最新财报、业绩预告、机构预测、债务和重大事项 | 每次估值必须重新取得并记录时间 |
第一层:全局可信信源注册表
所有公司共用;固定来源等级、用途、回退规则
第二层:全局公式与数据字典
所有公司共用;固定字段、单位、计算和校验关系
第三层:公司基线底稿
同一公司复用;保存历史事实、公告清单和已核实的长期特征
第四层:估值日增量快照
每次更新;只保存估值日变化的价格、财务、预告、预测和事件
第一次分析某公司时建立公司基线,后续评估采用:
本次完整报告
= 上次已核实公司基线
+ 本次估值日增量
+ 因增量触发的局部重算和局部复核
不得因为复用而忽略修订公告、会计差错更正、股本变化、重大收购或业务重组。
同一数据只能有一个主记录。正文、表格和结论引用该主记录,不应在多个段落手工重复输入。
推荐逻辑:
原始来源
-> 标准数据快照
-> 统一计算结果
-> 报告各章节引用
-> 自动一致性检查
如果正文中的市值、PE、EPS、利润或股本需要改变,应修改标准快照或计算结果,而不是逐处手改。
以下来源的“身份和优先级”已经固定,不需要在每次分析时重新论证其是否可信;每次只需要确认文件属于目标公司、报告期正确、版本最新。
| 市场 | 固定首选来源 | 固定用途 | 每次仍需检查 |
|---|---|---|---|
| 中国内地 | 巨潮资讯网、上交所、深交所、北交所 | 年报、季报、临时公告、业绩预告、修正公告 | 证券代码、公告日期、公告编号、是否有修订 |
| 中国香港 | HKEXnews 披露易 | 年报、中报、公告和通函 | 公司代码、币种、报告期、后续补充公告 |
| 美国 | SEC EDGAR | 10-K、10-Q、8-K、注册文件 | 表格类型、财年、修订文件、XBRL口径 |
| 中国监管与宏观 | 证监会、交易所、统计局、海关、央行、财政部及有权监管机构 | 规则、行业、宏观和政策原文 | 生效日期、适用范围、统计口径 |
| 公司自身 | 公司投资者关系官网 | 演示材料、电话会、经营说明、公告副本 | 是否与交易所版本一致,是否仅为管理层陈述 |
固定规则:
这些来源适合提高速度,但用途被严格限定:
| 来源类别 | 可固定用途 | 不可替代的核验 |
|---|---|---|
| 行情接口或大型行情平台 | 取得股价、成交、总市值的估值日快照 | 总股本、复权和公司行动仍要与正式披露核对 |
| Wind、Choice、iFinD、Bloomberg、FactSet、LSEG 等 | 批量历史数据、一致预期、可比公司和估值历史 | 重大结论使用的核心财务数字应能回到原始披露 |
| 同花顺 F10 等机构预测汇总页 | 机构数、预测均值、最大值、最小值、EPS和更新时间 | 单家预测的重要假设应回到研报摘要或原文 |
| 券商研究报告原文 | 机构盈利预测、行业数据和模型假设 | 公司已实现数据以法定披露为准 |
| 财经网站公告镜像 | 官方链接暂时不可用时读取公告内容 | 应记录其为镜像;正式交付优先补回原始链接 |
行情数据每次必须记录:
必须自动或手工验证:
复算总市值 = 股价 × 总股本
市值差异率
= |平台总市值 - 复算总市值| ÷ 复算总市值
差异率不超过 1% 且能由四舍五入解释时,不需要再找第三家行情源。超过 1% 时,优先检查股本日期、价格单位、B/H股、复权和接口缩放。
法定披露原文
-> 公司官网中的同一文件
-> 专业数据库转录
-> 大型财经网站公告镜像
-> 新闻摘要
-> 搜索结果片段
只有前一层无法取得时才进入下一层。新闻和搜索片段只能用于定位文件,不能成为核心利润、股本、债务和现金流的唯一证据。
以下项目即使来自 A1—A4 来源,也必须按估值日重查:
满足“来源原文已保存、报告期明确、无后续修订”时,以下内容不需要每次重新从网络查找:
| 可复用内容 | 建议有效期 | 失效触发器 |
|---|---|---|
| 已审计历史年报数字 | 长期 | 差错更正、追溯调整、监管处罚 |
| 历史季度利润和现金流 | 长期 | 重述或口径变化 |
| 公司成立、上市、主要业务沿革 | 至重大重组前 | 收购、出售、业务重组 |
| 历史股本变化 | 长期 | 发现漏记公司行动 |
| 已完成重大合同的事实 | 长期 | 公告撤销、重大争议或会计重述 |
| 历史审计意见 | 长期 | 不会失效,但最新审计意见必须新增 |
| 已验证的公式和单位换算 | 长期 | 会计准则或模型定义改变 |
| 官方网站的来源等级 | 长期 | 域名、监管职责或披露制度改变 |
| 每次更新内容 | 原因 |
|---|---|
| 估值日股价和市值 | 直接决定价格合理性 |
| 最新完全摊薄股本 | 增发、回购、转债会改变每股价值 |
| 最新财报或业绩预告 | 改变 TTM 和 NTM 利润 |
| 最新机构一致预期 | 市场预期会随公告变化 |
| 最新现金、债务和少数股东权益 | 改变 EV 和财务风险 |
| 最新重大合同和订单 | 改变利润持续性 |
| 最新分红、回购和融资 | 改变股东回报和摊薄 |
| 最新审计、监管、诉讼和治理风险 | 可能直接使估值失效 |
仅当触发以下条件时,扩大复核范围:
| 触发条件 | 扩大复核范围 |
|---|---|
| 收入或利润同比变化超过 30% | 分部、单季度、合同、价格和一次性项目 |
| 单季度贡献全年利润超过 50% | 收入确认、交付、验收、回款和可重复性 |
| 新合同金额超过上年收入 20% | 合同期限、预付款、客户集中和毛利率 |
| 应收或存货增速高于收入 20 个百分点以上 | 账龄、减值、周转和现金流 |
| 实际业绩超出预告区间 | 原因说明、内部控制和预告可靠性 |
| 机构全年预测低于已经实现的累计利润 | 标记预测滞后,不直接使用一致预期 |
| 主模型与交叉模型差异超过 25% | 现金转化、资本开支、净现金和终值 |
| 市值复算差异超过 1% | 股本、价格缩放、复权和证券类别 |
| 审计意见非标准或发生监管处罚 | 暂停普通估值,进入财务真实性审查 |
如果没有触发异常,不应:
每次估值先形成唯一的标准输入表,再开始写报告。最低字段如下:
| 字段组 | 必填字段 |
|---|---|
| 标识 | 公司、代码、市场、估值日、币种、报告截止期 |
| 行情 | 股价、价格时间、总股本、摊薄股本、总市值 |
| 利润 | 年度归母、年度扣非、本期累计、上年同期、预告区间 |
| 现金流 | CFO、资本开支、FCFF或FCFE所需字段 |
| 资产负债 | 现金、金融资产、有息负债、少数股东权益、净资产 |
| 经营质量 | 应收、存货、合同资产、合同负债、减值、研发 |
| 机构预测 | 机构数、均值、中位数、最大值、最小值、报告日期 |
| 公司行动 | 分红、回购、增发、转债、股权激励 |
| 来源 | 来源等级、公告日期、原始链接、页码或章节 |
数字建议同时保存两种形式:
raw_value:原始货币最小单位,例如元
display_value:报告展示单位,例如亿元
所有计算使用 raw_value,只在输出时转换成万元或亿元,避免“万元、亿元、元”混算。
| 原始单位 | 转换为亿元 |
|---|---|
| 元 | ÷ 100,000,000 |
| 万元 | ÷ 10,000 |
| 百万元 | ÷ 100 |
| 亿元 | 不变 |
每个数据项必须带:
value
unit
currency
period_end
publish_date
scope
source
缺少单位或报告期的数据不得进入计算。
以下公式固定,不再在每个案例中重新推导:
总市值 = 股价 × 完全摊薄总股本
TTM = 最近完整年度 + 本年累计 - 上年同期累计
单季度 = 本期累计 - 上一期累计
预告隐含季度 = 预告全年或累计区间 - 已实现累计值
归一化利润
= 报告利润 - 不可持续收益 + 不可持续损失 ± 周期调整
EPS = 归母利润 ÷ 完全摊薄总股本
PE = 总市值 ÷ 归母利润
PB = 总市值 ÷ 归母净资产
EV = 总市值 + 有息负债 + 少数股东权益 - 可支配现金 - 非经营金融资产
简化 FCF = CFO - 资本开支
五年年化收益率
= [(退出价格 + 累计分红) ÷ 当前价格]^(1/5) - 1
输入表完成后,一次性计算并冻结:
报告写作只引用这组冻结结果。若输入发生变化,应整组重算。
公司类型确定后,模型选择不再从零讨论:
| 公司特征 | 默认主模型 | 固定交叉验证 |
|---|---|---|
| 稳定盈利、现金流良好 | 正常化 PE | FCF收益率或DCF |
| 项目制、订单集中 | 正常化 PE情景 | 反向PE、现金流压力测试 |
| 重资产 | EV/EBIT或DCF | PB、FCF收益率 |
| 周期资源 | 中周期EV/EBIT或NAV | 成本曲线、PB |
| 银行 | PB-ROE | PE、资本充足率 |
| 保险 | P/EV | PB、股利折现 |
| 亏损成长 | 情景DCF或EV/收入 | 单位经济、融资需求 |
只有出现模型不适用证据时才偏离默认路由,并记录理由。
机构预期是每份完整估值报告的必填项,不得只写“机构看好”或只列目标价。
| 年度 | 机构数 | 利润最小值 | 利润均值 | 利润中位数 | 利润最大值 | EPS均值 | 对应PE |
|---|---|---|---|---|---|---|---|
| NTM/本年 | |||||||
| 下一年 | |||||||
| 第三年 |
| 机构 | 研报日期 | 本年利润 | 下一年利润 | 第三年利润 | 核心假设 | 是否早于最新公告 | 是否纳入一致预期 |
|---|---|---|---|---|---|---|---|
定义:
最新经营信息日
= 最新财报、业绩预告、快报、重大合同或正式指引中最晚的发布日期
研报日期早于最新经营信息日时,标记:
STALE_BEFORE_LATEST_DISCLOSURE
若机构全年利润预测低于公司已经实现或预告的累计利润下限,标记:
STALE_BELOW_REPORTED_CUMULATIVE
这类预测仍可展示为“公告前市场预期”,但不得直接作为当前 NTM 基准。
最小值 <= 均值 <= 最大值
机构预测EPS × 摊薄股本 ≈ 机构预测归母净利润
机构预测对应PE = 当前总市值 ÷ 预测归母净利润
若全年预测 < 已实现累计利润:
预测状态 = 滞后
中位数只要求位于最小值和最大值之间,不要求一定小于或大于均值。
每次案例中解决的问题,都应转化为可复用规则,避免下一只股票再次耗时。
问题:公告使用万元,行情接口使用缩放整数,报告使用亿元,容易产生 10 倍、100 倍或 10,000 倍错误。
固定解决:
固定解决:
单季度 = 当前累计 - 上一期累计
报告必须同时标注“累计”或“单季度”,不得只写 Q2、Q3 而不说明口径。
触发:
固定解决:
固定解决:
预告偏离率
= 实际值相对预告最近边界的差额 ÷ 预告最近边界绝对值
固定解决:
问题:在 PE 估值中直接使用归母利润价值后,又把经营所需现金全部加回,可能高估;或在 EV 模型中遗漏债务和少数股东权益。
固定解决:
固定解决:
固定解决:
按以下顺序拆解:
净利润
-> 非现金折旧摊销
-> 减值
-> 存货变化
-> 应收和合同资产变化
-> 应付和合同负债变化
-> 税费和其他营运资本
-> CFO
-> 资本开支
-> FCF
项目预收款导致的现金流改善不直接视为永久自由现金流。
固定解决:
每份法定文件登记:
document_title
publish_date
report_period
announcement_id
revision_status
superseded_by
source_url
存在修正文件时,旧版本保留证据但不再作为主计算输入。
固定解决:
不得把预测写成事实,也不得从目标价反推为确定收益。
对所有数据重复查三遍既慢,也不会自动提高质量。应把复核资源集中在会改变估值结论的数据:
| 数据重要性 | 示例 | 复核方式 |
|---|---|---|
| 核心 | 利润、股本、价格、现金、债务、重大合同 | 原文 + 公式交叉验证 |
| 重要 | 分部收入、毛利率、研发、减值、订单 | 原文或可信数据库 + 合理性检查 |
| 辅助 | 公司简介、行业背景、非关键描述 | 一个可靠来源即可 |
| 线索 | 新闻、自媒体、论坛 | 只用于触发原文搜索 |
满足后,不再为“多一个来源”继续搜索。
停止继续找同一数字后,应把时间用于:
完整报告交付前统一执行以下检查。能通过公式完成的检查不再依赖人工逐段重算。
质检不通过时,不应重新跑全部流程,而应输出异常清单:
| 异常ID | 数据项 | 异常类型 | 影响结论 | 需要补什么 | 修复后重算范围 |
|---|---|---|---|---|---|
仅重取或重算受影响部分。
步骤 1:读取可信信源注册表和固定公式
步骤 2:建立公司基线底稿
步骤 3:并行取得年报、最新报告、预告、合同、行情和机构预测
步骤 4:填充标准数据快照
步骤 5:一次运行全部公式和质检
步骤 6:只对异常项补充复核
步骤 7:将结果填入固定报告结构
步骤 8:完成人工判断:利润持续性、情景和结论边界
步骤 9:运行最终自动质检
步骤 10:冻结估值日版本
首次分析仍然会比后续更新耗时,因为需要建立公司基线;但同类信源判断、公式和报告结构已经固定,不应从零开始。
步骤 1:读取上次公司基线和估值快照
步骤 2:只查上次截止日后的新公告、新财报、新机构预测和新价格
步骤 3:检查是否发生重述、股本或业务结构变化
步骤 4:更新标准数据快照
步骤 5:整组重算估值结果
步骤 6:只重写发生变化的章节
步骤 7:重新运行完整质检
后续更新不得重新搜索已经归档且未发生修订的历史年报数字。
为保持质量和写作速度,完整报告默认使用:
报告长度不设硬上限。只要每个章节有决策作用、数据可追溯、公式可复算,就可以保留。
可并行取得:
必须串行完成:
原因是后一步依赖前一步的判断,但资料下载本身不需要逐个等待。
每次遇到新问题,按以下流程处理:
发现问题
-> 记录现象和根因
-> 修复本次数据或公式
-> 判断是否可复现
-> 可复现则写入规则库或自动质检
-> 下一案例自动拦截
只有无法复现、只与单家公司特殊事实有关的问题,才保留在公司底稿中。
无论报告生成多快,都不得省略:
真正可以省略的是重复搜索、重复输入、重复推导和无异常情况下的过度复核。
本手册中的固定规则已经落地为本地可执行工具:
| 模块 | 已固定内容 | 是否需要每只股票重新判断 |
|---|---|---|
| 信源 | 来源身份、等级、允许用途、回退顺序、停止搜索规则 | 否;只检查目标公司、日期、版本和修订状态 |
| 数据 | JSON 字段、元/股/元每股单位、累计与 TTM 口径 | 否;只填本次数据 |
| 计算 | 市值、EV、TTM、EPS、PE、PB、PS、FCF、情景、反向 PE、持有期回报 | 否;由引擎一次生成 |
| 机构预期 | 汇总、明细、公告前滞后、低于已实现利润、EPS 勾稽 | 否;只更新机构原始预测 |
| 质量控制 | 未来信息、市值差异、核心来源、旧修订文件、负利润、负 FCF、缓存完整性 | 否;由引擎自动检查 |
| 报告 | 固定章节、公式摘要、异常表、复评清单 | 否;人工只补经营解释和结论边界 |
V1 不直接抓取网页,避免网页结构、登录状态和接口缩放变化悄悄污染正式数字。每次仍需:
网页取数完成后,后续算术、报告数字和质检应交给引擎,禁止在正文多处手工改数。
在项目根目录执行:
$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、输入、注册表或任一产物发生变化时自动重算。
| 状态 | 含义 | 后续动作 |
|---|---|---|
PASS |
自动规则未发现问题 | 进入人工经营判断和最终复核 |
PASS_WITH_WARNINGS |
计算完成,但存在负利润、负 FCF、预测滞后等局部问题 | 只补查异常表指定模块 |
BLOCKED_INPUT_ERRORS |
来源、日期、市值勾稽或主输入存在阻断错误 | 修复输入;不得把当前底稿升级为正式结论 |
长城军工回归样例已经固定验证总市值、TTM 收入、TTM 归母与扣非、PB、PS、三情景、50 倍反向利润和五年目标价。当前最终代码本机基准为:完整强制重算平均约 20 毫秒,有效缓存读取平均约 9 毫秒。这里衡量的是标准快照完成后的机械链路,不包含外部资料取得和人工判断时间。
完整估值耗时应分开记录:
总耗时
= 增量资料取得
+ 标准快照填写与口径确认
+ 自动计算和报告生成
+ 异常项局部复核
+ 人工经营判断与终验
V1 已把“自动计算和报告生成”压缩到毫秒级。下一阶段的主要提速空间不再是优化公式,而是建立公司基线、只搜索截止日后的增量公告,并为稳定数据源增加受控取数适配器。取数适配器必须保留原始来源、日期、单位和修订检查,不能用速度交换证据质量。
V2 已把 V1 前面的机械工作落地为 project 级端到端协调层:以 ticker + as-of 为入口,并发取得登记的公开数据,形成字段级证据回链、公司增量基线、固定 16 节报告和自动 QA;估值计算仍调用只读 V1 内核,不复制或修改公式。
在项目根目录执行:
$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,也不会伪造方向、价格区间或投资结论。
首期只使用登记的巨潮资讯和东方财富公开端点,分别承担公告身份、行情与股本、法定财务和机构预测。每个核心数字必须具有机器可读的 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 前拒绝。
公司基线按十类数据独立保存和判定: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 的正式输出,但不能把损坏或缺项状态登记成健康公司基线。
| 终态 | 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 在包内最后写入,同级 <output>.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 衡量用户任务起点至交付,不能用前者冒充总墙钟。
铖昌科技离线 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 解释为买卖结论;最终判断仍须结合业务、利润持续性、风险承受能力和复评条件。
每次收到“按最新价格重新判定全部已估值公司”的要求时,默认处理 MySQL stock_valuation 中所有 active=1、且存在当日有效正式估值版本的证券,不再逐份打开历史报告手工计算。
目标价格日按以下顺序确定:
window_end 覆盖请求日;is_open=1 的交易日;trading_xuntou.cn_stock_kline_1d_front 的前复权完整日 K;合理区间、利润预测和估值倍数在没有新财报、业绩预告、重大事件或正式复评时保持不变;日常任务只刷新价格和价格位置判定。
执行前按 ticker + 目标交易日 比对:
unchanged,直接跳过,不重复写入;daily_price 和 daily_judgement;用户日常读取的正式估值判定只保留以下稳定入口:
ana-data/result/股票估值/估值台账/latest.mdana-data/result/股票估值/估值台账/latest.csvana-data/result/股票估值/估值台账/latest_gaps.csv每次成功日更直接原子覆盖上述同名文件,不创建带日期、批次号、版本号或 latest_v2 一类并列日更文档。latest.md 和 latest.csv 必须来自同一次数据库快照,任一文件发布失败时恢复上一组文件。
公司基础估值报告、原始披露、计算底稿、manifest 和数据库历史行属于估值依据或审计证据,不是并列的“当前日更版本”,不得因每日股价变化而整批重写。公司发生正式复评时,用户可见的当前入口只指向最新有效报告;旧报告如因证据链必须保留,只能作为历史证据,不得继续冒充当前版本。
日更完成后至少验证:
latest.md/latest.csv 一致;latest_gaps.csv,不得静默丢失;git add . 带入其他角色或用户的改动;本节规范的是用户可见结果的“单一最新版”和日常交付动作;数据库中按交易日保存的历史价格、判定及估值版本继续用于追溯和复算,不作为多个用户文档版本展示。
如果只记住一套流程,记住下面这组:
1. TTM 利润 = 最近年度 + 本期累计 - 去年同期累计
2. 归一化利润 = 报告利润 - 不可持续收益 + 不可持续损失 ± 周期调整
3. 合理价值 = 归一化未来利润 × 合理倍数
或
合理价值 = 未来自由现金流折现值
4. 年化收益率
= [(未来合理价格 + 累计分红) ÷ 当前价格]^(1/持有年数) - 1
5. 安全边际 = (基准合理价值 - 当前价格) ÷ 基准合理价值
6. 只有当:
基准回报达到要求 + 悲观损失可承受 + 当前隐含假设不激进
才能认为价格具有吸引力。
这套方法不能消除未来的不确定性,但能把“感觉便宜”变成一套有数据来源、有计算过程、有情景边界、可复核的判断。