使用遗传算法的 rsi 适应度函数

问题描述

代码正在使用遗传算法为 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::])