def compute(self, today, assets, out, returns):
v0 = np.full(out.shape[0], 0.0)
v10 = np.full(out.shape[0], 1.0)
v110000 = np.empty((10, out.shape[0]))
for i0 in range(1, 11):
v110000[-i0] = returns[-i0]
v11000 = v110000.sum(axis=0)
v110010 = np.empty((3, out.shape[0]))
for i0 in range(1, 4):
v1100100 = np.empty((2, out.shape[0]))
for i1 in range(1, 3):
v1100100[-i1] = returns[-i0 - i1]
v110010[-i0] = v1100100.sum(axis=0)
v11001 = v110010.sum(axis=0)
v1100 = v11000 / v11001
v110 = stats.rankdata(v1100)
v11100 = returns[-1]
v11101 = cap[-1]
v1110 = v11100 * v11101
v111 = stats.rankdata(v1110)
v11 = v110 * v111
v1 = v10 * v11
out[:] = v0 - v1
# (0 - (1 * ((close - vwap) / decay_linear(rank(ts_argmax(close, 30)), 2))))
评论列表
文章目录