Python でポートフォリオを最適化しようとしています。使用しpandas
て、Yahoo! から終値を取得しました。資金調達し、各資産の標準偏差を計算しました。また、保有している各資産の金額を格納する辞書も作成しました。
# create a dataframe housing the above
X = DataFrame({'GOOGLE':GOOG, 'APPLE':AAPL, 'CAT':CAT, 'SPDR GOLD':GOLD,
'OIL':OIL, 'Natural Gas':GAS, 'Dollar Index':USD, 'GoldmanSachs': GS, 'Dominion': DOM})
# define weights of each asset held
weights = {'GOOGLE':.2,
'APPLE':.1,
'CAT':.1,
'SPDR GOLD':.05,
'OIL':.1,
'Natural Gas':.1,
'Dollar Index':.05,
'Dominion':.1,
'GoldmanSachs':.2}
各資産のウェイトに終値と標準偏差を掛け、結果のリストを合計して、目標と制約を作成します。
for keys in weights:
buyin.append(X[keys][0]* weights[keys])
STD.append([std[keys] * weights[keys]]) #std is a pandas dataframe of std dev
current.append(X[keys][m-1]* weights[keys])
STD = sum(STD)
profit = sum(current) - sum(buyin)
私がやりたいことは、最大許容標準偏差に従って利益が最大化されるように、各資産の重みを最適化することです。
助言がありますか?