レベル: 実践 / 読了目安: 約30分 / 前提知識: 期待値と分散の基礎、平方根計算。プログラミング不要(概念と検算中心)。
学習目標
- 一元・二元感度表で価値に一番効く変数を特定できる
- モンテカルロの期待値・標準偏差・標準誤差を手計算で検算できる
- seed固定による再現性と無効試行の開示が監査要件であることを説明できる
理論の起源
P. Glasserman, Monte Carlo Methods in Financial Engineering, Springer, 2003。金融工学におけるモンテカルロの標準的な理論書。S. Benninga, Financial Modeling, 4th ed., MIT Press, 2014 も表計算での実装例を多数含む。
本文
感度分析: 一つずつノブを回す
感度分析は、入力を一つ(または二つ)動かしたとき価値がどう動くかを見る最も基本的な不確実性の道具である。一元感度表(変数を±X%)と二元感度表(二変数の組み合わせ)を作り、価値を一番動かす変数を特定する。これが「どの仮定を一番疑うべきか」の優先順位を与える。変数ごとの価値変化幅をソートした龍巻図にまとめると伝達力が上がる。
注意点は、変数間の相関を無視した個別摂動は「あり得ない組み合わせ」も含むこと(例: ASPが急落しながら出荷量も急増する組合せ)。感度分析は局所的な構造把握の道具であり、シナリオ分析やモンテカルロの代替ではない。
モンテカルロ: 分布から分布へ
モンテカルロ法は、入力を確率分布として与え、乱数で多数の試行を起こし、価値の分布そのものを得る方法である。手順は、①入力分布の設定(正規・三角・離散シナリオなど)、②乱数生成とモデル評価の反復、③出力分布の要約(平均、パーセンタイルP5/P95)である。
離散シナリオのサンプリングには逆関数法を使う。成功(確率60%)でCF150、失敗(40%)でCF50という二状態なら、一様乱数 u∈[0,1) を引き、u<0.6なら150、u≥0.6なら50とする。
検算。期待値は 0.6×150 + 0.4×50 = 110。標準偏差は二状態間隔100 × √(0.6×0.4) = 100 × 0.4899 ≈ 48.99。10,000試行なら標本平均の標準誤差は 48.99 / √10000 = 48.99/100 ≈ 0.49 となり、平均は約±1で推定できる。試行数を100倍にすると精度は10倍になる(平方根則)。この「精度が試行数の平方根でしか上がらない」性質こそ、モンテカルロのコスト構造である。
seedの固定と再現性
乱数はseed(種)で制御する。同じseedなら同一の乱数列が再生され、第三者が同じコードを実行すれば完全に同じ分布が再現される。これは監査可能性の要である。seedを固定せず「実行のたびに結果が変わる」シミュレーションは、レビューも反証もできない。報告時には必ずseed値・試行数・乱数生成器(アルゴリズム名)を明記する。さらにseedを変えた複数回実行で結論が覆れないことも確認する(seed依存の偶然に乗っていないかのチェック)。
無効試行を隠さない
モンテカルロ最大の倫理的罠が都合の悪い試行の除外である。「NPVが負になった試行は入力ミスかもしれないので除外した」「極端な下振れは非現実的として刈り込んだ」——こうした操作は分布を人工的に美化しリスクを消し去る。除外基準は実行前に定義し、除外した試行数と理由を報告書に明記する。無効試行(モデル発散・入力域逸脱など機械的に不適格なもの)と単に都合の悪い結果は厳密に区別する。
数値例。前述の二状態シミュレーションで、失敗時CF50の試行を「非現実的」として除外すると、平均は110から150へ跳ね上がる。確率40%の世界を消したに等しい。P5のような下方パーセンタイルを使う目的がまさに下振れの可視化である以上、下振れを刈り込むのは本末転倒である。
出力の読み方
出力は一点ではなく分布として読む。P5(悲観)、中央値、P95(楽観)、そして「現在価値を下回る確率」。歪んだ分布では平均は代表値にならない(右裾が長ければ平均>中央値)。報告にはヒストグラムか累積分布を添える。また出力分布の形自体が入力分布の選択に強く依存するため、「入力分布を正規から三角に替えたらP5がどう動くか」まで確認できれば監査可能な水準である。
メリットとデメリット
メリットは、非線形モデルでも分布を伝播できること、相関構造を組み込めること、結果が「レンジと確度」の形で伝わることである。デメリットは、入力分布の設定自体が巨大な仮定であること(garbage in, garbage out)、乱数誤差の説明が面倒なこと、精緻さの演出で誤った自信を生みやすいことである。
適用条件・非適用条件
適するは入力の不確実性が大きく非線形相互作用のあるプロジェクト評価やポートフォリオ分析。非適用は入力分布をまともに設定できない対象(シナリオ分析で十分)、そして分布の出力だけが必要で構造理解が不要な場面ではない(むしろ感度分析と併用が基本)。
本サイトの思想との接続
seed固定・無効試行の開示は「監査可能な不確実性」の最低ラインである。分布が出た瞬間こそ、監査者は「どの分布を仮定したのか、その根拠は何か」を問う。モンテカルロは未来を予知する道具ではなく、仮定の関数を分布として表示する道具である。
変数辞書
| 変数 | 意味 |
|---|---|
| 一元感度 | 入力1つを±X%動かしたときの価値変化 |
| 龍巻図 | 変数ごとの価値影響幅をソートした棒グラフ |
| E[X] | 期待値。離散分布では確率加重和 |
| σ | 標準偏差。二状態では区間×√(pq) |
| SE | 標準誤差 σ/√N。標本平均のばらつき |
| seed | 乱数列を決める種。固定すれば再現可能 |
推定方法
入力分布は過去データ(履歴ボラティリティ、マージン分布)または業界データから設定し、根拠を明記する。試行数はSEが許容幅以下になるよう平方根則から決める。相関行列がある場合はコレスキー分解等でサンプリングする。
数値例
二状態(成功60%/CF150、失敗40%/CF50): E=110、σ=100√0.24≈48.99、10,000試行で SE≈0.49。seedを固定すれば誰でも同じヒストグラムが再現される。失敗試行を除外すると平均が110→150に跳ねる。
反例
1万回のシミュレーションのうちNPVが負になった4,000回を「外れ値」として削除し、「平均NPV+20%、P95+80%」とだけ報告する使い方。分布の半分近い情報を消したに等しく、リスク指標として無効である。
利点/欠点
- 利点: 非線形モデルでも分布を伝播できる
- 利点: 相関構造を組み込める
- 利点: レンジと確度の形で結果を伝えられる
- 欠点: 入力分布設定自体が巨大な仮定
- 欠点: 乱数誤差の説明が面倒
- 欠点: 精緻な見た目が誤った自信を生む
適用条件・非適用条件
適用できる場面: プロジェクト評価、ポートフォリオ分析、需給・価格が大きく動くサイクル事業の下振れ分析。
適用できない場面: 入力分布を設定できない対象、一点推定で意思決定が済む場面、データゼロで確率づけが純粋な思いつきしかできない場合。
本サイト入力との対応
簡易ツールの「感度表生成」「モンテカルロ実行(seed入力欄付き)」機能と、無効試行数の常時表示の解説に対応する。
精度の読み方
10,000試行でも平均は±1程度ぶれる。P5などの裾はさらに不安定(数千試行で±数ポイント)。パーセンタイルは整数桁まで、確率は%の一桁までで読む。seedを変えたときの幅こそ真の不確実性の目安である。
よくある誤り
- seedを明記せず再現不能なシミュレーションを報告する
- 都合の悪い試行を後から除外基準なしに削る
- 感度分析をせず分布の出力だけで議論を終える
技術付録
二項分散 √(pq) の導出: 二状態X∈{a,b}、P(X=a)=p のとき Var = p(1−p)(b−a)^2。よってSD = (b−a)√(p(1−p))。また逆関数法は連続分布にも使え、累積分布Fの逆関数に一様乱数を通すことで任意の分布をサンプリングできる。
一次資料
- P. Glasserman, Monte Carlo Methods in Financial Engineering, Springer, 2003
- S. Benninga, Financial Modeling, 4th ed., MIT Press, 2014
章末要約
- 感度表で一番効く変数を特定してからモンテカルロに進む
- E=110、σ≈49、SE=σ/√N。精度は試行数の平方根でしか上がらない
- seed固定で再現可能にし、無効試行は事前基準とともに開示する
理解度クイズ
未回答の設問があります(0/3問回答済み)。