私はポートフォリオの分散を最小にするウェイトを選択する方法を探しています。ポートフォリオの分散を最小化するウェイトを選択してください。
例:
私は3つの資産を持っています。彼らのリターンは、以下の配列で与えられている:
import numpy as np
x = np.array([[0.2,-0.1,0.5,-0.2],[0, -0.9, 0.8, 0.2],[0.4,0.5,-0.3,-.01]])
私は彼らの重みの合計限りにしたいどのように私はそれらを重み付けすることができますが、私は、ポートフォリオの分散を最小化するように重みを探しています1に追加されます。ここ
は、ランダムに選択された重みの2つの例は、次のとおり
weight_1 = [0.3,0.3,0.4]
weighted_x_1 = [ele_x*ele_w for ele_x,ele_w in zip (x,weight_1)]
var_1 = np.var(sum(weighted_x_1))
weight_2 = [-0.2,0.4,0.8]
weighted_x_2 = [ele_x*ele_w for ele_x,ele_w in zip (x,weight_2)]
var_2 = np.var(sum(weighted_x_2))
出力:
>>> var_1
0.02351675000000001
>>> var_2
0.012071999999999999
第二の方法は、良好です。
私のためにこれを行うことができるPython(またはPythonライブラリ)メソッドがありますか?上記を行うためにどのような方法を使用すべきかについての示唆がない場合は、歓迎します。 Finance Lib with portfolio optimization method in python
関連ビットここにある:
はアドバンス
この質問に対する受け入れられた答えを見てください:http://stackoverflow.com/questions/4119054/finance-lib-with-portfolio-optimization-method-in-python –
これは線形代数の問題です。線形計画法またはラグランジュ最適化のいずれかを使用してこれを解決することができます。あなたの制約(ラムダ項)は1 - 合計(重み)になります。 –
「ポートフォリオ分散」はどのように測定されますか? –