예제 #1
0
 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
예제 #2
0
 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
예제 #3
0
 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
예제 #4
0
 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
예제 #5
0
 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
예제 #6
0
 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
예제 #7
0
 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
예제 #8
0
 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
예제 #9
0
 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