Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

dcf-model

DCF(割引キャッシュフロー)手法による株式評価モデルを自動作成します。SECファイリングやアナリストレポートから財務データを取得し、適切なWACC計算を用いたキャッシュフロー予測、感度分析を実施のうえ、エグゼクティブサマリー付きのプロ仕様Excelモデルを出力します。企業の本質的価値算定、成長予測・ターミナルバリューを含む詳細な財務モデリングが必要な際にご活用ください。

description の原文を見る

Real DCF (Discounted Cash Flow) model creation for equity valuation. Retrieves financial data from SEC filings and analyst reports, builds comprehensive cash flow projections with proper WACC calculations, performs sensitivity analysis, and outputs professional Excel models with executive summaries. Use when users need to value a company using DCF methodology, request intrinsic value analysis, or ask for detailed financial modeling with growth projections and terminal value calculations.

SKILL.md 本文

DCF モデルビルダー

概要

このスキルは投資銀行スタンダードに従う機関投資家品質のDCFモデルを企業価値評価向けに作成します。各分析は詳細なExcelモデルを生成します(感度分析はDCFシートの下部に含まれます)。

ツール

  • ユーザーと利用可能なMCPサーバーから提供されたすべての情報を活用するのがデフォルトです。

重要な制約 - はじめに読んでください

これらの制約はDCFモデル構築全体を通じて適用されます。開始する前に確認してください:

環境: Office JS vs Python/openpyxl:

  • Excelの中で実行している場合(Office Add-in / Office JS環境): Office JSを直接使用してください — Python/openpyxlを使用しないでください。range.formulas = [["=D19*(1+$B$8)"]] のような方法で数式を記述してください。別途の再計算ステップは不要です。Excelがネイティブに計算します。スタイリングには range.format.* を使用してください。同じ「数式優先」ルールが適用されます。派生セルに対して .values を設定するのではなく、.formulas を設定してください。
  • スタンドアロン .xlsx ファイルを生成する場合(ライブExcelセッションなし): 以下で説明するようにPython/openpyxlを使用し、配信前に recalc.py を実行してください。
  • このスキルの残りはopenpyxlの例を使用します — その環境ではOffice JS APIコールに変換してください。ただしすべての原則(数式文字列、セルコメント、セクションチェックポイント、感度テーブルループ)は同じように適用されます。

⚠️ Office JSのセル結合の落とし穴: セクションヘッダーを結合セルで構築する場合、.merge() を呼び出してから結合範囲に .values を設定しないでください — Office JSは依然として範囲の元の寸法を報告し、InvalidArgument: The number of rows or columns in the input array doesn't match the size or dimensions of the range をスローします。代わりに、左上のセルだけに値を書いて、その後全範囲をマージしてフォーマットしてください:

// 間違い - InvalidArgument をスロー:
const hdr = ws.getRange("A7:H7");
hdr.merge();
hdr.values = [["MARKET DATA & KEY INPUTS"]];  // 1×1配列 vs 1×8範囲 → 失敗

// 正しい - 単一セルに値を書いて、その後マージしてフォーマット:
ws.getRange("A7").values = [["MARKET DATA & KEY INPUTS"]];
const hdr = ws.getRange("A7:H7");
hdr.merge();
hdr.format.fill.color = "#1F4E79";
hdr.format.font.bold = true;
hdr.format.font.color = "#FFFFFF";

これはDCFの全セクションヘッダー(市場データ、シナリオブロック、キャッシュフロー予測、ターミナルバリュー、評価サマリー、感度テーブル)に適用されます。

数式優先、ハードコード禁止(厳守):

  • 全予測、マージン、割引係数、PV、感度セルは必ずライブExcel数式である必要があります — Pythonで計算した数値を書き込むのは絶対にいけません
  • openpyxlを使用する場合: ws["D20"] = "=D19*(1+$B$8)" が正しい; ws["D20"] = calculated_revenue は間違いです
  • ハードコード許可数字は以下のみです: (1) 生の履歴入力、(2) 前提ドライバー(成長率、WACC入力、ターミナルg)、(3) 現在の市場データ(株価、債務残高)
  • Pythonで何かを計算し、その結果を書き込もうとしていることに気づいたら — 止めてください。モデルは前提が変わったとき、変動できる必要があります。

ステップバイステップで前提確認(エンドツーエンドで構築しないこと):

  • データ取得後 → ユーザーに生入力ブロック(収益、マージン、シェア、純債務)を表示して確認してから予測へ進む
  • 収益予測後 → 予測トップラインと成長率を表示して確認してからマージン構築へ進む
  • FCF構築後 → 全FCFスケジュールを表示して論理確認してからWACC計算へ進む
  • WACC後 → 計算と入力を表示して確認してから割引へ進む
  • ターミナルバリュー + PV後 → エクイティブリッジ(EV → エクイティバリュー → 1株当たり)を表示して確認してから感度テーブルへ進む
  • 各段階でエラーを捕捉してください — 間違ったマージン前提が感度テーブル構築後に発見されると、下流すべてを再構築する必要があります

