def compute(self, today, assets, out, close, adv20, vwap, open):
v000 = np.empty((20, out.shape[0]))
for i0 in range(1, 21):
v0000 = np.empty((6, out.shape[0]))
for i1 in range(1, 7):
v0000[-i1] = close[-i0 - i1]
v0001 = np.empty((6, out.shape[0]))
for i1 in range(1, 7):
v00010 = np.empty((15, out.shape[0]))
for i2 in range(1, 16):
v00010[-i2] = adv20[-i0 - i1 - i2]
v0001[-i1] = v00010.sum(axis=0)
v000[-i0] = pd.DataFrame(v0000).rolling(window=6).corr(pd.DataFrame(v0001)).tail(1).as_matrix()[-1]
v00 = pd.DataFrame(v000).rank().tail(1).as_matrix()[-1]
v01000 = open[-1]
v01001 = close[-1]
v0100 = v01000 + v01001
v01010 = vwap[-1]
v01011 = open[-1]
v0101 = v01010 + v01011
v010 = v0100 - v0101
v01 = stats.rankdata(v010)
v0 = v00 < v01
v1 = np.full(out.shape[0], -1.0)
out[:] = v0 * v1
评论列表
文章目录