三張報表模型
在 Excel 中構建完全集成的三張報表模型(利潤表、資產負債表、現金流量表),包含營運資金計劃、折舊與攤銷(D&A)滾動預測、債務計劃,以及使現金和留存收益勾稽的配平項。與 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
以下是 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 中計算值並將結果寫入單元格 — 請立即停止。改為寫入公式。
- 原因:當場景切換或假設變更時,模型必須能夠靈活調整。硬編碼會靜默破壞所有下游完整性檢查。
逐步與用戶驗證:
- 映射模板後 → 向用戶展示已識別的選項卡/部分,並在操作任何單元格前確認
- 填充歷史數據後 → 向用戶展示歷史數據塊,並確認值/期間與源數據匹配
- 構建利潤表預測後 → 運行小計檢查,向用戶展示預測的利潤表,在轉向資產負債表前確認
- 構建資產負債表後 → 向用戶展示每個期間的平衡檢查(資產 = 負債 + 權益),在轉向現金流量表前確認
- 構建現金流量表後 → 向用戶展示現金勾稽(現金流量表期末現金 = 資產負債表現金),在最終確定前確認
- 不要端到端地填充整個模型並一次性呈現完成品 — 在每個報表處中斷,展示工作成果,儘早發現錯誤
格式 — 專業藍灰配色方案(除非模板或用戶另有指定,否則為默認方案)
保持顏色簡約。 僅對單元格填充使用藍色和灰色。不要引入綠色、黃色、橙色或多種強調色 — 乾淨的模型需要剋制。
| 元素 | 填充色 | 字體色 |
|---|---|---|
| 章節標題(利潤表 / 資產負債表 / 現金流量表標題) | 深藍色 #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 | 錯誤檢查儀表板 |
模板審查清單
- 確定模板中存在哪些工作表(並非所有模板都包含每張附表)
- 注意上述列表中未列出的任何特定於模板的工作表
- 理解工作表之間的依賴關係(例如,哪些附表數據匯入主報表)
- 在每個工作表中定位輸入單元格與公式單元格
理解模板結構
在填充模板之前,請熟悉其現有佈局,以確保數據輸入到正確的位置並保持公式完整。
識別行結構
- 在每個工作表的頂部找到模型標題
- 識別章節標題及其視覺分隔方式
- 找到指示單位(如百萬美元、%、倍數等)的行
- 注意區分實際值(Actuals)期間與預測值(Estimates)期間的列標題
- 確認期間標籤(例如,FY2024A、FY2025E)
- 識別輸入單元格與公式單元格(通常通過字體顏色區分)
識別列結構
- 確認最左側列中的行項目標籤
- 驗證歷史年份是否位於預測年份之前
- 注意分隔歷史期間與預測期間的視覺邊框
- 檢查所有工作表中的列順序是否一致
使用命名區域 模板通常對關鍵輸入和輸出使用命名區域。在輸入數據之前:
- 審查模板中現有的命名區域(在 Excel 中:公式 → 名稱管理器)
- 常見的命名區域包括:收入增長率、成本百分比、關鍵輸出(淨利潤、EBITDA、總債務、現金)、情景選擇器單元格
- 確保輸入的數據填入那些驅動這些命名區域的單元格中
預測期間
- 模板通常從最後一個歷史年度起向前預測 5 年
- 驗證歷史(A)列與預測(E)列是否清晰分隔
- 確認列使用財政年度表示法(例如,FY2024A、FY2025E)
利潤率分析
注意:僅在用戶提示或模板明確要求時執行以下利潤率分析。如果沒有給出提示,請跳過此部分。
在利潤表(IS)工作表上計算並顯示盈利利潤率,以跟蹤運營效率並進行同業比較。
需包含的核心利潤率
| 利潤率 | 公式 | 衡量內容 |
|---|---|---|
| 毛利率 | 毛利 / 收入 | 定價能力、生產效率 |
| EBITDA 利潤率 | EBITDA / 收入 | 核心運營盈利能力 |
| EBIT 利潤率 | EBIT / 收入 | 扣除折舊和攤銷後的運營盈利能力 |
| 淨利潤率 | 淨利潤 / 收入 | 最終盈利能力 |
包含利潤率的利潤表佈局
在每個利潤行項目正下方直接顯示利潤率百分比:
- 毛利下方顯示毛利率 %
- EBIT 下方顯示 EBIT 利潤率 %
- EBITDA 下方顯示 EBITDA 利潤率 %
- 淨利潤下方顯示淨利潤率 %
信用指標
注意:僅在用戶提示或模板明確要求時執行以下信用分析。如果沒有給出提示,請跳過此部分。
在資產負債表(BS)工作表上計算並顯示信用/槓桿指標,以評估財務健康狀況、債務承受能力和契約合規性。
需包含的核心信用指標
| 指標 | 公式 | 衡量內容 |
|---|---|---|
| 總債務 / EBITDA | 總債務 / LTM EBITDA | 槓桿倍數 |
| 淨債務 / EBITDA | (總債務 - 現金) / LTM EBITDA | 扣除現金後的淨槓桿 |
| 利息覆蓋倍數 | EBITDA / 利息支出 | 償債能力 |
| 債務 / 總資本 | 總債務 / (總債務 + 權益) | 資本結構 |
| 債務 / 權益 | 總債務 / 總權益 | 財務槓桿 |
| 流動比率 | 流動資產 / 流動負債 | 短期流動性 |
| 速動比率 | (流動資產 - 存貨) / 流動負債 | 即時流動性 |
信用指標層級檢查
驗證樂觀情景(Upside)顯示最強的信用狀況:
- 槓桿:樂觀情景 < 基準情景 < 悲觀情景(越低越好)
- 覆蓋倍數:樂觀情景 > 基準情景 > 悲觀情景(越高越好)
- 流動性:樂觀情景 > 基準情景 > 悲觀情景(越高越好)
契約合規性跟蹤
如果已知債務契約,請添加明確的合規性檢查,將實際指標與契約閾值進行比較。
情景分析(基準 / 樂觀 / 悲觀)
在假設(Assumptions)工作表中使用情景切換器(下拉菜單),配合 CHOOSE 或 INDEX/MATCH 公式。
| 情景 | 描述 |
|---|---|
| 基準情景 | 管理層指引或共識預期 |
| 樂觀情景 | 高於指引的增長、利潤率擴張 |
| 悲觀情景 | 低於趨勢的增長、利潤率壓縮 |
需要敏感化的關鍵驅動因素:收入增長、毛利率、銷售及管理費用(SG&A)佔比、DSO/DIO/DPO、資本支出(CapEx)佔比、利率、稅率。
情景審計檢查:切換器應更新所有報表,所有情景下資產負債表平衡,現金勾稽關係正確,層級關係成立(淨利潤、EBITDA、自由現金流、利潤率的樂觀情景 > 基準情景 > 悲觀情景)。
SEC 備案數據提取
如果模板明確要求從美國證券交易委員會(SEC)文件(10-K、10-Q)中提取數據,請參閱 references/sec-filings.md 獲取詳細的提取指南。僅在使用監管文件中的上市公司數據填充模板時才需要參考此文檔。
完成模型模板
本節提供了完成任何三張表財務模型模板的通用指南,同時保留現有公式並確保數據完整性。
步驟 1:分析模板結構
在輸入任何數據之前,徹底審查模板以瞭解其架構:
識別輸入單元格與公式單元格
- 尋找視覺線索(字體顏色、單元格底紋),以區分輸入單元格和公式單元格
- 常見慣例:藍色字體 = 輸入,黑色字體 = 公式,綠色字體 = 指向其他工作表的鏈接
- 使用 Excel 的“追蹤引用單元格/追蹤從屬單元格”功能(公式 → 追蹤引用單元格)來理解單元格關係
- 檢查可能控制關鍵輸入的命名範圍(公式 → 名稱管理器)
映射模板流程
- 識別哪些工作表向其他工作表提供數據(例如,假設 → 利潤表 → 資產負債表 → 現金流量表)
- 注意任何輔助附表及其與主要報表的鏈接關係
- 在填充數據之前,記錄模板特定的行項目和結構
步驟 2:在不破壞公式的情況下填充數據
數據錄入的黃金法則
| 規則 | 描述 |
|---|---|
| 僅編輯輸入單元格 | 除非有意替換公式,否則切勿覆蓋包含公式的單元格 |
| 保留單元格引用 | 複製數據時,使用“粘貼值”(Ctrl+Shift+V)以避免用源格式覆蓋公式 |
| 匹配模板單位 | 在輸入數據之前,驗證模板使用的是千、百萬還是實際數值 |
| 遵守符號慣例 | 遵循模板現有的符號慣例(例如,費用為正數或負數) |
| 檢查循環引用 | 如果模板使用迭代計算,請確保已啟用“啟用迭代計算” |
安全數據錄入流程
- 識別指定用於輸入的確切單元格(通常高亮顯示或帶有標籤)
- 首先輸入歷史數據,然後驗證這些期間的公式是否正確計算
- 輸入驅動預測計算的假設因子
- 審查計算輸出以確認公式按預期工作
- 如果必須修改公式單元格,請在更改之前記錄原始公式
處理預建公式
- 如果公式引用了尚未填充的單元格,在所有輸入完成之前,預計會出現臨時錯誤(#REF!、#DIV/0!)
- 當公式產生意外結果時,追蹤引用單元格以識別缺失或不正確的輸入
- 在未檢查所有工作表中的公式依賴關係之前,切勿刪除行/列
步驟 3:驗證公式
公式完整性檢查
在依賴模板輸出之前,驗證公式是否正常運行:
| 檢查類型 | 方法 |
|---|---|
| 追蹤引用單元格 | 選擇公式單元格 → 公式 → 追蹤引用單元格,以驗證其是否引用了正確的輸入 |
| 追蹤從屬單元格 | 驗證關鍵輸入是否流向預期的輸出單元格 |
| 公式求值 | 使用“公式” → “公式求值”逐步執行復雜計算 |
| 檢查硬編碼 | 預測公式應引用假設,而不包含硬編碼值 |
| 使用已知值測試 | 輸入簡單的測試值以驗證公式是否產生預期結果 |
| 跨表一致性 | 確保相同的公式邏輯適用於所有預測期間 |
需要注意的常見公式問題
- 混合絕對/相對引用導致在跨期間複製時結果不正確
- 指向外部文件或已刪除範圍的鏈接斷開(#REF! 錯誤)
- 在收入增長之前的早期期間出現除以零錯誤(#DIV/0! 錯誤)
- 循環引用警告(對於利息計算可能是有意的)
- 預測列之間的公式不一致(使用 Ctrl+\ 查找差異)
驗證跨錶鏈接
- 確認出現在多個工作表上的值是鏈接的(而非重複的)
- 驗證附表總計是否與主要報表上的相應行項目相符
- 檢查所有工作表中的期間標籤是否對齊
步驟 4:按工作表進行質量檢查
在填充模板後,對每個工作表執行以下驗證檢查:
利潤表 (IS) 質量檢查
- 歷史期間的收入數據與源數據匹配
- 所有費用行項目之和等於報告總額
- 小計(毛利潤、息稅前利潤 EBIT、稅前利潤 EBT、淨利潤)計算正確
- 稅務計算邏輯適當(正確處理虧損情況)
- 預測因子引用假設工作表(無硬編碼)
- 環比變化在方向上是合理的
資產負債表 (BS) 質量檢查
- 每個期間的資產 = 負債 + 權益(主要檢查項)
- 現金餘額與現金流量表期末現金一致
- 營運資金科目與支持性附表勾稽(如適用)
- 留存收益正確結轉:期初留存收益 + 淨利潤 - 股利 +/- 調整項 = 期末留存收益
- 債務餘額與債務附表勾稽(如適用)
- 所有資產負債表項目符號正確(資產為正,大多數負債為正)
現金流量表 (CF) 質量檢查
- 經營活動現金流 (CFO) 頂部的淨利潤與利潤表淨利潤一致
- 非現金加回項(折舊與攤銷 D&A、基於股份的薪酬 SBC 等)與其來源附表/報表勾稽
- 營運資金變動符號正確(資產增加 = 現金使用 = 負值)
- 資本支出 (CapEx) 與物業、廠房及設備 (PP&E) 附表或固定資產結轉表勾稽
- 籌資活動與資產負債表中債務和權益賬戶的變動勾稽
- 期末現金與資產負債表現金一致
- 期初現金等於上一期的期末現金
支持性附表質量檢查
- 期初餘額等於上一期期末餘額
- 結轉邏輯完整(期初 + 增加額 - 減少額 = 期末)
- 附表總額與主報表行項目勾稽
- 計算中使用的假設與“假設”標籤頁一致
第 5 步:跨報表完整性檢查
在驗證各個工作表後,確認三張報表已正確集成:
| 檢查項 | 公式 | 預期結果 |
|---|---|---|
| 資產負債表平衡 | 資產 - 負債 - 權益 | = 0 |
| 現金勾稽 | 現金流量表期末現金 - 資產負債表現金 | = 0 |
| 淨利潤鏈接 | 利潤表淨利潤 - 現金流量表起始淨利潤 | = 0 |
| 留存收益 | 期初留存收益 + 淨利潤 - 股利 - 資產負債表期末留存收益 | = 0(根據需要調整 SBC/其他項目) |
第 6 步:最終審查
在認為模型完成之前:
- 切換所有情景(如適用),以驗證每種情況下的檢查均通過
- 審查所有 #REF!、#DIV/0!、#VALUE! 和 #NAME? 錯誤,並解決或記錄
- 確認所有輸入單元格均已填充(搜索佔位符值)
- 驗證所有標籤頁的單位一致性
- 在進行任何額外修改之前保存一個乾淨版本
模型驗證與審計
本節彙總了已完成模板的所有驗證檢查和審計程序。
核心鏈接(必須始終成立)
有關所有公式詳情,請參閱 references/formulas.md。
| 檢查項 | 公式 | 預期結果 |
|---|---|---|
| 資產負債表平衡 | 資產 - 負債 - 權益 | = 0 |
| 現金勾稽 | 現金流量表期末現金 - 資產負債表現金 | = 0 |
| 現金月度與年度對比 | 期末現金(月度) - 期末現金(年度) | = 0 |
| 淨利潤鏈接 | 利潤表淨利潤 - 現金流量表起始淨利潤 | = 0 |
| 留存收益 | 期初留存收益 + 淨利潤 + 基於股份的薪酬 (SBC) - 股利 - 資產負債表期末留存收益 | = 0 |
| 權益融資 | 資產負債表普通股/追加實繳資本 (APIC) 變動 - 籌資活動現金流 (CFF) 權益發行 | = 0 |
| 第 0 年權益 | 第 0 年募集權益 - 第 1 年期初權益資本 | = 0 |
符號慣例參考
| 報表 | 項目 | 符號慣例 |
|---|---|---|
| 經營活動現金流 (CFO) | 折舊與攤銷 (D&A)、基於股份的薪酬 (SBC) | 正值(加回) |
| 經營活動現金流 (CFO) | 應收賬款變動 ΔAR(增加) | 負值(現金使用) |
| 經營活動現金流 (CFO) | 應付賬款變動 ΔAP(增加) | 正值(現金來源) |
| 投資活動現金流 (CFI) | 資本支出 (CapEx) | 負值 |
| 籌資活動現金流 (CFF) | 債務發行 | 正值 |
| 籌資活動現金流 (CFF) | 債務償還 | 負值 |
| 籌資活動現金流 (CFF) | 股利 | 負值 |
循環引用處理
利息費用產生循環性:利息 → 淨利潤 → 現金 → 債務餘額 → 利息
在 Excel 中啟用迭代計算:文件 → 選項 → 公式 → 啟用迭代計算。將最大迭代次數設置為 100,最大誤差設置為 0.001。在“假設”標籤頁中添加一箇中斷開關切換按鈕。
檢查類別
第 1 部分:貨幣一致性
- 在“假設”中識別並記錄貨幣
- 所有標籤頁使用一致的貨幣符號和量級
- 單位行與模型貨幣匹配
第 2 部分:資產負債表完整性
- 資產 = 負債 + 權益(每個期間)
- 公式:資產 - 負債 - 權益(必須 = 0)
第 3 部分:現金流量表完整性
- 現金與資產負債表勾稽(現金流量表期末現金 = 資產負債表現金)
- 現金月度與年度對比:期末現金(月度) = 期末現金(年度)
- 淨利潤與利潤表勾稽(現金流量表淨利潤 = 利潤表淨利潤)
- 折舊與攤銷 (D&A) 與附表勾稽
- 基於股份的薪酬 (SBC) 與利潤表勾稽
- 應收賬款變動 ΔAR、存貨變動 ΔInventory、應付賬款變動 ΔAP 與營運資金附表勾稽
- 資本支出 (CapEx) 與折舊與攤銷 (DA) 附表勾稽
第 4 部分:留存收益
- 留存收益結轉檢查:期初留存收益 + 淨利潤 + 基於股份的薪酬 (SBC) - 股利 = 期末留存收益
- 顯示組件細分以便調試
第 5 部分:營運資金
- 應收賬款 (AR)、存貨、應付賬款 (AP) 與資產負債表勾稽
- 應收賬款週轉天數 (DSO)、存貨週轉天數 (DIO)、應付賬款週轉天數 (DPO) 合理性檢查(如果超出正常範圍則標記)
第 6 部分:債務附表
- 總債務與資產負債表勾稽(流動債務 + 長期債務)
- 利息計算與利潤表勾稽
第 6b 部分:權益融資
- 權益發行所得與資產負債表普通股/追加實繳資本 (APIC) 增加額勾稽
- 權益帶來的現金增加 = 權益賬戶增加(必須平衡)
- 權益募集勾稽:資產負債表普通股/追加實繳資本 (APIC) 變動 = 籌資活動現金流 (CFF) 權益發行(必須 = 0)
- 第 0 年權益勾稽:第 0 年募集權益 = 第 1 年期初權益資本
第 6c 節:淨經營虧損(NOL)明細表
- 期初 NOL(第 1 年 / 成立期)= 0(新企業從零 NOL 開始)
- 僅當稅前利潤(EBT)< 0 時,NOL 才會增加(必須實現虧損才能產生 NOL)
- 遞延所得稅資產(DTA)與資產負債表(BS)掛鉤(NOL 明細表中的 DTA = 資產負債表中的遞延所得稅資產)
- NOL 利用額 ≤ 稅前利潤(EBT)的 80%(2017 年後的聯邦限制)
- NOL 餘額為非負數(利用額不得超過可用額)
- 僅當稅前利潤(EBT)< 0 時才產生 NOL
- 當應稅所得 ≤ 0 時,稅費支出 = 0
第 7 節:情景層級
- 絕對指標:上行 > 基準 > 下行(淨利潤 NI、息稅折舊攤銷前利潤 EBITDA、自由現金流 FCF)
- 利潤率:上行 > 基準 > 下行(毛利率 GM%、EBITDA 利潤率、淨利潤率 NI%)
- 信用指標:槓桿率方面,上行 < 基準 < 下行(反向關係)
第 8 節:公式完整性
- 銷售成本(COGS)、銷售與市場費用(S&M)、一般及行政費用(G&A)、研發費用(R&D)、基於股票的薪酬(SBC)均由收入百分比驅動(無硬編碼)
- 預測年份間的公式保持一致
- 無 #REF!、#DIV/0!、#VALUE! 錯誤
第 9 節:信用指標閾值
- 根據契約閾值將指標標記為綠色/黃色/紅色
- 彙總任何紅色警示項
主檢查公式
將所有部分的狀態聚合為單一的主檢查:
- 如果所有部分均通過 → "✓ ALL CHECKS PASS"
- 如果任何部分失敗 → "✗ ERRORS DETECTED - REVIEW BELOW"
快速調試工作流
當主狀態顯示錯誤時:
- 滾動查找以紅色高亮顯示的部分
- 確定哪個檢查類別存在失敗項
- 導航至源選項卡進行調查
- 修復根本問題
- 返回“檢查”選項卡以驗證是否已解決
數據源 — 優先使用 MCP,備選 Web
下文許多地方提到“使用 S&P Kensho MCP / Daloopa MCP / FactSet MCP”。這些是原始 Cowork 插件上下文中的商業金融數據 MCP。在 Hermes 中:
- 如果您配置了任何結構化金融數據 MCP(Hermes 支持 MCP — 參見
native-mcp技能),請優先使用它來獲取時點可比公司分析、先例交易和 filings。 - 否則,回退到:
- 針對美國 SEC EDGAR (
https://www.sec.gov/cgi-bin/browse-edgar) filings 使用web_search/web_extract - 公司投資者關係(IR)頁面,用於獲取新聞稿和財報演示文稿
- 使用
browser_navigate訪問交互式數據門戶 - 用戶提供的數據(當上下文中缺少數據時,明確詢問用戶)
- 針對美國 SEC EDGAR (
- 切勿偽造。如果無法 sourced 某個倍數、先例或 filing 數字,請將單元格標記為
[UNSOURCED]並向用戶展示。
歸屬
本技能改編自 Anthropic 的 Claude for Financial Services 插件套件(Apache-2.0)。已移除 Office-JS / Cowork live-Excel 路徑;此版本通過 excel-author 技能的約定面向無頭 openpyxl。原始來源:https://github.com/anthropics/financial-services