{/* 此页面由 website/scripts/generate-skill-docs.py 从技能的 SKILL.md 自动生成。请编辑源文件 SKILL.md,而非此页面。 */}
LBO 模型
在 Excel 中构建杠杆收购模型 —— 来源与用途、债务计划、现金扫除、退出倍数、IRR/MOIC 敏感性。与 excel-author 配合使用。适用于 PE 筛选、赞助方案估值或演示中的示意性 LBO。
技能元数据
| 来源 | 可选 —— 使用 hermes skills install official/finance/lbo-model 安装 |
| 路径 | optional-skills/finance/lbo-model |
| 版本 | 1.0.0 |
| 作者 | Anthropic(由 Nous Research 改编) |
| 许可证 | Apache-2.0 |
| 平台 | linux, macos, windows |
| 标签 | finance, valuation, lbo, private-equity, excel, openpyxl, modeling |
| 相关技能 | excel-author, pptx-author, dcf-model, 3-statement-model |
参考:完整 SKILL.md
:::info 以下是 Hermes 在触发此技能时加载的完整技能定义。这是技能激活时代理所看到的指令。 :::
环境
此技能假定无头 openpyxl —— 您正在磁盘上生成 .xlsx 文件。
遵循 excel-author 技能的颜色约定(单元格着色、公式、命名区域和敏感性表格)。
交付前重新计算:python /path/to/excel-author/scripts/recalc.py ./out/model.xlsx。
模板要求
此技能使用 LBO 模型的模板。始终首先检查是否有附带的模板文件。
开始任何 LBO 模型前:
- 如果附带了/提供了模板文件:严格按照该模板的结构 —— 复制并根据用户数据填充
- 如果没有附带模板:询问用户:“您有想要我使用的特定 LBO 模板吗?如果没有,我可以使用包含来源与用途、运营模型、债务计划和回报分析的标准模板。”
- 如果使用标准模板:复制
examples/LBO_Model.xlsx作为起点,并根据用户的假设填充
重要:当附带了 LBO_Model.xlsx 等文件时,您必须将其用作模板 —— 不要从头构建。即使模板看起来复杂或功能超出需求,也要复制并根据用户要求进行调整。切勿在提供模板时决定”从头构建”。
关键说明 —— 先阅读
使用 Python/openpyxl。编写公式字符串(ws["D20"] = "=B5*B6"),然后在交付前运行 excel-author 技能的 recalc.py 辅助函数。
核心原则
- 每个计算必须是 Excel 公式 —— 切勿在 Python 中计算值并将结果硬编码到单元格中。使用 openpyxl 时,编写
cell.value = "=B5*B6"(公式字符串),而不是cell.value = 1250(计算值)。模型必须动态,在输入变化时更新。 - 使用模板结构 —— 遵循
examples/LBO_Model.xlsx或用户提供的模板中的组织。不要发明自己的布局。 - 使用正确的单元格引用 —— 所有公式应引用适当的单元格。切勿输入本应来自其他单元格的数字。
- 保持符号约定一致 —— 遵循模板使用的任何符号约定(有些用负数表示流出,有些用正数)。全程保持一致。
- 逐节工作,每步与用户确认 —— 完整完成一个部分,向用户展示已构建内容,运行该部分的验证检查,并在进入下一部分前获得确认。不要构建完整的端到端模型后再展示 —— 后面的部分依赖于前面的部分,如果在来源与用途中出错,在回报已经构建后发现意味着到处返工。
公式颜色约定
- 蓝色(0000FF):硬编码输入 —— 不引用其他单元格的输入数字
- 黑色(000000):包含计算的公式 —— 任何使用运算符或函数的公式(
=B4*B5,=SUM(),=-MAX(0,B4)) - 紫色(800080):指向同工作表单元格的链接 —— 不带计算的直接引用(
=B9,=B45) - 绿色(008000):指向不同工作表单元格的链接 —— 跨表引用(
=Assumptions!B5,='Operating Model'!C10)
填充调色板 —— 专业蓝灰(默认,除非用户/模板指定其他)
- 保持极简 —— 仅使用蓝色和灰色进行单元格填充。不要引入绿色、黄色、红色或多重强调色。专业的 LBO 模型使用克制。
- 默认填充调色板:
- 部分标题(来源与用途、运营模型等):深蓝色
#1F4E79配白色粗体文本 - 列标题(第 1 年、第 2 年等):浅蓝色
#D9E1F2配黑色粗体文本 - 输入单元格:浅灰色
#F2F2F2(或白色)—— 蓝色字体是信号,填充是次要的 - 公式/计算单元格:白色,无填充
- 关键输出(IRR, MOIC, 退出股权):中蓝色
#BDD7EE配黑色粗体文本
- 部分标题(来源与用途、运营模型等):深蓝色
- 这就是整个调色板。 3 种蓝色 + 1 种灰色 + 白色。如果模板使用自己的颜色,则遵循模板。
- 注意:上述蓝色/黑色/紫色/绿色字体颜色用于区分输入、公式和链接。它们与这里的填充调色板是分开的 —— 两者共同工作。
数字格式标准
- 货币:
$#,##0;($#,##0);"-"或$#,##0.0(取决于模板) - 百分比:
0.0%(一位小数) - 倍数:
0.0"x"(一位小数) - MOIC/详细比率:
0.00"x"(两位小数以精确) - 所有数字单元格:右对齐
先澄清需求
在填充任何公式前:
- 检查模板结构 —— 识别所有部分,理解时间线(哪些列代表哪些期间),注意任何现有公式
- 如有不明确,询问用户 —— 如果模板结构、计算方法或要求不明确,在继续前询问
- 确认关键假设 —— 任何关键输入、计算偏好或特殊要求
- 仅在有模板理解后,继续填充公式
模板分析阶段 —— 先做此步
在填充任何公式前,彻底检查模板:
- 映射结构 —— 确定每个部分的位置及其相互关系。注意哪些部分为其他部分提供输入。
- 理解时间线 —— 哪些列代表哪些期间?是否有”完成”或”备考”列?预测期从哪里开始?
- 识别输入与公式单元格 —— 模板通常使用颜色编码、边框或底纹指示哪些单元格需要输入 vs 公式。尊重这些约定。
- 仔细阅读现有标签 —— 行标签精确告诉你期望什么计算。不要臆测 —— 阅读模板的要求。
- 检查现有公式 —— 有些模板部分已填充。除非特别要求,不要覆盖正常工作的公式。
- 注意模板特定的约定 —— 符号约定、小计结构、部分的组织方式、是否有不同组件的独立工作表等。
填充公式 —— 一般方法
对于每个需要公式的单元格,遵循以下优先级:
第 1 步:检查模板
- 单元格是否已有公式?如果是,验证其正确性并继续。
- 是否有注释或备注指示期望的计算?
- 行/列标签是否使计算显而易见?
- 相邻单元格是否显示应遵循的模式?
第 2 步:检查用户的说明
- 用户是否指定了特定的计算方法?
- 是否有影响此公式的明确假设?
- 是否提到任何特殊要求?
第 3 步:应用标准实践
- 如果模板和用户均未指定,使用标准 LBO 建模惯例
- 记录您做出的任何假设
- 如果确实不确定,询问用户
常见问题区域
以下计算模式经常在 LBO 模型中导致问题。遇到这些时特别注意:
平衡部分
- 当两个部分必须相等时(例如来源 = 用途),其中一个项目通常是”塞子”(平衡值)
- 识别哪个项目是塞子,并将其计算为差值
税费计算
- 税费公式应仅引用相关的收入行和税率
- 不应引用不相关的部分(例如债务计划)
- 考虑亏损是产生税盾还是简单地被忽略
利息和循环引用
- 如果利息计算引用受现金流影响的余额,可能产生循环性
- 使用期初余额(而非平均或期末)来打破循环引用
- 模式:利息 → 现金流 → 偿还 → 期末余额(如果利息使用期末余额,则形成循环)
债务偿还 / 现金扫除
- 当存在多个债务层级时,通常有优先顺序
- 现金扫除应尊重优先顺序瀑布
- 余额不能为负数 —— 适当使用 MAX 或 MIN 函数
回报计算(IRR/MOIC)
- 现金流符号必须正确:投资 = 负数,收益 = 正数
- 如果使用 XIRR,需要对应的日期
- 如果使用 IRR,现金流应在连续期间
- MOIC = 总收益 / 总投资
敏感性表格
- 使用奇数维度(5×5 或 7×7)—— 绝不用 4×4 或 6×6。奇数维度确保有真实的中心单元格。
- 中心单元格 = 基准情况。 对称地围绕模型实际假设构建行和列轴值(例如,如果基准进入倍数 = 10.0x,轴 =
[8.0x, 9.0x, 10.0x, 11.0x, 12.0x])。中心单元格的 IRR/MOIC 必须等于模型的实际 IRR/MOIC 输出 —— 这是表格正确连接的证明。 - 突出显示中心单元格 —— 中蓝色填充(
#BDD7EE)+ 粗体字体,使基准情况在视觉上被锚定。 - Excel 的 DATA TABLE 函数可能不适用于 openpyxl —— 而是编写引用行/列标题的显式公式
- 每个单元格应显示不同的值 —— 如果全部相同,公式未正确变化
- 使用混合引用(例如行输入用
$A5,列输入用B$4)
验证检查清单 —— 完成后运行
运行公式验证
python /path/to/excel-author/scripts/recalc.py model.xlsx必须返回成功且零错误。
部分平衡
- 需要平衡的部分(来源/用途、资产/负债)精确平衡
- 塞子项正确计算为平衡值
- 应跨部分匹配的金额一致
收入/运营预测
- 营收/顶线从驱动因素或增长率正确构建
- 所有成本和费用项适当计算
- 小计和合计正确加总
- 利润率和比率合理
- 与假设的链接正确
资产负债表(如适用)
- 资产 = 负债 + 权益(必须平衡)
- 所有项目链接到适当的计划或向前滚动
- 期初余额 = 前期期末余额
- 检查行包含且显示为零
现金流(如适用)
- 从正确的收入数字开始
- 非现金项目适当加减
- 营运资本变动符号正确
- 期末现金 = 期初现金 + 净现金流
- 现金余额在各报表间一致
辅助计划
- 向前滚动计划平衡(期初 + 变动 = 期末)
- 计划正确链接到主报表
- 计算项使用适当的驱动因素
- 所有期间一致计算
债务/融资计划(如适用)
- 期初余额与来源或前期对应
- 利息按适当的余额计算(通常为期初)
- 偿还尊重现金可用性和优先级
- 期末余额不能为负数
- 合计正确加总各级
回报/输出分析
- 退出/终值正确计算
- 包含所有相关调整
- 现金流符号正确(投资为负数,收益为正数)
- IRR/MOIC 公式引用完整范围
- 结果对该情景合理
敏感性表格(如适用)
- 网格维度为奇数(5×5 或 7×7)—— 有真实的中心单元格
- 行和列轴值围绕基准情况对称(
[基准-2Δ, 基准-Δ, 基准, 基准+Δ, 基准+2Δ]) - 中心单元格输出等于模型的实际 IRR/MOIC —— 确认表格正确连接
- 中心单元格已突出显示(中蓝色填充
#BDD7EE,粗体字体) - 行和列标题包含适当的输入值
- 每个数据单元格包含公式(非硬编码)
- 每个数据单元格显示不同的值
- 值沿预期方向变化(更高退出倍数 → 更高 IRR 等)
格式
- 硬编码输入为蓝色(0000FF)
- 计算出的公式为黑色(000000)
- 同表链接为紫色(800080)
- 跨表链接为绿色(008000)
- 所有数字右对齐
- 始终应用适当的数字格式
- 无显示错误值的单元格(#REF!,0!,VALUE!,NAME?)
逻辑合理性检查
- 数量级合理
- 趋势有意义(按预期增长、下降、稳定)
- 无明显错误值(负数应为正数处、不可能的百分比等)
- 关键输出在给定分析类型的合理范围内
常见错误避免
| 错误 | 后果 | 修复方法 |
|---|---|---|
| 硬编码计算值 | 输入变化时模型不更新 | 始终使用引用源单元格的公式 |
| 复制后单元格引用错误 | 公式指向错误单元格 | 验证所有链接,使用适当的 $ 锚定 |
| 循环引用错误 | 模型无法计算 | 对利息类计算使用期初余额,打破循环 |
| 部分不平衡 | 应匹配的总计不匹配 | 确保一个项目是塞子(计算为差值) |
| 不可能出现的负余额 | 支付/使用的超过可用额 | 适当使用 MAX(0, …) 或 MIN 函数 |
| IRR/回报错误 | 符号错误或不完整范围 | 检查现金流符号,确保公式覆盖所有期间 |
| 敏感性表格显示相同值 | 公式未随输入变化 | 检查单元格引用 —— 需要混合引用(4) |
| 向前滚动不衔接 | 期初 ≠ 前期期末 | 验证期间之间的链接 |
| 符号约定不一致 | 加法变成减法或相反 | 全程一致遵循模板的约定 |
与用户协作 —— 逐节检查点
- 如果模板结构不明确,在继续前询问
- 如果用户的要求与模板冲突,确认他们的偏好
- 完成每个主要部分后,停下来与用户验证:
- 来源与用途完成后 → 展示平衡表,确认塞子正确,在构建运营模型前获得确认
- 运营模型/预测完成后 → 展示预测利润表,确认增长率和利润率正确,在债务计划前获得确认
- 债务计划完成后 → 展示期初/期末余额和利息,确认瀑布逻辑,在回报计算前获得确认
- 回报(IRR/MOIC)完成后 → 展示现金流序列和输出,确认符号和范围,在敏感性表格前获得确认
- 敏感性表格完成后 → 展示每个单元格变化,确认基准情况落在预期位置
- 如果在验证中发现问题,在进入下一部分前修复
- 展示您的工作 - 在有助于理解时解释关键公式或假设
- 切勿在未在每节检查的情况下展示完整模型 —— 在源头捕获错误的单元格引用比从损坏的 IRR 向后追溯更快
此技能通过用正确公式、适当格式和已验证的计算填充模板,生成投行级 LBO 模型。技能适应任何模板结构,同时确保财务准确性和专业呈现标准。
数据来源 —— 优先 MCP,后备网页搜索
下文多处提到”使用 S&P Kensho MCP / Daloopa MCP / FactSet MCP”。这些是来自原始 Cowork 插件上下文中的商业金融数据 MCP。在 Hermes 中:
- 如果您配置了任何结构化金融数据 MCP(Hermes 支持 MCP —— 参见
native-mcp技能),优先用于时点可比数据、先例交易和申报文件。 - 否则,回退至:
- 针对美国申报文件使用
web_search/web_extract查询 SEC EDGAR(https://www.sec.gov/cgi-bin/browse-edgar) - 公司投资者关系页面获取新闻稿、财报演示
browser_navigate获取交互式数据门户- 用户提供的数据(当上下文中没有时明确询问)
- 针对美国申报文件使用
- 切勿编造。如果某个倍数、先例或申报文件编号无法获取来源,将单元格标记为
[UNSOURCED]并向用户说明。
署名
此技能改编自 Anthropic 的 Claude for Financial Services 插件套件(Apache-2.0)。Office-JS / Cowork 实时 Excel 路径已被移除;此版本针对通过 excel-author 技能规范使用无头 openpyxl。原文:https://github.com/anthropics/financial-services