def compute(self, today, assets, out, volume, close, vwap):
v0000 = np.empty((3, out.shape[0]))
for i0 in range(1, 4):
v00000 = vwap[-i0]
v00001 = close[-i0]
v0000[-i0] = v00000 - v00001
v000 = np.max(v0000, axis=0)
v00 = stats.rankdata(v000)
v0100 = np.empty((3, out.shape[0]))
for i0 in range(1, 4):
v01000 = vwap[-i0]
v01001 = close[-i0]
v0100[-i0] = v01000 - v01001
v010 = np.min(v0100, axis=0)
v01 = stats.rankdata(v010)
v0 = v00 + v01
v100 = np.empty((4, out.shape[0]))
for i0 in range(1, 5):
v100[-i0] = volume[-i0]
v10 = v100[-1] - v100[-4]
v1 = stats.rankdata(v10)
out[:] = v0 * v1
# (sign(delta(volume, 1)) * (-1 * delta(close, 1)))
评论列表
文章目录