跳到主要内容

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
相关 skillsexcel-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 模型之前:

  1. 如果附有模板文件:严格使用该模板的结构——复制它并填入用户数据
  2. 如果未附模板:询问用户:"您是否有特定的 LBO 模板希望我使用?如果没有,我可以使用标准模板,其中包含资金来源与用途、运营模型、债务计划和回报分析。"
  3. 如果使用标准模板:以 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"(两位小数,提高精度)
  • 所有数字单元格:右对齐

首先明确需求

填写任何公式之前:

  • 检查模板结构——识别所有节,了解时间线(哪些列对应哪些期间),注意现有公式
  • 如有不明确之处,询问用户——如果模板结构、计算方法或需求存在歧义,在继续之前先询问
  • 确认关键假设——任何关键输入、计算偏好或特定需求
  • 仅在理解模板之后,再开始填写公式

模板分析阶段——请先执行此步骤

填写任何公式之前,请彻底检查模板:

  1. 绘制结构图——识别每个节的位置及其相互关系。注意哪些节会输入到其他节。

  2. 理解时间线——哪些列代表哪些期间?是否有"结算"或"备考"列?预测期从哪里开始?

  3. 识别输入单元格与公式单元格——模板通常使用颜色编码、边框或阴影来标示哪些单元格需要输入,哪些需要公式。遵守这些约定。

  4. 仔细阅读现有标签——行标签会准确告诉你预期的计算内容。不要假设——阅读模板的要求。

  5. 检查现有公式——有些模板已部分填写。除非明确要求,否则不得覆盖有效公式。

  6. 注意模板特定约定——符号约定、小计结构、节的组织方式、不同组件是否有独立标签页等。


填写公式——通用方法

对于每个需要公式的单元格,遵循以下优先级:

第一步:检查模板

  • 单元格是否已有公式?如果有,验证其正确性后继续。
  • 是否有注释或说明指示预期计算?
  • 行/列标签是否使计算显而易见?
  • 相邻单元格是否显示出应遵循的规律?

第二步:检查用户指令

  • 用户是否指定了特定的计算方法?
  • 是否有影响此公式的既定假设?
  • 是否有特殊需求?

第三步:应用标准实践

  • 如果模板和用户均未指定,使用标准 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-mcp skill),优先使用它获取时点可比数据、前例交易和文件。
  • 否则,回退到:
    • 针对 SEC EDGAR(https://www.sec.gov/cgi-bin/browse-edgar)使用 web_search / web_extract 获取美国文件
    • 公司 IR 页面获取新闻稿、财报演示文稿
    • 使用 browser_navigate 访问交互式数据门户
    • 用户提供的数据(当上下文中没有时,明确询问)
  • 绝不捏造数据。如果某个倍数、前例或文件数字无法溯源,将该单元格标记为 [UNSOURCED] 并向用户说明。

归属

本 skill 改编自 Anthropic 的 Claude for Financial Services 插件套件(Apache-2.0)。Office-JS / Cowork 实时 Excel 路径已移除;此版本通过 excel-author skill 的约定面向无界面 openpyxl。原始来源:https://github.com/anthropics/financial-services