关于 lbo-model
lbo-model 是用于构建杠杆收购模型的技能,面向需要在 Excel 中填充或审查 LBO 模型的用户。它强调沿用现有模板、使用公式并检查模型完整性。
主要功能
- 01优先使用用户提供的模板
- 02按模板分区填充模型公式
- 03遵循单元格颜色与数字格式规范
- 04检查债务、回报及敏感性分析
- 05验证模型平衡与公式错误
适用场景
- 01根据交易假设填充 LBO 模板
- 02检查债务偿还和现金流计算
- 03验证 IRR、MOIC 与敏感性表
- 04审查模型格式和公式引用
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ w95/ awesome-claude-corporate-skills --skill lbo-model安装后在 Claude Code 中输入/lbo-model确认已加载。
详细介绍
模板要求
此技能使用 LBO 模型模板。请始终先检查是否附有模板文件。
开始构建任何 LBO 模型前:
- 如果附有/提供了模板文件:严格使用该模板的结构——复制模板,并填入用户提供的数据
- 如果没有附上模板:询问用户:“您有想让我使用的特定 LBO 模板吗?如果没有,我可以使用标准模板,其中包含资金来源与用途、运营模型、债务计划和回报分析。”
- 如果使用标准模板:将
examples/LBO_Model.xlsx复制为起始文件,并填入用户提供的假设
重要:如果附有 LBO_Model.xlsx 之类的文件,必须将其用作模板——不得从头构建。即使模板看起来很复杂或包含超出需求的功能,也要复制模板并根据用户需求进行调整。提供了模板时,绝不要自行决定“从头构建”。
给 CLAUDE 的关键说明——请先阅读
核心原则
- 每项计算都必须使用 Excel 公式——绝不要在 Python 中计算数值后将结果硬编码到单元格中。模型必须保持动态,并能在输入变化时更新。
- 使用模板结构——遵循
examples/LBO_Model.xlsx或用户所提供模板的组织方式。不要自行设计布局。 - 使用正确的单元格引用——所有公式都应引用相应单元格。绝不要直接输入本应从其他单元格获取的数值。
- 保持符号约定一致——遵循模板使用的符号约定(有些模板将现金流出记为负数,有些则记为正数)。始终保持一致。
- 逐节完成——完成一个部分后再继续下一个部分,因为后续部分通常依赖前面的内容。
公式颜色约定
- 蓝色(0000FF):硬编码输入——直接输入且不引用其他单元格的数值
- 黑色(000000):计算公式——使用运算符或函数的任何公式(
=B4*B5、=SUM()、=-MAX(0,B4)) - 紫色(800080):同一工作表中的单元格链接——不含计算的直接引用(
=B9、=B45) - 绿色(008000):不同工作表中的单元格链接——跨工作表引用(
=Assumptions!B5、='Operating Model'!C10)
数字格式标准
- 货币:
$#,##0;($#,##0);"-"或$#,##0.0,具体取决于模板 - 百分比:
0.0%(一位小数) - 倍数:
0.0"x"(一位小数) - MOIC/详细比率:
0.00"x"(为提高精度,保留两位小数) - 所有数值单元格:右对齐
先确认要求
填写任何公式前:
- 检查模板结构——识别所有部分,了解时间轴(各列对应哪些期间),并注意现有公式
- 如有不清楚之处,请询问用户——如果模板结构、计算方法或要求存在歧义,请在继续前询问
- 确认关键假设——确认关键输入、计算偏好或具体要求
- 只有在理解模板后,才开始填写公式
模板分析阶段 - 请先完成
在填写任何公式之前,请彻底检查模板:
-
梳理结构 - 确定各个部分所在的位置,以及它们之间的关系。注意哪些部分为其他部分提供数据。
-
了解时间线 - 哪些列代表哪些期间?是否有“Closing”或“Pro Forma”列?预测期从哪里开始?
-
识别输入单元格与公式单元格 - 模板通常会通过颜色、边框或底纹标示哪些单元格需要输入,哪些需要公式。请遵循这些约定。
-
仔细阅读现有标签 - 行标签会明确说明预期的计算方式。不要想当然——请仔细阅读模板的要求。
-
检查现有公式 - 有些模板已部分填写。除非有明确要求,否则不要覆盖有效公式。
-
留意模板特定约定 - 符号约定、小计结构、各部分的组织方式,以及是否为不同组成部分设置了单独的工作表等。
填写公式 - 通用方法
对于每个需要填写公式的单元格,请按以下顺序处理:
步骤 1:检查模板
- 该单元格是否已有公式?如果有,请确认公式正确,然后继续。
- 是否有批注或注释说明预期的计算方式?
- 行或列标签是否明确说明了计算方式?
- 相邻单元格是否体现了可供遵循的规律?
步骤 2:检查用户说明
- 用户是否指定了特定的计算方法?
- 是否有会影响此公式的假设?
- 是否提到了任何特殊要求?
步骤 3:采用标准做法
- 如果模板和用户都未作说明,请采用标准 LBO 建模惯例
- 记录你作出的任何假设
- 如果确实无法确定,请询问用户
常见问题领域
以下计算模式在 LBO 模型中经常引发问题。遇到这些情况时请特别留意:
平衡部分
- 当两个部分必须相等时(例如,资金来源 = 资金用途),通常会有一个项目作为“平衡项”
- 找出该平衡项,并将其计算为差额
税务计算
- 税务公式应仅引用相关的收入行和税率
- 不应引用不相关的部分(例如债务明细表)
- 考虑亏损是否会形成税盾,还是应直接忽略
利息与循环引用
- 如果利息计算引用了受现金流影响的余额,可能会产生循环引用
- 使用期初余额(而非平均余额或期末余额)来打破循环引用
- 模式:利息 → 现金流 → 偿还金额 → 期末余额(如果利息使用期末余额,就会形成循环)
债务偿还 / 现金扫付
- 存在多个债务分层时,通常有优先偿还顺序
- 现金扫付应遵循优先级瀑布
- 余额不能为负数——请酌情使用 MAX 或 MIN 函数
回报计算(IRR/MOIC)
- 现金流的符号必须正确:投资 = 负数,所得款项 = 正数
- 使用 XIRR 时,需要提供相应日期
- 使用 IRR 时,现金流应处于连续期间
- MOIC = 所得款项总额 / 投资总额
敏感性分析表
- Excel 的 DATA TABLE 函数可能无法与 openpyxl 配合使用
- 可能需要使用引用行标题和列标题的显式公式
- 每个单元格都应显示不同的值——如果所有值都相同,说明公式未能正确变化
- 使用混合引用(例如,行输入使用 $A5,列输入使用 B$4)
验证清单 - 完成后运行
运行公式验证
python /mnt/skills/public/xlsx/recalc.py model.xlsx
必须成功运行且错误数为零。
部分平衡
- 所有必须平衡的部分(资金来源/用途、资产/负债)均准确平衡
- 平衡项已正确计算为平衡差额
- 各部分之间应相等的金额保持一致
收入/经营预测
- 收入/营收是否根据驱动因素或增长率正确构建
- 所有成本和费用项目是否均已正确计算
- 小计和总计是否求和正确
- 利润率和比率是否合理
- 假设的链接是否正确
资产负债表(如适用)
- 资产 = 负债 + 权益(必须平衡)
- 所有项目是否均链接到相应的明细表或滚动计算表
- 期初余额 = 上一期间期末余额
- 是否包含检查行,且其结果为零
现金流量表(如适用)
- 是否从正确的利润数据开始
- 非现金项目是否已正确加回或扣除
- 营运资本变动的正负号是否正确
- 期末现金 = 期初现金 + 净现金流
- 各报表中的现金余额是否一致
支持性明细表
- 滚动计算表是否平衡(期初余额 + 变动 = 期末余额)
- 明细表是否正确链接到主报表
- 计算项目是否使用恰当的驱动因素
- 所有期间的计算方式是否一致
债务/融资明细表(如适用)
- 期初余额是否与资金来源或上一期间一致
- 利息是否按恰当的余额计算(通常按期初余额)
- 还款是否遵循可用现金和优先顺序
- 期末余额是否不可能为负数
- 总额是否正确汇总各个债务分层
回报/输出分析
- 退出/终值是否计算正确
- 是否纳入所有相关调整
- 现金流正负号是否正确(投资为负,回款为正)
- IRR/MOIC 公式是否引用完整范围
- 结果是否符合该情景的合理预期
敏感性分析表(如适用)
- 行标题和列标题是否包含恰当的输入值
- 每个数据单元格是否都包含公式(而非硬编码值)
- 每个数据单元格是否显示不同的值
- 数值变化方向是否符合预期
- 标题与基准假设相符的位置是否显示基准情景
格式
- 硬编码输入是否为蓝色(0000FF)
- 计算公式是否为黑色(000000)
- 同一工作表内的链接是否为紫色(800080)
- 跨工作表链接是否为绿色(008000)
- 所有数字是否右对齐
- 是否为所有内容应用了恰当的数字格式
- 是否没有单元格显示错误值(#REF!、#DIV/0!、#VALUE!、#NAME?)
逻辑合理性检查
- 数值的数量级是否合理
- 趋势是否合理(按预期增长、下降或趋于稳定)
- 是否不存在明显错误的数值(例如本应为正却为负、不可能的百分比等)
- 关键输出是否处于此类分析的合理范围内
常见错误及规避方法
| 错误 | 问题所在 | 解决方法 |
|---|---|---|
| 将计算结果硬编码 | 输入变更时,模型不会更新 | 始终使用引用源单元格的公式 |
| 复制后单元格引用错误 | 公式指向错误的单元格 | 验证所有链接,并使用恰当的 $ 锚定 |
| 循环引用错误 | 模型无法计算 | 对利息类计算使用期初余额,打破循环引用 |
| 各部分无法平衡 | 本应一致的总额不一致 | 确保将一个项目设为差额项(按差额计算) |
| 出现不可能的负余额 | 支付或使用的金额超出可用额度 | 恰当使用 MAX(0, ...) 或 MIN 函数 |
| IRR/回报错误 | 正负号错误或范围不完整 | 检查现金流正负号,并确保公式涵盖所有期间 |
| 敏感性分析表显示相同数值 | 公式未随输入变化 | 检查单元格引用——需要使用混合引用($A5、B$4) |
| 滚动计算无法衔接 | 期初余额 ≠ 上一期期末余额 | 验证各期间之间的链接 |
| 正负号约定不一致 | 增加项被当作扣减项,反之亦然 | 全程遵循模板中的正负号约定 |
与用户协作
- 如果模板结构不明确,请先询问再继续
- 如果用户的要求与模板冲突,请确认用户的偏好
- 完成每个主要部分后,主动提出展示成果或运行验证
- 如果验证过程中发现错误,请先修复再进入下一部分
- 展示你的工作——在有帮助时说明关键公式或假设
此技能通过使用正确的公式、恰当的格式和经过验证的计算来填写模板,从而生成符合投资银行质量标准的 LBO 模型。此技能可适配任何模板结构,同时确保财务准确性和专业的展示标准。