ポートフォリオ最適化問題
CVXPYを使用してポートフォリオ最適化問題を解く基本的なPythonコードを示します。
この例では、3つの異なる資産に対する投資の最適な割合を見つけることを目指しています。
まず、必要なライブラリをインポートします。
1 | import cvxpy as cp |
次に、各資産のリターンとリスク(ここでは標準偏差)を表すデータを作成します。
1 | # 資産のリターン |
次に、CVXPYを使用して最適化問題を定義します。
ここでは、リターンを最大化し、リスク(ここではポートフォリオの標準偏差)を制約としています。
1 | # 投資の割合を表す変数 |
最後に、問題を解き、最適な投資の割合を表示します。
1 | # 問題を解く |
このコードは、与えられたリターンとリスクに基づいて、3つの資産に対する最適な投資の割合を計算します。
制約条件は、全ての投資の割合の合計が1(つまり、全ての資産に対する投資の割合)であることと、ポートフォリオのリスクが特定の値以下であることを保証します。
最後に、各資産の投資の割合をグラフ化します。
1 | plt.bar(range(len(weights.value)), weights.value) |
このグラフは、各資産に対する最適な投資の割合を視覚的に示しています。