感度テーブル:

  • 奇数の行と列を使用 (標準: 5×5、時々 7×7) — これが真の中央セルを保証します
  • 中央セル = ベースケース。 軸値を構築して、中央行ヘッダーと中央列ヘッダーが正確にモデルの実際の前提と等しくなるようにしてください(例: ベースWACC = 9.0%なら、中央行は9.0% ; ターミナルg = 3.0%なら、中央列は3.0%)。中央セルの出力はモデルの実際のインプライド株価と等しくなければなりません — これはテーブルが正しく構築されたことの健全性チェックです。
  • 中央セルを強調表示 して、どのセルがベースケースであるかが即座に見えるようにしてください(中程度の青フィル #BDD7EE + 太字フォント)。
  • 全セル(通常 3テーブル × 25セル = 75)にDCF再計算数式を完全に入力してください
  • openpyxlループ(またはOffice JSループ)を使用してプログラム的に数式を書き込んでください
  • プレースホルダーテキストなし、線形近似なし、手動ステップ不要
  • 各セルはその前提組み合わせの完全DCFを再計算する必要があります

セルコメント:

  • 各ハードコード値が作成されるたびにセルコメントを追加してください
  • 形式: "Source: [System/Document], [Date], [Reference], [URL if applicable]"
  • 次のセクションへ移動する前に、すべての青入力にコメントがあってください
  • 終わりに遅延したり、「TODO: ソース追加」と書いたりしないでください

モデルレイアウト計画:

  • 数式を書く前に全セクション行位置を定義してください
  • まずすべてのヘッダーとラベルを書いてください
  • 次に全セクション区切りと空白行を書いてください
  • それから確定した行位置を使用して数式を書いてください
  • 作成直後に数式をテストしてください

数式の再計算:

  • 配信前に python recalc.py model.xlsx 30 を実行してください
  • ステータスが「success」になるまで全エラーを修正してください
  • ゼロの数式エラーが必須です (#REF!, #DIV/0!, #VALUE!など)

シナリオブロック:

  • Bear/Base/Bullケース向けに別々のブロックを作成してください
  • 各ブロック内の予測年を横切って前提を表示してください
  • IF数式を使用: =IF($B$6=1,[Bear cell],IF($B$6=2,[Base cell],[Bull cell]))
  • 数式が正しいシナリオブロックセルを参照することを確認してください

DCF プロセスワークフロー

ステップ1: データ取得と検証

MCPサーバー、ユーザー提供データ、ウェブからデータを取得してください。

データソース優先度:

  1. MCPサーバー (設定されている場合) - Daloop等のプロバイダーからの構造化財務データ
  2. ユーザー提供データ - 彼らのリサーチからの履歴財務
  3. ウェブ検索/取得 - 現在の株価、ベータ、必要に応じて債務とキャッシュ

検証チェックリスト:

  • 純債務 vs 純キャッシュを検証(評価に重要)
  • 希薄化済み発行済み株式数を確認(最近の自社株買い/発行をチェック)
  • 履歴マージンがビジネスモデルと一致していることを検証
  • 収益成長率を業界ベンチマークと相互確認
  • 税率が妥当であることを検証(通常21-28%)

ステップ2: 履歴分析(3-5年)

分析して記録してください:

  • 収益成長トレンド: CAGR計算、ドライバー特定
  • マージン進捗: 粗利益率、EBIT率、FCF率を追跡
  • 資本集約性: D&AとCapExを収益の%で表示
  • 運転資本効率: NWC変化を収益成長の%で表示
  • リターン指標: ROIC、ROE トレンド

以下を示す要約テーブルを作成してください:

履歴指標(LTM):
収益: $X百万
収益成長: X% CAGR
粗利益率: X%
EBIT率: X%
D&A収益比: X%
CapEx収益比: X%
FCF率: X%

ステップ3: 収益予測の構築

手法:

  1. 最新の実績収益(LTMまたは最新年度末)から開始
  2. 各予測年の成長率を適用
  3. ドル金額と計算成長%の両方を表示

成長率フレームワーク:

  • 年1-2: 近期見通しを反映した高い成長
  • 年3-4: 業界平均への緩やかな適応
  • 年5以上: ターミナル成長率に接近

数式構造:

  • 収益(年N) = 収益(年N-1) × (1 + 成長率)
  • 成長%(年N) = 収益(年N) / 収益(年N-1) - 1

3シナリオアプローチ:

ベアケース: 保守的成長(例:8-12%)
ベースケース: 最も可能性の高いシナリオ(例:12-16%)
ブルケース: 楽観的成長(例:16-20%)

ステップ4: 営業費用モデリング

固定/変動費分析:

営業費は現実的な営業レバレッジをモデル化する必要があります:

  • 営業・マーケティング: ビジネスモデルに応じて通常収益の15-40%
  • 研究開発: テック企業では通常10-30%
  • 管理: 通常収益の8-15%、会社が成長するとレバレッジを示す

主要原則:

  • 全パーセンテージは売上総利益ではなく収益に基づく
  • オペレーティングレバレッジをモデル化: %は収益が増加するにつれて減少する必要があります
  • S&M、R&D、G&Aの個別の項目を保持
  • EBIT = 売上総利益 - 総営業費

マージン拡大フレームワーク:

現状 → 目標状態(年5)
粗利益率: X% → Y% (規模とは効率に基づいて正当化)
EBIT率: X% → Y% (収益成長 + opex レバレッジの結果)

ステップ5: フリーキャッシュフロー計算

適切な順序でFCFを構築:

EBIT
(-) 税金 (EBIT × 税率)
= NOPAT (税後純営業利益)
(+) D&A (非現金費用、収益の%)
(-) CapEx (収益の%、通常4-8%)
(-) Δ NWC (運転資本変化)
= レバレッジなしフリーキャッシュフロー

運転資本モデリング:

  • 収益変化の%として計算
  • 典型的範囲: 収益変化の-2% から +2%
  • 負数 = キャッシュの源泉(運転資本の放出)
  • 正数 = キャッシュの使用(運転資本の構築)

メンテナンス vs 成長CapEx:

  • メンテナンスCapEx: 現在の事業を維持(~収益の2-3%)
  • 成長CapEx: 拡大をサポート(追加で収益の2-5%)
  • 総CapExは企業の成長戦略と一致すべき

ステップ6: 資本コスト(WACC)研究

CAPM手法によるエクイティコスト:

エクイティコスト = リスクフリーレート + ベータ × エクイティリスクプレミアム

ここで:
- リスクフリーレート = 現在の10年国債利回り
- ベータ = 5年月次株式ベータ対マーケットインデックス
- エクイティリスクプレミアム = 5.0-6.0% (市場標準)

債務コスト計算:

税後債務コスト = 税前債務コスト × (1 - 税率)

税前債務コストは以下から決定:
- クレジットレーティング(利用可能な場合)
- 企業債の現在利回り
- 財務諸表からの利息費用 / 総債務

資本構成ウェイト:

エクイティの時価 = 現在の株価 × 発行済み株式数
純債務 = 総債務 - キャッシュと同等物
企業価値 = マーケットキャップ + 純債務

エクイティウェイト = マーケットキャップ / 企業価値
債務ウェイト = 純債務 / 企業価値

WACC = (エクイティコスト × エクイティウェイト) + (税後債務コスト × 債務ウェイト)

特殊な場合:

  • 純キャッシュポジション: キャッシュ > 債務の場合、純債務は負
    • 債務ウェイトは負の可能性
    • WACC計算がそれに応じて調整
  • 債務なし: WACC = エクイティコスト

典型的なWACC範囲:

  • 大型株、安定: 7-9%
  • グロース企業: 9-12%
  • 高成長/リスク: 12-15%

ステップ7: 割引率適用(5-10年予測)

中期記約定:

  • キャッシュフローは年中に発生すると仮定
  • 割引期間: 0.5、1.5、2.5、3.5、4.5など
  • 割引係数 = 1 / (1 + WACC)^期間

現在価値計算:

各予測年について:
FCFの現在価値 = レバレッジなしFCF × 割引係数

例(年1):
FCF = $1,000
WACC = 10%
期間 = 0.5
割引係数 = 1 / (1.10)^0.5 = 0.9535
PV = $1,000 × 0.9535 = $954

予測期間選択:

  • 5年: ほとんどの分析の標準
  • 7-10年: より長い成長期を持つグロース企業
  • 3年: 成熟し安定した事業

ステップ8: ターミナルバリュー計算

永続成長法(推奨):

ターミナルFCF = 最終年FCF × (1 + ターミナル成長率)
ターミナルバリュー = ターミナルFCF / (WACC - ターミナル成長率)

重要な制約: ターミナル成長 < WACC (さもなくば無限価値)

ターミナル成長率選択:

  • 保守的: 2.0-2.5% (GDP成長率)
  • 適度: 2.5-3.5%
  • 積極的: 3.5-5.0% (市場リーダーのみ)

超過禁止: リスクフリーレートまたは長期GDP成長

終値マルチプル法(代替案):

ターミナルバリュー = 最終年EBITDA × 終値マルチプル

ここで終値マルチプルは以下から:
- 業界比較可能企業トレーディングマルチプル
- 先行取引マルチプル
- 典型的範囲: 8-15x EBITDA

ターミナルバリューの現在価値:

ターミナルバリューの現在価値 = ターミナルバリュー / (1 + WACC)^最終期間

ここで最終期間はタイミングを計上:
中期記約定を持つ5年モデル: 期間 = 4.5

ターミナルバリュー健全性チェック:

  • 企業価値の50-70%を表すべき
  • 75%ならモデルはターミナル前提に過度に依存している可能性

  • <40%なら、ターミナル前提が過度に保守的である可能性をチェック

ステップ9: エンタープライズからエクイティバリューへのブリッジ

評価サマリー構造:

(+) 予測FCFの現在価値合計 = $X百万
(+) ターミナルバリューの現在価値 = $Y百万
= エンタープライズバリュー = $Z百万

(-) 純債務 [または純キャッシュが負の場合 +] = $A百万
= エクイティバリュー = $B百万

÷ 希薄化済み発行済み株式数 = C百万株
= 1株当たりのインプライド価格 = $XX.XX

現在の株価 = $YY.YY
インプライドリターン = (インプライド価格 / 現在価格) - 1 = XX%

重要な調整:

  • 純債務 = 総債務 - キャッシュと同等物
    • 正の場合: EVから減算(エクイティバリューを減らす)
    • 負の場合(純キャッシュ): EVに追加(エクイティバリューを増やす)
  • 希薄化済み株式を使用: オプション、RSU、転換証券を含む
  • 他の調整 (該当する場合):
    • マイノリティ権益
    • 年金債務
    • オペレーティングリース債務

評価出力形式:

評価要素,金額($百万)
明示FCFの現在価値,X.X
ターミナルバリューの現在価値,Y.Y
エンタープライズバリュー,Z.Z
(-) 純債務,A.A
エクイティバリュー,B.B
,,
発行済み株式数(百万),C.C
1株当たりのインプライド価格,$XX.XX
現在の株価,$YY.YY
インプライド上値率/(下値率),+XX%

ステップ10: 感度分析

DCFシートの下部に3つの感度テーブルを構築して、異なる前提での評価変化を表示します:

  1. WACC vs ターミナル成長 - エンタープライズバリューの割引率と永続成長感度
  2. 収益成長 vs EBIT率 - トップラインと営業レバレッジの影響
  3. ベータ vs リスクフリーレート - エクイティコスト要素への感度

実装: これら単純な2Dグリッド(ExcelのData Table機能ではありません)で、各セルには特定の前提組み合わせの完全DCF再計算を含んでいます。重要な制約セクション内でopenpyxlを使用してプログラム的にすべての75セルを入力することについての詳細要件を参照してください。

<correct_patterns>

このセクションはDCFモデル構築時に従うべき正しいパターンをすべて含んでいます。

シナリオブロック選択パターン - このアプローチに従ってください

前提は各シナリオ用に個別ブロックで組織されます:

重要な構造 - セクションヘッダーごとに3行:

ベアケース前提(セクションヘッダー、列を横切ってマージ)
前提,FY1,FY2,FY3,FY4,FY5
収益成長(%),12%,10%,9%,8%,7%
EBIT率(%),45%,44%,43%,42%,41%

ベースケース前提(セクションヘッダー、列を横切ってマージ)
前提,FY1,FY2,FY3,FY4,FY5
収益成長(%),16%,14%,12%,10%,9%
EBIT率(%),48%,49%,50%,51%,52%

ブルケース前提(セクションヘッダー、列を横切ってマージ)
前提,FY1,FY2,FY3,FY4,FY5
収益成長(%),20%,18%,15%,13%,11%
EBIT率(%),50%,51%,52%,53%,54%

各シナリオブロックは列ヘッダー行を持つ必要があります セクションタイトルのすぐ下に予測年(FY2025E、FY2026Eなど)を表示します。これなしでは、ユーザーはどの前提値がどの年に対応しているかを判断できません。

前提の参照方法 - 統合列を作成:

  1. ケースセレクタセル(例:B6)は1=ベア、2=ベース、または3=ブル
  2. INDEX または OFFSET 数式で統合列を作成して正しいシナリオブロックから引く
  3. 予測数式は統合列を参照(クリーンなセル参照)
  4. 各シナリオブロックは予測年全体のDCF前提の完全セットを含む

推奨統合列パターン(INDEX使用): =INDEX(B10:D10, 1, $B$6)

これではなく - 予測全体に散在するIF文: =IF($B$6=1,[ベアブロックセル],IF($B$6=2,[ベースブロックセル],[ブルブロックセル]))

統合列アプローチはロジックを一元化し、モデルの監査をより簡単にします。

正しい収益予測パターン

統合列をINDEX数式で作成し、それを予測で参照:

ステップ1 - FY1成長向け統合列: =INDEX([ベアFY1成長]:[ブルFY1成長], 1, $B$6)

ステップ2 - 収益予測は統合列を参照: 年1の収益: =D29*(1+$E$10)

ここで:

  • D29 = 前年度の収益
  • $E$10 = FY1成長向け統合列セル(INDEX数式を含む)
  • $B$6 = ケースセレクタ(1=ベア、2=ベース、3=ブル)

このアプローチはIF文をすべての予測数式に埋め込むより清潔です どのシナリオ前提が使用されているかを監査するのが非常に容易です。

正しいFCF数式パターン

統合列をINDEX数式で使用し、FCF計算で参照:

統合列アプローチ:

項目,数式,参照
D&A,=E29*$E$21,$E$21 = D&A % 向け統合列
CapEx,=E29*$E$22,$E$22 = CapEx % 向け統合列
Δ NWC,=(E29-D29)*$E$23,$E$23 = NWC % 向け統合列
レバレッジなしFCF,=E57+E58-E60-E62,E57=NOPAT E58=D&A E60=CapEx E62=Δ NWC

各統合列セルはINDEX数式を含んでいます ケースセレクタに基づいて適切なシナリオブロックから引きます。これは予測数式を清潔で監査可能に保ちます。

数式を書く前に、シナリオブロック行位置を確認し、統合列をセットアップしてください。

正しいセルコメント形式

すべてのハードコード値は次の形式が必要です:

"Source: [System/Document], [Date], [Reference], [URL if applicable]"

例:

項目,ソースコメント
株価,Source: 市場データスクリプト 2025-10-12 終値
発行済み株式数,Source: 10-K FY2024 45ページ 注記12
履歴収益,Source: 10-K FY2024 32ページ 連結計算書
ベータ,Source: 市場データスクリプト 2025-10-12 5年月次ベータ
コンセンサス推定,Source: 経営ガイダンス Q3 2024 決算説明会

正しい前提テーブル構造

重要: 各シナリオブロックは3つの構造要素が必要:

  1. セクションヘッダー行 (結合セル): 例「ベアケース前提」
  2. 年を表示する列ヘッダー行 - これは必須、スキップしないでください
  3. 前提値を持つデータ行

構造:

ベアケース前提(セクションヘッダー - 列A:Gを横切ってマージ)
前提,FY1,FY2,FY3,FY4,FY5
収益成長(%),X%,X%,X%,X%,X%
EBIT率(%),X%,X%,X%,X%,X%
ターミナル成長,X%,,,,
WACC,X%,,,,

ベースケース前提(セクションヘッダー - 列A:Gを横切ってマージ)
前提,FY1,FY2,FY3,FY4,FY5
収益成長(%),X%,X%,X%,X%,X%
EBIT率(%),X%,X%,X%,X%,X%
ターミナル成長,X%,,,,
WACC,X%,,,,

ブルケース前提(セクションヘッダー - 列A:Gを横切ってマージ)
前提,FY1,FY2,FY3,FY4,FY5
収益成長(%),X%,X%,X%,X%,X%
EBIT率(%),X%,X%,X%,X%,X%
ターミナル成長,X%,,,,
WACC,X%,,,,

予測年(FY2025E、FY2026Eなど)を表示する列ヘッダー行なしでは、ユーザーはどの前提値がどの年に対応しているかを判断できません。この行は必須です。

その後統合列を作成 (通常、右隣の次の列)ケースセレクタに基づいて選択されたシナリオブロックから引くINDEX数式を使用します。この統合列があなたの予測数式が参照するものです。

正しい行計画プロセス

1. まずすべてのヘッダーとラベルを書く:

行,コンテンツ
1,[企業名] DCFモデル
2,ティッカー | 日付 | 年度末
4,ケースセレクタ
7,重要な前提
26,前提ヘッダー
27-31,成長前提
...,...

2. すべてのセクション区切りと空白行を書く

3. その後、確定した行位置を使用して数式を書く

4. 作成直後に数式をテストする

建設のように考えてください:

  • 良い: 基礎を注ぎ、その後壁を建てる(安定した構造)
  • 悪い: 壁を建てて、その後基礎を注ぐ(壁が崩壊)

Excelバージョン:

  • 良い: ヘッダーを追加し、その後数式を書く(数式は安定)
  • 悪い: 数式を書いてからヘッダーを追加(数式が壊れる)

正しい感度テーブル実装

重要: これらはExcelの Data Table 機能ではありません。これは、openpyxlを使用して通常の数式を書く単純なグリッドです。はい、これは合計約75の数式(3テーブル × 25セルそれぞれ)を意味しますが、これは簡単で必須です。

プログラム的な数式入力:

各感度テーブルはすべて、前提の組み合わせのそれぞれについてインプライド株価を再計算する数式で入力される必要があります。ExcelのData Table機能を使用しないでください (openpyxl経由で自動化できず、手動介入が必要です)。

実装アプローチ - 具体例:

テーブル構造 — 5×5グリッド(奇数次元、ベースケース中央):

モデルのベースWACC = 9.0% およびベースターミナル成長 = 3.0%の場合、これらの値の周りに対称的に軸を構築します:

WACC vs ターミナル成長,  2.0%,  2.5%,  3.0%,  3.5%,  4.0%
              8.0%,       [fml], [fml], [fml], [fml], [fml]
              8.5%,       [fml], [fml], [fml], [fml], [fml]
              9.0%,       [fml], [fml], [★  ], [fml], [fml]   ← 中央行 = ベースWACC
              9.5%,       [fml], [fml], [fml], [fml], [fml]
             10.0%,       [fml], [fml], [fml], [fml], [fml]
                                   ↑
                          中央列 = ベースターミナルg

★ = 中央セル。 その数式出力は、モデルの実際のインプライド株価と等しくなければなりません(評価サマリーから)。これをこのセルに適用して、ベースケースが視覚的にアンカーされるようにしてください(中程度の青フィル #BDD7EE と太字フォント)。

軸値の規則: axis_values = [base - 2*step, base - step, base, base + step, base + 2*step] — ベースの周りで対称的、奇数カウントで中央を保証。

数式パターン - セルB88(WACC=8.0%、ターミナル成長=2.0%):

B88の数式は以下を使用してインプライド価格を再計算する必要があります:

  • 行ヘッダーからのWACC: $A88 (8.0%)
  • 列ヘッダーからのターミナル成長: B$87 (2.0%)

推奨アプローチ: メインのDCF計算を参照しますが、これらの値を置き換えます。

例の数式構造: =([これらの値を割引率として使用するPV FCFの合計] + [B$87を成長率として、$A88をWAACとして使用するターミナルバリュー] - [純債務]) / [シェア]

重要 - 5x5グリッドのすべてのセルに数式を書いてください(テーブルあたり25セル、合計75セル)。 openpyxlを使用してループで、これらの数式をプログラム的に書いてください。このステップをスキップしたり、プレースホルダーテキストを残さないでください。

Pythonの実装パターン:

# 感度テーブルを入力するための疑似コード
for row_idx, wacc_value in enumerate(wacc_range):
    for col_idx, term_growth_value in enumerate(term_growth_range):
        # wacc_value と term_growth_value を使用するDCF再計算の数式を構築
        formula = f"=<{wacc_value}{term_growth_value}を使用するDCF再計算>"
        ws.cell(row=start_row+row_idx, column=start_col+col_idx).value = formula

感度テーブルはモデルが開かれたとき直ちに機能する必要があり、ユーザーからの手動ステップなし。

</correct_patterns>

<common_mistakes>

このセクションはDCFモデル構築時に避けるべき間違ったパターンをすべて含んでいます。

間違い: 感度テーブルの簡略化または線形近似

線形近似を使用しないでください:

// 間違い - 線形近似
B97: =B88*(1+(0.096-0.116))    // 線形関係を仮定

// 間違い - 除算ショートカット
B105: =B88/(1+(E48-0.07))      // 完全なDCFを再計算しない

プレースホルダーテキストを残さないでください:

// 間違い - プレースホルダー注記
「注記: Excel Data Table機能(データ → What-If分析 → Data Table)を使用して感度テーブルを入力してください。」

// 間違い - 空のセル
[「これは複雑だから」という理由でセルを空のままにする]

用語を混同しないでください:

  • ❌ 「感度テーブルはExcelのData Table機能が必要」 (いいえ - それは使用できない特定のExcelツール)
  • ✅ 「感度テーブルは各セルに数式を持つ単純なグリッド」 (はい - これが構築するものです)

これらのショートカットが間違っている理由:

  • 線形近似数式は実際にはDCFを再計算しません — 単に単純な数学調整を適用するだけ
  • 関係は線形ではないため、結果は不正確です
  • プレースホルダーテキストはユーザーからの手動介入が必要
  • モデルは配信時すぐに使用可能ではありません
  • プロフェッショナルでもクライアント対応でもありません
  • 空のセル = 不完全な納品物

一般的な正当化を拒否: 「75以上の数式を書くのは複雑に感じるので、ユーザーが手動で完成させるメモを残します。」

現実: 75の数式の書き込みはPythonでopenpyxlを使用するループを使用するとき簡単です。各数式は同じパターンに従います — 単に行/列値を置き換えます。これは納品物の必須部分です。

代わりに: 前提の特定の組み合わせのそれぞれについて完全なDCFを再計算する数式で全感度セルを入力してください

間違い: セルコメント欠落

これをしないでください:

  • すべてのハードコード入力をコメントなしで作成
  • 「後で追加する」と思う
  • 「TODO: ソース追加」と書く
  • 青入力をドキュメント化なしで残す

なぜ間違いか:

  • データの出所を検証できない
  • xlsxスキル要件に失敗
  • 監査対応にならない
  • 後で修正に時間が無駄

代わりに: 各ハードコード値が作成されるたびにセルコメントを追加してください

間違い: 数式行参照がオフ

症状: FCFセクションが間違った前提行を参照: D&A: =E29*$E$34 // $E$21であるべきだが、間違った行を参照 CapEx: =E29*$E$41 // $E$22であるべきだが、行がシフト

なぜこれが起こるか:

  1. 数式が最初に書かれる
  2. その後ヘッダーが挿入される
  3. すべての行参照がシフト
  4. 今、数式は間違ったセルを指す → #REF! エラー

代わりに: 数式を書く前にレイアウト行をロックしてください

間違い: シナリオ間での単一行前提

前提をこのように構造化しないでください:

前提,ベア,ベース,ブル
FY1収益成長,10%,13%,16%
FY2収益成長,9%,12%,15%

このレイアウトは、各シナリオ内の年を横切った前提の進捗を見るのが難しくします。

なぜ間違いか:

  • 各シナリオ内の年全体を横切った前提の進化を見るのは難しい
  • シナリオ全体でシナリオ前提を比較するのが難しい
  • 各シナリオのロジック確認が直感的でない

代わりに:

  • 各シナリオ向けに個別ブロックを作成(ベア、ベース、ブル)
  • 各ブロック内で、予測年全体の前提を横に表示
  • これにより、各シナリオの前提を一貫したセットとして確認しやすくなります

間違い: 枠線なし

枠線のないモデルを納品しないでください:

  • セクション区切りなし
  • すべてのセルが融合
  • 読みにくく、プロフェッショナルでない

なぜ間違いか:

  • クライアント対応ではない
  • ナビゲートが困難
  • アマチュアに見える

代わりに: 全主要セクション周辺に枠線を追加してください

間違い: 間違ったフォント色またはフォント色区別なし

これをしないでください:

  • すべてのテキストは黒
  • 枠線色のみを使用(フォント色変更なし)
  • 青と黒セルを混ぜる

なぜ間違いか:

  • 入力と数式を区別できない
  • 監査が不可能になる
  • xlsxスキル要件に違反

代わりに: 全ハードコード入力は青テキスト、全数式は黒テキスト、シートリンクは緑テキスト

間違い: 売上総利益に基づく営業費

これをしないでください: 営業・マーケティング: =E33*0.15 // E33 = 売上総利益(間違い)

なぜ間違いか:

  • 営業費は売上総利益ではなく収益とともにスケール
  • 非現実的なマージン進捗を生成
  • 企業がどのように実際に動作するかではない

代わりに: 営業・マーケティング: =E29*0.15 // E29 = 収益(正しい)

トップ5エラーサマリー

  1. 数式行参照がオフ → 数式を書く前に全行位置を定義
  2. セルコメント欠落 → コメントを作成時に追加、終わりではなく
  3. 感度テーブル簡略化 → すべてのセルを近似ではなく完全なDCF再計算数式で入力
  4. シナリオブロック参照が間違い → IF数式が正しいベア/ベース/ブルブロックから引くことを確認
  5. 枠線なし → クライアント対応の外観のため、プロフェッショナルなセクション枠線を追加

さらに、これらのエラーに注意してください:

WACC計算エラー

  • 資本構成で簿価と時価を混ぜる
  • エクイティベータの代わりに資産/レバレッジなしベータを誤って使用
  • 債務コストへの間違った税率適用
  • 間違ったリスクフリーレート(現在の10年国債を使用する必要)
  • 純債務vs純キャッシュポジション調整の失敗

成長前提の欠陥

  • ターミナル成長 > WACC (無限価値を作成)
  • 予測成長率が履歴パフォーマンスと矛盾
  • 業界成長制約を無視
  • 収益成長とユニットエコノミクス未調整
  • 営業正当化なしのマージン拡大

ターミナルバリューの間違い

  • 間違った成長方法(永続 vs 終値マルチプル)
  • ターミナルバリュー > エンタープライズバリューの80% (ターミナル前提に過度に依存を示唆)
  • 定常状態前提と矛盾するターミナルマージン
  • ターミナルバリューの間違った割引期間

キャッシュフロー予測エラー

  • 収益ではなく売上総利益に基づく営業費
  • D&A/CapExパーセンテージがビジネスモデルと未調整
  • 運転資本変化を不適切に計算
  • 年全体の税率矛盾
  • NOPAT計算エラー

これらのエラーが最も一般的です。DCF構築を始める前に、このセクションを再度読んでください。

</common_mistakes>

Excelファイル作成

このスキルはすべてのスプレッドシート操作に xlsx スキルを使用します。 xlsxスキルは以下を提供:

  • 標準化された数式構築ルール
  • 数値フォーマット規約
  • recalc.py スクリプト経由の自動数式再計算
  • 包括的なエラーチェックと検証

このスキルで作成されたすべてのExcelファイルはxlsxスキル要件に従う必要があり、ゼロ数式エラーと適切な再計算を含みます。

品質ルーブリック

すべてのDCFモデルは以下を最大化する必要があります:

  1. 現実的な収益とマージン前提 履歴パフォーマンスに基づく
  2. 適切な資本コスト計算 適切なCAPM手法で
  3. 包括的な感度分析 評価範囲を表示
  4. 明確なターミナルバリュー計算 サポーティング根拠付き
  5. プロフェッショナルなモデル構造 シナリオ分析を可能にする
  6. 透明なドキュメント すべての重要な前提

入力要件

最小必須入力

  1. 企業識別子: ティッカーシンボルまたは企業名
  2. 成長前提: 予測期間の収益成長率(または「コンセンサス使用」)
  3. オプションパラメーター:
    • 予測期間(デフォルト: 5年)
    • シナリオケース(ベア/ベース/ブル成長とマージン前提)
    • ターミナル成長率(デフォルト: 2.5-3.0%)
    • CAPMを使用しない場合は特定のWACC入力

Excelモデル構造

シート設計

2つのシートを作成:

  1. DCF - メイン評価モデル、下部に感度分析
  2. WACC - 資本コスト計算

重要: 感度テーブルはDCFシートの下部に配置します(別シートではなく)。これはすべての評価出力を一緒に保ちます。

数式の再計算(必須)

Excelモデルを作成または変更した後、xlsxスキルのrecalc.pyスクリプトを使用してすべての数式を再計算してください:

python recalc.py [path_to_excel_file] [timeout_seconds]

例:

python recalc.py AAPL_DCF_Model_2025-10-12.xlsx 30

スクリプトは:

  • LibreOfficeを使用してすべてのシートのすべての数式を再計算
  • 全セルのExcelエラーをスキャン (#REF!, #DIV/0!, #VALUE!, #NAME?, #NULL!, #NUM!, #N/A)
  • エラー位置とカウントの詳細なJSONを返す

期待出力形式:

{
  "status": "success",           // または "errors_found"
  "total_errors": 0,              // 合計エラーカウント
  "total_formulas": 42,           // ファイル内の数式数
  "error_summary": {}             // エラーが見つかった場合のみ存在
}

エラーが見つかった場合、出力には詳細が含まれます:

{
  "status": "errors_found",
  "total_errors": 2,
  "total_formulas": 42,
  "error_summary": {
    "#REF!": {
      "count": 2,
      "locations": ["DCF!B25", "DCF!C25"]
    }
  }
}

すべてのエラーを修正 してから、モデルを納品する前にステータスが「success」になるまでrecalc.pyを再実行してください。

フォーマット標準

重要: 数式構築ルールと数値フォーマット規約についてはxlsxスキルに従ってください。DCFスキルは特定の視覚的プレゼンテーション標準を追加します。

配色 - 2つのレイヤー:

レイヤー1: フォント色(xlsxスキルから必須)

  • 青テキスト (RGB: 0,0,255): すべてのハードコード入力(株価、シェア、履歴データ、前提)
  • 黒テキスト (RGB: 0,0,0): すべての数式と計算
  • 緑テキスト (RGB: 0,128,0): 他のシートへのリンク(WACCシート参照)

レイヤー2: フィル色 — プロフェッショナルな青/グレーパレット(ユーザー指定がない限りデフォルト)

  • 最小限に保つ — フィル向けに青とグレーのみを使用。緑、黄色、オレンジ、または複数のアクセント色を導入しないでください。色が多すぎるモデルはアマチュアに見えます。
  • デフォルトフィルパレット:
    • セクションヘッダー: ダークブルー(RGB: 31,78,121 / #1F4E79)背景に白太字テキスト
    • サブヘッダー/列ヘッダー: ライトブルー(RGB: 217,225,242 / #D9E1F2)背景に黒太字テキスト
    • 入力セル: ライトグレー(RGB: 242,242,242 / #F2F2F2)背景に青フォント — または最大限の極小主義のため、白背景に青フォント
    • 計算セル: 白背景に黒フォント
    • 出力/サマリー行(1株当たり価値、EVなど): 中程度のブルー(RGB: 189,215,238 / #BDD7EE)背景に黒太字フォント
  • これだけです — 3ブルー + 1グレー + 白。 追加する衝動を抵抗してください。
  • ユーザー提供テンプレートまたは明示的な色設定は常にこれらのデフォルトをオーバーライドします。

レイヤーの動作:

  • 入力セル: 青フォント + ライトグレーフィル = 「ハードコード入力」
  • 数式セル: 黒フォント + 白背景 = 「計算値」
  • シートリンク: 緑フォント + 白背景 = 「他のシートからの参照」
  • 重要出力: 黒太字フォント + 中程度のブルーフィル = 「これが答え」

フォント色は何か(入力/数式/リンク)を教えます。フィル色はどこか(ヘッダー/データ/出力)を教えます。

枠線標準(プロフェッショナルな外観向け必須)

太い枠線 (1.5pt) 全主要セクション周辺:

  • 重要な入力セクション
  • 予測前提セクション
  • 5年キャッシュフロー予測セクション
  • ターミナルバリューセクション
  • 評価サマリーセクション
  • 各感度分析テーブル

中型枠線 (1pt) サブセクション間:

  • 企業詳細 vs 履歴パフォーマンス
  • 成長前提 vs EBIT率 vs FCFパラメーター

細い枠線 (0.5pt) データテーブル周辺:

  • シナリオ前提テーブル(ベア | ベース | ブル | 選択)
  • 履歴 vs 予測財務マトリックス

枠線なし: テーブル内の個別セル(清潔で走査可能に保つ)

枠線は必須です — プロフェッショナルな枠線のないモデルはクライアント対応ではありません。

数値フォーマット (xlsxスキル標準に従う):

  • : テキスト文字列として形式化(例:「2024」ではなく「2024」)
  • パーセンテージ: 0.0% (小数点1位)
  • 通貨: 百万向け$#,##0 ; 1株当たり向け$#,##0.00 - 常にヘッダーにユニットを指定(「収益($百万)」)
  • ゼロ: 数値フォーマットを使用してすべてのゼロを「-」にしてください(例:$#,##0;($#,##0);-
  • 大きい数: 千位区切り付き #,##0
  • 負数: 括弧内 (#,##0) (マイナス記号ではなく)

セルコメント(全ハードコード入力向け必須):

xlsxスキルごと、全ハードコード値はソースを記録するセルコメントを持つ必要があります。形式: 「Source: [System/Document], [Date], [Reference], [URL if applicable]」

重要: セルが作成されるたびにコメントを追加。終わりに遅延しないでください。

DCFシート詳細構造

セクション1: ヘッダー

行,コンテンツ
1,[企業名] DCFモデル
2,ティッカー: [XXX] | 日付: [日付] | 年度末: [FYE]
3,空白
4,ケースセレクタセル(1=ベア 2=ベース 3=ブル)
5,ケース名表示(数式: =IF([セレクタ]=1"ベア"IF([セレクタ]=2"ベース""ブル")))

セクション2: 市場データ(ケース依存ではない)

項目,値
現在の株価,$XX.XX
発行済み株式数(

ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
anthropics
リポジトリ
anthropics/financial-services-plugins
ライセンス
Apache-2.0
最終更新
不明

Source: https://github.com/anthropics/financial-services-plugins / ライセンス: Apache-2.0

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: anthropics · anthropics/financial-services-plugins · ライセンス: Apache-2.0