Lbo 模型
在Excel中构建杠杆收购模型 — 资金来源与用途、债务时间表、现金流归集、退出乘数、IRR/MOIC敏感性分析。与 excel-author 技能配合使用。可用于私募股权筛选、赞助商案例估值或演示文稿中的示例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 |
环境
本技能假设使用无界面 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"(两位小数以保证精度)。 - 所有数字单元格:右对齐。
首先明确要求
在填写任何公式之前:
- 检查模板结构 — 识别所有部分,理解时间线(哪些列对应哪些期间),注意任何现有公式。
- 如有任何不明确之处,请询问用户 — 如果模板结构、计算方法或要求不明确,请在继续之前提问。
- 确认关键假设 — 任何关键输入、计算偏好或特定要求。
- 仅在理解模板之后,才继续填写公式。
模板分析阶段 — 请先执行此步骤
在填写任何公式之前,请彻底检查模板:
- 绘制结构图 — 确定每个部分的位置以及它们之间的关系。注意哪些部分为其他部分提供数据。
- 理解时间线 — 哪些列代表哪些期间?是否有“收尾”或“备考”列?预测期从哪里开始?
- 识别输入单元格与公式单元格 — 模板通常使用颜色编码、边框或底纹来指示哪些单元格需要输入,哪些是公式。请遵守这些约定。
- 仔细阅读现有标签 — 行标签准确告诉您期望进行的计算。不要假设 — 阅读模板要求的内容。
- 检查现有公式 — 一些模板是部分填充的。除非特别要求,否则不要覆盖正常工作的公式。
- 注意模板特定的约定 — 符号约定、小计结构、部分的组织方式、是否有不同组件的单独工作表等。
填写公式 — 通用方法
对于每个需要公式的单元格,请遵循以下层次结构:
步骤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)。
title: 投资银行级LBO模型构建指南 description: 本技能通过填充模板,运用正确的公式、规范的格式和经过验证的计算,来构建投资银行级别的LBO模型。该技能能适应任何模板结构,同时确保财务准确性和专业的呈现标准。 slug: lbo-modeling
投资银行级LBO模型构建指南
本技能通过填充模板,运用正确的公式、规范的格式和经过验证的计算,来构建投资银行级别的LBO模型。该技能能适应任何模板结构,同时确保财务准确性和专业的呈现标准。
验证检查清单 — 完成后运行
运行公式验证
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!, #DIV/0!, #VALUE!, #NAME?)
逻辑合理性检查
- 数字数量级合理
- 趋势有意义(如预期般增长、下降、稳定)
- 没有明显错误的值(应为正数处出现负数、不可能的百分比等)
- 关键输出值在该类分析的合理范围内
要避免的常见错误
| 错误 | 出现的问题 | 如何修复 |
|---|---|---|
| 硬编码计算值 | 输入改变时模型不更新 | 始终使用引用源单元格的公式 |
| 复制后单元格引用错误 | 公式指向错误的单元格 | 验证所有链接,使用适当的 $ 锚定 |
| 循环引用错误 | 模型无法计算 | 对利息类计算使用期初余额,打破循环 |
| 分部不平衡 | 应匹配的总计不匹配 | 确保一项为插入项(作为差额计算) |
| 不可能出现的负余额 | 支付/使用超过可用金额 | 适当地使用 MAX(0, ...) 或 MIN 函数 |
| IRR/回报错误 | 符号错误或范围不完整 | 检查现金流符号并确保公式覆盖所有期间 |
| 敏感性分析表显示相同值 | 公式未随输入变化 | 检查单元格引用 — 需要混合引用($A5, B$4) |
| 滚动结转不勾连 | 期初 ≠ 上期期末 | 验证期间间的链接 |
| 符号约定不一致 | 加项变成减项,反之亦然 | 始终遵循模板的符号约定 |
与用户协作 — 分段检查点
- 如果模板结构不清楚,在继续前先询问
- 如果用户的要求与模板冲突,确认他们的偏好
- 在完成每个主要部分后,停止并向用户验证后再继续:
- 在资金来源与使用之后 → 展示平衡的表格,确认插入项正确,获得批准后再构建运营模型
- 在运营模型/预测之后 → 展示预测利润表,确认增长率和利润率看起来合理,获得批准后再进行债务附表
- 在债务附表之后 → 展示期初/期末余额和利息,确认瀑布逻辑,获得批准后再进行回报计算
- 在回报(IRR/MOIC)之后 → 展示现金流序列和输出,确认符号和范围,获得批准后再制作敏感性分析表
- 在敏感性分析表之后 → 展示每个单元格的变动,确认基准情景落点符合预期
- 如果在验证期间发现错误,在进入下一部分之前修复它们
- 展示你的工作过程 — 在需要时解释关键公式或假设
- 在逐段检查前绝不展示完成的模型 — 在源头发现一个错误的单元格引用,比在错误的IRR中追溯它要快得多
数据来源 — 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用于交互式数据门户- 用户提供的数据(当上下文中没有时,明确询问)
- 绝不捏造。如果无法获取某个倍数、先例或文件编号,将单元格标记为
[未获取]并提请用户注意。
归属
本技能改编自 Anthropic 的 Claude 金融服务业插件套件 (Apache-2.0)。Office-JS / Cowork 实时 Excel 路径已被移除;此版本通过 excel-author 技能的约定,针对无头 openpyxl。原始地址:https://github.com/anthropics/financial-services