Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help


title: “Lbo Model — Build leveraged buyout workbooks with IRR/MOIC in Excel” sidebar_label: “Lbo Model” description: “Build leveraged buyout workbooks with IRR/MOIC in Excel”

{/* 本页面由 website/scripts/generate-skill-docs.py 根据该技能的 SKILL.md 文件自动生成。请直接编辑源文件 SKILL.md,而非此页面。 */}

LBO 模型

在 Excel 中构建包含内部收益率(IRR)/ 经济投资回报率(MOIC)指标的杠杆收购分析工作表。

技能元数据

来源可选 — 通过 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)。

填充颜色方案——专业蓝灰色调(除非用户或模板另有指定,否则默认使用此方案)

  • 保持简洁——仅使用蓝色和灰色作为单元格填充色。严禁使用绿色、黄色、红色或其他复杂配色。专业的杠杆收购模型讲究克制。
  • 默认填充颜色方案:
    • 章节标题(“资金来源与用途”“运营模式”等):深蓝色 #1F4E79,搭配白色加粗文字。
    • 列标题(“第1年”“第2年”等):浅蓝色 #D9E1F2,搭配黑色加粗文字。
    • 输入单元格:浅灰色 #F2F2F2(或纯白色)——蓝色字体用于标识,填充色仅为辅助。
    • 公式/计算结果单元格:纯白色,无填充色。
    • 关键输出结果(内部收益率、投资回报率、退出时股权价值):中蓝色 #BDD7EE,搭配黑色加粗文字。
  • 这就是全部的配色方案:3种蓝色 + 1种灰色 + 白色。如果模板已设定专属颜色,则请遵循模板要求。
  • 注意:上述用于区分输入值、公式及链接的蓝色/黑色/紫色/绿色字体颜色,与此处所述的填充颜色方案是相互独立的——二者共同构成完整的视觉标识系统。

数字格式标准

  • 货币金额:根据模板不同,格式为 $#,##0;($#,##0);"-" 或 $#,##0.0
  • 百分比:0.0%(保留一位小数)
  • 倍数:0.0"x"(保留一位小数)
  • MOIC/详细比率:为保证精度,格式为 0.00"x"(保留两位小数)
  • 所有数字单元格:右对齐显示

先明确需求

在填写任何公式之前:

  • 仔细查看模板结构——识别所有板块,了解时间线(各列对应的时间段),注意已存在的公式
  • 若有任何不清楚之处,请向用户确认——如果模板结构、计算方法或需求存在歧义,务必先询问后再继续操作
  • 确认关键假设——包括所有关键输入项、计算偏好及特殊要求
  • 只有在完全理解模板之后,才能开始填写公式

模板分析阶段——请优先完成此步骤

在填写任何公式之前,需先对模板进行彻底分析:

  1. 梳理结构——明确各板块的位置及其相互关联关系,注意哪些板块会为其他板块提供数据。

  2. 理解时间线——各列分别对应哪个时间段?是否存在“期末值”或“预测值”列?预测期从何时开始?

  3. 区分输入单元格与公式单元格——模板通常会通过颜色编码、边框或阴影来标示哪些单元格需要输入数据,哪些需要输入公式,请遵守这些规范。

  4. 仔细阅读现有标签——行标签会明确说明期望进行的计算类型。切勿自行猜测,应按照模板的要求来操作。

  5. 检查现有公式——有些模板会预先填入部分内容。除非得到明确指示,否则不要覆盖现有的有效公式。

  6. 注意模板特有的规范——符号规则、小计结构、板块组织方式,以及是否为不同组成部分设置了独立的标签页等。


输入公式——通用方法

对于每个需要输入公式的单元格,请按以下步骤操作:

第一步:查看模板

  • 该单元格已有公式吗?如果有,请确认其正确性后再继续。
  • 是否有注释或说明指明期望的计算方式?
  • 行/列标签能否清晰体现计算内容?
  • 相邻单元格是否存在可供参考的模式?

第二步:查阅用户说明

  • 用户是否指定了特定的计算方法?
  • 是否有会影响该公式的既定假设?
  • 是否有提及任何特殊要求?

第 3 步:遵循标准操作规范

  • 若模板或用户均未指定,则采用标准的杠杆收购建模惯例
  • 需将所有假设记录下来
  • 若确实存在不确定性,请向用户咨询

常见问题领域

以下几种计算模式在杠杆收购模型中常常引发问题。遇到时请格外注意:

各部分数值平衡

  • 当两个数值必须相等时(例如“资金来源”等于“资金用途”),其中一个项目通常用作“填补值”(用于平衡数值)
  • 需先确定哪个项目是填补值,再通过差值计算出该数值

税务计算

  • 税务公式应仅引用相关的收入项和税率
  • 不得引用无关的部分(例如债务偿还计划)
  • 需考虑亏损是否可形成税收抵免,还是直接被忽略

利息计算与循环引用

  • 若利息计算涉及受现金流影响的余额,可能会导致循环问题
  • 应使用期初余额(而非平均余额或期末余额)来打破循环引用
  • 正确的计算逻辑为:利息 → 现金流 → 债务偿还 → 期末余额(若利息计算使用期末余额,则会形成循环)

