用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/xbtlin/ai-berkshire --skill investment-research命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
AI Berkshire skill: 时代α捕手:高增长核心资产的识别-验证-持有框架. Source: skills/era-alpha.md.
AI Berkshire skill: 看懂XX公司(深度公司系列):3-8 篇长文拆一家公司. Source: skills/deep-company-series.md.
AI Berkshire skill: 投研团队:四角色并行分析框架. Source: skills/investment-team.md.
正在显示 SKILL.md
| name | investment-research |
| description | AI Berkshire skill: 投资研究:巴菲特-芒格-段永平-李录 四大师综合分析框架. Source: skills/investment-research.md. |
This skill is generated from skills/investment-research.md so Claude Code and Codex users share one canonical workflow.
$ARGUMENTS as the user's request in the current Codex thread.tools/ in this repository. Prefer running commands from the repository root with paths like python3 tools/financial_rigor.py ...; if the current thread starts outside the repo, locate the actual checkout path first instead of assuming a fixed home-directory path.date command to confirm today's date; treat it as the baseline for "latest" data and state the data cutoff date in the report header. Never assume the current date from training data.AGENTS.md: cross-check financial data, use exact arithmetic tools for valuation/math, and clearly label uncertainty and source gaps.对 $ARGUMENTS 进行系统化投资研究分析。
基于巴菲特、芒格、段永平、李录四位投资大师的方法论,按以下七个模块顺序执行研究:
在开始研究前,先评估该公司的"AI可研究性",识别潜在的数据偏见:
信息丰富度评级:
| 等级 | 特征 | AI研究陷阱 | 应对策略 |
|---|---|---|---|
| A级(信息充裕) | 上市多年、券商覆盖多、媒体报道密集 | 共识过强,AI输出趋同于市场定价,alpha有限 | 重点做反面检验:聪明人为什么不买?被忽略的风险是什么? |
| B级(信息适中) | 上市1-3年、覆盖有限、部分数据需推算 | AI可能用"合理推测"填补空白,看起来完整实则虚假确定性 | 每个推算数据标注置信度,区分"有据推算"和"凭空填充" |
| C级(信息稀缺) | 刚上市/冷门股/新兴市场、几乎无覆盖 | AI会因资料不足而过度保守,误判为"看不清=不好" | 用第一性原理提问(见下方),从有限信息中提取商业本质 |
C级公司的第一性原理研究法: 当公开资料不足时,不要试图拼凑出"看起来完整"的报告,而是聚焦以下底层问题:
偏见自查清单(研究全程保持警惕):
将信息丰富度评级结果写入报告开头,并在最终结论中注明"AI研究置信度"与"实际投资确定性"的区别。
数据源规范:参见
skills/financial-data.md。所有财务数据必须来自两个独立来源,误差>1%须标记。
- 美股:macrotrends(主)+ stockanalysis(副)
- 港股:aastocks(主)+ macrotrends ADR(副)
- A股:东方财富(主)+ 巨潮资讯(副)
使用 Task 工具启动后台 Agent,从网络收集以下数据:
数据收集完成后,必须调用 tools/financial_rigor.py 对关键数据进行程序化验证,杜绝LLM心算误差。
必须验证的数据点:
强制验证步骤(使用Bash调用工具):
Step 1 — 市值验算(精确十进制,非浮点):
python3 tools/financial_rigor.py verify-market-cap \
--price {股价} --shares {总股本} --reported {报告市值} --currency {币种}
Step 2 — 关键数据多源交叉验证:
python3 tools/financial_rigor.py cross-validate \
--field {字段名} --values '{"来源1": 数值, "来源2": 数值}' --unit {单位}
对收入、净利润、现金储备分别执行。
Step 3 — 估值指标精确验算(PE/PB/ROE/FCF Yield 等):
python3 tools/financial_rigor.py verify-valuation \
--price {股价} --eps {EPS} --bvps {每股净资产} --fcf-per-share {每股FCF} --dividend {每股股息}
验证规则:
常见错误防范:
分析要点:
逐一验证五类护城河:
| 护城河类型 | 验证方法 |
|---|---|
| 品牌/定价权 | 是否能在不损失销量的情况下提价? |
| 转换成本 | 客户迁移到竞品的成本有多高? |
| 网络效应 | 用户越多产品越好吗? |
| 规模效应 | 规模带来的成本优势有多大? |
| 技术/专利壁垒 | 技术领先几年?能否被复制? |
分析护城河趋势:过去5年变宽还是变窄?未来5年预判。
巴菲特式追问:10年后这条护城河还在吗?什么能摧毁它?
芒格式追问:我最可能在哪里犯错?聪明人为什么会不买/做空这家公司?
段永平式追问:如果CEO退休,这家公司还能保持竞争力吗?
李录式追问:站在20年后回看,这家公司是"这个时代的标准石油"还是"昙花一现的3Com"?
python3 tools/financial_rigor.py three-scenario \
--price {股价} --eps {EPS} --shares {总股本亿} \
--growth {乐观增速} {中性增速} {悲观增速} \
--pe {乐观PE} {中性PE} {悲观PE} --years 3 --currency {币种}
三年三情景回答"贵不贵",十年折现回答"值不值得重仓"。凡是给出十年期 IRR 或终值倍数的研究,必须走这套流程,用 tools/terminal_value.py。
终值倍数只有一个合法来源——永续增长模型,不许用同业类比:
$$PE_{终值} = \frac{1 - g/ROIC}{r - g}$$
"帝亚吉欧 13 倍所以茅台给 16 倍"是循环论证:用别人今天的价格,证明我假设的价格合理。市场今天整体贵,类比法就把这份贵原封不动搬到十年后。
Step 1 — 定三个输入,逐个写出理由(这一步全是判断,不是计算,必须在报告里交代):
| 输入 | 怎么定 | 常见错误 |
|---|---|---|
| r 资本成本 | 无风险利率 + β × ERP。币种必须与现金流一致:人民币口径 6%–9%(主用 8%),美元/港元口径 9%–11.5%(主用 10%) | 跟着国债利率跑。中国国债 1.70% 折出来的 PE 会到 50 倍以上,那不是估值是放大偏见 |
| ROIC 稳态增量资本回报 | 夹在存量 ROIC(含不上表的无形护城河,偏高)与派息反解的隐含增量 ROIC(假设 capex 回报为零,偏低)之间 | 直接用存量 ROIC。等于假设新投的每块钱都能复制建立微信时的回报 |
| g 永续增速 | 不是未来十年增速(那已在终值利润里),是终值年之后到永远。硬天花板是长期名义 GDP:人民币口径基准档 ≤2%,美元口径 ≤4% | 用美元的 g 配人民币的 r。3% 名义增长在美国是 0.5% 实际(保守),在中国是 2% 实际(激进) |
g 不随 r 变——g 是对终值年之后经济的判断,r 是你要求的回报,两件独立的事。做敏感性时只动 r。
Step 2 — 三条硬约束准出检查(不通过不许把估值写进报告):
python3 tools/terminal_value.py audit \
--currency {CNY|USD|HKD} --r {资本成本} --roic {稳态ROIC} \
--g {悲观g},{基准g},{乐观g} --rf {无风险利率} --beta 1.0 \
--discrete-risks "{风险名}:{情景|尾部档|概率|未建模},..."
三条检查的内容与打回条件:
| # | 检查 | 打回条件 |
|---|---|---|
| C1 | r 与 g 必须同币种 | r 落在别的币种区间、或基准档 g 超过本币上限。工具会直接指出"这是 USD 的量级——r 用了本币而 g 用了外币" |
| C2 | 分母 r−g ≥ 5 个百分点 | 任一档不足 5pct。分母越窄 g 动一点点估值就翻天;分母 ≤0 直接判模型失效。确实要做上行/下行情景时加 --upside-only 显式声明,但报告里必须写明"这是情景不是估值" |
| C3 | 离散风险不得进 r 或 β | 任一风险归属写成 折现率/r/beta 一律打回。退市、VIE 失效、地缘断供、监管重击必须归 情景 或 尾部档。β 偏离 1.0 必须给 --beta-justification |
C3 为什么是硬的:抬 r 三个百分点,对第 10 年现金流的惩罚是第 1 年的 2.6 倍;而退市风险是大致均匀甚至前置的年度危害率。用折现率处理离散风险,会系统性地把风险的时间分布搞反。 正确做法是单列一个尾部情景档并给它一个概率。
C1/C2/C3 的完整论证见 reports/7公司10年投资价值横评-确定性调整后回报-20260814.md 第 3.4–3.6 节——三条都是那份报告实际踩过的坑。
Step 3 — 出数(准出后才能跑):
# 单点退出 PE,打印完整算式(留存率/分子/分母全部展开,便于报告引用)
python3 tools/terminal_value.py pe --roic {ROIC} --g {g} --r {r}
# 从零算 IRR
python3 tools/terminal_value.py irr \
--profit {终值年利润} --mcap {今日市值} --pe {退出PE} \
--years 10 --payout {股息率-稀释率}
多公司横评时把参数写成 JSON 传 --config,再用 table / sweep / check。
Step 4 — 报告里必须写出的四件事:
未建模 的),写进"限制"章节。巴菲特式追问:这个 r 如果错 2 个百分点,我的结论会翻转吗?如果会,我的结论买的是公司还是折现率?
段永平式追问:如果股市明天关闭5年,你愿意以这个价格持有吗?
汇总表格:
| 维度 | 结论 | 信心度 |
|---|---|---|
| 生意质量(段永平) | ||
| 护城河(巴菲特) | ||
| 管理层(段永平+巴菲特) | ||
| 最大风险(芒格) | ||
| 文明趋势(李录) | ||
| 估值(巴菲特+段永平) |
最终决策表格:
| 策略 | 建议 |
|---|---|
| 空仓者 | |
| 持仓者 | |
| 卖出信号 | |
| 加仓信号 |
四位大师的模拟点评(用引用格式)。
~/[公司名]投资研究报告.md报告写入文件后,必须执行数据抽检,通过后方可发布:
Step 1 — 提取抽检清单(15%随机抽样):
python3 tools/report_audit.py extract \
--report <报告文件路径>
输出 JSON 模板,每项含 fetched_value(待填)。
Step 2 — 取数核验:
对清单中每个数据点,按 skills/financial-data.md 规范从可靠信源取数
(美股:macrotrends+stockanalysis;港股:aastocks+macrotrends;A股:东方财富+巨潮资讯),
填入 fetched_value / fetched_source / fetched_value2 / fetched_source2。
Step 3 — 输出判决:
python3 tools/report_audit.py verdict \
--results '<填好的JSON>' \
--report <报告文件名>
Step 4 — 估值口径复检(含十年折现估值的报告必须执行):
如果报告里出现了十年期 IRR 或终值倍数,把最终定稿用的参数再跑一遍 audit,确认写进报告的数字与准出时的一致:
python3 tools/terminal_value.py audit \
--currency {币种} --r {r} --roic {ROIC} --g {三档g} --rf {无风险利率} \
--beta {β} --discrete-risks "{风险归属清单}"
这一步不能跳过的原因:第七步的 audit 是在算数之前做的,而写报告的过程中经常会回头调 g 或 r。准出前的最后一次 audit 才是对报告负责的那一次。