This commit is contained in:
jack
2025-12-19 13:42:35 +08:00
parent 2aa0afc775
commit 34c0394fcc
33 changed files with 15565 additions and 75 deletions
+19
View File
@@ -0,0 +1,19 @@
winsorize(group_neutralize(if_else(divide(ts_corr(returns, group_mean(returns, 1, sector), 20), ts_std_dev(returns, 20)) > 0.7, ts_delta(close, 5), ts_delta(close, 20)), industry))
winsorize(group_neutralize(multiply(ts_rank(ts_delta(close, 10), 60), ts_corr(ts_delay(group_mean(ts_delta(close, 5), 1, sector), 1), ts_delta(close, 5), 30)), subindustry))
winsorize(group_neutralize(multiply(ts_rank(divide(volume, ts_mean(volume, 60)), 20), subtract(ts_delta(close, 20), group_mean(ts_delta(close, 20), 1, sector))), industry))
winsorize(group_neutralize(multiply(divide(ts_corr(ts_delta(close, 5), group_mean(ts_delta(close, 5), 1, sector), 30), ts_corr(ts_delta(close, 5), group_mean(ts_delta(close, 5), 1, industry), 30)), ts_delta(close, 10)), sector))
winsorize(group_neutralize(if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.7, ts_delta(close, 5), ts_delta(close, 60)), industry))
winsorize(group_neutralize(divide(ts_regression(close, ts_step(1), 60, 0, 1), ts_std_dev(returns, 60)), industry))
winsorize(group_neutralize(multiply(ts_rank(divide(volume, ts_mean(volume, 20)), 10), reverse(ts_delta(close, 20))), sector))
winsorize(subtract(ts_rank(group_mean(ts_delta(close, 20), 1, bucket(rank(volume), range="0,3,0.4")), 120), ts_rank(ts_delta(close, 20), 120)))
winsorize(group_neutralize(if_else(ts_corr(group_mean(returns, 1, sector), ts_delta(close, 5), 30) > 0.5, ts_delta(close, 5), ts_delta(ts_delta(close, 5), 5)), industry))
winsorize(group_neutralize(multiply(ts_corr(ts_delay(group_mean(ts_delta(close, 10), 1, sector), 1), ts_delta(close, 10), 60), group_rank(ts_delta(close, 10), sector)), subindustry))
+161
View File
@@ -0,0 +1,161 @@
multiply(ts_delta(close, 20), group_rank(ts_delta(close, 20), industry))
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, ts_delta(close, 5), ts_delta(close, 20))
group_neutralize(multiply(ts_corr(ts_delay(group_mean(returns, 1, industry), 1), returns, 30), ts_delta(close, 10)), industry)
multiply(reverse(ts_rank(divide(volume, ts_mean(volume, 20)), 10)), ts_delta(close, 20))
ts_regression(close, ts_step(1), 30, 0, 1)
group_mean(ts_delta(close, 20), 1, bucket(rank(volume), range="0,3,0.4"))
ts_corr(ts_delay(close, 1), group_mean(close, 1, industry), 30)
ts_zscore(volume, 20)
group_scale(ts_delta(close, 20), industry)
ts_rank(ts_delta(close, 10), 60)
ts_std_dev(returns, 60)
multiply(ts_delta(close, 20), ts_rank(ts_delta(close, 20), 60))
group_zscore(ts_delta(close, 20), industry)
if_else(bucket(rank(volume), range="0,3,0.4") == 0, ts_delta(close, 5), ts_delta(close, 20))
ts_mean(ts_delta(close, 5), 20)
ts_arg_max(ts_delta(close, 20), 60)
ts_quantile(ts_delta(close, 20), 60, "gaussian")
ts_backfill(ts_delta(close, 20), 30, 1)
ts_decay_linear(ts_delta(close, 20), 30, false)
ts_av_diff(ts_delta(close, 20), 20)
ts_sum(ts_delta(close, 20), 20)
ts_product(ts_delta(close, 20), 20)
ts_count_nans(ts_delta(close, 20), 20)
ts_covariance(ts_delta(close, 20), volume, 30)
ts_corr(ts_delta(close, 20), volume, 30)
ts_delay(ts_delta(close, 20), 5)
ts_scale(ts_delta(close, 20), 20)
ts_arg_min(ts_delta(close, 20), 60)
winsorize(ts_delta(close, 20), 4)
normalize(ts_delta(close, 20), true, 0.0)
rank(ts_delta(close, 20), 2)
scale(ts_delta(close, 20), 1, 1, 1)
trade_when(ts_delta(close, 20) > 0, ts_delta(close, 20), NaN)
group_backfill(ts_delta(close, 20), industry, 30, 4.0)
hump(ts_delta(close, 20), 0.01)
days_from_last_change(ts_delta(close, 20))
last_diff_value(ts_delta(close, 20), 30)
kth_element(ts_delta(close, 20), 30, 1)
is_nan(ts_delta(close, 20))
not(is_nan(ts_delta(close, 20)))
and(ts_delta(close, 20) > 0, volume > ts_mean(volume, 20))
or(ts_delta(close, 20) > 0, volume > ts_mean(volume, 20))
ts_delta(close, 20) > ts_mean(ts_delta(close, 20), 60)
ts_delta(close, 20) >= ts_mean(ts_delta(close, 20), 60)
ts_delta(close, 20) == ts_mean(ts_delta(close, 20), 60)
ts_delta(close, 20) != ts_mean(ts_delta(close, 20), 60)
ts_delta(close, 20) < ts_mean(ts_delta(close, 20), 60)
ts_delta(close, 20) <= ts_mean(ts_delta(close, 20), 60)
multiply(ts_delta(close, 20), group_neutralize(ts_delta(close, 20), industry))
multiply(ts_delta(close, 20), ts_rank(ts_delta(close, 20), 60))
multiply(ts_delta(close, 20), ts_std_dev(returns, 20))
multiply(ts_delta(close, 20), ts_zscore(volume, 20))
multiply(ts_delta(close, 20), bucket(rank(volume), range="0,3,0.4"))
multiply(ts_delta(close, 20), group_scale(ts_delta(close, 20), industry))
multiply(ts_delta(close, 20), group_rank(ts_delta(close, 20), industry))
multiply(ts_delta(close, 20), ts_corr(ts_delay(close, 1), group_mean(close, 1, industry), 30))
multiply(ts_delta(close, 20), ts_regression(close, ts_step(1), 30, 0, 1))
multiply(ts_delta(close, 20), ts_av_diff(ts_delta(close, 20), 20))
multiply(ts_delta(close, 20), ts_scale(ts_delta(close, 20), 20))
multiply(ts_delta(close, 20), ts_arg_max(ts_delta(close, 20), 60))
multiply(ts_delta(close, 20), ts_arg_min(ts_delta(close, 20), 60))
multiply(ts_delta(close, 20), winsorize(ts_delta(close, 20), 4))
multiply(ts_delta(close, 20), normalize(ts_delta(close, 20), true, 0.0))
multiply(ts_delta(close, 20), rank(ts_delta(close, 20), 2))
multiply(ts_delta(close, 20), scale(ts_delta(close, 20), 1, 1, 1))
multiply(ts_delta(close, 20), trade_when(ts_delta(close, 20) > 0, ts_delta(close, 20), NaN))
multiply(ts_delta(close, 20), group_backfill(ts_delta(close, 20), industry, 30, 4.0))
multiply(ts_delta(close, 20), hump(ts_delta(close, 20), 0.01))
multiply(ts_delta(close, 20), days_from_last_change(ts_delta(close, 20)))
multiply(ts_delta(close, 20), last_diff_value(ts_delta(close, 20), 30))
multiply(ts_delta(close, 20), kth_element(ts_delta(close, 20), 30, 1))
multiply(ts_delta(close, 20), is_nan(ts_delta(close, 20)))
multiply(ts_delta(close, 20), not(is_nan(ts_delta(close, 20))))
multiply(ts_delta(close, 20), and(ts_delta(close, 20) > 0, volume > ts_mean(volume, 20)))
multiply(ts_delta(close, 20), or(ts_delta(close, 20) > 0, volume > ts_mean(volume, 20)))
multiply(ts_delta(close, 20), ts_delta(close, 20) > ts_mean(ts_delta(close, 20), 60))
multiply(ts_delta(close, 20), ts_delta(close, 20) >= ts_mean(ts_delta(close, 20), 60))
multiply(ts_delta(close, 20), ts_delta(close, 20) == ts_mean(ts_delta(close, 20), 60))
multiply(ts_delta(close, 20), ts_delta(close, 20) != ts_mean(ts_delta(close, 20), 60))
multiply(ts_delta(close, 20), ts_delta(close, 20) < ts_mean(ts_delta(close, 20), 60))
multiply(ts_delta(close, 20), ts_delta(close, 20) <= ts_mean(ts_delta(close, 20), 60))
+40
View File
@@ -0,0 +1,40 @@
multiply(group_neutralize(ts_corr(ts_delay(group_mean(returns, 1, industry), 5), group_mean(returns, 1, industry), 20), subindustry), ts_delta(close, 10))
multiply(if_else(rank(volume) > 0.7, ts_delta(close, 5), reverse(ts_delta(close, 20))), ts_zscore(returns, 60))
multiply(group_neutralize(ts_corr(ts_delay(group_mean(returns, 1, industry), 5), group_mean(returns, 1, industry), 20), subindustry), ts_delta(close, 10))
multiply(if_else(rank(volume) > 0.7, ts_delta(close, 5), reverse(ts_delta(close, 20))), ts_zscore(returns, 60))
multiply(ts_corr(group_mean(close, 1, industry), group_mean(close, 1, sector), 30), group_zscore(ts_regression(close, ts_step(1), 20, 0, 1), industry))
multiply(ts_rank(ts_delta(close, 20), 60), ts_zscore(divide(volume, ts_mean(volume, 60)), 20))
multiply(reverse(rank(ts_rank(divide(volume, ts_mean(volume, 20)), 10))), ts_delta(close, 20))
divide(ts_delta(close, 20), if_else(ts_std_dev(returns, 20) > 0.02, ts_std_dev(returns, 5), ts_std_dev(returns, 20)))
group_neutralize(multiply(ts_corr(ts_delay(group_mean(returns, 1, industry), 5), group_mean(returns, 1, industry), 30), ts_delta(close, 10)), subindustry)
multiply(ts_rank(ts_delta(close, 20), 60), group_scale(divide(volume, ts_mean(volume, 20)), industry))
multiply(if_else(rank(volume) > 0.7, ts_delta(close, 5), reverse(ts_delta(close, 20))), ts_zscore(returns, 60))
divide(ts_delta(close, 20), if_else(ts_std_dev(returns, 20) > 0.02, ts_std_dev(returns, 5), ts_std_dev(returns, 20)))
multiply(ts_corr(group_mean(close, 1, industry), group_mean(close, 1, sector), 30), group_zscore(ts_regression(close, ts_step(1), 20, 0, 1), industry))
multiply(ts_rank(ts_delta(close, 20), 60), ts_zscore(divide(volume, ts_mean(volume, 60)), 20))
multiply(reverse(rank(ts_rank(divide(volume, ts_mean(volume, 20)), 10))), ts_delta(close, 20))
multiply(ts_corr(rank(volume), ts_rank(close, 60), 20), group_neutralize(ts_delta(close, 20), industry))
multiply(if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.8, ts_delta(close, 5), ts_delta(close, 60)), ts_zscore(volume, 20))
multiply(group_rank(ts_delta(close, 10), industry), divide(volume, ts_mean(volume, 20)))
multiply(ts_corr(ts_delay(group_mean(returns, 1, industry), 5), group_mean(returns, 1, industry), 20), group_mean(divide(volume, ts_mean(volume, 20)), 1, bucket(rank(volume), range="0,3,0.4")))
multiply(ts_corr(group_mean(close, 1, industry), close, 20), group_neutralize(ts_regression(close, ts_step(1), 10, 0, 1), industry))
+9
View File
@@ -0,0 +1,9 @@
ts_delta(close, 20) * group_zscore(ts_delta(close, 20), industry) * hump(ts_volume, hump=0.01)
ts_rank(ts_std_dev(returns, 20), 60) * if_else(ts_rank(volume, 60) > 0.7, ts_delta(close, 5), ts_delta(close, 20)) * group_neutralize(ts_delta(close, 10), sector)
ts_corr(group_mean(returns, 1, sector), returns, 30) * ts_delta(close, 10) * bucket(rank(ts_volume), range="0,3,0.4") * hump(ts_delta(close, 60), hump=0.01)
ts_zscore(ts_delta(close, 20), 60) * group_mean(ts_delta(close, 5), 1, industry) * if_else(ts_std_dev(returns, 20) > 0.02, ts_delta(close, 5), ts_delta(close, 20)) * hump(ts_rank(ts_corr(close, ts_delay(close, 5), 20), 60), hump=0.02)
ts_delta(group_mean(close, 1, subindustry), 10) * ts_rank(volume, 30) * group_scale(ts_delta(close, 30), sector) * if_else(ts_count_nans(ts_delta(close, 5), 20) > 5, 0, ts_delta(close, 5))
+11
View File
@@ -0,0 +1,11 @@
group_mean(multiply(ts_delta(close, 20), if_else(group_mean(ts_zscore(volume, 60), 1, industry) > 0.5, 1.0, 0.5)), 1, industry)
group_mean(multiply(ts_rank(group_mean(returns, 1, industry), 30) - 0.5, reverse(group_mean(ts_zscore(volume, 60), 1, industry))), 1, industry)
group_mean(multiply((group_mean(ts_delta(close, 5), 1, industry) - group_mean(ts_delta(close, 60), 1, industry)) / group_mean(ts_delta(close, 60), 1, industry), inverse(group_mean(bucket(rank(volume), range="0,3,0.333"), 1, industry))), 1, industry)
group_mean(multiply(ts_delta(close, if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, 5, 20)), group_mean(ts_rank(volume, 30), 1, industry)), 1, industry)
multiply(group_mean(ts_delta(close, 20), 1, industry), reverse(group_mean(ts_zscore(volume, 60), 1, industry)))