🎓 レベル:標準 | 重要度:A(必須)
📎 前提:二次計画(QP) | 関連:リスクを織り込む最適化(CVaR最小化)
要点(BLUF)
- マーコウィッツの 平均分散モデル:リスク(分散)を最小化しつつ目標リターンを満たす配分を選ぶ。
- 分散は共分散行列による 二次形式なので、これは凸 二次計画(QP)(二次計画(QP))。
- 目標リターンを動かすと、リスクとリターンの最良トレードオフ曲線 有効フロンティアが描ける。
- 数理(QP)はここ、深い適用(実際の資産運用)は 金融工学(finance) へ wikilink。
概念 ── リスクとリターンのトレードオフ
資産を配分するとき、期待リターンは高いほど良いが、リスク(ばらつき)は低いほど良い。両者は普通トレードオフ。マーコウィッツ(1952)は、リスクを 収益率の分散で測り、最適化問題として定式化した ── 現代ポートフォリオ理論の出発点。
平均分散モデル(QP)
資産 個、期待リターン 、共分散行列 (半正定値)。配分 (合計1、空売りなしなら )。目標リターン 以上でリスク最小:
目的 がポートフォリオの分散(リスク)。 なので 凸 QP(二次計画(QP))── 大域最適が効率的に解ける。分散投資の効果(相関の低い資産を混ぜるとリスクが下がる)が、共分散の非対角項を通じて自然に表れる。
有効フロンティア
目標リターン を変えて解くと、各 に対し最小リスクが定まる。 平面にプロットした 有効フロンティアは、「そのリターンで取り得る最小リスク」の境界。フロンティア上の点は パレート最適(どちらも改善できない)で、投資家はリスク選好に応じてこの曲線上から選ぶ。
graph LR A["各目標リターン r で 分散最小QPを解く"] --> B["(リスク, リターン)の点が定まる"] B --> C["rを動かして点を集める"] C --> D["有効フロンティア(最良トレードオフ曲線)"]
Pythonで分散最小ポートフォリオ
3資産、期待リターン 、共分散 、目標リターン 0.10 以上で分散最小化。
import numpy as np
import cvxpy as cp
mu = np.array([0.08, 0.10, 0.12]) # 期待リターン
Sigma = np.array([[0.02, 0.005, 0.01], # 共分散行列(半正定値)
[0.005, 0.04, 0.02],
[0.01, 0.02, 0.09]])
target = 0.10
w = cp.Variable(3, nonneg=True) # 配分(空売りなし)
prob = cp.Problem(cp.Minimize(cp.quad_form(w, Sigma)),
[cp.sum(w) == 1, mu @ w >= target])
prob.solve()
print(f"最適配分 w = {np.round(w.value, 3)}")
print(f"ポートフォリオ分散(リスク) = {prob.value:.5f}")
print(f"実現リターン = {mu @ w.value:.4f}")
実行結果:
最適配分 w = [0.289 0.421 0.289]
ポートフォリオ分散(リスク) = 0.02408
実現リターン = 0.1000
目標リターン 0.10 をちょうど満たしつつ、分散 0.0241 を最小化する配分は 。3資産に分散することで、単一資産より低リスクで目標リターンを達成している(分散投資効果)。目標リターンを上げると高リターン資産(資産2)の比率が増え、リスクも上がる ── これを連ねたのが有効フロンティア。リスク尺度を分散でなくテール(CVaR)にすると リスクを織り込む最適化(CVaR最小化) の定式化になる。
数理はここ、適用は finance へ
ポートフォリオ最適化の 数理(QP としての定式化・凸性・解法)はここで扱う。だが実際の資産運用 ── リターン推定の難しさ、取引コスト、レバレッジ、ファクターモデル、動的リバランス ── の深い議論は 金融工学(finance) の領域。共分散行列の推定誤差に対する頑健化はロバスト最適化(ロバスト最適化)、テールリスク管理は CVaR(リスクを織り込む最適化(CVaR最小化))へ繋がる。
数式の直観的意味
平均分散モデルが凸 QP になる鍵は、リスクを 分散(二次形式 ) で測ったこと。共分散行列 は必ず半正定値(二次計画(QP))なので目的が凸で、線形制約(予算・目標リターン)の凸領域と合わせて、大域最適が保証される。非対角項(資産間の共分散)が分散投資効果を担う:相関の低い(または負の)資産を混ぜると が個別分散の加重和より小さくなる ── 「卵を1つの籠に盛るな」の数理的表現。最適性条件(最適性条件の地図)を書くと、最適ポートフォリオでは各資産の 限界リスク寄与がリターン寄与に比例する(ラグランジュ乗数が価格)。有効フロンティアは、目標リターン制約のラグランジュ乗数(影の価格、感度分析)を動かして得られるパレート最適曲線で、リスクとリターンの交換レートを表す。
⚠️ よくある誤解・落とし穴
- 共分散行列の推定誤差:・ の推定が不正確だと最適解が過敏に動く。ロバスト化・縮小推定が要る。
- 空売り可否で解が変わる:(空売りなし)か自由か。制約次第で配分が大きく変わる。
- 分散はリスクの一面:左右対称な分散は、下方リスク(損失側)だけを嫌う投資家には不十分。CVaR や半分散を使う。
- 取引コスト・整数株数を入れると MILP になり、QP の素直さが失われる(定式化の技法)。
関連ノート
- 前提:二次計画(QP)
- テールリスク版:リスクを織り込む最適化(CVaR最小化)
- 推定誤差への頑健化:ロバスト最適化
- ツール:実装ツールの使い分け
- 章のハブ:応用とモデリング 章目次