lbo-model
Excelでレバレッジド・バイアウト(LBO)モデルを構築できます。資金調達と使途、債務スケジュール、キャッシュスウィープ、売却時マルチプル、IRR/MOIC感度分析に対応しています。excel-authorと組み合わせて使用でき、PE企業のスクリーニング、スポンサー案件の評価、またはピッチドキュメント内のLBO事例の作成に活用できます。
description の原文を見る
Build leveraged buyout models in Excel — sources & uses, debt schedule, cash sweep, exit multiple, IRR/MOIC sensitivity. Pairs with excel-author. Use for PE screening, sponsor-case valuation, or illustrative LBO in a pitch.
SKILL.md 本文
環境
このスキルはヘッドレス openpyxl を前提としており、ディスク上に .xlsx ファイルを生成します。
セルの色付け、数式、名前付き範囲、感度テーブルについては excel-author スキルの規則に従ってください。
配信前に再計算を実行してください:python /path/to/excel-author/scripts/recalc.py ./out/model.xlsx
テンプレート要件
このスキルは LBO モデル用のテンプレートを使用します。まず添付されたテンプレート ファイルがないか確認してください。
LBO モデルを開始する前に:
- テンプレート ファイルが添付/提供されている場合:そのテンプレートの構造を正確に使用します。コピーしてユーザーのデータで入力してください。
- テンプレートが添付されていない場合:ユーザーに確認します:「特定の LBO テンプレートをお使いですか?そうでない場合は、Sources & Uses、Operating Model、Debt Schedule、および Returns Analysis を含む標準テンプレートを使用できます」
- 標準テンプレートを使用する場合:
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またはユーザーが提供したテンプレートの組織に従ってください。独自のレイアウトを作成しないでください。 - 適切なセル参照を使用します — すべての数式は適切なセルを参照する必要があります。他のセルから来るはずの数字を入力しないでください。
- 記号の規則の一貫性を保ちます — テンプレートが使用している記号の規則に従ってください(流出に対して負を使用するもの、正を使用するものがあります)。全体を通じて一貫性を保ちます。
- セクションごとに作業し、各ステップでユーザーと検証します — 1 つのセクションを完全に完成させ、ユーザーに構築されたものを表示し、セクションの検証チェックを実行し、次のセクションに進む前に確認を得てください。モデル全体をエンドツーエンドで構築してからそれを提示しないでください — 後のセクションは前のセクションに依存するため、Sources & Uses のエラーがリターンの計算後に見つかると、すべての場所で再作業が必要になります。
数式の色規則
- 青(0000FF):ハードコードされた入力 — 他のセルを参照しない入力値
- 黒(000000):計算を含む数式 — 演算子または関数を使用する数式(
=B4*B5、=SUM()、=-MAX(0,B4)) - 紫(800080):同じタブのセルへのリンク — 計算のない直接参照(
=B9、=B45) - 緑(008000):異なるタブのセルへのリンク — クロスシート参照(
=Assumptions!B5、='Operating Model'!C10)
塗りつぶしカラー パレット — デフォルト(ユーザー/テンプレートが別途指定しない限り)の専門的なブルー&グレー
- 最小限に保ちます — セル塗りつぶしにはブルーとグレーのみを使用します。グリーン、イエロー、レッド、または複数のアクセント色を導入しないでください。プロフェッショナルな LBO モデルは控えめです。
- デフォルトカラー パレット:
- セクション ヘッダー(Sources & Uses、Operating Model など):ダーク ブルー
#1F4E79、白の太字テキスト - 列ヘッダー(Year 1、Year 2 など):ライト ブルー
#D9E1F2、黒い太字テキスト - 入力セル:ライト グレー
#F2F2F2(または白のままでも可)— 青いフォントが信号で、塗りつぶしは補助的です - 数式/計算セル:白、塗りつぶしなし
- 主要な出力(IRR、MOIC、Exit Equity):中程度のブルー
#BDD7EE、黒い太字テキスト
- セクション ヘッダー(Sources & Uses、Operating Model など):ダーク ブルー
- これが全パレットです。 3 つのブルー + 1 つのグレー + 白。テンプレートが独自の色を使用している場合は、代わりにテンプレートに従ってください。
- 注:上記の青/黒/紫/緑のフォント色は、入力対数式対リンクを区別するためのものです。これらは、ここの塗りつぶしパレットとは別のものです — 両方が連携して機能します。
数値フォーマット標準
- 通貨:
$#,##0;($#,##0);"-"または$#,##0.0(テンプレートによって異なります) - パーセンテージ:
0.0%(小数点以下 1 位) - 倍数:
0.0"x"(小数点以下 1 位) - MOIC/詳細比率:
0.00"x"(精度のため小数点以下 2 位) - すべての数値セル:右揃え
要件をまず明確にします
数式を入力する前に:
- テンプレート構造を確認します — すべてのセクションを特定し、タイムライン(どの列がどの期間か)を理解し、既存の数式を注記します
- 不明な点についてユーザーに質問します — テンプレート構造、計算方法、または要件が曖昧な場合は、進める前に質問してください
- 主要な前提条件を確認します — 主要な入力値、計算の選好、または特定の要件
- テンプレートを理解した後のみ、数式の入力に進みます
テンプレート分析フェーズ — これを最初に行ってください
数式を入力する前に、テンプレートを徹底的に確認します:
-
構造を把握します — 各セクションがどこに存在するか、それらがどのように相互に関連しているかを特定します。どのセクションが他のセクションに供給するかをメモしてください。
-
タイムラインを理解します — どの列がどの期間を表していますか?「Closing」または「Pro Forma」列がありますか?予測期間はどこから始まりますか?
-
入力セル対数式セルを特定します — テンプレートはしばしば色分け、罫線、またはシェーディングを使用して、どのセルが入力が必要か対数式が必要かを示します。これらの規則に従ってください。
-
既存のラベルを注意深く読みます — 行ラベルは期待される計算が正確に何であるかを示します。推測しないでください — テンプレートが何を求めているかを読んでください。
-
既存の数式を確認します — 一部のテンプレートは部分的に入力されています。特に指示がない限り、機能している数式は上書きしないでください。
-
テンプレート固有の規則をメモします — 記号の規則、小計の構造、セクションの構成方法、異なるコンポーネント用に別個のタブがあるかどうか、など。
数式の入力 — 一般的なアプローチ
数式が必要な各セルについて、以下の階層に従います:
ステップ 1:テンプレートを確認します
- そのセルに既に数式がありますか?はいの場合、正しいことを確認して進みます。
- 予想される計算を示すコメントまたはメモがありますか?
- 行/列ラベルが計算を明らかにしていますか?
- 隣接するセルは従うべきパターンを示していますか?
ステップ 2:ユーザーの指示を確認します
- ユーザーが特定の計算方法を指定しましたか?
- このセクションに影響する設定された前提条件がありますか?
- 言及されている特定の要件がありますか?
ステップ 3:標準的な慣行を適用します
- テンプレートもユーザーも指定していない場合は、標準 LBO モデリング規則を使用します
- 行った仮定を文書化します
- 本当に確実でない場合は、ユーザーに質問します
一般的な問題領域
以下の計算パターンは LBO モデル全体で頻繁に問題を引き起こします。これらに遭遇したときに特に注意してください:
セクションのバランス
- 2 つのセクションが等しくなければならない場合(例:Sources = Uses)、1 つの項目は通常「プラグ」(バランス調整値)です
- どの項目がプラグであるかを特定し、それを差として計算します
税計算
- 税計算式は関連する所得ラインと税率のみを参照する必要があります
- 関連のないセクション(例:債務スケジュール)を参照しないでください
- 損失が税シールドを生成するか、単に無視されるかを検討します
利息と循環参照
- キャッシュ フローの影響を受けるバランスを参照する場合、利息計算は循環性を作成できます
- 期首残高(平均または期末ではなく)を使用して循環参照を打ち破ります
- パターン:Interest → Cash Flow → Paydown → Ending Balance(利息が期末残高を使用する場合、これは戻ります)
債務返済/キャッシュ スイープ
- 複数の債務トランシェが存在する場合、通常は優先順位があります
- キャッシュ スイープは優先順位ウォーターフォールに従う必要があります
- バランスは負にはできません — 適切に MAX または MIN 関数を使用します
リターン計算(IRR/MOIC)
- キャッシュ フローは正しい記号を持つ必要があります:Investment = negative、Proceeds = positive
- XIRR を使用している場合、対応する日付が必要です
- IRR を使用している場合、キャッシュ フローは連続した期間にある必要があります
- MOIC = Total Proceeds / Total Investment
感度テーブル
- 奇数の次元を使用します(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
ゼロエラーでの成功を返す必要があります。
セクション バランス
- バランスする必要があるセクション(Sources/Uses、Assets/Liabilities)が正確にバランスしている
- プラグ項目がバランス調整値として正しく計算されている
- セクション間で一致する金額が一貫している
収入/運営予測
- 売上/トップラインがドライバーまたは成長率から正しく構築されている
- すべてのコストおよび費用項目が適切に計算されている
- 小計と合計が正しく合計されている
- マージンと比率が妥当である
- 前提条件へのリンクが正しい
バランス シート(該当する場合)
- Assets = Liabilities + Equity(バランスする必要がある)
- すべての項目が適切なスケジュールまたはロール フォワードにリンクしている
- 期首残高 = 前期末残高
- チェック行が含まれており、ゼロを表示している
キャッシュ フロー(該当する場合)
- 正しい収入数字で開始している
- キャッシュ以外の項目が適切に加減されている
- 運転資本の変化が正しい記号を持っている
- 終了 Cash = 期首 Cash + Net Cash Flow
- キャッシュ バランスがステートメント全体で一貫している
サポート スケジュール
- ロール フォワード スケジュール のバランス(Beginning + Changes = Ending)
- スケジュールが主要ステートメントに正しくリンクしている
- 計算項目が適切なドライバーを使用している
- すべての期間が一貫して計算されている
債務/ファイナンス スケジュール(該当する場合)
- 期首残高がソースまたは前期に結びついている
- 利息が適切なバランス(通常は期首)で計算されている
- 返済がキャッシュ可用性と優先順位に従っている
- 期末残高は負にはできない
- 合計がトランシェを正しく合計している
リターン/出力分析
- 終了/ターミナル値が正しく計算されている
- すべての関連する調整が含まれている
- キャッシュ フロー記号が正しい(投資の場合は負、収益の場合は正)
- 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?)が表示されていない
論理的な妥当性チェック
- 数値は妥当な大きさの順序である
- トレンドが理にかなっている(期待に応じた成長、低下、安定化)
- 明らかに間違った値がない(正にならない場所で負、不可能なパーセンテージなど)
- 主要な出力がこの種の分析に対して妥当な範囲内にある
避けるべき一般的なエラー
| エラー | 何が間違うか | 修正方法 |
|---|---|---|
| 計算値のハードコーディング | 入力が変更されたときにモデルが更新されない | ソース セルを参照する数式を常に使用します |
| コピー後の間違ったセル参照 | 数式が間違ったセルを指す | すべてのリンクを確認し、適切に $ アンカリングを使用します |
| 循環参照エラー | モデルが計算できない | 利息型の計算に期首残高を使用し、サイクルを打ち破ります |
| セクションがバランスしない | 一致する必要がある合計が一致しない | 1 つの項目がプラグ(差として計算)であることを確認します |
| 不可能な場所で負の残高 | 利用可能なもの以上に支払い/使用する | 必要に応じて MAX(0, ...) または MIN 関数を使用します |
| IRR/リターン エラー | 間違った記号または不完全な範囲 | キャッシュ フローの記号を確認し、数式がすべての期間をカバーすることを確認します |
| 感度テーブルが同じ値を表示 | 数式が入力で変化しない | セル参照を確認 — 混合参照($A5、B$4)が必要です |
| ロール フォワードが結びつかない | Beginning ≠ prior ending | 期間間のリンクを確認します |
| 一貫性のない記号規則 | 加算が減算になるなど | テンプレートの規則を全体を通じて一貫して従います |
ユーザーとの作業 — セクション別チェックポイント
- テンプレート構造が不明な場合、進める前に質問してください
- ユーザーの要件がテンプレートと矛盾する場合、その選好を確認してください
- 各主要セクションを完了した後、次に進む前にユーザーで検証を停止します:
- Sources & Uses の後 → バランスされたテーブルを表示し、プラグが正しいことを確認し、運営モデルを構築する前に署名を取得します
- Operating Model/Projections の後 → 予想 P&L を表示し、成長率とマージンが正しく見えることを確認し、債務スケジュールの前に署名を取得します
- Debt Schedule の後 → 期首/期末残高と利息を表示し、ウォーターフォール ロジックを確認し、リターンの前に署名を取得します
- Returns (IRR/MOIC) の後 → キャッシュ フロー シリーズと出力を表示し、記号と範囲を確認し、感度テーブルの前に署名を取得します
- 感度テーブルの後 → 各セルが変化すること、ベース ケースが期待どおりにランディングすることを確認します
- 検証中にエラーが見つかった場合、次のセクションに進む前に修正します
- 作業を表示します — 必要に応じて、主要な数式または仮定を説明します
- 各セクションでチェックインすることなく完成したモデルを提示しないでください — セクションで間違ったセル参照を見つけることは、それが破られた IRR からさかのぼって追跡するより高速です
このスキルは、テンプレートに正しい数式、適切なフォーマット、および検証された計算を入力することにより、投資銀行品質の LBO モデルを生成します。このスキルは、金融の正確性と専門的なプレゼンテーション標準を確保しながら、任意のテンプレート構造に適応します。
データ ソース — MCP ファースト、Web フォールバック
以下のセクションの多くは「S&P Kensho MCP / Daloopa MCP / FactSet MCP を使用します」と述べています。これらは、元の Cowork プラグイン コンテキストからの商用金融データ MCP です。Hermes では:
- 構成されている構造化金融データ MCP がある場合(Hermes は MCP をサポート —
native-mcpスキルを参照)、ポイント イン タイム comps、precedent transactions、および filings に対してそれを優先します。 - そうでない場合、フォールバック:
- US filings の場合、SEC EDGAR(
https://www.sec.gov/cgi-bin/browse-edgar)に対してweb_search/web_extract - プレス リリース、earnings decks の場合は Company IR ページ
- インタラクティブ データ ポータルの場合は
browser_navigate - ユーザー提供のデータ(コンテキストにない場合は明示的に質問)
- US filings の場合、SEC EDGAR(
- 捏造しないでください。 複数、precedent、またはファイリング番号をソースできない場合、セルに
[UNSOURCED]とフラグを付けてユーザーに表示します。
帰属
このスキルは、Anthropic の Claude for Financial Services プラグイン スイート(Apache-2.0)から適応したものです。Office-JS / Cowork ライブ Excel パスは削除されました。このバージョンは、excel-author スキルの規則を通じてヘッドレス openpyxl をターゲットとしています。元の:https://github.com/anthropics/financial-services
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- carterwayneskhizeine
- ライセンス
- MIT
- 最終更新
- 2026/5/8
Source: https://github.com/carterwayneskhizeine/hermes-agent-windows-R / ライセンス: MIT