问题描述
此代码正在使用遗传算法为 rsi 指标实现适应度函数,但我不知道每个函数的输出是什么
def strategy_return(Trading_signal,asset_return):
strat_ret = np.array(Trading_signal[0:-1]) * np.array(asset_return[1::])
strat_ret = np.insert(strat_ret,np.nan)
return strat_ret
def _cumulative_return(ret):
cum_ret_list = [ret[0]]
n = ret.shape[0]
for i in range(1,n):
cum_ret = (1 + ret[i]) * (1 + cum_ret_list[-1]) - 1
cum_ret_list.append(cum_ret)
cum_ret_list.insert(0,np.nan)
return cum_ret_list
def fit_evaluation(strategy_return):
strat_cum_ret = _cumulative_return(strat_ret[1::])
return strat_cum_ret
解决方法
如果您能显示完整的代码,那将会很有用,但据我所知,'strategy_return' 返回一个由 'trading_signal' 和数组 'asset_return' 之间的产品组成的数组(没有索引 0)。
strat_ret = np.array(trading_signal[0:-1]) * np.array(asset_return[1::])
然后将索引 0 设置为 NaN。
strat_ret = np.insert(strat_ret,np.nan)
基本上返回一个数组
'_cumulative_return' 返回一个索引为 0 = NaN 的列表
cum_ret_list.insert(0,np.nan)
但同样,如果没有完整的代码,很难解释它的用途。
'fit_evaluation' 有一个参数 'strategy_return' 函数,它返回一个数组,并将第二个函数应用到这样的数组中,但没有索引 0。
strat_cum_ret = _cumulative_return(strat_ret[1::])