関数を最適化しようとしています。ただし、この関数は pandas データ フレームを引数として取ります。したがって、コードを実行すると、次のエラーが発生します。
TypeError: 'DataFrame' オブジェクトは可変であるため、ハッシュできません
私の評価関数:
def calc_sr(prices, allocs):
cum_ret_prices = prices / prices.iloc[0]
all_adj_prices = allocs * cum_ret_prices
daily_value = all_adj_prices.sum(1)
sr = daily_value.mean()/daily_value.std()
return(sr)
def eval_fn(allocs, prices):
return 1/calc_sr(prices,allocs)
allocs = optimize.minimize(eval_fn,allocs,args={prices},method = 'Nelder-Mead', options={'maxiter':10000})
価格は pandas データ フレームです。
これを最適化するにはどうすればよいですか?また、もう 1 つの質問は、私の最適化関数には初期推測の配列も渡す必要があるということです。args パラメータを設定するとき、どうすればそれを説明できますか?