def compute(self, today, assets, out, close, vwap):
v0 = np.full(out.shape[0], 0.0)
v10 = np.full(out.shape[0], 1.0)
v1100 = close[-1]
v1101 = vwap[-1]
v110 = v1100 - v1101
v1110 = np.empty((2, out.shape[0]))
for i0 in range(1, 3):
v111000 = np.empty((30, out.shape[0]))
for i1 in range(1, 31):
v111000[-i1] = close[-i0 - i1]
v11100 = np.argmax(v111000, axis=0)
v1110[-i0] = stats.rankdata(v11100)
v111 = (v1110 * (np.arange(1.0, 3, 1.0) / 3)[:, np.newaxis]).sum(axis=0) # decay_linear
v11 = v110 / v111
v1 = v10 * v11
out[:] = v0 - v1
评论列表
文章目录