| name | RetainedEarningsCheck |
| description | 留存收益质量检验工作流。处理 @留存 [公司] 和 @REM [公司] 指令。
所有 L3/L4/L5/L6 分析强制内嵌调用本工作流(在估值结论之前)。
基于巴菲特一元测试(REM),计算五项核心指标:留存收益乘数/ROE/DFR/CapEx效率/FCF转化率。
直接调用 Python 工具,全程不询问用户参数,A股双源交叉验证。
**不适用场景:**
- 刚上市不足3年的公司(历史数据不足)
- 无收益的纯亏损早期公司(REM分母为零)
|
RetainedEarningsCheck Workflow v3.0 — 留存收益质量检验
适用:@留存 [公司] | @REM [公司] | 所有 L3/L4/L5 分析必须内嵌调用
理论来源:巴菲特历年股东信(1979/1983/1984/1985/1986)
核心思想:每一美元的保留收益至少应转化为一美元的市场价值;
没有新增资本投入的情况下能稳定提高现金产出能力,才是好企业。
v3.0 行为规范:触发本 Workflow 后,直接调用 Python 工具拉取近 10 年数据,
全程无需追问用户任何参数;A 股自动启用 yfinance + akshare 双源交叉验证。
⚠️ CRITICAL CONSTRAINTS(全程遵守)
❌ NEVER 询问用户参数(ticker 从上下文自动推断)
❌ NEVER 在 REM 检验完成前输出估值结论
❌ NEVER 用训练数据中的历史价格替代实时拉取
❌ NEVER REM < 1 时静默处理——必须在报告最顶部打红色警告
❌ NEVER 因数据暂时不可用就切换为问答模式(应告知具体错误并提示安装依赖)
执行顺序(固定,不得调换):
- 运行
tools/retained_earnings_check.py(自动数据拉取)
- 输出巴菲特一元测试结果(Pass/Fail)
- 若 Fail → 在报告顶部插入红色警告块(见模板)
- 输出五项指标评分卡
- 输出综合评分和管理层建议
⚠️ 巴菲特一元测试(硬性门控)
"对于股东来说,我们认为将收益保留只有一个合理的理由:
公司所保留的每一美元收益至少应能创造一美元的市场价值。"
— 巴菲特,1984年股东信
$$\boxed{\text{每留存 $1 收益} ;\geq; \text{创造 $1 市值} \quad \Leftrightarrow \quad \text{REM} \geq 1}$$
| 测试结果 | 判定 | 强制动作 |
|---|
| REM < 1 | 🚨 未通过 | 在所有报告的最显眼位置打红色警告;管理层无权留存利润,应立即分红/回购 |
| REM = 1 ~ 2 | ⚠️ 及格线 | 标注"恰好及格,需持续追踪",深挖是否政策/周期红利驱动 |
| REM > 2 | ✅ 通过 | 正常进入后续五项指标评分 |
此测试必须在任何估值、打分、研报结论之前完成,REM < 1 时输出格式如下:
🚨 巴菲特一元测试:未通过
REM = [X]x(< 1)
含义:过去 [N] 年,管理层每留存 1 元利润,
仅创造了 [X] 元市值,资本在持续被摧毁。
建议:管理层应停止低效留存,全额分红或回购。
后续分析:降权处理,所有成长相关论点需提高举证门槛。
五项核心检验指标
1. 留存收益乘数(REM — Retained Earnings Multiplier)⭐ 最核心
$$\text{REM} = \frac{\text{当前股价} - \text{基期股价(上市或基准年)}}{\text{每股累计留存净利润(同期)}}$$
| REM | 评级 | 含义 |
|---|
| < 1 | ❌ 不合格 | 留存资本在摧毁价值,管理层应分红/回购而非保留 |
| 1 – 2 | ⚠️ 及格 | 勉强合格,需深挖是否依赖政策红利 |
| 2 – 5 | ✅ 良好 | 资本有效积累,合理保留 |
| > 5 | 🌟 优秀 | 留存资本高效复利,管理层资本配置能力强 |
注:分母为"每股累计留存净利润" = 累计净利润 / 平均股本 - 每股累计分红
2. ROE 水平与稳定性
| ROE | 评级 |
|---|
| < 8% | ❌ 不合格(保留资本无意义) |
| 8% – 15% | ⚠️ 及格下线 |
| 15% – 20% | ✅ 合格(巴菲特标准线) |
| > 20% | 🌟 优秀 |
- 同时检查 ROE 趋势(上升/稳定/下滑)
- 对 ROE 做 DuPont 分解,识别是真实盈利能力还是财务杠杆驱动
3. 分红/募资比(DFR — Dividend to Fundraising Ratio)
$$\text{DFR} = \frac{\text{历史累计分红总额}}{\text{历史累计股权融资总额}}$$
| DFR | 评级 | 含义 |
|---|
| < 0.5 | ❌ 差 | 严重依赖外部输血,内生造血不足 |
| 0.5 – 1 | ⚠️ 一般 | 轻度依赖融资 |
| 1 – 2 | ✅ 良好 | 基本自给自足 |
| > 2 | 🌟 优秀 | 真正的现金奶牛 |
4. 资本支出效率(CapEx Efficiency)
$$\text{CapEx效率} = \frac{\text{累计资本支出}}{\text{税前营业利润增量}}$$
含义:每增加 1 元税前利润,需要投入多少资本支出(越低越好)
| 投入/增量利润 | 评级 |
|---|
| < 3x | 🌟 优秀 |
| 3x – 5x | ✅ 美国企业平均水平 |
| 5x – 15x | ⚠️ 低于平均 |
| > 15x | ❌ 高度资本消耗,增长不值钱 |
5. 自由收益率(FCF Quality)
$$\text{FCF转化率} = \frac{\text{自由现金流(FCF)}}{\text{净利润}}$$
| FCF转化率 | 评级 |
|---|
| > 80% | 🌟 优秀(低维护性资本需求) |
| 60% – 80% | ✅ 良好 |
| 40% – 60% | ⚠️ 一般 |
| < 40% | ❌ 利润质量差,受限收益比例高 |
综合评分卡(100分制)
| 指标 | 权重 | 评分规则 |
|---|
| REM(留存收益乘数) | 35% | <1=0分, 1-2=15分, 2-5=25分, >5=35分 |
| ROE水平与稳定性 | 25% | <8%=0分, 8-15%=10分, 15-20%=20分, >20%=25分 |
| DFR(分红/募资比) | 20% | <0.5=0分, 0.5-1=8分, 1-2=15分, >2=20分 |
| CapEx效率 | 10% | >15x=0分, 5-15x=4分, 3-5x=7分, <3x=10分 |
| FCF转化率 | 10% | <40%=0分, 40-60%=4分, 60-80%=7分, >80%=10分 |
总分判断:
- 80-100:🌟 资本配置优秀,管理层值得信赖,可加大留存
- 60-79:✅ 合格,关注趋势变化
- 40-59:⚠️ 需深挖,部分指标存在瑕疵
- < 40:❌ 不合格,管理层应减少留存,加大回报股东
数据获取方案(v2.0 — 默认无交互,双源验证)
方案A:Python 自动化(默认推荐,无需任何追问)
python tools/retained_earnings_check.py --ticker 600519.SS
python tools/retained_earnings_check.py --ticker AAPL
python tools/retained_earnings_check.py --ticker 3690.HK
python tools/retained_earnings_check.py --ticker 600519.SS --years 5
python tools/retained_earnings_check.py --ticker AAPL --years 10
python tools/retained_earnings_check.py --ticker 600519.SS --save
python tools/retained_earnings_check.py --ticker AAPL --json
双源验证逻辑(自动执行):
| 股票类型 | 主数据源 | 验证源 | 验证项目 |
|---|
| A 股 (.SS/.SZ) | yfinance | akshare | ROE均值、当前股价、基期股价、分红 |
| 港股 (.HK) | yfinance | — | 单源,标注 |
| 美股 | yfinance | — | 单源,标注(yfinance 上限约 4 年年报) |
双源偏差 ≤15% → 取均值,标注 ✅双源吻合
双源偏差 >15% → 仍取均值,但标注 ⚠️双源差异(需人工核查)
数据窗口说明:
- A 股 akshare:支持 10 年历史财务数据 ✅
- 美股 yfinance:年报财务数据上限约 4 年(价格可取 10 年)⚠️
- DFR(分红/募资比):两大数据源均无融资记录,需手动补充
方案B:手动录入(仅限 IPO 级别长跨度或数据源均不可用时)
python tools/retained_earnings_check.py --manual
不会自动询问:只有明确传入 --manual 时才进入手动录入流程。
调用规则(嵌入所有分析流程)
⚡ AI 执行原则(无追问)
触发本 Workflow 时,AI 应直接执行以下固定步骤,不得询问用户任何参数:
- 识别标的代码(从上下文推断,优先
.SS/.SZ/.HK/美股 ticker)
- 运行
python tools/retained_earnings_check.py --ticker <CODE> --years 10 --save
- 若运行失败(无 yfinance/akshare),直接告知用户原因,提示安装依赖,不切换为问答模式
强制嵌入场景
- ✅
@分析 → 在"资本配置质量"章节自动运行留存收益检验
- ✅
@估值 → 在计算内在价值前先过留存收益检验
- ✅
@打分 → Q(Quality)维度中 REM 和 DFR 强制计入
- ✅
@护城河 → 护城河可持续性必须有 REM 背书
- ✅
@L4/@L5/@L6 → 全量五项指标 + 历史分年拆解
快速参考(L1/L2 调用)
- 只计算 REM + ROE 两项,30秒得出初步判断
- 口头结论格式:
留存收益乘数 [X]x,ROE均值 [X]%,[合格/不合格/优秀]
典型案例参考(截至文章发布时间基准)
| 公司 | REM | ROE均值 | DFR | CapEx效率 | 综合评级 |
|---|
| 万华化学 | 4.9x ✅ | 27.7% 🌟 | 2.4x 🌟 | 4.3x ✅ | 优秀(≈85分) |
| 海螺水泥 | 1.3x ⚠️ | 16.4% ✅ | 3.7x 🌟 | 政策驱动⚠️ | 良好(≈65分) |
| 京东方 | ~0 ❌ | 负值 ❌ | 0.18x ❌ | 62x ❌ | 不合格(<20分) |
| 比亚迪 | 19.6x🌟 | 11% ⚠️ | 0.1x ❌ | 33x ❌ | 市场买远景⚠️(混合) |
| 伊利股份 | 11x 🌟 | 19% ✅ | 2.0x 🌟 | 6x ⚠️ | 优秀(≈80分) |
| 青岛啤酒 | 7.5x 🌟 | 10% ⚠️ | 2.0x 🌟 | 5.4x ⚠️ | 良好(≈70分) |
| 张裕 | 0.66x ❌ | 18%↓10% ⚠️ | 5.5x 🌟 | 16x ❌ | 不合格(≈35分) |
警示:比亚迪高 REM 来自市场为远景买单,而非管理层资本效率;DFR 和 CapEx 效率均不合格,与京东方的差距在于市场预期,而非当期基本面。
致命陷阱提示
- "增收不增利"型公司:京东方、比亚迪(截至文章时)— 收入高增长,利润却不随之增长,高资本支出换来的是"规模幻觉"
- 政策红利型改善:海螺水泥供给侧改革前后分段分析,景气顶点需降低权重
- 基期选择偏差:选定估值洼地或高峰期作为基期,会严重扭曲 REM
- 会计商誉 vs 经济商誉:资本支出产生的会计商誉不等于经济价值,注意区分
- 通胀侵蚀:资本密集型行业的"受限收益"在高通胀环境下被严重高估
输出格式模板
留存收益质量检验报告 — [公司名] [检验日期]
==========================================
基期:[年份] 当前:[年份] 复权基价:[X元] 现价:[X元]
核心指标
---------
① 留存收益乘数 (REM):[X]x → [🌟/✅/⚠️/❌]
② ROE 均值/趋势:[X]% / [↑↓→] → [🌟/✅/⚠️/❌]
③ 分红/募资比 (DFR):[X]x → [🌟/✅/⚠️/❌]
④ CapEx 效率:[X]x (每元增量利润投入) → [🌟/✅/⚠️/❌]
⑤ FCF 转化率:[X]% → [🌟/✅/⚠️/❌]
综合得分:[XX/100] 综合评级:[优秀/良好/及格/不合格]
管理层资本配置建议:
[基于综合评分,给出具体建议:继续留存/加大分红/停止扩张/其他]
关键风险提示:
[1-3条最重要的风险]
==========================================
存入 10-研究报告输出/[YYYY-MM-DD]-REM-[标的].md