ポートフォリオ最適化問題
( ChatGPT-4 による説明を更新したものです。)
ポートフォリオ最適化:数理最適化モデル
目次
1. ポートフォリオ理論の概要
2. ポートフォリオ最適化問題の定義
3. ポートフォリオのリスクとリターン
4. 数理最適化モデルの適用
5. ポートフォリオ最適化の例
6. 要約と結論
7. 参考文献
---
1. ポートフォリオ理論の概要
- ハリー・マークウィッツのモダンポートフォリオ理論(MPT)の紹介。
ハリー・マークウィッツが提案した投資理論。
投資家は期待リターンを最大化し、リスク(分散)を最小化するポートフォリオを選択するという前提。
- リスク(分散)とリターン(期待収益)のトレードオフ。
各投資の期待リターン($ E[R_i])とその投資に割り当てる比率($w_i$)を用いて、ポートフォリオ全体の期待リターン($ E[R])を計算します。
$ E[R] $ = \sum_{i=1}^{n} w_i E[R_i]
- 各投資の分散($ \sigma_i^2)とその投資に割り当てる比率($ w_i)、投資間の共分散($ Cov[R_i, R_j])を用いて、ポートフォリオ全体のリスク(分散、$ \sigma_p^2 )を計算します。
$ \sigma_p^2 = \sum_{i=1}^{n} w_i^2 \sigma_i^2 + \sum_{i=1}^{n}\sum_{j \neq i}^{n} w_i w_j Cov[R_i, R_j]
- ポートフォリオを最適化することでリスクを分散させ、最大のリターンを達成する。
2. ポートフォリオ最適化問題の定義
- 投資の選択:選択肢(例:株、債券)。
- リターン:各投資の期待収益。
- リスク:各投資の分散または標準偏差。
- 目的関数:ポートフォリオの期待リターンを最大化、またはリスクを最小化。
3. 数理最適化モデルの適用
目的関数
$ \min \sigma_p^2
制約条件:
$ E[R] $ \geq R_{target}
$ \sum_{i=1}^{n} w_i = 1 and $ w_i \geq 0
ここで,$ R_{target}は最低限実現したい収益率を表します。
モデリングパッケージであるcvxpyを使うと,ポートフォリオ最適化問題の数理最適化モデルを簡単に実現できます。
CvxpyのExamplesのページにあるPortfolio Optimizationに,このための方法が書かれています。
code:python
# Generate data for long only portfolio optimization.
import numpy as np
import scipy.sparse as sp
np.random.seed(1)
n = 10
mu = np.abs(np.random.randn(n, 1))
Sigma = np.random.randn(n, n)
Sigma = Sigma.T.dot(Sigma)
# Long only portfolio optimization.
import cvxpy as cp
w = cp.Variable(n)
gamma = cp.Parameter(nonneg=True)
ret = mu.T @ w
risk = cp.quad_form(w, Sigma)
こうして定義した問題を解いて,得られた答えをプロットすると,下記のような表示が得られます。この図は,Exampleを実行して得られるものを引用しました。
https://gyazo.com/851c100cf354289a463e933ed60c690d