Lbo Model
在 Excel 中构建杠杆收购模型——资金来源与用途、债务计划、现金清扫、退出倍数、IRR/MOIC 敏感性分析。与 excel-author 配合使用。适用于 PE 筛选、主导方案估值或 pitch 中的示意性 LBO。
Skill 元数据
| 来源 | 可选——通过 aigenlabs skills install official/finance/lbo-model 安装 |
| 路径 | optional-skills/finance/lbo-model |
| 版本 | 1.0.0 |
| 作者 | Anthropic(由 AigenLabs 改编) |
| 许可证 | Apache-2.0 |
| 平台 | linux, macos, windows |
| 标签 | finance, valuation, lbo, private-equity, excel, openpyxl, modeling |
| 相关 skills | excel-author, pptx-author, dcf-model, 3-statement-model |
参考:完整 SKILL.md
以下是 AigenLabs 在触发此 skill 时加载的完整 skill 定义。这是 agent 在 skill 激活时所看到的指令内容。
环境
本 skill 假设使用无界面 openpyxl——你在磁盘上生成 .xlsx 文件。
遵循 excel-author skill 关于单元格着色、公式、命名区域和敏感性表格的约定。
交付前重新计算:python /path/to/excel-author/scripts/recalc.py ./out/model.xlsx。
模板要求
本 skill 使用模板构建 LBO 模型。请始终优先检查是否附有模板文件。
开始任何 LBO 模型之前:
- 如果附有模板文件:严格使用该模板的结构——复制它并填入用户数据
- 如果未附模板:询问用户:"您是否有特定的 LBO 模板希望我使用?如果没有,我可以使用标准模板,其中包含资金来源与用途、运营模型、债务计划和回报分析。"
- 如果使用标准模板:以
examples/LBO_Model.xlsx为起点进行复制,并填入用户的假设数据
重要:当附有 LBO_Model.xlsx 等文件时,必须将其作为模板使用——不得从头构建。即使模板看起来复杂或功能超出需求,也应复制并根据用户需求进行调整。当提供了模板时,绝不能决定"从头构建"。
关键指令——请先阅读
使用 Python/openpyxl。写入公式字符串(ws["D20"] = "=B5*B6"),然后在交付前运行 excel-author skill 的 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"(两位小数,提高精度) - 所有数字单元格:右对齐
首先明确需求
填写任何公式之前:
- 检查模板结构——识别所有节,了解时间线(哪些列对应哪些期间),注意现有公式
- 如有不明确之处,询问用户——如果模板结构、计算方法或需求存在歧义,在继续之前先询问
- 确认关键假设——任何关键输入、计算偏好或特定需求
- 仅在理解模板之后,再开始填写公式
模板分析阶段——请先执行此步骤
填写任何公式之前,请彻底检查模板:
-
绘制结构图——识别每个节的位置及其相互关系。注意哪些节会输入到其他节。
-
理解时间线——哪些列代表哪些期间?是否有"结算"或"备考"列?预测期从哪里开始?
-
识别输入单元格与公式单元格——模板通常使用颜色编码、边框或阴影来标示哪些单元格需要输入,哪些需要公式。遵守这些约定。
-
仔细阅读现有标签——行标签会准确告诉你预期的计算内容。不要假设——阅读模板的要求。
-
检查现有公式——有些模板已部分填写。除非明确要求,否则不得覆盖有效公式。
-
注意模板特定约定——符号约定、小计结构、节的组织方式、不同组件是否有独立标签页等。
填写公式——通用方法
对于每个需要公式的单元格,遵循以下优先级:
第一步:检查模板
- 单元格是否已有公式?如果有,验证其正确性后继续。
- 是否有注释或说明指示预期计算?
- 行/列标签是否使计算显而易见?
- 相邻单元格是否显示出应遵循的规律?
第二步:检查用户指令
- 用户是否指定了特定的计算方法?
- 是否有影响此公式的既定假设?
- 是否有特殊需求?
第三步:应用标准实践
- 如果模板和用户均未指定,使用标准 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 的数据表功能可能无法与 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!、#DIV/0!、#VALUE!、#NAME?)
逻辑合理性检查
- 数字量级合理
- 趋势合理(增长、下降、稳定,符合预期)
- 无明显错误值(应为正数处为负数、不可能的百分比等)
- 关键输出在该类分析的合理范围内
常见错误须避免
| 错误 | 问题所在 | 修复方法 |
|---|---|---|
| 硬编码计算值 | 输入变化时模型不更新 | 始终使用引用源单元格的公式 |
| 复制后单元格引用错误 | 公式指向错误单元格 | 验证所有链接,使用适当的 $ 锚定 |
| 循环引用错误 | 模型无法计算 | 对利息类计算使用期初余额,打破循环 |
| 节不平衡 | 应匹配的合计不匹配 | 确保有一个项目作为插值(计算为差额) |
| 不可能出现负余额的地方出现负值 | 支付/使用超过可用量 | 适当使用 MAX(0, ...) 或 MIN 函数 |
| IRR/回报错误 | 符号错误或区间不完整 | 检查现金流符号,确保公式覆盖所有期间 |
| 敏感性表格显示相同值 | 公式未随输入变化 | 检查单元格引用——需要混合引用($A5、B$4) |
| 滚动表不衔接 | 期初 ≠ 上期期末 | 验证期间之间的链接 |
| 符号约定不一致 | 加法变减法或反之 | 全程一致遵循模板约定 |
与用户协作——逐节检查点
- 如果模板结构不清晰,在继续之前先询问
- 如果用户需求与模板冲突,确认其偏好
- 完成每个主要节后,停下来与用户确认,再继续:
- 资金来源与用途完成后 → 展示平衡表,确认插值正确,获得认可后再构建运营模型
- 运营模型/预测完成后 → 展示预测损益表,确认增长率和利润率看起来正确,获得认可后再做债务计划
- 债务计划完成后 → 展示期初/期末余额和利息,确认瀑布逻辑,获得认可后再做回报
- 回报(IRR/MOIC)完成后 → 展示现金流序列和输出,确认符号和区间,获得认可后再做敏感性表格
- 敏感性表格完成后 → 展示每个单元格的变化,确认基准情景落在预期位置
- 如果验证过程中发现错误,在进入下一节之前修复
- 展示你的工作——在有帮助时解释关键公式或假设
- 绝不在未经每节确认的情况下呈现完整模型——在源头发现错误的单元格引用比从损坏的 IRR 向后追溯要快得多
本 skill 通过在模板中填写正确公式、适当格式和经过验证的计算,生成投资银行质量的 LBO 模型。该 skill 适应任何模板结构,同时确保财务准确性和专业呈现标准。
数据来源——优先使用 MCP,其次使用网络
以下许多段落提到"使用 S&P Kensho MCP / Daloopa MCP / FactSet MCP"。这些是原始 Cowork 插件上下文中的商业金融数据 MCP。在 AigenLabs 中:
- 如果配置了任何结构化金融数据 MCP(AigenLabs 支持 MCP——参见
native-mcpskill),优先使用它获取时点可比数据、前例交易和文件。 - 否则,回退到:
- 针对 SEC EDGAR(
https://www.sec.gov/cgi-bin/browse-edgar)使用web_search/web_extract获取美国文件 - 公司 IR 页面获取新闻稿、财报演示文稿
- 使用
browser_navigate访问交互式数据门户 - 用户提供的数据(当上下文中没有时,明确询问)
- 针对 SEC EDGAR(
- 绝不捏造数据。如果某个倍数、前例或文件数字无法溯源,将该单元格标记为
[UNSOURCED]并向用户说明。
归属
本 skill 改编自 Anthropic 的 Claude for Financial Services 插件套件(Apache-2.0)。Office-JS / Cowork 实时 Excel 路径已移除;此版本通过 excel-author skill 的约定面向无界面 openpyxl。原始来源:https://github.com/anthropics/financial-services