Hermes Agent Wiki 非公式・日本語wiki
この skill をそのまま使う: GitHub で原文を見る

英語原文・frontmatter 込みで、Hermes が読み込む実体そのままです(このページの本文は日本語版)。

Lbo Model

目次

IRR / MOIC 付きの LBO(レバレッジド・バイアウト)ワークブックを Excel で作ります。

skill の情報

提供元 追加 skill — 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
関連 skill excel-author, pptx-author, dcf-model, 3-statement-model

参考: SKILL.md 全文

動かす環境

この skill は ヘッドレスの openpyxl を前提にしています。つまり、ディスク上に .xlsx ファイルを作ることが目的です。 セルの色付け、数式、名前付き範囲、感応度表については excel-author skill の作法にそろえてください。 納品の前に再計算します: python /path/to/excel-author/scripts/recalc.py ./out/model.xlsx


テンプレートについての決まり

この skill は LBO モデルにテンプレートを使います。まず添付のテンプレートファイルがないかを必ず確かめてください。

LBO モデルを作り始める前に:

  1. テンプレートファイルが添付・提示されている場合: そのテンプレートの構成をそのまま使います。複製して、ユーザーのデータを埋めていきます
  2. テンプレートの添付がない場合: ユーザーにこう尋ねます。*「使ってほしい LBO のテンプレートはありますか。なければ、Sources & Uses、オペレーティングモデル、デットスケジュール、リターン分析を含む標準テンプレートを使います」*
  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 またはユーザーが渡したテンプレートの並びに従います。独自のレイアウトを考え出さないでください。 * セル参照を正しく使う — 数式はすべて該当するセルを参照します。他のセルから来るべき数値を直接打ち込んではいけません。 * 符号の取り決めを統一する — テンプレートが採っている符号の取り決め(支出を負とするもの、正とするもの)に従い、最後まで一貫させます。 * セクション単位で進め、その都度ユーザーに確認する — 1 つのセクションを仕上げ、何を作ったかを見せ、そのセクションの検証項目を実行し、了解をもらってから次に進みます。モデルを最後まで一気に作ってから見せるのはやめてください。後のセクションは前のセクションに依存するので、リターンまで作った後で Sources & Uses の誤りが見つかると、全体をやり直すことになります。

数式の文字色の取り決め

