{/* 此页面由 website/scripts/generate-skill-docs.py 从技能的 SKILL.md 自动生成。请编辑源文件 SKILL.md,而非此页面。 */}
三表模型
在 Excel 中构建完全集成的三表模型(利润表、资产负债表、现金流量表),包含营运资本计划、折旧摊销向前滚动、债务计划以及使现金和留存收益衔接的塞子。与 excel-author 配合使用。
技能元数据
| 来源 | 可选 —— 使用 hermes skills install official/finance/3-statement-model 安装 |
| 路径 | optional-skills/finance/3-statement-model |
| 版本 | 1.0.0 |
| 作者 | Anthropic(由 Nous Research 改编) |
| 许可证 | Apache-2.0 |
| 平台 | linux, macos, windows |
| 标签 | finance, three-statement, income-statement, balance-sheet, cash-flow, excel, openpyxl, modeling |
| 相关技能 | excel-author, pptx-author, dcf-model, lbo-model |
参考:完整 SKILL.md
:::info 以下是 Hermes 在触发此技能时加载的完整技能定义。这是技能激活时代理所看到的指令。 :::
环境
此技能假定无头 openpyxl —— 您正在磁盘上生成 .xlsx 文件。
遵循 excel-author 技能的颜色约定(单元格着色、公式、命名区域和敏感性表格)。
交付前重新计算:python /path/to/excel-author/scripts/recalc.py ./out/model.xlsx。
三表财务模型模板填充
完成并填充集成的财务模型模板,建立利润表、资产负债表和现金流量表之间的正确链接。
⚠️ 关键原则 —— 填充任何模板前先阅读
公式优先于硬编码(不可商议):
- 每个预测单元格、向前滚动、链接和小计必须是 Excel 公式 —— 绝不能是预先计算的值
- 使用 Python/openpyxl 时:编写公式字符串(
ws["D15"] = "=D14*(1+Assumptions!$B$5)"),而不是计算结果(ws["D15"] = 12500) - 唯一应包含硬编码数字的单元格是:(1) 历史实际值,(2) 假设表中的假设驱动因素
- 如果您发现自己用 Python 计算值并写入单元格 —— 停止。改为编写公式。
- 原因:模型必须在情景切换或假设变化时自动调整。硬编码会静默破坏每个下游完整性检查。
与用户逐节验证:
- 映射模板后 → 向用户展示您已识别的表/部分,在触及任何单元格前确认
- 填充历史数据后 → 向用户展示历史数据块并确认值/期间与源数据匹配
- 构建利润表预测后 → 运行小计检查,向用户展示预测利润表,在进入资产负债表前确认
- 构建资产负债表后 → 向用户展示每个期间的平衡检查(资产 = 负债+权益),在进入现金流量表前确认
- 构建现金流量表后 → 向用户展示现金衔接(CF 期末现金 = BS 现金),在最终确定前确认
- 不要填充整个端到端模型并一次性展示 —— 在每个报表处停下,展示工作,尽早捕获错误
格式 —— 专业蓝色/灰色调色板(默认,除非模板/用户指定其他)
保持颜色最少。 仅使用蓝色和灰色进行单元格填充。不要引入绿色、黄色、橙色或多个强调色 —— 干净的模型使用克制。
| 元素 | 填充 | 字体 |
|---|---|---|
| 部分标题(利润表/资产负债表/现金流量表标题) | 深蓝色 #1F4E79 | 白色粗体 |
| 列标题(FY2024A, FY2025E 等) | 浅蓝色 #D9E1F2 | 黑色粗体 |
| 输入单元格(历史数据、假设驱动因素) | 浅灰色 #F2F2F2 或白色 | 蓝色 #0000FF |
| 公式单元格 | 白色 | 黑色 |
| 跨表链接 | 白色 | 绿色 #008000 |
| 检查行 / 关键合计 | 中蓝色 #BDD7EE | 黑色粗体 |
即 3 种蓝色 + 1 种灰色 + 白色。 如果模板有自己的配色方案,遵循模板。
字体颜色表示单元格的性质(输入/公式/链接)。填充颜色表示位置(标题/数据/检查)。
模型结构
识别模板表组织
模板在表命名和组织方面各不相同。填充前,审阅所有表以了解模板的结构。以下是常见表名及其典型内容:
| 常见表名 | 查找内容 |
|---|---|
| IS, P&L, Income Statement | 利润表 |
| BS, Balance Sheet | 资产负债表 |
| CF, CFS, Cash Flow | 现金流量表 |
| WC, Working Capital | 营运资本计划 |
| DA, D&A, Depreciation, PP&E | 折旧与摊销计划 |
| Debt, Debt Schedule | 债务计划 |
| NOL, Tax, DTA | 净营业亏损计划 |
| Assumptions, Inputs, Drivers | 驱动因素假设和输入 |
| Checks, Audit, Validation | 错误检查仪表盘 |
预测期
- 模板通常从最后一个历史年起预测 5 年
- 确认历史(A)与预测(E)列已清晰分离
- 确认列使用财年表示法(例如 FY2024A, FY2025E)
边际分析
注意:仅当用户提示或模板明确要求时才执行以下边际分析。如无提示,跳过此部分。
在利润表上计算并显示盈利边际,以追踪运营效率并支持同行比较。
需包含的核心边际
| 边际 | 公式 | 衡量指标 |
|---|---|---|
| 毛利率 | 毛利润 / 营收 | 定价能力、生产效率 |
| EBITDA 边际 | EBITDA / 营收 | 核心运营盈利能力 |
| EBIT 边际 | EBIT / 营收 | 折旧摊销后运营盈利能力 |
| 净利润边际 | 净利润 / 营收 | 底线盈利能力 |
信用指标
注意:仅当用户提示或模板明确要求时才执行以下信用分析。如无提示,跳过此部分。
在资产负债表上计算并显示信用/杠杆指标,以评估财务健康、债务能力和契约合规性。
需包含的核心信用指标
| 指标 | 公式 | 衡量指标 |
|---|---|---|
| 总债务 / EBITDA | 总债务 / LTM EBITDA | 杠杆倍数 |
| 净债务 / EBITDA | (总债务 - 现金) / LTM EBITDA | 净现金后的杠杆 |
| 利息覆盖倍数 | EBITDA / 利息费用 | 偿债能力 |
| 债务 / 总资本 | 总债务 / (总债务 + 权益) | 资本结构 |
| 负债 / 权益 | 总债务 / 总权益 | 财务杠杆 |
| 流动比率 | 流动资产 / 流动负债 | 短期流动性 |
| 速动比率 | (流动资产 - 存货) / 流动负债 | 即时流动性 |
情景分析(基准 / 乐观 / 悲观)
在假设表中使用情景切换(下拉菜单),配合 CHOOSE 或 INDEX/MATCH 公式。
| 情景 | 描述 |
|---|---|
| 基准情况 | 管理层指引或一致预期 |
| 乐观情况 | 高于指引的增长,利润率扩张 |
| 悲观情况 | 低于趋势的增长,利润率压缩 |
SEC 申报文件数据提取
如果模板特别要求从 SEC 申报文件(10-K, 10-Q)提取数据,参见 references/sec-filings.md 获取详细提取指南。
完成模型模板
第 1 步:分析模板结构
在输入任何数据前,彻底审阅模板以理解其架构:
识别输入与公式单元格
- 寻找区分输入单元格和公式单元格的视觉线索(字体颜色、单元格底纹)
- 常见约定:蓝色字体 = 输入,黑色字体 = 公式,绿色字体 = 指向其他工作表的链接
- 使用 Excel 的追踪引用/从属(公式 → 追踪引用)理解单元格关系
- 检查可能控制关键输入的命名区域(公式 → 名称管理器)
映射模板的流程
- 识别哪些表为其他表提供输入(例如 假设 → 利润表 → 资产负债表 → 现金流量表)
- 注意任何辅助计划及其与主报表的链接
- 在填充前记录模板的特定行项目和组织
第 2 步:不破坏公式的情况下填充数据
数据输入黄金规则
| 规则 | 描述 |
|---|---|
| 仅编辑输入单元格 | 除非有意替换公式,切勿覆盖包含公式的单元格 |
| 保留单元格引用 | 复制数据时,使用”粘贴数值”避免用源格式覆盖公式 |
| 匹配模板的单位 | 输入数据前确认模板使用千、百万还是实际值 |
| 遵守符号约定 | 遵循模板现有的符号约定(例如费用为正或负) |
| 检查循环引用 | 如果模板使用迭代计算,确保启用”启用迭代计算” |
第 3 步:验证公式
公式完整性检查
| 检查类型 | 方法 |
|---|---|
| 追踪引用 | 选择公式单元格 → 公式 → 追踪引用,验证其引用正确的输入 |
| 追踪从属 | 验证关键输入流向预期的输出单元格 |
| 评估公式 | 使用公式 → 评估公式,逐步检查复杂计算 |
| 检查硬编码 | 预测公式应引用假设,而非包含硬编码值 |
| 用已知值测试 | 输入简单的测试值,验证公式产生预期结果 |
| 跨表一致性 | 确保相同的公式逻辑适用于所有预测期间 |
第 4 步:按工作表的质检
对每张表执行以下验证检查:
利润表质检
- 历史期间的营收数字与源数据匹配
- 所有费用行项目加总到报告的总计
- 小计(毛利润、EBIT、税前利润、净利润)正确计算
- 税费计算逻辑适当(正确处理亏损)
- 预测驱动因素引用假设表(无硬编码)
- 逐期变化在方向上合理
资产负债表质检
- 每个期间资产 = 负债 + 权益(主要检查)
- 现金余额与现金流量表期末现金匹配
- 营运资本账户与辅助计划对应(如适用)
- 留存收益向前滚动正确:前期留存收益 + 净利润 - 股息 +/- 调整 = 期末留存收益
- 债务余额与债务计划对应(如适用)
- 所有资产负债表项目符号适当(资产为正,大多数负债为正)
现金流量表质检
- 现金流表顶部的净利润与利润表净利润匹配
- 非现金加回项(折旧摊销、股权激励等)与源计划/报表对应
- 营运资本变动符号正确(资产增加 = 现金使用 = 负数)
- 资本支出与固定资产计划或固定资产向前滚动对应
- 融资活动与资产负债表上债务和权益账户的变动对应
- 期末现金与资产负债表现金匹配
- 期初现金等于前期期末现金
辅助计划质检
- 期初余额等于前期期末余额
- 向前滚动逻辑完整(期初 + 增加 - 减少 = 期末)
- 计划合计与主报表行项目对应
- 计算中使用的假设与假设表匹配
第 5 步:跨表完整性检查
验证三张报表正确集成后:
| 检查 | 公式 | 预期结果 |
|---|---|---|
| 资产负债表平衡 | 资产 - 负债 - 权益 | = 0 |
| 现金衔接 | CF 期末现金 - BS 现金 | = 0 |
| 净利润链接 | IS 净利润 - CF 起始净利润 | = 0 |
| 留存收益 | 前期留存收益 + 净利润 - 股息 - BS 期末留存收益 | = 0 |
第 6 步:最终审查
在认为模型完成前:
- 切换所有情景(如适用)验证各情况下检查均通过
- 审阅所有REF!,0!,VALUE!,NAME? 错误并解决或记录
- 确认所有输入单元格已填充(搜索占位符值)
- 验证所有表间单位一致
- 在进行任何额外修改前保存干净版本
数据来源 —— 优先 MCP,后备网页搜索
- 如果您配置了任何结构化金融数据 MCP(Hermes 支持 MCP —— 参见
native-mcp技能),优先使用。 - 否则,回退至 web_search / web_extract 查询 SEC EDGAR、公司投资者关系页面或用户提供的数据。
- 切勿编造。将单元格标记为
[UNSOURCED]并向用户说明。
署名
此技能改编自 Anthropic 的 Claude for Financial Services 插件套件(Apache-2.0)。原文:https://github.com/anthropics/financial-services