Posts
read more
シャープレシオを最大化するポートフォリオ最適化
はじめに
前回はランダムなポートフォリオを生成して効率的フロンティアを描きました。
今回は数理最適化を使って、シャープレシオを最大化する最適な資産配分を計算します。
シャープレシオとは?
シャープレシオは、リスク調整後リターンを表す指標です:
$$Sharpe = \frac{R_p - R_f}{\sigma_p}$$ここで:
- $R_p$ = ポートフォリオの期待リターン
- $R_f$ = 無リスク金利
- $\sigma_p$ = ポートフォリオの標準偏差(リスク)
目標: シャープレシオを最大化するウェイト $w$ を求める
最適化の定式化
制約条件
- ウェイトの合計 = 1: $\sum w_i = 1$
- 各銘柄のウェイト ≥ 0(空売りなし): $w_i \geq 0$
最適化問題
$$\max_w \frac{R_p - R_f}{\sigma_p}$$$$subject\ to: \sum w_i = 1, w_i \geq 0$$Pythonでの実装
ライブラリ準備
| |
ポートフォリオ計算関数
| |
最適化の実行
| |
効率的フロンティアとの比較
| |
最小リスクポートフォリオ
| |
目標リターンに対する最適ポートフォリオ
| |
まとめ
最適化のポイント: