「すべての卵を一つのカゴに入れるな—しかし、それぞれのカゴに正確にいくつ入れるかを計算せよ。」
コアアイデア
問題: N個の資産が与えられた時、リターンを最大化しリスクを最小化するために、どのように資本を配分するか?
Markowitzの洞察: リターンは加重平均できるが、リスクは単純に加算的ではない—相関が分散投資の効果を決定する。
基本数学
ポートフォリオリターン
期待ポートフォリオリターン = Sum(wi x mui)
ここで:
wi = 資産iのウェイト
mui = 資産iの期待リターン
例: 2つの資産
AAPL: ウェイト60%、期待リターン12%
MSFT: ウェイト40%、期待リターン10%
期待ポートフォリオリターン = 0.6 x 12% + 0.4 x 10% = 11.2%
ポートフォリオリスク
ポートフォリオ分散 = Sum_i Sum_j (wi x wj x sigma_ij)
ここで:
sigma_ij = 資産iとjの共分散
sigma_ii = 資産iの分散
2資産の簡略形:
sigma_p^2 = w1^2*sigma1^2 + w2^2*sigma2^2 + 2*w1*w2*rho*sigma1*sigma2
ここで:
rho = 2資産間の相関係数
相関の力
例: 2つの資産、各50%ウェイト
- 資産A: ボラティリティ20%
- 資産B: ボラティリティ20%
| 相関rho | ポートフォリオボラティリティ | 分散投資効果 |
|---|---|---|
| +1.0 | 20.0% | なし |
| +0.5 | 17.3% | 13.5%削減 |
| 0.0 | 14.1% | 29.5%削減 |
| -0.5 | 10.0% | 50%削減 |
| -1.0 | 0% | 完全ヘッジ |
重要な洞察: 相関が低いほど、分散投資効果が高い。
効率的フロンティア
定義: 与えられたリスクレベルで最高の期待リターンを達成するポートフォリオの集合。
リターン
| *------- 最高リターンポイント
| ***
| ***
| *** <- 効率的フロンティア
| ***
| ***
| ***------------- 最小分散ポイント
|
+--------------------> リスク
効率的フロンティアより下のポイントは「非効率」:
同じリスクでより高いリターンを達成可能
効率的フロンティアの計算
最適化問題:
最大化: ポートフォリオリターン = w'mu
制約条件:
1. ポートフォリオリスク = sqrt(w'Sigma*w) <= sigma_target
2. Sum(wi) = 1 (ウェイトの合計が1)
3. wi >= 0 (オプション: 空売りなし)
実践的計算例
3資産ポートフォリオ: AAPL、MSFT、GOOGL
入力データ:
期待リターン(年率換算):
AAPL: 15%
MSFT: 12%
GOOGL: 18%
ボラティリティ(年率換算):
AAPL: 25%
MSFT: 20%
GOOGL: 30%
相関マトリクス:
AAPL MSFT GOOGL
AAPL 1.0 0.7 0.6
MSFT 0.7 1.0 0.5
GOOGL 0.6 0.5 1.0
最小分散ポートフォリオ:
ウェイト: AAPL 25%、MSFT 55%、GOOGL 20%
リターン: 13.5%
ボラティリティ: 17.2%
最大シャープポートフォリオ(リスクフリーレート2%と仮定):
ウェイト: AAPL 30%、MSFT 30%、GOOGL 40%
リターン: 15.6%
ボラティリティ: 20.1%
シャープ: 0.68
一般的な最適化目的
| 目的 | 最適化関数 | 特徴 |
|---|---|---|
| 最小分散 | min w'Sigma*w | 最も保守的、最低ボラティリティ |
| 最大シャープ | max (w'mu - rf) / sqrt(w'Sigma*w) | 最高のリスク調整後リターン |
| 目標リターン | min w'Sigma*w s.t. w'mu = target | 目標リターンの最小リスク |
| Risk Parity | 各資産からの等しいリスク寄与 | よりバランスの取れたリスク配分 |
| 最大分散投資 | max Sum(wisigma_i) / sqrt(w'Sigmaw) | 分散投資効果を最大化 |
実世界の実装問題
問題1: 推定誤差
理論的要件: 正確な期待リターンと共分散行列
現実: 過去データから推定され、大きな誤差を持つ
推定誤差の影響:
リターン推定誤差 → 大きなウェイト変動
- 過去5年のAAPLリターン18%
- しかし将来は10%または25%の可能性
- 小さなリターン予測の変化 → 劇的なウェイト変化
共分散推定誤差 → 不安定な相関
- 通常期間: AAPL-MSFT相関0.6
- 危機期間: 相関が0.9に急上昇
- 分散投資効果が消失
問題2: 極端なウェイト
制約のない最適化はしばしば極端な結果を生む:
理論的最適:
資産A: +250%(ロング)
資産B: -150%(ショート)
問題点:
- 高いレバレッジリスク
- 空売りコスト
- 流動性制約
解決策: 制約を追加
一般的な制約:
- 0 <= wi <= 30%(単一資産上限)
- Sum(wi) = 1(完全投資)
- wi >= 0(空売りなし)
問題3: 高い回転率
最適化結果は入力に敏感で、再最適化のたびに大きなリバランスが発生する可能性:
今月最適: AAPL 40%、MSFT 30%、GOOGL 30%
来月最適: AAPL 20%、MSFT 50%、GOOGL 30%
回転率: |40-20| + |30-50| + |30-30| = 40%
コスト: 40% x 0.2% x 2 = 0.16%
年率換算コストは超過リターンのほとんどを消費する可能性
解決策:
1. 回転率ペナルティ: 目的関数 - lambda x 回転率
2. 偏差が閾値を超えた場合のみリバランス
3. より安定した推定方法を使用
改善方法
1. 縮小推定
サンプル推定をより安定した事前分布に「縮小」:
縮小共分散 = alpha x サンプル共分散 + (1-alpha) x 構造化推定
一般的な構造化推定:
- 対角行列(無相関を仮定)
- 単一ファクターモデル
- 等相関モデル
2. Black-Littermanモデル
市場均衡と主観的見解を組み合わせる:
入力:
1. 市場均衡リターン(時価総額ウェイトから暗示)
2. 投資家の見解(例: 「AAPLはMSFTを3%アウトパフォームすると信じる」)
3. 見解の信頼度レベル
出力:
調整済み期待リターン → より安定したウェイト
3. Risk Parity
リターンを予測せず、リスク寄与をバランス:
目標: 各資産がポートフォリオリスクに等しく寄与
3資産例:
総リスク = 15%
各資産寄与 = 5%
結果: 低ボラティリティ資産は高ウェイト、高ボラティリティ資産は低ウェイト
Multi-Agent視点
Multi-agentアーキテクチャでは、ポートフォリオ最適化を以下のように適用可能:
Signal Agent(複数)
|
+-- Agent A: AAPL期待リターンを出力
+-- Agent B: MSFT期待リターンを出力
+-- Agent C: GOOGL期待リターンを出力
|
v
Portfolio Agent(最適化)
|
+-- 入力: 各Agentからのリターン予測
+-- 共分散行列を推定
+-- 平均分散最適化を実行
+-- 出力: 目標ウェイト
|
v
Risk Agent
|
+-- ウェイトがリスク制限に違反していないか確認
+-- 回転率が高すぎないか確認
+-- 提案されたウェイトを調整または拒否
一般的な誤解
誤解1: 過去最適なポートフォリオは将来も最適
間違い。最適化は完璧なオーバーフィッティングツール:
- 過去データのノイズに過度に依存
- 過去の相関は変化する可能性
- 期待リターン推定は信頼性が低い
誤解2: 資産が多いほど分散投資が良い
上限がある。限界便益は減少:
資産数 vs 分散投資効果:
2 -> 10: 大幅なリスク削減
10 -> 30: 中程度の効果
30 -> 100: 限定的な効果、複雑さ増加
誤解3: 共分散行列は安定している
危険な仮定。共分散はレジーム間で劇的に変化:
- 通常期間: 分散投資が機能
- 危機期間: 相関が1に近づき、分散投資が失敗
実践的推奨
1. シンプルから始める
開始の選択肢:
- 等ウェイト(1/N): 堅牢、推定不要
- Risk parity: リターン予測不要
- 最小分散: 共分散推定のみ必要
2. 合理的な制約を追加
推奨制約:
- 単一資産ウェイト <= 30%
- 空売りなし(明確な空売り戦略がない限り)
- 回転率ペナルティ
3. 定期的にリバランス
リバランス戦略:
- 固定期間: 月次/四半期
- 閾値トリガー: 目標ウェイトからの偏差が5%超
- 組み合わせ: 閾値トリガー + 最小間隔
まとめ
| 重要ポイント | 説明 |
|---|---|
| コアアイデア | 低相関資産を通じてリスクを分散 |
| 基本公式 | ポートフォリオ分散 = w'Sigma*w |
| 主要課題 | 推定誤差、極端なウェイト、回転率コスト |
| 改善方法 | 縮小推定、Black-Litterman、risk parity |
| 実践的アドバイス | 制約を追加、シンプルから始める |