* 青(0000FF): 直接入力した値 — 他のセルを参照せずに打ち込んだ数値 * 黒(000000): 計算を伴う数式 — 演算子や関数を使う数式すべて(=B4*B5=SUM()=-MAX(0,B4)) * 紫(800080): 同じシート内のセルへのリンク — 計算を伴わない直接参照(=B9=B45) * 緑(008000): 別シートのセルへのリンク — シートをまたぐ参照(=Assumptions!B5='Operating Model'!C10

塗りつぶしの色 — 落ち着いたブルーとグレー(ユーザーやテンプレートの指定がなければこれを既定にします)

* 控えめにする — セルの塗りつぶしにはブルーとグレーだけを使います。緑、黄、赤や複数のアクセント色を持ち込まないでください。仕上がりのよい LBO モデルは色を抑えています。 * 既定の配色: * セクション見出し(Sources & Uses、オペレーティングモデルなど): 濃い青 #1F4E79、文字は白の太字 * 列見出し(Year 1、Year 2 など): 薄い青 #D9E1F2、文字は黒の太字 * 入力セル: 薄いグレー #F2F2F2(または白のまま) — 目印になるのは青い文字色で、塗りつぶしは補助です * 数式・計算結果のセル: 白、塗りつぶしなし * 主要な出力(IRR、MOIC、Exit Equity): 中間の青 #BDD7EE、文字は黒の太字 * 使う色はこれで全部です。 青 3 色 + グレー 1 色 + 白。テンプレートが独自の色を持っているなら、そちらに従います。 * 補足: 上に挙げた青・黒・紫・緑の文字色は、入力・数式・リンクを見分けるためのものです。ここでの塗りつぶしの配色とは別物で、両方を組み合わせて使います。

数値表示の決まり

* 通貨: $#,##0;($#,##0);"-" または $#,##0.0(テンプレートに合わせます) * パーセント: 0.0%(小数 1 桁) * 倍率: 0.0"x"(小数 1 桁) * MOIC・細かい比率: 0.00"x"(精度が要るので小数 2 桁) * 数値セル全般: 右揃え


先に要件をはっきりさせる

数式を埋め始める前に:

* テンプレートの構成を確かめる — すべてのセクションを洗い出し、期間の並び(どの列がどの期にあたるか)を把握し、すでに入っている数式を控えておきます * わからないことはユーザーに聞く — テンプレートの構成、計算方法、要件があいまいなら、進める前に確認します * 主要な前提を確認する — 重要な入力値、計算方法の好み、個別の要件など * テンプレートを理解できてから、数式を埋める作業に進みます


テンプレート分析フェーズ — まずここから

数式を埋め始める前に、テンプレートをよく調べます:

  1. 構成を把握する — 各セクションがどこにあり、互いにどうつながるかを洗い出します。どのセクションが他へ流れ込むかを控えておきます。
  1. 期間の並びを理解する — どの列がどの期にあたるか。「Closing」や「Pro Forma」の列はあるか。予測期間はどこから始まるか。
  1. 入力セルと数式セルを見分ける — テンプレートは色分け、罫線、網掛けで入力用と数式用を示していることが多いので、その取り決めを尊重します。
  1. 行ラベルを丁寧に読む — 行のラベルが、期待されている計算をそのまま示しています。推測せず、テンプレートが求めているものを読み取ってください。
  1. すでに入っている数式を確かめる — 一部が埋まった状態のテンプレートもあります。指示がない限り、動いている数式を上書きしてはいけません。
  1. テンプレート固有の作法を控える — 符号の取り決め、小計の作り方、セクションの並べ方、要素ごとにシートが分かれているかどうか、などです。

数式を埋める — 全体の進め方

数式が必要なセルごとに、次の順で判断します。

ステップ 1: テンプレートを確認する

* そのセルにすでに数式が入っていないか。入っていれば、正しいことを確かめて次へ進みます。 * 想定される計算を示すコメントや注記はないか。 * 行・列のラベルから計算内容が読み取れないか。 * 隣接するセルに、踏襲すべきパターンがないか。

ステップ 2: ユーザーの指示を確認する

* 特定の計算方法の指定はあったか。 * この数式に影響する前提が示されていないか。 * 個別の要件が挙がっていないか。

ステップ 3: 一般的な作法に従う

* テンプレートにもユーザーの指示にもない場合は、LBO モデリングの一般的な作法に従います * 置いた前提は書き残します * どうしても判断がつかないときは、ユーザーに尋ねます


つまずきやすいところ

次の計算パターンは、LBO モデルでよく問題になります。出てきたときは特に注意してください。

一致させるセクション

* 2 つのセクションが一致しなければならないとき(Sources = Uses など)、片方の項目が調整弁(差額で埋める項目)になるのが普通です * どれが調整弁かを見極め、差額として計算します

税金の計算

* 税金の数式は、対象となる利益の行と税率だけを参照します * 関係のないセクション(デットスケジュールなど)を参照してはいけません * 損失が税の控除効果を生むのか、単に無視するのかを検討します

支払利息と循環参照

* 利息の計算は、キャッシュフローの影響を受ける残高を参照すると循環参照になります * 循環を断つため、期首残高を使います(平均残高や期末残高は使いません) * 流れはこうです。利息 → キャッシュフロー → 返済 → 期末残高(利息が期末残高を使うと、ここで元へ戻ってしまいます)

債務の返済・キャッシュスイープ

* 複数のトランシェがあるときは、たいてい返済の優先順位があります * キャッシュスイープはその優先順位(ウォーターフォール)に従わせます * 残高がマイナスになってはいけません。MAX や MIN を適切に使います

リターンの計算(IRR / MOIC)

* キャッシュフローの符号を正しくします。投資は負、回収は正です * XIRR を使うなら、対応する日付が必要です * IRR を使うなら、キャッシュフローは連続した期に並べます * MOIC = 回収額の合計 ÷ 投資額の合計

感応度表

* 縦横は奇数にします(5×5 か 7×7)。4×4 や 6×6 は避けてください。奇数なら中央のセルが必ず 1 つ決まります。 * 中央セルがベースケースです。 行と列の軸の値は、モデルの実際の前提を中心に左右対称に並べます(例: ベースの取得倍率が 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

エラー 0 件で成功が返る必要があります。

セクションの一致

  • [ ] 一致すべきセクション(Sources / Uses、資産 / 負債)がぴったり一致している
  • [ ] 調整弁の項目が差額として正しく計算されている
  • [ ] セクションをまたいで一致すべき金額が食い違っていない

損益・オペレーティングの予測

  • [ ] 売上高がドライバーや成長率から正しく積み上がっている
  • [ ] 原価・費用の各項目が適切に計算されている
  • [ ] 小計と合計が正しく足し上がっている
  • [ ] 利益率や各種比率が妥当な水準にある
  • [ ] 前提条件へのリンクが正しい

貸借対照表(該当する場合)

  • [ ] 資産 = 負債 + 資本(必ず一致すること)
  • [ ] 各項目が対応するスケジュールや推移表にリンクしている
  • [ ] 期首残高が前期の期末残高と一致している
  • [ ] チェック行があり、0 を示している

キャッシュフロー(該当する場合)

  • [ ] 正しい利益の数値から始まっている
  • [ ] 非資金項目が適切に加減されている
  • [ ] 運転資本の増減の符号が正しい
  • [ ] 期末現金 = 期首現金 + 純キャッシュフロー
  • [ ] 現金残高が各計算書のあいだで食い違っていない

補助スケジュール

  • [ ] 推移表が整合している(期首 + 増減 = 期末)
  • [ ] スケジュールが主要な計算書に正しくリンクしている
  • [ ] 計算項目が適切なドライバーを使っている
  • [ ] すべての期が同じやり方で計算されている

デット・ファイナンスのスケジュール(該当する場合)

  • [ ] 期首残高が Sources または前期の値とつながっている
  • [ ] 利息が適切な残高(通常は期首残高)で計算されている
  • [ ] 返済が手元資金の範囲と優先順位を守っている
  • [ ] 期末残高がマイナスになっていない
  • [ ] 合計が各トランシェを正しく足し上げている

リターン・出力の分析

  • [ ] 出口価値・ターミナルバリューが正しく計算されている
  • [ ] 必要な調整がすべて織り込まれている
  • [ ] キャッシュフローの符号が正しい(投資は負、回収は正)
  • [ ] IRR / MOIC の数式が対象範囲をすべて含んでいる
  • [ ] 結果がそのシナリオとして妥当な水準にある

感応度表(該当する場合)

  • [ ] 表の縦横が奇数(5×5 か 7×7)で、中央セルが 1 つ決まっている
  • [ ] 行と列の軸の値がベースケースを中心に左右対称になっている([base-2Δ, base-Δ, base, base+Δ, base+2Δ]
  • [ ] 中央セルの出力がモデルの実際の IRR / MOIC と一致している(表が正しくつながっている証拠になります)
  • [ ] 中央セルが強調されている(中間の青 #BDD7EE の塗りつぶし、太字)
  • [ ] 行見出しと列見出しに適切な入力値が入っている
  • [ ] データセルがすべて数式になっている(直接入力になっていない)
  • [ ] データセルの値が互いに異なっている
  • [ ] 値の動く向きが想定どおり(出口倍率が高いほど IRR も高い、など)

書式

  • [ ] 直接入力した値が青(0000FF)になっている
  • [ ] 計算する数式が黒(000000)になっている
  • [ ] 同一シートへのリンクが紫(800080)になっている
  • [ ] 別シートへのリンクが緑(008000)になっている
  • [ ] 数値がすべて右揃えになっている
  • [ ] 適切な数値書式が全体に適用されている
  • [ ] エラー値(#REF!、#DIV/0!、#VALUE!、#NAME?)が出ているセルがない

常識的なチェック

  • [ ] 数値の桁が妥当である
  • [ ] 傾向に納得がいく(想定どおりの成長・減少・横ばいになっている)
  • [ ] 明らかにおかしい値がない(正であるべきところが負、あり得ないパーセントなど)
  • [ ] 主要な出力が、この種の分析として妥当な範囲に収まっている

よくある失敗と対処

失敗 何が起きるか どう直すか
計算結果を直接書き込む 入力を変えてもモデルが追従しない 参照元のセルを参照する数式を必ず使う
コピー後に参照先がずれる 数式が別のセルを指してしまう すべてのリンクを確認し、$ で適切に固定する
循環参照のエラー モデルが計算できなくなる 利息のような計算に期首残高を使い、循環を断つ
セクションが一致しない 一致すべき合計が合わない どれか 1 項目を調整弁(差額で計算)にする
あり得ないマイナス残高 使える額を超えて支払っている MAX(0, ...) や MIN を適切に使う
IRR やリターンのエラー 符号が違うか、範囲が足りない キャッシュフローの符号を確かめ、数式が全期間を含むようにする
感応度表がどこも同じ値 数式が入力に応じて変わっていない セル参照を確認する。複合参照($A5、B$4)が必要
推移表がつながらない 期首 ≠ 前期の期末 期をまたぐリンクを確認する
符号の取り決めがばらばら 加算のはずが減算になる(またはその逆) テンプレートの取り決めに最後まで従う

ユーザーとの進め方 — セクションごとの確認ポイント

* テンプレートの構成がはっきりしないときは、進める前に尋ねます * ユーザーの要件がテンプレートと食い違うときは、どちらを取るか確認します * 大きなセクションを終えるたびに、いったん止めてユーザーと確認してから先へ進みます:

  • Sources & Uses のあと → 一致した表を見せ、調整弁が正しいことを確認し、了解をもらってからオペレーティングモデルへ
  • オペレーティングモデル・予測のあと → 予測 P&L を見せ、成長率と利益率が妥当か確認し、了解をもらってからデットスケジュールへ
  • デットスケジュールのあと → 期首・期末残高と利息を見せ、ウォーターフォールの考え方を確認し、了解をもらってからリターンへ
  • リターン(IRR / MOIC)のあと → キャッシュフローの並びと出力を見せ、符号と水準を確認し、了解をもらってから感応度表へ
  • 感応度表のあと → 各セルの値が変化していることを見せ、ベースケースが想定どおりの位置に来ているか確認します

* 検証で誤りが見つかったら、次のセクションへ進む前に直します * 考えた筋道を示す — 重要な数式や前提は、必要に応じて説明を添えます * 各セクションで確認を挟まないまま、完成したモデルを提示してはいけません — 参照ミスは、壊れた IRR から逆にたどるより、その場で捕まえたほうがずっと速く済みます


この skill は、テンプレートに正しい数式・適切な書式・検証済みの計算を埋めることで、投資銀行の水準に耐える LBO モデルを作ります。どんなテンプレートの構成にも合わせながら、財務的な正確さと見せ方の水準を保ちます。

データの取得元 — まず MCP、なければ Web

以下の箇所には「S&P Kensho MCP / Daloopa MCP / FactSet MCP を使う」と書かれています。これらは元になった Cowork プラグインが前提としていた、商用の金融データ MCP です。Hermes では次のようにします。

  • 構造化された金融データの MCP を設定している場合(Hermes は MCP に対応しています。native-mcp skill を参照)、時点を揃えた類似企業比較、過去の取引事例、開示資料にはそちらを優先します。
  • 設定していない場合は、次で代替します:
    • 米国の開示資料は web_search / web_extract で SEC EDGAR(https://www.sec.gov/cgi-bin/browse-edgar)を参照します
    • プレスリリースや決算資料は企業の 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