def forward(self, tensor_x, tensor_y): if tensor_x.shape[-1] == 1: tensor_x = tensor_x.expand_as(tensor_y) output = tsf.rolling_cov(tensor_x, tensor_y, window=self._window) / tsf.rolling_var( tensor_x, window=self._window) return output
def forward(self, high_ts, low_ts, close_ts, volume_ts): adv20 = tsf.rolling_mean_(volume_ts, 20) df = tsf.rolling_cov(adv20, low_ts, 5) alpha = tsf.rolling_scale(((df + ((high_ts + low_ts) / 2)) - close_ts)) return alpha
def forward(self, high_ts, volume_ts): ts = tsf.rolling_cov(tsf.ts_rank(volume_ts, 5), tsf.ts_rank(high_ts, 5), 5) alpha = -1 * tsf.rolling_max(ts, 3) return alpha
def forward(self, high_ts, close_ts, volume_ts): ts = tsf.rolling_cov(high_ts, volume_ts, 5) alpha = -1 * tsf.diff(ts, 5) * tsf.rank(tsf.rolling_std(close_ts, 20)) return alpha
def forward(self, open_ts, close_ts): ts = tsf.rolling_cov(close_ts, open_ts, 10) alpha = -1 * (tsf.rank((tsf.rolling_std(abs((close_ts - open_ts)), 5) + (close_ts - open_ts)) + ts)) return alpha
def forward(self, high_ts, volume_ts): alpha = -1 * tsf.rank( tsf.rolling_cov(tsf.rank(high_ts), tsf.rank(volume_ts), 5)) return alpha
def forward(self, high_ts, volume_ts): df = tsf.rolling_cov(tsf.rank(high_ts), tsf.rank(volume_ts), 3) alpha = -1 * tsf.rolling_sum_(tsf.rank(df), 3) return alpha
def forward(self, open_ts, volume_ts, returns_ts): df = tsf.rolling_cov(open_ts, volume_ts, 10) alpha = -1 * tsf.rank(tsf.diff(returns_ts, 3)) * df return alpha
def forward(self, high_ts, volume_ts): output_tensor = (-1 * tsf.rank( tsf.rolling_cov(tsf.rank(high_ts), tsf.rank(volume_ts), 5))) return output_tensor