This commit is contained in:
jack
2026-01-16 08:59:26 +08:00
parent 6833059711
commit 771b35563e
11 changed files with 1036 additions and 45 deletions
@@ -0,0 +1,166 @@
ts_rank(divide(ts_delta(price, 5), price), 120)
group_neutralize(ts_rank(multiply(volume,turnover),20),pv13_h_min20_top3000_sector)
group_neutralize(ts_rank(ts_covariance(volume,turnover,10),20),pv13_h_min20_top3000_sector)
group_neutralize(ts_rank(greater(volume,ts_delay(volume,1)),20),pv13_h_min20_top3000_sector)
group_neutralize(ts_rank(divide(volume,ts_mean(volume,20)),20),pv13_h_min20_top3000_sector)
ts_backfill(ts_delta(price, 1), 5, 1)
ts_std_dev(ts_delta(price, 5), 20)
ts_zscore(subtract(group_neutralize(multiply(multiply(if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) > 0, 1, -1), ts_rank(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))), 250)), ts_sum(if_else(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))) < ts_quantile(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)), 250, "gaussian"), 0.2), 1, 0), 60)), pv13_h_min20_top3000_sector), group_neutralize(multiply(multiply(if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) < 0, 1, -1), reverse(ts_rank(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))), 250))), ts_sum(if_else(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))) > ts_quantile(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)), 250, "gaussian"), 0.8), 1, 0), 60)), pv13_h_min20_top3000_sector)), 20)
group_neutralize(ts_rank(ts_delay(volume,5),20),pv13_h_min20_top3000_sector)
ts_sum(if_else(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))) < ts_quantile(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)), 250, "gaussian"), 0.2), 1, 0), 60)
winsorize(ts_zscore(subtract(group_neutralize(multiply(multiply(if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) > 0, 1, -1), ts_rank(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))), 250)), ts_sum(if_else(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))) < ts_quantile(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)), 250, "gaussian"), 0.2), 1, 0), 60)), pv13_h_min20_top3000_sector), group_neutralize(multiply(multiply(if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) < 0, 1, -1), reverse(ts_rank(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))), 250))), ts_sum(if_else(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))) > ts_quantile(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)), 250, "gaussian"), 0.8), 1, 0), 60)), pv13_h_min20_top3000_sector)), 20), 4)
ts_backfill(ts_delta(price, 1), 3, 1)
ts_arg_min(ts_std_dev(turnover, 5), 10)
multiply(multiply(if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) < 0, 1, -1), reverse(ts_rank(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))), 250))), ts_sum(if_else(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))) > ts_quantile(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)), 250, "gaussian"), 0.8), 1, 0), 60))
ts_rank(ts_delta(ts_mean(volume, 5), 5), 30)
group_neutralize(ts_rank(ts_decay_linear(volume,5),20),pv13_h_min20_top3000_sector)
ts_sum(ts_mean(volume, 5), 10)
group_neutralize(multiply(multiply(if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) > 0, 1, -1), ts_rank(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))), 250)), ts_sum(if_else(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))) < ts_quantile(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)), 250, "gaussian"), 0.2), 1, 0), 60)), pv13_h_min20_top3000_sector)
ts_count_nans(ts_mean(volume, 5), 10)
ts_quantile(ts_delta(turnover, 5), 60)
group_neutralize(ts_rank(ts_delta(close,1),20),pv13_h_min20_top3000_sector)
ts_delay(ts_zscore(volume, 20), 5)
group_neutralize(ts_rank(subtract(turnover,ts_mean(turnover,20)),20),pv13_h_min20_top3000_sector)
if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) > 0, 1, -1)
ts_arg_min(ts_std_dev(price, 10), 20)
group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector)
ts_covariance(price, volume, 30)
group_neutralize(ts_rank(ts_arg_min(turnover,10),20),pv13_h_min20_top3000_sector)
group_neutralize(ts_rank(ts_product(divide(volume,ts_delay(volume,1)),5),20),pv13_h_min20_top3000_sector)
multiply(multiply(if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) > 0, 1, -1), ts_rank(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))), 250)), ts_sum(if_else(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))) < ts_quantile(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)), 250, "gaussian"), 0.2), 1, 0), 60))
add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector))
group_neutralize(ts_rank(add(volume,turnover),20),pv13_h_min20_top3000_sector)
ts_sum(if_else(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))) > ts_quantile(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)), 250, "gaussian"), 0.8), 1, 0), 60)
group_neutralize(ts_rank(ts_zscore(volume,10),20),pv13_h_min20_top3000_sector)
group_neutralize(ts_rank(ts_sum(volume,5),20),pv13_h_min20_top3000_sector)
group_rank(ts_std_dev(turnover, 10), industry)
group_neutralize(ts_rank(signed_power(volume,0.5),20),pv13_h_min20_top3000_sector)
ts_rank(ts_mean(market_breadth, 60), 60)
group_neutralize(multiply(multiply(if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) < 0, 1, -1), reverse(ts_rank(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))), 250))), ts_sum(if_else(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))) > ts_quantile(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)), 250, "gaussian"), 0.8), 1, 0), 60)), pv13_h_min20_top3000_sector)
add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))
group_zscore(ts_std_dev(volume, 30), sector)
ts_zscore(ts_mean(turnover, 10), 30)
group_neutralize(ts_rank(volume,20),pv13_h_min20_top3000_sector)
subtract(group_neutralize(multiply(multiply(if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) > 0, 1, -1), ts_rank(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))), 250)), ts_sum(if_else(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))) < ts_quantile(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)), 250, "gaussian"), 0.2), 1, 0), 60)), pv13_h_min20_top3000_sector), group_neutralize(multiply(multiply(if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) < 0, 1, -1), reverse(ts_rank(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))), 250))), ts_sum(if_else(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))) > ts_quantile(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)), 250, "gaussian"), 0.8), 1, 0), 60)), pv13_h_min20_top3000_sector))
group_neutralize(ts_rank(ts_av_diff(volume,10),20),pv13_h_min20_top3000_sector)
group_neutralize(ts_rank(ts_delta(turnover,5),20),pv13_h_min20_top3000_sector)
ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5)
group_neutralize(ts_rank(abs(ts_delta(volume,1)),20),pv13_h_min20_top3000_sector)
group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)
ts_av_diff(ts_mean(price, 10), 20)
multiply(if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) < 0, 1, -1), reverse(ts_rank(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))), 250)))
group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector)
group_scale(ts_mean(price, 5), sector)
group_neutralize(ts_rank(ts_backfill(volume,10),20),pv13_h_min20_top3000_sector)
group_neutralize(ts_rank(if_else(volume>ts_mean(volume,20),1,-1),20),pv13_h_min20_top3000_sector)
ts_quantile(ts_delta(volume, 10), 60)
add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60))
ts_zscore(add(ts_mean(volume, 20), ts_mean(turnover, 20)), 60)
ts_arg_max(ts_mean(volume, 5), 20)
scale(winsorize(ts_zscore(subtract(group_neutralize(multiply(multiply(if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) > 0, 1, -1), ts_rank(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))), 250)), ts_sum(if_else(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))) < ts_quantile(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)), 250, "gaussian"), 0.2), 1, 0), 60)), pv13_h_min20_top3000_sector), group_neutralize(multiply(multiply(if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) < 0, 1, -1), reverse(ts_rank(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))), 250))), ts_sum(if_else(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))) > ts_quantile(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)), 250, "gaussian"), 0.8), 1, 0), 60)), pv13_h_min20_top3000_sector)), 20), 4))
ts_rank(ts_mean(vix, 60), 60)
group_neutralize(ts_rank(volume, 60), industry)
group_neutralize(ts_rank(ts_arg_max(volume,10),20),pv13_h_min20_top3000_sector)
ts_arg_max(ts_mean(turnover, 5), 30)
group_neutralize(ts_rank(turnover,20),pv13_h_min20_top3000_sector)
group_neutralize(ts_rank(ts_corr(volume,turnover,10),20),pv13_h_min20_top3000_sector)
ts_count_nans(ts_mean(turnover, 5), 10)
group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)
ts_covariance(volume, turnover, 30)
ts_regression(price, volume, 30, 0, 0)
group_neutralize(ts_rank(ts_regression(volume,turnover,10),20),pv13_h_min20_top3000_sector)
group_neutralize(ts_rank(ts_count_nans(volume,10),20),pv13_h_min20_top3000_sector)
group_neutralize(ts_rank(ts_quantile(volume,10),20),pv13_h_min20_top3000_sector)
ts_decay_linear(ts_mean(price, 5), 10)
if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) < 0, 1, -1)
ts_scale(ts_corr(volume, turnover, 60), 90)
ts_product(ts_mean(turnover, 5), 10)
group_neutralize(ts_rank(ts_std_dev(turnover,10),20),pv13_h_min20_top3000_sector)
group_neutralize(ts_rank(ts_mean(volume,5),20),pv13_h_min20_top3000_sector)
group_neutralize(ts_rank(sign(ts_delta(volume,1)),20),pv13_h_min20_top3000_sector)
group_neutralize(ts_rank(ts_scale(volume,20),20),pv13_h_min20_top3000_sector)
multiply(if_else(ts_delta(add(ts_rank(ts_mean(market_breadth, 60), 60), ts_rank(ts_mean(vix, 60), 60)), 5) > 0, 1, -1), ts_rank(subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector))), 250))
subtract(add(group_zscore(ts_mean(volume, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(turnover, 20), pv13_h_min20_top3000_sector)), add(group_zscore(ts_mean(bid_ask_spread, 20), pv13_h_min20_top3000_sector), group_zscore(ts_mean(amihud_illiquidity, 20), pv13_h_min20_top3000_sector)))