债务偿还/现金分配

  • 当存在多笔债务时,通常会有优先级顺序
  • 现金分配需遵循这一优先级顺序
  • 余额不得为负值——需适当使用 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),存在真正的中心单元格
  • 行与列的数值以基准情况为中心对称分布([base-2Δ, base-Δ, base, base+Δ, base+2Δ])
  • 中心单元格的输出值等于模型实际的IRR/MOIC,以此验证表格逻辑正确
  • 中心单元格会以中蓝色背景#BDD7EE及加粗字体突出显示
  • 行与列的标题包含相应的输入数值
  • 每个数据单元格均包含公式(而非硬编码值)
  • 每个数据单元格显示的值各不相同
  • 数值变化方向符合预期(退出倍数越高,IRR通常越高,以此类推)

格式规范

  • 硬编码的数值显示为蓝色(0000FF)
  • 计算得出的数值显示为黑色(000000)
  • 同标签页内的链接显示为紫色(800080)
  • 不同标签页间的链接显示为绿色(008000)
  • 所有数值均右对齐
  • 全文应用了合适的数值格式
  • 无单元格显示错误值(如 #REF!、#DIV/0!、#VALUE!、#NAME?)

逻辑合理性检查

  • 数值的数量级合理
  • 发展趋势符合预期(呈增长、下降或稳定态势)
  • 无明显错误的数值(本应为正数却出现负值,百分比不合常理等)
  • 核心输出结果处于该分析类型所允许的合理范围内

需避免的常见错误

错误类型问题表现解决方法
硬编码计算值输入数据变更时模型无法更新始终使用引用源单元格的公式
复制后单元格引用错误公式指向了错误的单元格检查所有链接,使用合适的美元符号锚定方式
循环引用错误模型无法进行计算对利息类计算使用期初余额,或打破循环引用
各部分金额不平衡应该相等的总计数值不一致确保其中一项为差值项(通过公式计算得出)
出现不可能的负余额支出/使用金额超过可用额度适当使用MAX(0, …)或MIN函数
内含报酬率/收益计算错误符号错误或数据范围不完整检查现金流的符号,并确保公式覆盖所有期间
敏感性分析表显示相同数值公式未随输入参数变化检查单元格引用——需使用混合引用方式(如 $A5, B$\4)
迭代计算结果不一致期初数值与上期期末数值不相等核实各期间之间的链接关系
符号规则不一致加法变为减法或反之全程始终遵循模板规定的符号规则
  • 如果模板结构不明确,请在继续之前先询问用户。
  • 如果用户需求与模板存在冲突,需确认用户的最终选择。
  • 完成每个主要部分后,务必暂停并征得用户确认后再继续:
    • 完成“数据来源与用途”部分后 → 展示平衡表,确认插件使用正确,并在构建运营模型前获得用户批准;
    • 完成“运营模型/预测”部分后 → 显示预测损益表,确认增长率和利润率合理,然后在制定债务计划前获得用户批准;
    • 完成“债务计划”部分后 → 展示期初/期末余额及利息,确认资金流向逻辑正确,之后在计算回报指标前获得用户批准;
    • 完成“回报指标(内部收益率/年均投资回报率)”部分后 → 显示现金流序列及计算结果,确认数值符号和范围准确,随后在生成敏感性分析表前获得用户批准;
    • 完成“敏感性分析表”部分后 → 确认每个单元格的值均有变化,且基准情景的结果符合预期。
  • 如果在验证过程中发现错误,请先修正后再进入下一部分。
  • 详细展示工作过程——在必要时解释关键公式或假设依据。
  • 绝不能在未对每个部分进行确认的情况下直接提交完整模型——在数据源头发现错误的单元格引用,要比从出错的内部收益率反推问题要快得多。

该技能通过填充正确的公式、规范的格式以及经过验证的计算结果,能够生成符合投资银行标准的企业杠杆收购模型。无论模板结构如何,它都能确保财务数据的准确性以及专业化的呈现效果。

数据来源 —— 首选 MCP,备用网络搜索

下文多处提到“使用 S&P Kensho MCP / Daloopa MCP / FactSet MCP”。这些均源自原有 Cowork 插件环境中的商业金融数据 MCP 工具。在 Hermes 中:

  • 如果您已配置了任何结构化的金融数据 MCP(Hermes 支持 MCP —— 参见 native-mcp 技能),则优先使用它们来获取特定时间点的对比数据、历史交易案例及监管文件信息。
  • 否则,可采取以下替代方案:
    • 对于美国市场的监管文件,可通过 SEC EDGAR 网站(https://www.sec.gov/cgi-bin/browse-edgar)使用 web_search / web_extract 功能进行检索;
    • 从公司的投资者关系页面获取新闻稿和业绩演示文稿;
    • 使用 browser_navigate 访问交互式数据门户;
    • 使用用户提供的数据(当上下文中缺乏相关数据时,应明确向用户询问)。
  • 绝不可编造数据。如果无法找到倍数、历史案例或文件编号,应将对应单元格标记为 [UNSOURCED],并将其展示给用户。

版权说明

该技能改编自 Anthropic 的 Claude for Financial Services 插件套件(Apache-2.0 许可协议)。原有的 Office-JS / Cowork 在线 Excel 相关功能已被移除;当前版本通过 excel-author 技能的规范,基于无头版 openpyxl 实现。原始代码地址:https://github.com/anthropics/financial-services