def compute(self, today, assets, out, high, volume, close):
v0 = np.full(out.shape[0], -1.0)
v100 = np.empty((6, out.shape[0]))
for i0 in range(1, 7):
v1000 = np.empty((5, out.shape[0]))
for i1 in range(1, 6):
v1000[-i1] = high[- i0 -i1]
v1001 = np.empty((5, out.shape[0]))
for i1 in range(1, 6):
v1001[-i1] = volume[- i0 -i1]
v100[-i0] = pd.DataFrame(v1000).rolling(window=5).corr(pd.DataFrame(v1001)).tail(1).as_matrix()[-1]
v10 = v100[-1] - v100[-6]
v1100 = np.empty((20, out.shape[0]))
for i0 in range(1, 21):
v1100[-i0] = close[-i0]
v110 = np.std(v1100, axis=0)
v11 = stats.rankdata(v110)
v1 = v10 * v11
out[:] = v0 * v1
# (((sum(high, 20) / 20) < high) ? (-1 * delta(high, 2)) : 0)
评论列表
文章目录