-1

此代码正在使用遗传算法为 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, 0, 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
4

1 回答 1

0

如果您可以显示完整的代码,那将很有用,但据我所知,“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, 0, 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::])
于 2021-01-24T00:23:21.000 回答