{/* 此页面由 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 模型前:

  1. 如果附带了/提供了模板文件:严格按照该模板的结构 —— 复制并根据用户数据填充
  2. 如果没有附带模板:询问用户:“您有想要我使用的特定 LBO 模板吗?如果没有,我可以使用包含来源与用途、运营模型、债务计划和回报分析的标准模板。”
  3. 如果使用标准模板:复制 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. 识别输入与公式单元格 —— 模板通常使用颜色编码、边框或底纹指示哪些单元格需要输入 vs 公式。尊重这些约定。
  4. 仔细阅读现有标签 —— 行标签精确告诉你期望什么计算。不要臆测 —— 阅读模板的要求。
  5. 检查现有公式 —— 有些模板部分已填充。除非特别要求,不要覆盖正常工作的公式。
  6. 注意模板特定的约定 —— 符号约定、小计结构、部分的组织方式、是否有不同组件的独立工作表等。

填充公式 —— 一般方法

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

第 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