在_asarray_tuplesafe结果[:] = [值为x的元组(x)]

时间:2017-09-08 03:36:08

标签: python pandas

我的功能是这样的:

def computer_daily_returns(df):
    daily_returns = df.copy()
    daily_returns[1:] = (df[1:] / df[:-1].values) - 1
    **daily_returns.ix[0, :] = 0**
    return daily_returns

并生成如下df:

                GOOG      AAPL       GLD       XOM
2010-01-04  0.000000  0.000000  0.000000  0.000000
2010-01-05 -0.004404  0.001689 -0.000911  0.003873
2010-01-06 -0.025209 -0.015881  0.016500  0.008642
2010-01-07 -0.023280 -0.001857 -0.006188 -0.003213
2010-01-08  0.013331  0.006629  0.004963 -0.003991
2010-01-11 -0.001512 -0.008812  0.013289  0.011250
2010-01-12 -0.017684 -0.011376 -0.020913 -0.005029

当我尝试使用

allocs = spo.minimize(sharpe_ratio, guess_allocs, args=(normed,) bla bla bla..  
它给了我

ValueError("Objective function must return a scalar")

sharpe_ratio是一个函数,包含computer_daily_returns函数。 删除后daily_returns.ix[0, :] = 0一切正常......

0 个答案:

没有答案