Python(scipy) の最適化関数に関するヘルプが必要です。問題はf(x)
whereの最適化x=[a,b,c...n]
です。制約は、a、b などの値が 0 から 1 の間であること、およびsum(x)==1
. scipy.optimise.minimize 関数は、微分を必要としないため、最適と思われます。引数を渡すにはどうすればよいですか?
順列を使用した ndarray の作成は長すぎます。以下のように私の現在のコード: -
import itertools as iter
all=iter.permutations([0.0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1.0],6) if sum==1
all_legal=[]
for i in all:
if np.sum(i)==1:
#print np.sum(i)
all_legal.append(i)
print len(all_legal)
lmax=0
sharpeMax=0
for i in all_legal:
if sharpeMax<getSharpe(i):
sharpeMax=getSharpe(i)
lmax=i