jack 2 months ago
parent 78146ab571
commit 2aa0afc775
  1. 221
      generated_alpha/2025-12-15/104029.txt
  2. 279
      generated_alpha/2025-12-15/104255.txt
  3. 228
      generated_alpha/2025-12-15/104334.txt
  4. 209
      generated_alpha/2025-12-15/104435.txt
  5. 347
      generated_alpha/2025-12-15/104756.txt
  6. 39
      generated_alpha/2025-12-16/110013.txt
  7. 39
      generated_alpha/2025-12-16/110049.txt
  8. 21
      generated_alpha/2025-12-16/110056.txt
  9. 39
      generated_alpha/2025-12-16/110120.txt
  10. 19
      generated_alpha/2025-12-16/110532.txt
  11. 34
      main.py
  12. 898
      manual_prompt/manual_prompt_20251215103723.txt
  13. 891
      manual_prompt/manual_prompt_20251216105934.txt
  14. 64
      prepare_prompt/alpha_prompt.txt

@ -0,0 +1,221 @@
group_mean(if_else(ts_rank(volume, 30) > 0.7, ts_delta(close, 10), ts_delta(close, 30)), 1, industry)
multiply(ts_corr(returns, ts_delay(returns, 5), 20), group_mean(ts_delta(close, 5), 1, sector))
if_else(ts_std_dev(returns, 60) > ts_mean(ts_std_dev(returns, 60), 120), ts_delta(close, 5), ts_delta(close, 20))
group_mean(ts_delta(close, 20), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(reverse(ts_rank(volume / ts_mean(volume, 20), 10)), ts_delta(close, 20))
multiply(ts_regression(close, ts_step(1), 30, 0, 1), group_zscore(volume, industry))
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, ts_delta(close, 5), ts_mean(returns, 20))
group_mean(ts_decay_linear(returns, 10), 1, bucket(ts_rank(volume, 30), range="0,3,0.4"))
multiply(ts_corr(group_mean(returns, 1, sector), returns, 30), ts_zscore(close, 60))
if_else(bucket(rank(volume), range="0,3,0.4") == 0, ts_delta(close, 10), ts_delta(close, 30))
multiply(ts_delta(close, 5), reverse(ts_rank(ts_delta(volume, 5), 10)))
group_mean(if_else(ts_mean(returns, 20) > 0, ts_delta(close, 10), reverse(ts_delta(close, 10))), 1, industry)
ts_delta(close, if_else(ts_std_dev(returns, 20) > 0.02, 5, 20))
multiply(ts_rank(ts_delta(close, 5), 30), group_rank(volume, sector))
group_mean(ts_corr(returns, ts_mean(volume, 5), 20), 1, bucket(rank(close), range="0,3,0.4"))
if_else(ts_rank(ts_mean(returns, 60), 120) > 0.5, ts_delta(close, 10), ts_delta(close, 30))
multiply(group_zscore(ts_delta(close, 5), industry), ts_rank(volume, 20))
group_mean(ts_delta(close, 10) / ts_std_dev(returns, 20), 1, sector)
multiply(ts_regression(close, ts_step(1), 20, 0, 1), if_else(rank(volume) > 0.8, 1, 0.5))
ts_mean(returns, if_else(ts_rank(volume, 30) > 0.8, 10, 30))
multiply(group_rank(ts_delta(close, 5), industry), reverse(ts_rank(ts_delta(volume, 5), 10)))
group_mean(if_else(ts_std_dev(returns, 10) > ts_mean(ts_std_dev(returns, 10), 30), ts_delta(close, 5), ts_delta(close, 20)), 1, industry)
multiply(ts_corr(ts_delta(close, 5), ts_delta(volume, 5), 20), group_mean(returns, 1, sector))
if_else(ts_rank(ts_mean(volume, 20), 60) > 0.7, ts_delta(close, 10), ts_mean(returns, 20))
group_mean(ts_zscore(ts_delta(close, 20), 30), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(ts_delta(close, 10), reverse(ts_rank(volume / ts_mean(volume, 30), 20)))
ts_delta(close, 5) / ts_std_dev(returns, if_else(ts_rank(volume, 30) > 0.7, 10, 30))
multiply(group_mean(ts_regression(close, ts_step(1), 20, 0, 1), 1, industry), ts_rank(returns, 10))
if_else(bucket(ts_rank(volume, 30), range="0,3,0.4") == 0, ts_delta(close, 5), ts_delta(close, 20))
group_mean(multiply(ts_delta(close, 10), ts_zscore(volume, 20)), 1, sector)
multiply(ts_rank(ts_decay_linear(returns, 5), 20), group_zscore(close, industry))
ts_mean(returns, if_else(ts_std_dev(returns, 20) > 0.015, 5, 20))
group_mean(if_else(ts_delta(close, 1) > 0, ts_delta(close, 10), reverse(ts_delta(close, 10))), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(ts_corr(ts_mean(returns, 5), ts_mean(volume, 5), 30), ts_delta(close, 10))
if_else(ts_rank(ts_std_dev(returns, 30), 60) > 0.6, ts_delta(close, 5), ts_regression(close, ts_step(1), 30, 0, 1))
group_mean(ts_delta(close, 20) * ts_rank(volume, 20), 1, industry)
multiply(reverse(ts_rank(ts_delta(volume, 1), 10)), group_mean(ts_delta(close, 5), 1, sector))
ts_delta(close, if_else(ts_mean(returns, 20) > 0, 10, 30))
group_mean(ts_zscore(ts_delta(close, 5), 20), 1, bucket(ts_rank(volume, 30), range="0,3,0.4"))
multiply(ts_regression(close, ts_step(1), 10, 0, 1), if_else(rank(volume) > 0.9, 2, 1))
if_else(ts_rank(ts_mean(volume, 30), 90) > 0.8, ts_delta(close, 5), ts_mean(returns, 30))
group_mean(multiply(ts_delta(close, 10), reverse(ts_rank(volume, 20))), 1, industry)
ts_corr(ts_delta(close, 5), ts_delta(volume, 5), 10) / ts_std_dev(returns, 20)
multiply(group_rank(ts_mean(returns, 20), sector), ts_zscore(ts_delta(close, 5), 30))
if_else(bucket(rank(ts_delta(volume, 1)), range="0,3,0.4") == 0, ts_delta(close, 10), ts_delta(close, 30))
group_mean(ts_delta(close, 5) / ts_mean(abs(returns), 20), 1, sector)
multiply(ts_rank(ts_decay_linear(returns, 10), 30), group_mean(volume, 1, industry))
ts_mean(returns, if_else(ts_rank(ts_std_dev(returns, 10), 30) > 0.7, 5, 20))
group_mean(if_else(ts_delta(volume, 1) > 0, ts_delta(close, 10), ts_delta(close, 20)), 1, bucket(rank(close), range="0,3,0.4"))
multiply(ts_corr(group_mean(ts_delta(close, 1), 1, sector), returns, 20), ts_regression(close, ts_step(1), 20, 0, 1))
if_else(ts_rank(ts_mean(returns, 30), 60) > 0.5, ts_delta(close, 10), reverse(ts_delta(close, 10)))
group_mean(ts_zscore(ts_delta(close, 20), 40), 1, industry)
multiply(reverse(ts_rank(volume / ts_delay(volume, 1), 10)), ts_delta(close, 10))
ts_delta(close, 5) * if_else(ts_rank(volume, 30) > 0.7, 1.5, 1)
group_mean(multiply(ts_regression(close, ts_step(1), 30, 0, 1), ts_rank(volume, 20)), 1, sector)
if_else(ts_std_dev(returns, 20) > ts_mean(ts_std_dev(returns, 20), 60), ts_delta(close, 5), ts_mean(returns, 20))
multiply(group_zscore(ts_delta(close, 10), industry), reverse(ts_rank(ts_delta(volume, 5), 15)))
ts_mean(returns, if_else(bucket(rank(volume), range="0,3,0.4") == 0, 10, 30))
group_mean(ts_delta(close, 15) / ts_std_dev(returns, 30), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(ts_corr(ts_mean(returns, 10), ts_mean(volume, 10), 20), group_rank(close, sector))
if_else(ts_rank(ts_delta(volume, 1), 30) > 0.8, ts_delta(close, 5), ts_delta(close, 20))
group_mean(if_else(ts_mean(returns, 10) > 0, ts_delta(close, 10), ts_delta(close, 30)), 1, industry)
multiply(ts_rank(ts_delta(close, 5), 20), group_zscore(volume, sector))
ts_delta(close, if_else(ts_rank(ts_std_dev(returns, 10), 30) > 0.6, 5, 20))
group_mean(ts_zscore(ts_delta(close, 10), 25), 1, bucket(ts_rank(volume, 20), range="0,3,0.4"))
multiply(reverse(ts_rank(ts_mean(volume, 5), 10)), group_mean(ts_delta(close, 5), 1, industry))
if_else(ts_rank(ts_mean(returns, 20), 40) > 0.5, ts_delta(close, 10), reverse(ts_delta(close, 10)))
multiply(ts_corr(returns, group_mean(returns, 1, sector), 30), ts_regression(close, ts_step(1), 25, 0, 1))
group_mean(ts_delta(close, 20) * if_else(rank(volume) > 0.8, 1.2, 0.8), 1, sector)
ts_mean(returns, if_else(ts_std_dev(returns, 15) > 0.02, 5, 25))
multiply(group_rank(ts_mean(returns, 15), industry), reverse(ts_rank(volume / ts_mean(volume, 30), 20)))
if_else(bucket(ts_rank(ts_delta(volume, 1), 20), range="0,3,0.4") == 0, ts_delta(close, 10), ts_mean(returns, 20))
group_mean(ts_delta(close, 10) / ts_mean(abs(returns), 30), 1, bucket(rank(close), range="0,3,0.4"))
multiply(ts_rank(ts_decay_linear(returns, 8), 25), group_mean(ts_zscore(volume, 20), 1, industry))
ts_delta(close, 5) * ts_rank(volume, 10) / ts_std_dev(returns, 20)
group_mean(if_else(ts_delta(volume, 1) > ts_mean(ts_delta(volume, 1), 10), ts_delta(close, 5), ts_delta(close, 15)), 1, sector)
multiply(ts_corr(ts_delta(close, 3), ts_delta(volume, 3), 15), group_zscore(returns, industry))
if_else(ts_rank(ts_std_dev(returns, 25), 50) > 0.7, ts_delta(close, 5), ts_regression(close, ts_step(1), 30, 0, 1))
group_mean(ts_zscore(ts_delta(close, 12), 24), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(reverse(ts_rank(ts_delta(volume, 2), 12)), ts_delta(close, 12))
ts_mean(returns, if_else(ts_rank(volume, 30) > 0.9, 8, 22))
group_mean(multiply(ts_regression(close, ts_step(1), 18, 0, 1), ts_rank(ts_delta(volume, 1), 15)), 1, industry)
if_else(ts_rank(ts_mean(returns, 18), 36) > 0.5, ts_delta(close, 8), ts_delta(close, 22))
multiply(ts_corr(group_mean(returns, 1, sector), ts_delay(returns, 1), 20), group_rank(ts_delta(close, 5), industry))
group_mean(ts_delta(close, 15) / if_else(ts_std_dev(returns, 20) > 0.018, ts_std_dev(returns, 20), 0.01), 1, sector)
multiply(ts_rank(ts_delta(close, 6), 18), reverse(group_zscore(volume, industry)))
ts_delta(close, if_else(bucket(rank(ts_mean(volume, 20)), range="0,3,0.4") == 0, 6, 18))
group_mean(if_else(ts_mean(returns, 15) > group_mean(ts_mean(returns, 15), 1, industry), ts_delta(close, 10), ts_delta(close, 20)), 1, sector)
multiply(ts_decay_linear(returns, 10), group_mean(ts_rank(volume, 20), 1, industry))
if_else(ts_rank(ts_std_dev(returns, 22), 44) > 0.65, ts_delta(close, 7), ts_mean(returns, 22))
group_mean(ts_zscore(ts_delta(close, 8), 16), 1, bucket(ts_rank(returns, 20), range="0,3,0.4"))
multiply(reverse(ts_rank(volume / ts_delay(volume, 5), 15)), group_mean(ts_regression(close, ts_step(1), 20, 0, 1), 1, sector))
ts_delta(close, 10) * if_else(ts_rank(ts_delta(volume, 5), 30) > 0.8, 1.3, 0.7)
group_mean(multiply(ts_corr(returns, ts_mean(volume, 10), 25), ts_delta(close, 9)), 1, industry)
if_else(ts_rank(ts_mean(volume, 25), 50) > 0.75, ts_delta(close, 6), ts_delta(close, 18))
multiply(group_rank(ts_zscore(close, 30), sector), ts_delta(close, 11))
group_mean(ts_delta(close, 14) / ts_std_dev(returns, 28), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(ts_rank(ts_mean(returns, 12), 24), reverse(group_mean(ts_rank(volume, 15), 1, industry)))
ts_mean(returns, if_else(ts_std_dev(returns, 18) > ts_mean(ts_std_dev(returns, 18), 36), 7, 21))
group_mean(if_else(ts_delta(close, 1) > ts_mean(ts_delta(close, 1), 10), ts_delta(close, 8), reverse(ts_delta(close, 8))), 1, sector)
multiply(ts_corr(ts_delta(close, 4), ts_delta(volume, 4), 18), group_zscore(ts_delta(close, 4), industry))
if_else(bucket(ts_rank(ts_std_dev(returns, 15), 30), range="0,3,0.4") == 0, ts_delta(close, 5), ts_delta(close, 25))
group_mean(ts_delta(close, 16) * ts_rank(ts_delta(volume, 2), 20), 1, industry)
multiply(reverse(ts_rank(ts_mean(volume, 8), 16)), ts_regression(close, ts_step(1), 22, 0, 1))
ts_delta(close, if_else(ts_rank(returns, 30) > 0.7, 9, 27))
group_mean(ts_zscore(ts_delta(close, 7), 14), 1, bucket(rank(ts_delta(volume, 1)), range="0,3,0.4"))
multiply(ts_mean(returns, 15), if_else(group_rank(volume, sector) > 0.8, 1.5, 0.5))
if_else(ts_rank(ts_mean(returns, 28), 56) > 0.55, ts_delta(close, 10), reverse(ts_delta(close, 10)))
group_mean(multiply(ts_corr(ts_mean(returns, 8), group_mean(ts_mean(returns, 8), 1, sector), 20), ts_delta(close, 10)), 1, industry)
ts_delta(close, 5) / if_else(ts_rank(volume, 30) > 0.85, ts_std_dev(returns, 10), ts_std_dev(returns, 30))
multiply(group_zscore(ts_regression(close, ts_step(1), 25, 0, 1), sector), reverse(ts_rank(ts_delta(volume, 3), 18)))

@ -0,0 +1,279 @@
multiply(ts_delta(close,10), group_mean(ts_delta(close,10), 1, bucket(rank(volume), range="0,3,0.4")))
if_else(ts_rank(ts_std_dev(returns,20), 60) > 0.7, ts_delta(close,5), ts_delta(close,20))
ts_corr(ts_delta(close,5), ts_delta(volume,5), 30)
ts_regression(close, ts_step(1), 30, 0, 1)
ts_decay_linear(ts_delta(close,5), 20)
multiply(ts_mean(returns,20), ts_std_dev(returns,20))
ts_delta(ts_delta(close,10), 5)
group_mean(ts_delta(close,20), 1, bucket(rank(volume), range="0,3,0.4"))
if_else(rank(volume) > 0.7, ts_delta(close,20), ts_delta(close,10))
ts_rank(ts_mean(returns,20), 60) > 0.5
ts_zscore(ts_delta(close,30), 60)
multiply(ts_delta(close,60), ts_std_dev(returns,20))
ts_arg_max(returns, 30)
ts_arg_min(returns, 30)
ts_av_diff(returns, 20)
ts_count_nans(returns, 30)
ts_covariance(returns, volume, 20)
ts_backfill(ts_delta(close,5), 30)
ts_delay(close, 5)
ts_mean(ts_delta(close,5), 30)
ts_product(returns, 10)
ts_quantile(returns, 20)
ts_scale(close, 60)
ts_sum(returns, 20)
ts_zscore(volume, 30)
normalize(ts_delta(close,10), true)
quantile(ts_delta(close,10))
rank(ts_delta(close,20))
scale(ts_delta(close,20))
winsorize(ts_delta(close,20), 3)
zscore(ts_delta(close,20))
vec_avg(ts_delta(close,20))
vec_sum(ts_delta(close,20))
bucket(rank(volume), range="0,3,0.4")
group_backfill(ts_delta(close,10), industry, 30)
group_mean(ts_delta(close,10), 1, industry)
group_neutralize(ts_delta(close,10), sector)
group_rank(ts_delta(close,10), industry)
group_scale(ts_delta(close,10), sector)
group_zscore(ts_delta(close,10), sector)
multiply(ts_delta(close,20), if_else(ts_rank(ts_std_dev(returns,20), 60) > 0.7, 1, -1))
divide(ts_delta(close,10), ts_std_dev(returns,20))
reverse(ts_delta(close,20))
sign(ts_delta(close,10))
signed_power(ts_delta(close,10), 2)
sqrt(ts_mean(returns,20))
subtract(ts_delta(close,20), ts_delta(close,10))
add(ts_delta(close,20), ts_delta(close,10))
max(ts_delta(close,20), ts_delta(close,10))
min(ts_delta(close,20), ts_delta(close,10))
power(ts_delta(close,10), 2)
and(ts_rank(ts_std_dev(returns,20), 60) > 0.7, ts_delta(close,10) > 0)
or(ts_rank(ts_std_dev(returns,20), 60) > 0.7, ts_delta(close,10) > 0)
not(ts_rank(ts_std_dev(returns,20), 60) > 0.7)
is_nan(ts_delta(close,10))
if_else(ts_rank(ts_std_dev(returns,20), 60) > 0.7, ts_delta(close,5), ts_delta(close,60))
multiply(ts_delta(close,10), ts_corr(ts_delta(close,5), ts_delta(volume,5), 20))
ts_regression(close, ts_step(1), 60, 0, 1)
ts_decay_linear(returns, 30)
ts_mean(ts_delta(close,1), 20)
ts_std_dev(ts_delta(close,5), 20)
ts_sum(ts_delta(close,5), 30)
ts_zscore(ts_delta(close,10), 30)
group_mean(ts_delta(close,10), 1, sector)
group_rank(ts_delta(close,10), sector)
group_scale(ts_delta(close,10), sector)
group_zscore(ts_delta(close,10), sector)
bucket(rank(volume), range="0,5,0.2")
ts_backfill(ts_delta(close,10), 60)
ts_delay(returns, 1)
ts_mean(returns, 10)
ts_product(ts_delta(close,5), 5)
ts_quantile(ts_delta(close,10), 30)
ts_scale(ts_delta(close,10), 30)
ts_sum(ts_delta(close,5), 10)
ts_zscore(ts_delta(close,5), 10)
normalize(ts_delta(close,5), false)
quantile(ts_delta(close,5))
rank(ts_delta(close,5))
scale(ts_delta(close,5))
winsorize(ts_delta(close,5), 4)
zscore(ts_delta(close,5))
vec_avg(ts_delta(close,5))
vec_sum(ts_delta(close,5))
group_backfill(ts_delta(close,5), industry, 20)
group_mean(ts_delta(close,5), 1, industry)
group_neutralize(ts_delta(close,5), industry)
group_rank(ts_delta(close,5), industry)
group_scale(ts_delta(close,5), industry)
group_zscore(ts_delta(close,5), industry)
multiply(ts_delta(close,5), ts_corr(ts_delta(close,5), ts_delta(volume,5), 10))
divide(ts_delta(close,5), ts_std_dev(returns,10))
reverse(ts_delta(close,5))
sign(ts_delta(close,5))
signed_power(ts_delta(close,5), 2)
sqrt(ts_mean(returns,10))
subtract(ts_delta(close,5), ts_delta(close,1))
add(ts_delta(close,5), ts_delta(close,1))
max(ts_delta(close,5), ts_delta(close,1))
min(ts_delta(close,5), ts_delta(close,1))
power(ts_delta(close,5), 2)
and(ts_rank(ts_std_dev(returns,10), 30) > 0.7, ts_delta(close,5) > 0)
or(ts_rank(ts_std_dev(returns,10), 30) > 0.7, ts_delta(close,5) > 0)
not(ts_rank(ts_std_dev(returns,10), 30) > 0.7)
is_nan(ts_delta(close,5))
if_else(ts_rank(ts_std_dev(returns,10), 30) > 0.7, ts_delta(close,5), ts_delta(close,20))
multiply(ts_delta(close,5), ts_corr(ts_delta(close,5), ts_delta(volume,5), 30))
ts_regression(close, ts_step(1), 20, 0, 1)
ts_decay_linear(returns, 10)
ts_mean(ts_delta(close,1), 5)
ts_std_dev(ts_delta(close,5), 10)
ts_sum(ts_delta(close,5), 5)
ts_zscore(ts_delta(close,5), 5)
group_mean(ts_delta(close,5), 1, sector)
group_rank(ts_delta(close,5), sector)
group_scale(ts_delta(close,5), sector)
group_zscore(ts_delta(close,5), sector)
bucket(rank(volume), range="0,2,0.5")
ts_backfill(ts_delta(close,5), 20)
ts_delay(returns, 5)
ts_mean(returns, 5)
ts_product(ts_delta(close,5), 3)
ts_quantile(ts_delta(close,5), 10)
ts_scale(ts_delta(close,5), 10)
ts_sum(ts_delta(close,5), 3)
ts_zscore(ts_delta(close,5), 3)
normalize(ts_delta(close,5), false)
quantile(ts_delta(close,5))
rank(ts_delta(close,5))
scale(ts_delta(close,5))
winsorize(ts_delta(close,5), 3)
zscore(ts_delta(close,5))
vec_avg(ts_delta(close,5))
vec_sum(ts_delta(close,5))
group_backfill(ts_delta(close,5), industry, 10)
group_mean(ts_delta(close,5), 1, industry)
group_neutralize(ts_delta(close,5), industry)
group_rank(ts_delta(close,5), industry)
group_scale(ts_delta(close,5), industry)
group_zscore(ts_delta(close,5), industry)

@ -0,0 +1,228 @@
group_mean(ts_delta(close, 5), 1, bucket(rank(volume), range="0,3,0.4"))
group_mean(ts_delta(close, 20), 1, bucket(rank(volume), range="0,3,0.4"))
group_mean(ts_regression(close, ts_step(1), 30, 0, 1), 1, bucket(rank(volume), range="0,3,0.4"))
if_else(ts_std_dev(returns, 20) > 0.02, ts_delta(close, 5), ts_delta(close, 20))
if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.7, ts_delta(close, 10), ts_delta(close, 60))
multiply(ts_corr(group_mean(returns, 1, industry), group_mean(returns, 1, sector), 20), ts_delta(close, 30))
multiply(reverse(ts_rank(volume/ts_mean(volume, 20), 10)), ts_delta(close, 20))
ts_delta(close, 5) / ts_std_dev(returns, 20)
divide(ts_delta(close, 30), ts_mean(abs(returns), 30))
if_else(bucket(rank(volume), range="0,3,0.4") == 0, ts_mean(returns, 10), ts_delta(close, 5))
group_zscore(ts_delta(close, 10), bucket(rank(volume), range="0,3,0.4"))
multiply(ts_zscore(volume, 20), ts_decay_linear(returns, 20))
if_else(ts_rank(returns, 30) > 0.8, ts_delta(close, 5), ts_delta(close, 60))
group_rank(ts_regression(close, ts_step(1), 60, 0, 1), industry)
ts_corr(ts_delta(close, 5), ts_delta(volume, 5), 20)
if_else(ts_std_dev(returns, 10) > ts_std_dev(returns, 60), ts_regression(close, ts_step(1), 10, 0, 1), ts_mean(returns, 10))
multiply(rank(volume), ts_delta(close, 20))
group_mean(ts_zscore(returns, 10), 1, bucket(rank(volume), range="0,3,0.4"))
if_else(ts_rank(volume, 20) > 0.7, ts_delta(close, 10), 0)
multiply(ts_corr(close, volume, 30), ts_delta(close, 30))
ts_delta(ts_decay_linear(returns, 10), 5)
if_else(ts_mean(abs(returns), 20) > 0.015, ts_delta(close, 5), ts_delta(close, 30))
group_mean(ts_corr(close, returns, 20), 1, bucket(rank(volume), range="0,3,0.4"))
reverse(multiply(ts_rank(volume, 10), ts_rank(returns, 10)))
if_else(ts_corr(close, volume, 10) > 0.3, ts_delta(close, 5), ts_delta(close, 20))
group_rank(ts_zscore(volume, 30), industry)
multiply(ts_std_dev(returns, 20), inverse(ts_rank(volume, 20)))
ts_delta(ts_mean(close, 10), 20)
if_else(rank(volume) > 0.8, ts_regression(close, ts_step(1), 20, 0, 1), ts_mean(returns, 20))
group_mean(ts_decay_linear(returns, 60), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(ts_zscore(volume, 60), ts_delta(close, 60))
if_else(ts_std_dev(returns, 30) > 0.025, ts_mean(returns, 5), ts_regression(close, ts_step(1), 30, 0, 1))
group_zscore(ts_delta(close, 30), industry)
divide(ts_delta(close, 10), ts_mean(volume, 10))
if_else(ts_rank(volume, 60) > 0.9, ts_delta(close, 5), ts_delta(close, 60))
multiply(ts_corr(ts_delta(close, 5), ts_delta(volume, 5), 60), ts_delta(close, 10))
group_rank(ts_mean(returns, 20), bucket(rank(volume), range="0,3,0.4"))
if_else(ts_mean(abs(returns), 60) > ts_mean(abs(returns), 20), ts_delta(close, 10), ts_delta(close, 60))
multiply(rank(volume), ts_mean(returns, 20))
group_mean(ts_std_dev(returns, 20), 1, bucket(rank(volume), range="0,3,0.4"))
reverse(ts_rank(volume, 30)) * ts_regression(close, ts_step(1), 30, 0, 1)
if_else(ts_corr(close, volume, 30) > 0, ts_delta(close, 20), ts_delta(close, 5))
group_zscore(ts_corr(close, volume, 20), sector)
ts_delta(close, 20) / ts_mean(volume, 20)
if_else(bucket(rank(volume), range="0,3,0.4") == 0, ts_regression(close, ts_step(1), 30, 0, 1), ts_mean(returns, 5))
multiply(ts_std_dev(returns, 30), ts_zscore(volume, 30))
group_rank(ts_delta(close, 60), industry)
if_else(ts_rank(abs(returns), 10) > 0.8, ts_delta(close, 5), ts_regression(close, ts_step(1), 60, 0, 1))
multiply(group_mean(returns, 1, industry), ts_zscore(volume, 20))
divide(ts_delta(close, 30), ts_std_dev(volume, 30))
if_else(rank(volume) > 0.7, ts_decay_linear(returns, 20), ts_delta(close, 60))
group_mean(ts_corr(close, returns, 60), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(ts_rank(volume, 20), ts_rank(ts_mean(returns, 20), 20))
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.6, ts_delta(close, 10), ts_mean(returns, 30))
group_zscore(ts_regression(close, ts_step(1), 20, 0, 1), sector)
ts_corr(ts_delta(close, 10), ts_delta(volume, 10), 30)
if_else(volume > ts_mean(volume, 30), ts_delta(close, 5), ts_delta(close, 30))
multiply(rank(volume), ts_corr(close, returns, 20))
group_mean(ts_mean(returns, 10), 1, bucket(rank(volume), range="0,3,0.4"))
reverse(ts_rank(volume, 60)) * ts_decay_linear(returns, 10)
if_else(ts_std_dev(returns, 10) > 0.01, ts_regression(close, ts_step(1), 10, 0, 1), ts_delta(close, 60))
group_rank(ts_std_dev(returns, 60), industry)
multiply(ts_zscore(volume, 10), ts_zscore(returns, 10))
divide(ts_delta(close, 60), ts_mean(volume, 60))
if_else(bucket(rank(volume), range="0,3,0.4") == 0, ts_delta(close, 10), -ts_delta(close, 10))
multiply(rank(volume), ts_delta(ts_mean(returns, 20), 5))
group_mean(ts_corr(close, volume, 10), 1, bucket(rank(volume), range="0,3,0.4"))
if_else(ts_rank(volume, 30) > 0.5, ts_mean(returns, 20), ts_delta(close, 10))
ts_decay_linear(ts_zscore(returns, 20), 20)
multiply(ts_std_dev(returns, 20), inverse(ts_mean(volume, 20)))
group_zscore(ts_delta(close, 20), sector)
if_else(ts_corr(close, volume, 20) < 0, ts_delta(close, 5), ts_delta(close, 30))
group_rank(ts_mean(abs(returns), 10), industry)
multiply(rank(returns), rank(volume))
divide(ts_regression(close, ts_step(1), 30, 0, 1), ts_std_dev(returns, 30))
if_else(rank(volume) > 0.6, ts_rank(returns, 10), ts_rank(returns, 60))
group_mean(ts_zscore(volume, 30), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(ts_delta(close, 20), ts_delta(volume, 20))
if_else(ts_mean(volume, 10) > volume, ts_delta(close, 60), ts_delta(close, 10))
group_rank(ts_regression(close, ts_step(1), 60, 0, 1), sector)
reverse(multiply(ts_rank(volume, 20), ts_rank(close, 20)))
if_else(ts_std_dev(returns, 60) > 0.02, ts_mean(returns, 5), ts_mean(returns, 60))
group_zscore(ts_corr(close, returns, 30), industry)
multiply(ts_mean(returns, 20), ts_zscore(volume, 60))
divide(ts_delta(close, 5), ts_zscore(volume, 5))
if_else(bucket(rank(volume), range="0,3,0.4") == 0, ts_corr(close, returns, 20), ts_corr(close, volume, 20))
group_mean(ts_std_dev(returns, 10), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(rank(ts_mean(returns, 30)), rank(volume))
if_else(ts_rank(ts_std_dev(returns, 20), 30) > 0.7, ts_delta(close, 10), ts_regression(close, ts_step(1), 20, 0, 1))
group_rank(ts_delta(close, 10), sector)
ts_corr(ts_zscore(close, 20), ts_zscore(volume, 20), 30)
if_else(rank(volume) > 0.5, ts_decay_linear(returns, 20), -ts_decay_linear(returns, 20))
multiply(ts_std_dev(returns, 10), ts_std_dev(volume, 10))
group_mean(ts_delta(close, 60), 1, bucket(rank(volume), range="0,3,0.4"))
reverse(ts_rank(volume, 10)) * ts_mean(returns, 60)
divide(ts_regression(close, ts_step(1), 20, 0, 1), ts_mean(volume, 20))
if_else(ts_corr(volume, returns, 10) > 0, ts_delta(close, 20), ts_delta(close, 5))
group_zscore(ts_mean(returns, 10), industry)
multiply(rank(volume), ts_delta(ts_decay_linear(returns, 10), 5))
if_else(ts_rank(abs(returns), 20) > 0.9, ts_delta(close, 5), ts_delta(close, 30))
group_rank(ts_corr(close, volume, 30), sector)
multiply(ts_mean(returns, 30), inverse(ts_std_dev(returns, 30)))
divide(ts_delta(close, 30), ts_delta(volume, 30))
if_else(bucket(rank(volume), range="0,3,0.4") == 0, ts_delta(close, 30), ts_mean(returns, 30))
group_mean(ts_zscore(returns, 60), 1, bucket(rank(volume), range="0,3,0.4"))
reverse(ts_rank(volume, 20)) * ts_regression(close, ts_step(1), 60, 0, 1)
if_else(ts_mean(volume, 20) > ts_mean(volume, 60), ts_delta(close, 10), ts_delta(close, 60))
group_rank(ts_mean(abs(returns), 60), industry)
multiply(ts_corr(close, volume, 10), ts_delta(close, 30))
divide(ts_mean(returns, 20), ts_std_dev(volume, 20))
if_else(rank(volume) > 0.8, ts_zscore(returns, 10), ts_zscore(returns, 60))
group_mean(ts_corr(close, returns, 10), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(ts_zscore(volume, 20), ts_zscore(close, 20))
if_else(ts_std_dev(returns, 30) > ts_mean(abs(returns), 30), ts_delta(close, 5), ts_regression(close, ts_step(1), 30, 0, 1))

@ -0,0 +1,209 @@
ts_delta(close, 10) * rank(volume)
ts_regression(close, ts_step(1), 20, 0, 1) / ts_std_dev(returns, 20)
ts_delta(ts_delta(close, 5), 10) + ts_mean(returns, 30)
ts_mean(returns, 20) * group_mean(1, bucket(rank(volume), range="0,3,0.4"))
ts_decay_linear(returns, 30) / if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.6, 1, 0.5)
ts_corr(ts_delta(close, 5), ts_delta(volume, 5), 60) + ts_zscore(volume, 20)
ts_delta(close, 30) * if_else(rank(volume) > 0.7, 1.2, 0.8)
group_mean(ts_delta(close, 10), 1, bucket(rank(volume), range="0,5,0.2")) - ts_std_dev(returns, 20)
ts_regression(close, ts_step(1), 60, 0, 1) * ts_mean(returns, 60)
if_else(ts_rank(volume, 20) > 0.8, ts_delta(close, 5), ts_delta(close, 60))
ts_delta(close, 20) + multiply(ts_corr(close, ts_delay(close, 1), 20), ts_std_dev(returns, 60))
group_mean(returns, 1, bucket(rank(volume), range="0,3,0.4")) * ts_delta(close, 5)
ts_delta(close, 5) / (ts_std_dev(returns, 10) + 0.0001)
ts_mean(returns, 30) * if_else(ts_zscore(volume, 20) > 1.5, 1.1, 0.9)
ts_corr(ts_delta(close, 10), ts_delta(volume, 10), 30) * ts_regression(close, ts_step(1), 30, 0, 1)
group_rank(returns, industry) * ts_delta(close, 20)
ts_regression(close, ts_step(1), 90, 0, 1) - ts_delta(close, 60)
if_else(ts_std_dev(returns, 20) > 0.03, ts_delta(close, 5), ts_delta(close, 30))
ts_decay_linear(returns, 20) + group_mean(ts_delta(close, 5), 1, bucket(rank(volume), range="0,4,0.25"))
ts_delta(close, 60) * ts_rank(volume, 30)
ts_zscore(close, 30) * group_mean(ts_delta(close, 10), 1, bucket(rank(volume), range="0,5,0.2"))
ts_corr(ts_delta(close, 5), ts_delta(volume, 5), 60) + ts_mean(returns, 20)
ts_delta(close, 10) * if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.5, 1.0, 0.5)
group_mean(ts_delta(close, 5), 1, bucket(rank(volume), range="0,3,0.4")) / ts_std_dev(returns, 20)
ts_regression(close, ts_step(1), 20, 0, 1) + ts_mean(returns, 60)
ts_delta(close, 30) * multiply(if_else(rank(volume) > 0.6, 1.0, 0.7), ts_rank(close, 20))
ts_corr(ts_delta(close, 10), ts_delta(volume, 10), 30) * ts_delta(close, 5)
if_else(ts_rank(volatility, 30) > 0.7, ts_delta(close, 5), ts_delta(close, 60))
ts_delta(close, 20) + group_mean(returns, 1, bucket(rank(volume), range="0,3,0.4"))
ts_regression(close, ts_step(1), 60, 0, 1) / ts_delta(close, 10)
ts_decay_linear(returns, 90) * if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.6, 1.2, 0.8)
group_mean(ts_delta(close, 10), 1, bucket(rank(volume), range="0,5,0.2")) - ts_variance(returns, 30)
ts_delta(close, 60) * group_rank(returns, industry)
ts_zscore(ts_delta(close, 20), 60) * rank(volume)
ts_corr(ts_delta(close, 5), ts_delta(volume, 5), 20) / ts_mean(returns, 10)
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.5, ts_delta(close, 5), ts_mean(close, 30))
ts_mean(returns, 10) * group_mean(ts_delta(close, 20), 1, bucket(rank(volume), range="0,3,0.4"))
ts_regression(close, ts_step(1), 30, 0, 1) + ts_decay_linear(returns, 60)
ts_delta(close, 10) * multiply(1 + ts_rank(volume, 20), ts_rank(close, 60))
group_mean(close, 1, bucket(rank(volume), range="0,4,0.25")) / ts_std_dev(returns, 30)
ts_delta(close, 30) - if_else(ts_rank(volume, 20) > 0.7, 0.01, -0.01)
ts_corr(ts_delta(close, 5), ts_delta(volume, 5), 120) * ts_regression(close, ts_step(1), 20, 0, 1)
ts_mean(returns, 60) * if_else(ts_rank(ts_std_dev(returns, 90), 180) > 0.7, 1.1, 0.9)
ts_delta(close, 5) - group_mean(ts_delta(close, 5), 1, bucket(rank(volume), range="0,5,0.2"))
ts_regression(close, ts_step(1), 90, 0, 1) * ts_zscore(volume, 30)
if_else(ts_rank(vocal, 30) > 0.6, ts_delta(close, 10), ts_delta(close, 90))
group_mean(returns, 1, bucket(rank(volume), range="0,3,0.4")) + ts_variance(returns, 60)
ts_decay_linear(returns, 20) * if_else(ts_rank(volume, 60) > 0.7, 1.0, 0.8)
ts_delta(close, 20) * group_mean(ts_regression(close, ts_step(1), 10, 0, 1), 1, bucket(rank(volume), range="0,4,0.25"))
ts_corr(ts_delta(close, 10), ts_delta(volume, 5), 30) * ts_mean(returns, 30)
ts_regression(close, ts_step(1), 60, 0, 1) - ts_delta(close, 30)
if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.7, ts_delta(close, 5), ts_delta(close, 60))
ts_delta(close, 30) + group_mean(returns, 1, bucket(rank(volume), range="0,3,0.4"))
ts_zscore(close, 60) * group_mean(ts_delta(close, 5), 1, bucket(rank(volume), range="0,5,0.2"))
ts_corr(ts_delta(close, 5), ts_delta(close, 5), 30) / ts_mean(returns, 20)
ts_delta(close, 10) * if_else(ts_rank(volume, 30) > 0.8, 1.2, 0.9)
ts_mean(returns, 60) + group_mean(close, 1, bucket(rank(volume), range="0,4,0.25"))
ts_regression(close, ts_step(1), 90, 0, 1) + ts_decay_linear(returns, 90)
ts_delta(close, 60) * multiply(if_else(rank(volume) > 0.5, 1.1, 0.95), ts_rank(close, 30))
group_mean(close, 1, bucket(rank(volume), range="0,5,0.2")) / ts_std_dev(returns, 20)
ts_delta(close, 30) - if_else(ts_rank(volume, 90) > 0.6, 0.02, -0.02)
ts_corr(ts_delta(close, 20), ts_delta(volume, 10), 60) * ts_regression(close, ts_step(1), 30, 0, 1)
ts_mean(returns, 20) * if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.5, 1.0, 0.7)
ts_delta(close, 5) + group_mean(ts_delta(close, 20), 1, bucket(rank(volume), range="0,3,0.4"))
ts_regression(close, ts_step(1), 30, 0, 1) * ts_zscore(returns, 60)
if_else(ts_rank(volume, 20) > 0.9, ts_delta(close, 5), ts_delta(close, 120))
ts_delta(close, 10) * group_mean(returns, 1, bucket(rank(volume), range="0,4,0.25"))
ts_zscore(ts_delta(close, 30), 90) * rank(volume)
ts_corr(ts_delta(close, 5), ts_delta(volume, 10), 60) / ts_mean(returns, 30)
ts_delta(close, 5) * if_else(ts_rank(volume, 60) > 0.7, 1.15, 0.9)
group_mean(close, 1, bucket(rank(volume), range="0,5,0.2")) * ts_regression(close, ts_step(1), 20, 0, 1)
ts_regression(close, ts_step(1), 20, 0, 1) * ts_mean(returns, 60)
if_else(ts_rank(ts_std_dev(returns, 30), 90) > 0.8, ts_delta(close, 5), ts_delta(close, 90))
ts_delta(close, 20) + group_mean(returns, 1, bucket(rank(volume), range="0,3,0.4"))
ts_zscore(close, 20) * group_mean(ts_delta(close, 5), 1, bucket(rank(volume), range="0,4,0.25"))
ts_corr(ts_delta(close, 10), ts_delta(volume, 5), 90) * if_else(ts_rank(volume, 30) > 0.6, 1.0, 0.8)
ts_mean(returns, 30) * if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.7, 1.2, 1.0)
ts_delta(close, 90) * rank(volume)
ts_regression(close, ts_step(1), 60, 0, 1) / ts_std_dev(returns, 10)
if_else(ts_rank(volume, 60) > 0.8, ts_delta(close, 5), ts_delta(close, 60))
ts_delta(close, 30) * group_mean(returns, 1, bucket(rank(volume), range="0,3,0.4"))
ts_zscore(close, 60) * group_mean(ts_delta(close, 10), 1, bucket(rank(volume), range="0,5,0.2"))
ts_corr(ts_delta(close, 5), ts_delta(volume, 5), 30) * ts_mean(returns, 20)
ts_regression(close, ts_step(1), 90, 0, 1) * ts_decay_linear(returns, 120)
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.6, ts_delta(close, 10), ts_delta(close, 120))
ts_delta(close, 20) + group_mean(ts_delta(close, 5), 1, bucket(rank(volume), range="0,4,0.25"))
ts_regression(close, ts_step(1), 30, 0, 1) + ts_zscore(returns, 90)
ts_delta(close, 60) * multiply(if_else(rank(volume) > 0.6, 1.2, 1.0), ts_rank(close, 30))
group_mean(close, 1, bucket(rank(volume), range="0,3,0.4")) / ts_std_dev(returns, 20)
ts_decay_linear(returns, 90) * if_else(ts_rank(volume, 90) > 0.7, 1.1, 0.9)
ts_delta(close, 120) + group_mean(returns, 1, bucket(rank(volume), range="0,5,0.2"))
ts_zscore(ts_delta(close, 20), 60) * rank(volume)
ts_corr(ts_delta(close, 5), ts_delta(volume, 10), 30) / ts_mean(returns, 60)
ts_delta(close, 5) * if_else(ts_rank(volume, 30) > 0.7, 1.05, 0.95)
group_mean(returns, 1, bucket(rank(volume), range="0,4,0.25")) * ts_regression(close, ts_step(1), 60, 0, 1)
ts_regression(close, ts_step(1), 20, 0, 1) * ts_mean(returns, 90)
if_else(ts_rank(ts_std_dev(returns, 60), 180) > 0.7, ts_delta(close, 5), ts_delta(close, 90))
ts_delta(close, 5) + group_mean(close, 1, bucket(rank(volume), range="0,3,0.4"))
ts_zscore(close, 30) * group_mean(ts_delta(close, 10), 1, bucket(rank(volume), range="0,5,0.2"))
ts_corr(ts_delta(close, 10), ts_delta(volume, 10), 20) * if_else(ts_rank(volume, 90) > 0.6, 1.0, 0.7)
ts_mean(returns, 90) * if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.6, 1.1, 0.8)
ts_delta(close, 30) * rank(volume)
ts_regression(close, ts_step(1), 120, 0, 1) / ts_std_dev(returns, 30)
if_else(ts_rank(volume, 20) > 0.8, ts_delta(close, 10), ts_delta(close, 60))
ts_delta(close, 5) * group_mean(returns, 1, bucket(rank(volume), range="0,5,0.

@ -0,0 +1,347 @@
group_mean(ts_delta(close, 20), 1, bucket(rank(volume), range="0,3,0.4"))
group_mean(ts_regression(close, ts_step(1), 30, 0, 1), 1, bucket(rank(volume), range="0,2,0.5"))
group_mean(ts_mean(returns, 20), 1, bucket(rank(volume), range="0,4,0.3"))
ts_delta(close, 5) / ts_std_dev(returns, 20)
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, ts_delta(close, 5), ts_delta(close, 20))
ts_delta(close, if_else(ts_std_dev(returns, 20) > 0.01, 5, 60))
if_else(ts_rank(ts_mean(returns, 20), 60) > 0.5, ts_delta(close, 10), ts_delta(close, 30))
group_mean(reverse(ts_rank(volume/ts_mean(volume, 20), 10)), 1, bucket(rank(volume), range="0,3,0.4"))
group_mean(ts_corr(group_mean(returns, 1, industry), group_mean(returns, 1, sector), 20), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(ts_zscore(volume, 20), ts_delta(close, 30))
group_mean(ts_delta(close, 10), 1, bucket(rank(returns), range="0,3,0.5"))
ts_std_dev(returns, 20) * ts_regression(close, ts_step(1), 30, 0, 1)
if_else(ts_rank(volume, 30) > 0.8, mult
iply(ts_delta(close, 5), volume), ts_delta(close, 60))
group_mean(ts_corr(ts_delta(close, 10), ts_delta(volume, 10), 20), 1, bucket(rank(volume), range="0,3,0.4"))
ts_decay_linear(ts_delta(close, 1), 30)
if_else(ts_rank(ts_std_dev(returns, 20), 120) > 0.6, ts_delta(close, 5), ts_delta(close, 120))
group_mean(ts_regression(close, ts_step(1), 20, 0, 1), 1, bucket(rank(returns), range="0,4,0.2"))
sign(multiply(ts_delta(close, 20), group_rank(volume, industry)))
ts_delta(close, 30) / if_else(ts_rank(ts_mean(returns, 60), 120) > 0.5, 1.1, 0.9)
group_mean(ts_delta(close, 10), 1, bucket(rank(volume), range="0,5,0.2"))
winsorize(group_rank(returns, industry))
ts_corr(ts_delta(close, 5), ts_delta(volume, 5), 30)
group_mean(ts_zscore(volume, 20), 1, bucket(rank(returns), range="0,3,0.4"))
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, ts_delta(close, 5), ts_delta(close, 60))
ts_delta(close, 10) * ts_regression(ts_delta(close, 1), ts_step(1), 30, 0, 1)
group_mean(multiply(ts_zscore(volume, 20), ts_delta(close, 10)), 1, bucket(rank(volume), range="0,4,0.3"))
ts_decay_linear(returns, 60)
if_else(ts_rank(ts_mean(returns, 20), 60) > 0.5, group_mean(returns, 1, industry), 0)
group_mean(ts_corr(returns, group_mean(returns, 1, industry), 20), 1, bucket(rank(volume), range="0,3,0.4"))
sign(ts_delta(close, 20)) * group_mean(ts_delta(close, 10), 1, bucket(rank(volume), range="0,3,0.5"))
ts_delta(close, 5) / ts_mean(returns, 30)
if_else(ts_rank(ts_std_dev(returns, 20), 120) > 0.8, ts_delta(close, 5), ts_delta(close, 60))
group_mean(ts_regression(close, ts_step(1), 60, 0, 1), 1, bucket(rank(volume), range="0,3,0.4"))
winsorize(group_mean(ts_delta(close, 10), 1, industry))
ts_zscore(multiply(ts_delta(close, 5), volume), 20)
group_mean(ts_corr(ts_delta(close, 10), ts_delta(volume, 10), 20), 1, bucket(rank(volume), range="0,3,0.4"))
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, ts_delta(close, 5), ts_delta(close, 20))
ts_delta(close, 30) * group_rank(returns, industry)
group_mean(ts_delta(close, 10), 1, bucket(rank(returns), range="0,4,0.2"))
norma
lize(ts_delta(close, 20))
ts_corr(volume, returns, 30)
group_mean(if_else(rank(volume) > 0.7, close, 0), 1, industry)
ts_delta(close, 5) / ts_std_dev(returns, 60)
if_else(ts_rank(ts_mean(returns, 10), 60) > 0.5, ts_delta(close, 5), ts_delta(close, 60))
group_mean(reverse(ts_rank(volume/ts_mean(volume, 30), 10)), 1, bucket(rank(volume), range="0,3,0.4"))
ts_decay_linear(ts_delta(close, 1), 5)
winsorize(group_mean(rank(returns), 1, industry))
group_mean(ts_corr(group_mean(returns, 1, sector), group_mean(returns, 1, market), 20), 1, bucket(rank(volume), range="0,3,0.4"))
sign(ts_delta(close, 10)) * if_else(ts_rank(volume, 30) > 0.8, 1, 0)
ts_delta(close, 20) / if_else(ts_rank(ts_mean(returns, 20), 60) > 0.5, 1.1, 0.9)
group_mean(ts_zscore(volume, 10), 1, bucket(rank(returns), range="0,3,0.5"))
ts_regression(close, ts_step(1), 20, 0, 1) * group_mean(volume, 1, industry)
if_else(ts_rank(ts_std_dev(returns, 20), 120) > 0.7, ts_delta(close, 5), ts_delta(close, 60))
group_mean(ts_corr(returns, volume, 30), 1, bucket(rank(volume), range="0,3,0.4"))
ts_delta(close, 10) * reversible_condition
group_mean(reverse(ts_delta(close, 10)), 1, bucket(rank(volume), range="0,3,0.4"))
ts_delta(close, 5) / ts_mean(returns, 20)
if_else(ts_rank(ts_mean(returns, 30), 60) > 0.5, ts_delta(close, 5), ts_delta(close, 120))
group_mean(multiply(ts_zscore(volume, 20), ts_delta(close, 5)), 1, bucket(rank(volume), range="0,3,0.4"))
sign(group_mean(ts_delta(close, 10), 1, industry))
ts_regression(ts_delta(close, 1), ts_step(1), 30, 0, 1)
group_mean(ts_corr(returns, group_mean(returns, 1, sector), 20), 1, bucket(rank(volume), range="0,3,0.4"))
ts_delta(close, 20) * if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, 1.1, 0.9)
group_mean(ts_regression(close, ts_step(1), 60, 0, 1), 1, bucket(rank(volume), range="0,3,0.4"))
winsorize(group_mean(rank(returns), 1, industry))
ts_delta(close, 10) / ts_std_dev(returns, 20)
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, ts_delta(close, 5), ts_delta(close, 20))
group_mean(ts_corr(ts_delta(close, 5), ts_delta(volume, 5), 20), 1, bucket(rank(volume), range="0,3,0.4"))
sign(ts_delta(close, 30)) * group_mean(ts_delta(close, 10), 1, industry)
ts_decay_linear(returns, 20)
group_mean(reverse(ts_rank(volume/ts_mean(volume, 20), 10)), 1, bucket(rank(volume), range="0,3,0.4"))
group_mean(ts_corr(group_mean(returns, 1, industry), group_mean(returns, 1, market), 30), 1, bucket(rank(volume), range="0,3,0.4"))
ts_delta(close, 5) / if_else(ts_rank(ts_mean(returns, 20), 60) > 0.5, 1.05, 0.95)
group_mean(ts_regression(close, ts_step(1), 30, 0, 1), 1, bucket(rank(volume), range="0,3,0.4"))
winsorize(group_mean(ts_delta(close, 20), 1, industry))
ts_zscore(multiply(ts_delta(close, 10), volume), 20)
group_mean(ts_corr(returns, volume, 20), 1, bucket(rank(volume), range="0,3,0.4"))
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, ts_delta(close, 5), ts_delta(close, 20))
ts_delta(close, 10) * group_rank(returns, industry)
group_mean(ts_mean(returns, 20), 1, bucket(rank(volume), range="0,3,0.4"))
ts_regression(close, ts_step(1), 20, 0, 1)
group_mean(ts_corr(group_mean(returns, 1, sector), group_mean(returns, 1, market), 20), 1, bucket(rank(volume), range="0,3,0.4"))
sign(group_mean(ts_delta(close, 10), 1, industry))
ts_decay_linear(ts_delta(close, 1), 30)
group_mean(reverse(ts_rank(volume/ts_mean(volume, 30), 10)), 1, bucket(rank(volume), range="0,3,0.4"))
ts_delta(close, 5) / ts_mean(returns, 60)
if_else(ts_rank(ts_mean(returns, 20), 60) > 0.5, ts_delta(close, 5), ts_delta(close, 120))
group_mean(multiply(ts_zscore(volume, 10), ts_delta(close, 5)), 1, bucket(rank(volume), range="0,3,0.4"))
norma
lize(group_mean(ts_delta(close, 10), 1, industry))
ts_corr(ts_delta(close, 10), ts_delta(volume, 10), 30)
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, ts_delta(close, 5), ts_delta(close, 20))
group_mean(ts_regression(close, ts_step(1), 60, 0, 1), 1, bucket(rank(volume), range="0,3,0.4"))
winsorize(sign(ts_delta(close, 10)))
ts_zscore(multiply(ts_delta(close, 5), volume), 20)
group_mean(ts_corr(returns, group_mean(returns, 1, sector), 20), 1, bucket(rank(volume), range="0,3,0.4"))
if_else(ts_rank(ts_len
g(volume), 30) > 0.8, ts_delta(close, 5), ts_delta(close, 30))
sign(ts_delta(close, 20)) * group_mean(ts_delta(close, 10), 1, industry)
ts_decay_linear(returns, 30)
group_mean(reverse(ts_rank(volume/ts_mean(volume, 20), 10)), 1, bucket(rank(volume), range="0,3,0.4"))
ts_delta(close, 10) / ts_std_dev(returns, 20)
if_else(ts_rank(ts_mean(returns, 20), 60) > 0.5, ts_delta(close, 5), ts_delta(close, 60))
group_mean(multiply(ts_zscore(volume, 20), ts_delta(close, 5)), 1, bucket(rank(volume), range="0,3,0.4"))
norma
lize(group_mean(rank(returns), 1, industry))
ts_corr(ts_delta(close, 5), ts_delta(volume, 5), 20)
if_else(ts_rank(volume, 30) > 0.7, ts_delta(close, 5), ts_delta(close, 20))
group_mean(ts_regression(close, ts_step(1), 30, 0, 1), 1, bucket(rank(volume), range="0,3,0.4"))
winsorize(group_mean(ts_mean(returns, 20), 1, industry))
ts_zscore(group_mean(volume, 1, sector), 20)
group_mean(ts_corr(returns, volume, 20), 1, bucket(rank(volume), range="0,3,0.4"))
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, ts_delta(close, 5), ts_delta(close, 20))
sign(group_mean(ts_delta(close, 10), 1, industry))
ts_delta(close, 5) / ts_mean(returns, 30)
group_mean(reverse(ts_rank(volume/ts_mean(volume, 10), 10)), 1, bucket(rank(volume), range="0,3,0.4"))
ts_regression(close, ts_step(1), 20, 0, 1)
if_else(ts_rank(ts_std_dev(returns, 20), 120) > 0.6, ts_delta(close, 5), ts_delta(close, 120))
group_mean(ts_delta(close, 20), 1, bucket(rank(returns), range="0,3,0.4"))
winsorize(group_mean(ts_delta(close, 10), 1, industry))
ts_zscore(
multiply(ts_delta(close, 10), ts_delta(volume, 10)), 20)
group_mean(ts_corr(group_mean(returns, 1, industry), group_mean(returns, 1, market), 20), 1, bucket(rank(volume), range="0,3,0.4"))
if_else(ts_rank(ts_mean(returns, 20), 60) > 0.5, ts_delta(close, 5), ts_delta(close, 60))
sign(group_mean(rank(returns), 1, industry))
ts_decay_linear(returns, 20)
group_mean(reverse(ts_rank(volume/ts_mean(volume, 30), 10)), 1, bucket(rank(volume), range="0,3,0.4"))
ts_delta(close, 10) / ts_std_dev(returns, 30)
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, ts_delta(close, 5), ts_delta(close, 20))
group_mean(ts_regression(close, ts_step(1), 60, 0, 1), 1, bucket(rank(volume), range="0,3,0.4"))
winsorize(group_mean(rank(returns), 1, industry))
ts_zscore(multiply(ts_delta(close, 5), volume), 20)
group_mean(ts_corr(returns, group_mean(returns, 1, sector), 20), 1, bucket(rank(volume), range="0,3,0.4"))
if_else(ts_rank(ts_mean(returns, 20), 60) > 0.5, ts_delta(close, 5), ts_delta(close, 120))
group_mean(ts_delta(close, 5), 1, bucket(rank(volume), range="0,3,0.4"))
sign(group_mean(ts_delta(close, 10), 1, industry))
ts_decay_linear(ts_delta(close, 1), 30)
group_mean(reverse(ts_rank(volume/ts_mean(volume, 20), 10)), 1, bucket(rank(volume), range="0,3,0.4"))
ts_delta(close, 20) / ts_mean(returns, 20)
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, ts_delta(close, 5), ts_delta(close, 30))
group_mean(ts_corr(ts_delta(close, 10), ts_delta(volume, 10), 20), 1, bucket(rank(volume), range="0,3,0.4"))
winsorize(sign(ts_delta(close, 10)))
ts_zscore(group_mean(volume, 1, industry), 20)
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, ts_delta(close, 5), ts_delta(close, 20))
group_mean(ts_regression(close, ts_step(1), 30, 0, 1), 1, bucket(rank(volume), range="0,3,0.4"))
winsorize(group_mean(ts_mean(returns, 20), 1, industry))
ts_zscore(group_mean(multiply(ts_delta(close, 5), volume), 1, sector), 20)
group_mean(ts_corr(returns, group_mean(returns, 1, industry), 20), 1, bucket(rank(volume), range="0,3,0.4"))
if_else(ts_rank(ts_mean(returns, 20), 60) > 0.5, ts_delta(close, 5), ts_delta(close, 120))
group_mean(reverse(ts_rank(volume/ts_mean(volume, 10), 10)), 1, bucket(rank(volume), range="0,3,0.4"))
ts_delta(close, 10) / ts_std_dev(returns, 20)
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, ts_delta(close, 5), ts_delta(close, 20))
group_mean(ts_regression(close, ts_step(1), 20, 0, 1), 1, bucket(rank(volume), range="0,3,0.4"))
winsorize(group_mean(rank(returns), 1, industry))
ts_zscore(multiply(ts_delta(close, 5), ts_delta(volume, 5)), 20)
group_mean(ts_corr(returns, volume, 20), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, 1.1, 0.9), ts_delta(close, 20))
group_mean(ts_corr(group_mean(returns, 1, sector), group_mean(returns, 1, market), 20), 1, bucket(rank(returns), range="0,3,0.4"))
if_else(ts_rank(ts_mean(returns, 20), 60) > 0.5, ts_delta(close, 5), ts_delta(close, 60))
sign(group_mean(ts_delta(close, 10), 1, industry))
ts_decay_linear(returns, 20)
group_mean(reverse(ts_rank(volume/ts_mean(volume, 30), 10)), 1, bucket(rank(volume), range="0,3,0.4"))
ts_delta(close, 5) / ts_mean(returns, 60)
if_else(ts_rank(ts_std_dev(returns, 20), 60) > 0.7, ts_delta(close, 5), ts_delta(close, 20))
group_mean(ts_corr(ts_delta(close, 10), ts_delta(volume, 10), 20), 1, bucket(rank(volume), range="0,3,0.4"))
winsorize(sign(group_mean(ts_delta(close, 10), 1, industry)))
ts_zscore(group_mean(volume, 1, sector), 20)
group_mean(ts_corr(returns, group_mean(returns, 1, industry), 20), 1, bucket(rank(volume), range="0,3,0.4"))
if_else(ts_rank(ts_mean(returns, 20), 60) > 0.5, ts_delta(close, 5), ts_delta(close, 60))
group_mean(reverse(ts_rank(volume/ts_mean(volume, 20), 10)), 1, bucket(rank(volume), range="0,3,0.4"))
ts_delta(close, 20) / ts_std_dev(returns, 20)

@ -0,0 +1,39 @@
group_rank(if_else(ts_zscore(volume, 20) > 0, ts_delta(close, 10), reverse(ts_delta(close, 10))), sector)
if_else(bucket(rank(close * volume), range="0,3,0.4") == 0, ts_regression(close, ts_step(1), 30, 0, 1), group_mean(ts_delta(close, 20), 1, sector))
multiply(group_zscore(volume, sector), ts_std_dev(returns, 60))
multiply(ts_rank(ts_std_dev(returns, 20), 120), if_else(ts_zscore(volume, 5) > 1, ts_delta(close, 5), ts_delta(close, 20)))
ts_delta(group_rank(ts_sum(volume, 5), sector), 10)
group_mean(multiply(ts_corr(returns, ts_sum(volume, 10), 30), if_else(ts_zscore(close, 20) > 0, 1, -1)), 1, sector)
if_else(ts_rank(volume / ts_mean(volume, 20), 10) > 0.7, reverse(ts_delta(close, 5)), ts_delta(close, 20))
multiply(group_zscore(ts_delta(close, 5), sector), reverse(ts_rank(ts_std_dev(returns, 60), 120)))
ts_delta(group_mean(if_else(ts_mean(returns, 20) > 0, ts_zscore(volume, 20), reverse(ts_zscore(volume, 20))), 1, industry), 30)
multiply(ts_corr(ts_delta(close, 5), ts_delta(close, 20), 60), group_rank(ts_sum(volume, 5), sector))
group_scale(ts_av_diff(close, 30), sector)
if_else(ts_std_dev(returns, 20) > ts_std_dev(returns, 60), ts_delta(close, 10), group_mean(ts_delta(close, 30), 1, industry))
multiply(ts_rank(ts_delta(volume, 5), 20), group_zscore(ts_regression(close, ts_step(1), 30, 0, 1), sector))
ts_delta(group_mean(if_else(rank(volume) > 0.8, ts_delta(close, 10), ts_delta(close, 5)), 1, sector), 20)
subtract(group_rank(ts_sum(volume, 10), sector), ts_rank(ts_std_dev(returns, 30), 120))
multiply(ts_corr(group_mean(returns, 1, sector), ts_delta(close, 10), 30), ts_delta(ts_sum(volume, 5), 20))
if_else(bucket(rank(ts_std_dev(returns, 60)), range="0,3,0.4") == 2, ts_delta(close, 5), group_mean(ts_delta(close, 20), 1, industry))
group_zscore(multiply(ts_delta(close, 5), if_else(ts_zscore(volume, 10) > 0, 1, -1)), sector)
ts_delta(group_rank(ts_mean(abs(returns), 20), industry), 10)
multiply(reverse(ts_rank(volume / ts_mean(volume, 30), 20)), group_mean(ts_delta(close, 10), 1, sector))

@ -0,0 +1,39 @@
multiply(ts_delta(close,20), ts_zscore(volume,30))
group_mean(ts_delta(close,10), 1, bucket(rank(volume), range="0,3,0.4"))
if_else(ts_std_dev(returns,20) > ts_quantile(ts_std_dev(returns,20),120,"gaussian"), ts_delta(close,5), ts_delta(close,30))
ts_corr(ts_delta(close,5), ts_delta(volume,5), 60)
multiply(ts_regression(close, ts_step(1), 30, 0, 1), group_rank(ts_delta(close,20), sector))
ts_av_diff(ts_zscore(volume,20), 10)
group_neutralize(ts_delta(close,60), industry)
multiply(ts_rank(ts_delta(close,10), 60), ts_zscore(volume, 20))
if_else(ts_rank(ts_std_dev(returns,60), 120) > 0.7, ts_delta(close,10), ts_delta(close,60))
group_zscore(ts_delta(close,30), sector)
multiply(ts_delta(close,20), ts_delta(volume,20))
ts_decay_linear(ts_delta(close,5), 30)
group_scale(ts_zscore(volume,60), industry)
multiply(ts_corr(group_mean(returns,1,sector), group_mean(returns,1,industry), 30), ts_delta(close,20))
ts_regression(ts_delta(close,1), ts_step(1), 30, 0, 1)
if_else(bucket(rank(volume), range="0,3,0.4") == 0, ts_delta(close,10), ts_delta(close,30))
ts_mean(ts_delta(close,1), 20)
group_mean(ts_zscore(volume,30), 1, sector)
multiply(ts_rank(ts_delta(close,20), 60), ts_std_dev(returns,20))
ts_scale(ts_delta(close,60), 120)

@ -0,0 +1,21 @@
multiply(ts_corr(group_mean(returns,1,sector), group_mean(returns,1,industry),30), ts_delta(close,20))
divide(ts_zscore(volume,20), add(ts_std_dev(returns,30), 0.01))
multiply(ts_delta(close,10), if_else(rank(volume) > 0.8, 1, -1))
ts_corr(rank(ts_delta(close,5)), rank(ts_zscore(volume,10)), 20)
multiply(ts_delta/ts_std_dev(ts_delta(close,20),20), -1)
multiply(group_rank(close,industry), rank(volume))
ts/ts_mean(ts_mean(volume,5),20)
multiply(-1, ts_rank(rank(close),10))
divide(subtract(mean(close,10), mean(close,50)), ts_std_dev(returns,100))
multiply(hump(mean(close,10),0.05), hump(mean(close,50),0.05))
multiply(rank(volume), -1 * ts_delta(close,30))
multiply(-1, rank(ts_std_dev(returns,60)))
divide(add(close,vwap),2)
multiply(subtract(close,ts_delay(close,30)), -1 * ts_std_dev(returns,60))
multiply(hump(mean(close,30),0.1), rank(volume))
multiply(if_else(ts_std_dev(returns,60) > 0.02, -1 * ts_delta(mean(close,5),5), -1 * ts_delta(mean(close,20),20)), -1 * rank(volume))
multiply(if_else(close > ts_delay(close,30), 1, -1), rank(volume))
multiply(ts_corr(close, volume,20), -1 * ts_delta(close,5))
multiply(hump(mean(close,15),0.05), hump(mean(close,60),0.1))
multiply(if_else(ts_std_dev(returns,100) > 0.015, close/min(close,100), 0), hump(volume,0.1))

@ -0,0 +1,39 @@
close / ts_delay(close, 20) - 1 + ts_zscore(volume, 30) * (ts_delta(close, 5) / abs(ts_delta(close, 5))) * if_else(ts_rank(ts_std_dev(returns, 20), 200) > 0.7, 1, -1)
ts_delta(close, 5) / ts_delay(close, 5) - 1 + bucket(rank(ts_delta(close, 10)), range="0,5,0.2") * ts_zscore(volume, 10)
ts_regression(close, ts_step(1), 30, 0, 1) * (volume / ts_mean(volume, 30)) / ts_std_dev(returns, 10)
(ts_delta(close, 10) / ts_delay(close, 10) - 1) * group_mean(volume / ts_mean(volume, 60), 1, industry) + if_else(ts_rank(close, 100) < 0.3, 1, 0)
ts_mean(returns, 5) - ts_mean(returns, 20) + ts_zscore(volume, 20) * if_else(ts_rank(volume, 200) > 0.8, 1, -1) * bucket(ts_corr(close, close / ts_delay(close, 30), 30), range="0,4,0.5")
ts_delta(close, 20) / ts_delay(close, 20) - 1 + (ts_rank(volume, 100) / 100) * if_else(ts_rank(close, 120) < 0.5, ts_delta(close, 5), -ts_delta(close, 5))
group_zscore(close / ts_delay(close, 30) - 1, sector) * ts_zscore(volume, 10) - ts_std_dev(returns, 20) * if_else(ts_rank(volume, 100) > 0.9, 1, 0)
ts_corr(close, volume, 20) * (ts_delta(close, 5) / ts_delay(close, 5) - 1) + bucket(ts_zscore(returns, 60), range="0,5,0.5") * if_else(ts_rank(volume, 120) < 0.4, -1, 1)
ts_mean(close, 5) / ts_mean(close, 60) - 1 + group_mean(ts_delta(close, 1) / ts_delay(close, 1) - 1, 1, industry) * ts_zscore(volume / ts_mean(volume, 30), 30)
(ts_delta(close, 20) / ts_delay(close, 20) - 1) * (volume / ts_mean(volume, 10)) + if_else(ts_rank(ts_std_dev(returns, 30), 100) > 0.6, ts_mean(returns, 20), 0)
ts_delta(close, 5) / ts_delay(close, 5) - 1 + ts_zscore(volume, 60) * if_else(ts_rank(ts_corr(close, close / ts_delay(close, 20), 20), 100) > 0.7, 1, -1)
ts_rank(volume, 100) / 100 * (ts_delta(close, 10) / ts_delay(close, 10) - 1) - bucket(ts_std_dev(returns, 20), range="0,4,0.5") * if_else(ts_rank(close, 200) < 0.3, 1, 0)
ts_regression(close, ts_step(1), 20, 0, 1) * (volume / ts_mean(volume, 20)) + group_mean(ts_zscore(returns, 30), 1, sector) * if_else(ts_rank(close, 100) > 0.7, 1, -1)
(ts_delta(close, 30) / ts_delay(close, 30) - 1) + ts_zscore(volume, 10) * bucket(ts_rank(ts_std_dev(returns, 10), 200), range="0,3,0.3")
close / ts_delay(close, 60) - 1 + group_mean(ts_delta(close, 5), 1, industry) * if_else(ts_rank(volume, 200) > 0.9, 1, -1)
ts_corr(close / ts_delay(close, 5) - 1, volume / ts_mean(volume, 5), 20) * ts_delta(close, 1) / ts_delay(close, 1) - bucket(rank(volume), range="0,3,0.3")
ts_mean(returns, 10) - ts_mean(returns, 60) + group_zscore(volume, sector) * if_else(ts_rank(close, 50) < 0.4, -1, 1)
(ts_delta(close, 5) / ts_delay(close, 5) - 1) * (ts_corr(close, ts_mean(close, 20), 20) + 1) / 2 + if_else(ts_rank(volume, 150) > 0.7, ts_zscore(returns, 20), 0)
ts_delta(close, 20) / ts_delay(close, 20) - 1 + bucket(ts_rank(volume, 100), range="0,4,0.25") * group_mean(ts_delta(close, 1), 1, industry)
ts_rank(volume, 100) / 100 * (ts_delta(close, 20) / ts_delay(close, 20) - 1) + if_else(ts_rank(ts_std_dev(returns, 60), 200) > 0.5, group_mean(returns, 1, sector), -group_mean(returns, 1, sector))

@ -0,0 +1,19 @@
group_mean(multiply(ts_zscore(volume, 5), group_mean(abs(ts_delta(close, 5)), 1, industry)), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(group_mean(ts_delta(close, 10), 1, industry), ts_regression(volume, ts_step(1), 30, 0, 1))
ts_corr(multiply(volume, returns), group_mean(multiply(volume, returns), 1, sector), 20)
group_mean(if_else(ts_std_dev(volume, 10) < 0.7, ts_delta(close, 5), -ts_delta(close, 5)), 1, bucket(rank(volume), range="0,3,0.4"))
multiply(ts_zscore(volume, 15), divide(group_mean(ts_delta(close, 1), 1, industry), ts_std_dev(returns, 15)))
group_mean(ts_delta(ts_regression(close, ts_step(1), 20, 0, 1), 1, industry), 1, bucket(rank(ts_regression(close, ts_step(1), 30, 0, 1), range="0,3,0.4", 2)))
multiply(group_mean(days_from_last_change(high_volume_event), 1, sector), ts_zscore(volume, 10))
group_mean(ts_delay(close, 1) / close - group_mean(ts_delay(close, 1) / close, 1, industry), 1, bucket(rank(volume), range="0,3,0.4"))
ts_corr(ts_delta(close, 1), group_mean(ts_delta(close, 1), 1, sector), 30)
divide(group_mean(ts_delta(close, 20), 1, industry), ts_std_dev(returns, 20))
multiply(ts_zscore(volume, 5), group_mean(ts_delta(close, 1), 1, bucket(rank(volume), range="0,3,0.4", 1)))
group_mean(ts_delay(multiply(volume, returns), 1), 1, industry) * ts_regression(close, ts_step(1), 60, 0, 1)
divide(group_mean(ts_delta(volume / sharesout, 1), 1, industry_leader_bucket), group_mean(volume / sharesout, 1, industry))
multiply(group_mean(abs(returns - group_mean(returns, 1, industry)), 1, industry), ts_zscore(volume, 10))
group_mean(ts_delta(close, 5), 1, bucket(rank(ts_regression(close, ts_step(1), 20, 0, 1), range="0,3,0.4")))
if_else(group_mean(ts_corr(volume, group_mean(close, 1, industry), 20), 1, industry) > 0.6, ts_delta(close, 5), -ts_delta(close, 5))
group_mean(days_from_last_change(ts_zscore(volume, 5)), 1, industry) * ts_std_dev(returns, 20)
multiply(ts_zscore(volume, 10), group_mean(ts_delta(close, 1), 1, bucket(rank(volume), range="0,3,0.5")))
divide(group_mean(ts_delta(close, 10), 1, industry), ts_std_dev(returns, 10))

@ -152,22 +152,21 @@ def manual_prompt(prompt):
print(f"手动提示词保存到: {filepath}")
def call_ai(prompt):
def call_ai(prompt, model):
balance = get_user_info()
folder = create_result_folder()
for model in MODELS:
print(f"正在调用AI...{model}")
result = call_siliconflow(prompt, model)
if result:
print(f"AI回复: {result[:200]}...")
save_result(result, folder)
used_balance = balance - get_user_info()
print(f'本次调用 api 使用额度 {used_balance}')
else:
print("AI调用失败")
print(f"正在调用AI...{model}")
result = call_siliconflow(prompt, model)
if result:
print(f"AI回复: {result[:200]}...")
save_result(result, folder)
used_balance = balance - get_user_info()
print(f'本次调用 api 使用额度 {used_balance}')
else:
print("AI调用失败")
def prepare_prompt():
@ -220,13 +219,14 @@ def prepare_prompt():
def main():
prompt = prepare_prompt()
for model in MODELS:
prompt = prepare_prompt()
# # 如果需要手动在页面段模型, 使用提示词, 打开这个, 将生成的提示词存到本地
manual_prompt(prompt)
# # 如果需要手动在页面段模型, 使用提示词, 打开这个, 将生成的提示词存到本地
manual_prompt(prompt)
# # 如果需要使用模型, 打开这个
call_ai(prompt)
# # 如果需要使用模型, 打开这个
call_ai(prompt, model)
if __name__ == "__main__":

@ -0,0 +1,898 @@
任务指令
你是一个WorldQuant WebSim因子工程师。你的任务是生成 100 个用于行业轮动策略的复合型Alpha因子表达式。
核心规则
设计维度框架
维度1:时间序列动量(TM)
目标:识别价格趋势的强度、速度和持续性
可用的具体构建方法:
1. 简单动量:ts_delta(close, d) [d=5,10,20,30,60]
2. 趋势斜率:ts_regression(close, ts_step(1), d, 0, 1) [rettype=1获取斜率]
3. 动量加速度:ts_delta(ts_delta(close, d1), d2) [避免嵌套ts_regression]
4. 平滑动量:ts_mean(returns, d) [returns=ts_delta(close,1)]
5. 动量衰减:ts_decay_linear(returns, d)
6. 价量关系:ts_corr(ts_delta(close,5), ts_delta(volume,5), d)
建议组合:使用不同d参数创建短期/中期/长期动量
维度2:横截面领导力(CL)
目标:识别行业内的龙头股和相对强度
具体构建方法:
1. 龙头股筛选:if_else(rank(volume) > 0.7, 龙头值, 其他值) [使用volume代替market_cap]
2. 龙头组合:group_mean(x, 1, bucket(rank(volume), range="0,3,0.4")) [使用volume排序]
3. 行业内离散度:ts_std_dev(group_rank(returns, industry), 20)
4. 相对排名稳定性:ts_mean(rank(returns), d)
维度3:市场状态适应性(MS)
目标:根据波动率、趋势状态调整参数
具体构建方法:
1. 波动率调整:ts_delta(close,5) / ts_std_dev(returns,20)
2. 状态条件选择:if_else(ts_rank(volatility,30) > 0.7, 短期动量, 长期动量)
3. 参数动态化:if_else(ts_std_dev(returns,20) > 阈值, 5, 20) [作为d参数]
4. 趋势状态识别:ts_rank(ts_mean(returns,20), 60) > 0.5
基本结构:
复合因子 = 维度A组件 [运算符] 维度B组件 [条件调整]
=== 关键语法规则(必须遵守) ===
1. 数据字段规范:
- 可使用字段:close, volume, returns
- ❌ 错误:market_cap, marketcap, mkt_cap [这些字段不存在]
- ✅ 正确:使用volume作为规模代理,close作为价格
- returns通常定义为:ts_delta(close, 1) 或 close/ts_delay(close,1)-1
2. ts_regression使用规范:
- 避免深度嵌套ts_regression,特别是作为其他函数的参数
- ✅ 正确:reg_slope = ts_regression(close, ts_step(1), 30, 0, 1)
- ❌ 错误:ts_delta(ts_regression(close, ts_step(1), 30, 0, 1), 5)
- 替代方案:用ts_delta组合计算动量变化
3. if_else使用规范:
- 条件必须是简单布尔表达式
- 避免序列比较:❌ ts_std_dev(returns,60) > ts_mean(ts_std_dev(returns,60),120)
- 正确使用:✅ if_else(ts_rank(ts_std_dev(returns,60), 120) > 0.7, 短期动量, 长期动量)
4. bucket函数使用规范:
- bucket()返回分组ID,可用于条件判断
- ✅ 正确:bucket(rank(volume), range="0,3,0.4") == 0 [第一组为大成交量]
- ✅ 正确:group_mean(x, 1, bucket(rank(volume), range="0,3,0.4"))
- 注意字符串格式:range="起始值,组数,步长" 或 buckets="分割点列表"
=== 关键语法规则结束 ===
*=====*
注意事项:
1. 避免过度复杂的嵌套(建议不超过3层)
2. 每个表达式应有明确的经济逻辑
3. 考虑实际交易可行性(避免未来函数)
4. 包含风险控制元素(如波动率调整)
5. 只能使用可用的数据字段:close, volume, returns等
*=====*
参数逻辑:参数d(回顾期)应在[5, 10, 20, 30, 60, 120]等具有市场意义(周、月、季度、半年)的数值中合理选择并差异化。
行业隐含:通过group_mean、group_rank等函数或假设表达式在行业指数上运行来体现"行业"逻辑。
构建框架指导(请按此逻辑创造新因子):
维度融合模板(选择至少2个):
A. 领导力动量 = 时序动量 × 横截面调整
逻辑:大成交量股票的动量更强
结构:group_mean(ts_delta(close, d1), 1, bucket(rank(volume), range="0,3,0.4"))
B. 状态自适应动量 = 条件选择动量
逻辑:高波动用短期动量,低波动用长期动量
结构:if_else(ts_std_dev(returns,20) > 0.02, ts_delta(close,5), ts_delta(close,20))
C. 行业传导因子 = 领先行业动量 × 相关性强度
逻辑:与强势行业相关性高的行业未来表现好
结构:multiply(ts_corr(group_mean(returns,1,industry), group_mean(returns,1,sector), d1), ts_delta(close,d2))
D. 情绪反转 = 过度交易信号 × 基础趋势
逻辑:过度交易时反转,趋势延续时跟随
结构:multiply(reverse(ts_rank(volume/ts_mean(volume,20), 10)), ts_delta(close,20))
关键组件库(可自由组合):
1. 动量类:ts_delta(close,{d}), ts_regression(close,ts_step(1),{d},0,1)
2. 波动类:ts_std_dev(returns,{d}), ts_mean(abs(returns),{d})
3. 成交量类:volume/ts_mean(volume,{d}), ts_zscore(volume,{d})
4. 横截面类:if_else(rank(volume) > 阈值, 值1, 值2), bucket(rank(volume), range="0,3,0.4")
5. 相关性类:ts_corr({x},{y},{d})
6. 条件逻辑:if_else({condition}, {true_value}, {false_value})
参数池:d ∈ [5,10,20,30,60,120], 阈值 ∈ [0.5,0.7,0.8]
*=====*
输出格式:
输出必须是且仅是纯文本。
每一行是一个完整、独立、语法正确的WebSim表达式。
严禁任何形式的解释、编号、标点包裹(如引号)、Markdown格式或额外文本。
===================== !!! 重点(输出方式) !!! =====================
现在,请严格遵守以上所有规则,开始生成可立即在WebSim中运行的复合因子表达式。
**输出格式**(一行一个表达式, 每个表达式中间需要添加一个空行, 只要表达式本身, 不要解释, 不需要序号, 也不要输出多余的东西):
表达式
表达式
表达式
...
表达式
=================================================================
重申:请确保所有表达式都使用WorldQuant WebSim平台函数,不要使用pandas、numpy或其他Python库函数。输出必须是一行有效的WQ表达式。
以下是我的账号有权限使用的操作符, 请严格按照操作符, 进行生成,组合因子:
以下是我的账号有权限使用的操作符, 请严格按照操作符, 进行生成,组合因子
========================= 操作符开始 =======================================注意: Operator: 后面的是操作符,
Description: 此字段后面的是操作符对应的描述或使用说明, Description字段后面的内容是使用说明, 不是操作符
特别注意!!!! 必须按照操作符字段Operator的使用说明生成 alphaOperator: abs(x)
Description: Absolute value of x
Operator: add(x, y, filter = false)
Description: Add all inputs (at least 2 inputs required). If filter = true, filter all input NaN to 0 before adding
Operator: densify(x)
Description: Converts a grouping field of many buckets into lesser number of only available buckets so as to make working with grouping fields computationally efficient
Operator: divide(x, y)
Description: x / y
Operator: inverse(x)
Description: 1 / x
Operator: log(x)
Description: Natural logarithm. For example: Log(high/low) uses natural logarithm of high/low ratio as stock weights.
Operator: max(x, y, ..)
Description: Maximum value of all inputs. At least 2 inputs are required
Operator: min(x, y ..)
Description: Minimum value of all inputs. At least 2 inputs are required
Operator: multiply(x ,y, ... , filter=false)
Description: Multiply all inputs. At least 2 inputs are required. Filter sets the NaN values to 1
Operator: power(x, y)
Description: x ^ y
Operator: reverse(x)
Description: - x
Operator: sign(x)
Description: if input > 0, return 1; if input < 0, return -1; if input = 0, return 0; if input = NaN, return NaN;
Operator: signed_power(x, y)
Description: x raised to the power of y such that final result preserves sign of x
Operator: sqrt(x)
Description: Square root of x
Operator: subtract(x, y, filter=false)
Description: x-y. If filter = true, filter all input NaN to 0 before subtracting
Operator: and(input1, input2)
Description: Logical AND operator, returns true if both operands are true and returns false otherwise
Operator: if_else(input1, input2, input 3)
Description: If input1 is true then return input2 else return input3.
Operator: input1 < input2
Description: If input1 < input2 return true, else return false
Operator: input1 <= input2
Description: Returns true if input1 <= input2, return false otherwise
Operator: input1 == input2
Description: Returns true if both inputs are same and returns false otherwise
Operator: input1 > input2
Description: Logic comparison operators to compares two inputs
Operator: input1 >= input2
Description: Returns true if input1 >= input2, return false otherwise
Operator: input1!= input2
Description: Returns true if both inputs are NOT the same and returns false otherwise
Operator: is_nan(input)
Description: If (input == NaN) return 1 else return 0
Operator: not(x)
Description: Returns the logical negation of x. If x is true (1), it returns false (0), and if input is false (0), it returns true (1).
Operator: or(input1, input2)
Description: Logical OR operator returns true if either or both inputs are true and returns false otherwise
Operator: days_from_last_change(x)
Description: Amount of days since last change of x
Operator: hump(x, hump = 0.01)
Description: Limits amount and magnitude of changes in input (thus reducing turnover)
Operator: kth_element(x, d, k)
Description: Returns K-th value of input by looking through lookback days. This operator can be used to backfill missing data if k=1
Operator: last_diff_value(x, d)
Description: Returns last x value not equal to current x value from last d days
Operator: ts_arg_max(x, d)
Description: Returns the relative index of the max value in the time series for the past d days. If the current day has the max value for the past d days, it returns 0. If previous day has the max value for the past d days, it returns 1
Operator: ts_arg_min(x, d)
Description: Returns the relative index of the min value in the time series for the past d days; If the current day has the min value for the past d days, it returns 0; If previous day has the min value for the past d days, it returns 1.
Operator: ts_av_diff(x, d)
Description: Returns x - tsmean(x, d), but deals with NaNs carefully. That is NaNs are ignored during mean computation
Operator: ts_backfill(x,lookback = d, k=1, ignore="NAN")
Description: Backfill is the process of replacing the NAN or 0 values by a meaningful value (i.e., a first non-NaN value)
Operator: ts_corr(x, y, d)
Description: Returns correlation of x and y for the past d days
Operator: ts_count_nans(x ,d)
Description: Returns the number of NaN values in x for the past d days
Operator: ts_covariance(y, x, d)
Description: Returns covariance of y and x for the past d days
Operator: ts_decay_linear(x, d, dense = false)
Description: Returns the linear decay on x for the past d days. Dense parameter=false means operator works in sparse mode and we treat NaN as 0. In dense mode we do not.
Operator: ts_delay(x, d)
Description: Returns x value d days ago
Operator: ts_delta(x, d)
Description: Returns x - ts_delay(x, d)
Operator: ts_mean(x, d)
Description: Returns average value of x for the past d days.
Operator: ts_product(x, d)
Description: Returns product of x for the past d days
Operator: ts_quantile(x,d, driver="gaussian" )
Description: It calculates ts_rank and apply to its value an inverse cumulative density function from driver distribution. Possible values of driver (optional ) are "gaussian", "uniform", "cauchy" distribution where "gaussian" is the default.
Operator: ts_rank(x, d, constant = 0)
Description: Rank the values of x for each instrument over the past d days, then return the rank of the current value + constant. If not specified, by default, constant = 0.
Operator: ts_regression(y, x, d, lag = 0, rettype = 0)
Description: Returns various parameters related to regression function
Operator: ts_scale(x, d, constant = 0)
Description: Returns (x - ts_min(x, d)) / (ts_max(x, d) - ts_min(x, d)) + constant. This operator is similar to scale down operator but acts in time series space
Operator: ts_std_dev(x, d)
Description: Returns standard deviation of x for the past d days
Operator: ts_step(1)
Description: Returns days' counter
Operator: ts_sum(x, d)
Description: Sum values of x for the past d days.
Operator: ts_zscore(x, d)
Description: Z-score is a numerical measurement that describes a value's relationship to the mean of a group of values. Z-score is measured in terms of standard deviations from the mean: (x - tsmean(x,d)) / tsstddev(x,d). This operator may help reduce outliers and drawdown.
Operator: normalize(x, useStd = false, limit = 0.0)
Description: Calculates the mean value of all valid alpha values for a certain date, then subtracts that mean from each element
Operator: quantile(x, driver = gaussian, sigma = 1.0)
Description: Rank the raw vector, shift the ranked Alpha vector, apply distribution (gaussian, cauchy, uniform). If driver is uniform, it simply subtract each Alpha value with the mean of all Alpha values in the Alpha vector
Operator: rank(x, rate=2)
Description: Ranks the input among all the instruments and returns an equally distributed number between 0.0 and 1.0. For precise sort, use the rate as 0
Operator: scale(x, scale=1, longscale=1, shortscale=1)
Description: Scales input to booksize. We can also scale the long positions and short positions to separate scales by mentioning additional parameters to the operator
Operator: winsorize(x, std=4)
Description: Winsorizes x to make sure that all values in x are between the lower and upper limits, which are specified as multiple of std.
Operator: zscore(x)
Description: Z-score is a numerical measurement that describes a value's relationship to the mean of a group of values. Z-score is measured in terms of standard deviations from the mean
Operator: vec_avg(x)
Description: Taking mean of the vector field x
Operator: vec_sum(x)
Description: Sum of vector field x
Operator: bucket(rank(x), range="0, 1, 0.1" or buckets = "2,5,6,7,10")
Description: Convert float values into indexes for user-specified buckets. Bucket is useful for creating group values, which can be passed to GROUP as input
Operator: trade_when(x, y, z)
Description: Used in order to change Alpha values only under a specified condition and to hold Alpha values in other cases. It also allows to close Alpha positions (assign NaN values) under a specified condition
Operator: group_backfill(x, group, d, std = 4.0)
Description: If a certain value for a certain date and instrument is NaN, from the set of same group instruments, calculate winsorized mean of all non-NaN values over last d days
Operator: group_mean(x, weight, group)
Description: All elements in group equals to the mean
Operator: group_neutralize(x, group)
Description: Neutralizes Alpha against groups. These groups can be subindustry, industry, sector, country or a constant
Operator: group_rank(x, group)
Description: Each elements in a group is assigned the corresponding rank in this group
Operator: group_scale(x, group)
Description: Normalizes the values in a group to be between 0 and 1. (x - groupmin) / (groupmax - groupmin)
Operator: group_zscore(x, group)
Description: Calculates group Z-score - numerical measurement that describes a value's relationship to the mean of a group of values. Z-score is measured in terms of standard deviations from the mean. zscore = (data - mean) / stddev of x for each instrument within its group.
========================= 操作符结束 =======================================
========================= 数据字段开始 =======================================注意: DataField: 后面的是数据字段, DataFieldDescription: 此字段后面的是数据字段对应的描述或使用说明, DataFieldDescription字段后面的内容是使用说明, 不是数据字段
DataField: call_breakeven_10
DataFieldDescription: Price at which a stock's call options with expiration 10 days in the future break even based on its recent bid/ask mean.
DataField: option_breakeven_180
DataFieldDescription: Price at which a stock's options with expiration 180 days in the future break even based on its recent bid/ask mean.
DataField: pcr_vol_90
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 90 days in the future.
DataField: put_breakeven_270
DataFieldDescription: Price at which a stock's put options with expiration 270 days in the future break even based on its recent bid/ask mean.
DataField: put_breakeven_20
DataFieldDescription: Price at which a stock's put options with expiration 20 days in the future break even based on its recent bid/ask mean.
DataField: pcr_vol_all
DataFieldDescription: Ratio of put volume to call volume for all maturities on stock's options.
DataField: pcr_vol_180
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 180 days in the future.
DataField: pcr_oi_150
DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 150 days in the future.
DataField: forward_price_20
DataFieldDescription: Forward price at 20 days derived from a synthetic long option with payoff similar to long stock + option dynamics. Combination of long ATM call and short ATM put.
DataField: pcr_oi_90
DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 90 days in the future.
DataField: pcr_oi_180
DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 180 days in the future.
DataField: pcr_vol_360
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 360 days in the future.
DataField: pcr_vol_270
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 270 days in the future.
DataField: pcr_vol_20
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 20 days in the future.
DataField: option_breakeven_10
DataFieldDescription: Price at which a stock's options with expiration 10 days in the future break even based on its recent bid/ask mean.
DataField: put_breakeven_30
DataFieldDescription: Price at which a stock's put options with expiration 30 days in the future break even based on its recent bid/ask mean.
DataField: pcr_vol_1080
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 1080 days in the future.
DataField: call_breakeven_120
DataFieldDescription: Price at which a stock's call options with expiration 120 days in the future break even based on its recent bid/ask mean.
DataField: put_breakeven_360
DataFieldDescription: Price at which a stock's put options with expiration 360 days in the future break even based on its recent bid/ask mean.
DataField: pcr_oi_30
DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 30 days in the future.
DataField: pcr_oi_720
DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 720 days in the future.
DataField: forward_price_90
DataFieldDescription: Forward price at 90 days derived from a synthetic long option with payoff similar to long stock + option dynamics. Combination of long ATM call and short ATM put.
DataField: pcr_vol_10
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 10 days in the future.
DataField: option_breakeven_270
DataFieldDescription: Price at which a stock's options with expiration 270 days in the future break even based on its recent bid/ask mean.
DataField: pcr_vol_720
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 720 days in the future.
DataField: call_breakeven_60
DataFieldDescription: Price at which a stock's call options with expiration 60 days in the future break even based on its recent bid/ask mean.
DataField: option_breakeven_150
DataFieldDescription: Price at which a stock's options with expiration 150 days in the future break even based on its recent bid/ask mean.
DataField: put_breakeven_90
DataFieldDescription: Price at which a stock's put options with expiration 90 days in the future break even based on its recent bid/ask mean.
DataField: pcr_oi_all
DataFieldDescription: Ratio of put open interest to call open interest for all maturities on stock's options.
DataField: pcr_vol_30
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 30 days in the future.
DataField: fnd6_newa2v1300_xopteps
DataFieldDescription: Implied Option EPS Basic
DataField: fnd6_newqeventv110_dilavq
DataFieldDescription: Dilution Available - Excluding Extraordinary Items
DataField: fnd6_newqeventv110_pnciaq
DataFieldDescription: Core Pension Interest Adjustment After-tax
DataField: fnd6_newqeventv110_ancq
DataFieldDescription: Non-Current Assets - Total
DataField: fnd6_newqeventv110_spiopq
DataFieldDescription: Other Special Items Pretax
DataField: fnd6_ppeveb
DataFieldDescription: Property, Plant, and Equipment - Ending Balance (Schedule V)
DataField: fnd6_newqv1300_optfvgrq
DataFieldDescription: Options - Fair Value of Options Granted
DataField: fnd6_optex
DataFieldDescription: Options Exercisable (000)
DataField: fnd6_newqv1300_xoptepsq
DataFieldDescription: Implied Option EPS Basic
DataField: fnd6_niadj
DataFieldDescription: Net Income Adjusted for Common/Ordinary Stock (Capital) Equivalents
DataField: fnd6_newqeventv110_prcpeps12
DataFieldDescription: Core Post-Retirement Adjustment 12MM Basic EPS Effect Preliminary
DataField: fnd6_pncdq
DataFieldDescription: Core Pension Adjustment Diluted EPS Effect
DataField: fnd6_recd
DataFieldDescription: Receivables - Estimated Doubtful
DataField: fnd6_newqeventv110_aocisecglq
DataFieldDescription: Accum. Other Comp. Inc. - Unreal G/L Ret. Int. in Sec. Assets
DataField: ebit
DataFieldDescription: Earnings Before Interest and Taxes
DataField: fnd6_acdo
DataFieldDescription: Current Assets of Discontinued Operations
DataField: fnd6_newqv1300_cicurrq
DataFieldDescription: Comp Inc - Currency Trans Adj
DataField: fnd6_incorp
DataFieldDescription: Incorporated
DataField: fnd6_newa1v1300_dltt
DataFieldDescription: Long-Term Debt - Total
DataField: fnd6_am
DataFieldDescription: Amortization of Intangibles
DataField: fnd6_newqeventv110_rcaq
DataFieldDescription: Restructuring Cost After-tax
DataField: fnd6_intc
DataFieldDescription: Interest Capitalized
DataField: fnd6_eventv110_gdwliepsq
DataFieldDescription: Impairment of Goodwill Basic EPS Effect
DataField: fnd6_aqi
DataFieldDescription: Acquisitions - Income Contribution
DataField: fnd6_cptnewqeventv110_apq
DataFieldDescription: Accounts Payable/Creditors - Trade
DataField: fnd6_newa2v1300_tstkn
DataFieldDescription: Treasury Stock - Number of Common Shares
DataField: fnd6_newqeventv110_lqpl1q
DataFieldDescription: Liabilities Level 1 (Quoted Prices)
DataField: fnd6_dcvt
DataFieldDescription: Debt - Convertible
DataField: fnd6_eventv110_wddq
DataFieldDescription: Writedowns Diluted EPS Effect
DataField: fnd6_newqeventv110_setd12
DataFieldDescription: Settlement (Litigation/Insurance) Diluted EPS Effect 12MM
DataField: scl12_alltype_buzzvec
DataFieldDescription: sentiment volume
DataField: scl12_alltype_sentvec
DataFieldDescription: sentiment
DataField: scl12_alltype_typevec
DataFieldDescription: instrument type index
DataField: scl12_buzz
DataFieldDescription: relative sentiment volume
DataField: scl12_buzz_fast_d1
DataFieldDescription: relative sentiment volume
DataField: scl12_buzzvec
DataFieldDescription: sentiment volume
DataField: scl12_sentiment
DataFieldDescription: sentiment
DataField: scl12_sentiment_fast_d1
DataFieldDescription: sentiment
DataField: scl12_sentvec
DataFieldDescription: sentiment
DataField: scl12_typevec
DataFieldDescription: instrument type index
DataField: snt_buzz
DataFieldDescription: negative relative sentiment volume, fill nan with 0
DataField: snt_buzz_bfl
DataFieldDescription: negative relative sentiment volume, fill nan with 1
DataField: snt_buzz_bfl_fast_d1
DataFieldDescription: negative relative sentiment volume, fill nan with 1
DataField: snt_buzz_fast_d1
DataFieldDescription: negative relative sentiment volume, fill nan with 0
DataField: snt_buzz_ret
DataFieldDescription: negative return of relative sentiment volume
DataField: snt_buzz_ret_fast_d1
DataFieldDescription: negative return of relative sentiment volume
DataField: snt_value
DataFieldDescription: negative sentiment, fill nan with 0
DataField: snt_value_fast_d1
DataFieldDescription: negative sentiment, fill nan with 0
DataField: analyst_revision_rank_derivative
DataFieldDescription: Change in ranking for analyst revisions and momentum compared to previous period.
DataField: cashflow_efficiency_rank_derivative
DataFieldDescription: Change in ranking for cash flow generation and profitability compared to previous period.
DataField: composite_factor_score_derivative
DataFieldDescription: Change in overall composite factor score from the prior period.
DataField: earnings_certainty_rank_derivative
DataFieldDescription: Change in ranking for earnings sustainability and certainty compared to previous period.
DataField: fscore_bfl_growth
DataFieldDescription: The purpose of this metric is to qualify the expected MT growth potential of the stock.
DataField: fscore_bfl_momentum
DataFieldDescription: The purpose of this metric is to identify stocks which are currently undergoing either up or downward analyst revisions.
DataField: fscore_bfl_profitability
DataFieldDescription: The purpose of this metric is to rank stock based on their ability to generate cash flows.
DataField: fscore_bfl_quality
DataFieldDescription: The purpose of this metric is to measure both the sustainability and certainty of earnings.
DataField: fscore_bfl_surface
DataFieldDescription: The static score. An index between 0 & 100 is applied for each stock and each composite factor - The first ranking is a pentagon surface-based score. The larger the surface, the higher the rank.
DataField: fscore_bfl_surface_accel
DataFieldDescription: The derivative score. In a second step, we calculate the derivative of this score (ie: Is the surface of the pentagon increasing or decreasing from the previous month?).
DataField: fscore_bfl_total
DataFieldDescription: The final score M-Score is a weighted average of both the Pentagon surface score and the Pentagon acceleration score.
DataField: fscore_bfl_value
DataFieldDescription: The purpose of this metric is to see if the stock is under or overpriced given several well known valuation standards.
DataField: fscore_growth
DataFieldDescription: The purpose of this metric is to qualify the expected MT growth potential of the stock.
DataField: fscore_momentum
DataFieldDescription: The purpose of this metric is to identify stocks which are currently undergoing either up or downward analyst revisions.
DataField: fscore_profitability
DataFieldDescription: The purpose of this metric is to rank stock based on their ability to generate cash flows.
DataField: fscore_quality
DataFieldDescription: The purpose of this metric is to measure both the sustainability and certainty of earnings.
DataField: fscore_surface
DataFieldDescription: The static score. An index between 0 & 100 is applied for each stock and each composite factor - The first ranking is a pentagon surface-based score. The larger the surface, the higher the rank.
DataField: fscore_surface_accel
DataFieldDescription: The derivative score. In a second step, we calculate the derivative of this score (ie: Is the surface of the pentagon increasing or decreasing from the previous month?).
DataField: fscore_total
DataFieldDescription: The final score M-Score is a weighted average of both the Pentagon surface score and the Pentagon acceleration score.
DataField: fscore_value
DataFieldDescription: The purpose of this metric is to see if the stock is under or overpriced given several well known valuation standards.
DataField: growth_potential_rank_derivative
DataFieldDescription: Change in ranking for medium-term growth potential compared to previous period.
DataField: multi_factor_acceleration_score_derivative
DataFieldDescription: Change in the acceleration of multi-factor score compared to previous period.
DataField: multi_factor_static_score_derivative
DataFieldDescription: Change in static multi-factor score compared to previous period.
DataField: relative_valuation_rank_derivative
DataFieldDescription: Change in ranking for valuation metrics compared to previous period.
DataField: snt_social_value
DataFieldDescription: Z score of sentiment
DataField: snt_social_volume
DataFieldDescription: Normalized tweet volume
DataField: beta_last_30_days_spy
DataFieldDescription: Beta to SPY in 30 Days
DataField: beta_last_360_days_spy
DataFieldDescription: Beta to SPY in 360 Days
DataField: beta_last_60_days_spy
DataFieldDescription: Beta to SPY in 60 Days
DataField: beta_last_90_days_spy
DataFieldDescription: Beta to SPY in 90 Days
DataField: correlation_last_30_days_spy
DataFieldDescription: Correlation to SPY in 30 Days
DataField: correlation_last_360_days_spy
DataFieldDescription: Correlation to SPY in 360 Days
DataField: correlation_last_60_days_spy
DataFieldDescription: Correlation to SPY in 60 Days
DataField: correlation_last_90_days_spy
DataFieldDescription: Correlation to SPY in 90 Days
DataField: systematic_risk_last_30_days
DataFieldDescription: Systematic Risk Last 30 Days
DataField: systematic_risk_last_360_days
DataFieldDescription: Systematic Risk Last 360 Days
DataField: systematic_risk_last_60_days
DataFieldDescription: Systematic Risk Last 60 Days
DataField: systematic_risk_last_90_days
DataFieldDescription: Systematic Risk Last 90 Days
DataField: unsystematic_risk_last_30_days
DataFieldDescription: Unsystematic Risk Last 30 Days - Relative to SPY
DataField: unsystematic_risk_last_360_days
DataFieldDescription: Unsystematic Risk Last 360 Days - Relative to SPY
DataField: unsystematic_risk_last_60_days
DataFieldDescription: Unsystematic Risk Last 60 Days - Relative to SPY
DataField: unsystematic_risk_last_90_days
DataFieldDescription: Unsystematic Risk Last 90 Days - Relative to SPY
DataField: operating_profit_before_interest_tax
DataFieldDescription: Earnings Before Interest and Taxes (EBIT) - Actual Value
DataField: anl4_cfi_high
DataFieldDescription: Cash Flow From Investing - The highest estimation
DataField: anl4_dez1basicafv4v104_est
DataFieldDescription: Estimation value
DataField: highest_sales_estimate
DataFieldDescription: Sales - The highest estimation for the annual period
DataField: anl4_fcf_high
DataFieldDescription: Free cash flow - aggregation on estimations, max
DataField: anl4_basicconltv110_mean
DataFieldDescription: Mean of estimations
DataField: anl4_adxqfv110_mean
DataFieldDescription: Mean of estimations
DataField: anl4_eaz1lqfv110_bk
DataFieldDescription: Broker name (int)
DataField: anl4_rd_exp_flag
DataFieldDescription: Research and Development Expense - forecast type (revision/new/...)
DataField: free_cash_flow_total
DataFieldDescription: Free Cash Flow value - Annual
DataField: min_pretax_profit_guidance
DataFieldDescription: Minimum guidance value for Pretax income
DataField: max_shareholders_equity_guidance
DataFieldDescription: The maximum guidance value for Total Shareholders' Equity.
DataField: est_netdebt
DataFieldDescription: Net debt - mean of estimations
DataField: anl4_fcf_number
DataFieldDescription: Free Cash Flow - number of estimations
DataField: eps_previous_estimate_value
DataFieldDescription: The previous estimation of Earnings Per Share
DataField: est_epsr
DataFieldDescription: GAAP Earnings per share - mean of estimations
DataField: anl4_fsguidanceqfv4_item
DataFieldDescription: Financial item
DataField: min_basic_shares_guidance
DataFieldDescription: Shares Basic - Minimum guidance value
DataField: anl4_bac1detailrec_item
DataFieldDescription: Financial item
DataField: net_debt_actual_value
DataFieldDescription: Net debt- announced financial value
DataField: anl4_qf_az_hgih_spe
DataFieldDescription: Earnings per share - The highest estimation
DataField: anl4_detailrecv4_est
DataFieldDescription: Estimation value for recommendation detail
DataField: anl4_qfv4_eps_low
DataFieldDescription: Earnings per share - The lowest estimation
DataField: anl4_basicconqfv110_low
DataFieldDescription: The lowest estimation
DataField: anl4_afv4_eps_number
DataFieldDescription: Earnings per share - number of estimations for annual frequency
DataField: earnings_per_share_standard_deviation
DataFieldDescription: Earnings per share - standard deviation of estimations
DataField: anl4_ptpr_number
DataFieldDescription: Reported Pretax Income - number of estimations
DataField: anl4_gric_number
DataFieldDescription: Gross income - number of estimations
DataField: pretax_income_total
DataFieldDescription: Pretax Profit - Value for the annual period
DataField: ebit_reported_value
DataFieldDescription: Earnings Before Interest & Taxes - actual value for the quarter
DataField: pv13_hierarchy_min51_f4_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min10_513_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min5_f3g2_sector
DataFieldDescription: grouping fields
DataField: pv13_com_page_rank
DataFieldDescription: the PageRank of competitors
DataField: pv13_r2_min20_1000_sector
DataFieldDescription: grouping fields
DataField: pv13_revere_zipcode
DataFieldDescription: Zip code
DataField: pv13_custretsig_retsig
DataFieldDescription: Sign of customer return
DataField: pv13_h_min24_500_sector
DataFieldDescription: Grouping fields for top 500
DataField: pv13_hierarchy_min5_1000_513_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min20_top3000_513_sector
DataFieldDescription: grouping fields
DataField: pv13_2l_scibr
DataFieldDescription: grouping fields
DataField: rel_ret_all
DataFieldDescription: Averaged one-day return of the companies whose product overlapped with the instrument
DataField: pv13_rha2_min5_sector
DataFieldDescription: grouping fields
DataField: pv13_h_min30_3000_mapped_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min30_3000_mapped_513_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchys32_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_f2_513_sector
DataFieldDescription: grouping fields
DataField: pv13_new_6l_scibr
DataFieldDescription: grouping fields
DataField: rel_num_part
DataFieldDescription: number of the instrument's partners
DataField: pv13_hierarchy_min2_focused_pureplay_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min51_f2_513_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min10_industry_3000_sector
DataFieldDescription: grouping fields
DataField: pv13_rha2_min10_sector
DataFieldDescription: grouping fields
DataField: pv13_rcsed_6l
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min5_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min2_pureplay_only_sector
DataFieldDescription: grouping fields
DataField: pv13_new_3l_scibr
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min20_3k_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min40_3000_513_sector
DataFieldDescription: grouping fields
DataField: pv13_rha2_min30_3000_513_sector
DataFieldDescription: grouping fields
DataField: implied_volatility_call_90
DataFieldDescription: At-the-money option-implied volatility for call Option for 90 days
DataField: historical_volatility_150
DataFieldDescription: Close-to-close Historical volatility over 150 days
DataField: implied_volatility_call_1080
DataFieldDescription: At-the-money option-implied volatility for call option for 1080 days
DataField: implied_volatility_mean_20
DataFieldDescription: At-the-money option-implied volatility mean for 20 days
DataField: implied_volatility_mean_skew_120
DataFieldDescription: At-the-money option-implied volatility mean skew for 120 days
DataField: historical_volatility_90
DataFieldDescription: Close-to-close Historical volatility over 90 days
DataField: implied_volatility_call_150
DataFieldDescription: At-the-money option-implied volatility for call Option for 150 days
DataField: implied_volatility_mean_skew_270
DataFieldDescription: At-the-money option-implied volatility mean skew for 270 days
DataField: implied_volatility_put_1080
DataFieldDescription: At-the-money option-implied volatility for Put Option for 3 years
DataField: parkinson_volatility_90
DataFieldDescription: Parkinson model's historical volatility over 90 days
DataField: implied_volatility_put_60
DataFieldDescription: At-the-money option-implied volatility for Put Option for 60 days
DataField: implied_volatility_put_150
DataFieldDescription: At-the-money option-implied volatility for Put Option for 150 days
DataField: implied_volatility_mean_180
DataFieldDescription: At-the-money option-implied volatility mean for 180 days
DataField: historical_volatility_10
DataFieldDescription: Close-to-close Historical volatility over 10 days
DataField: implied_volatility_put_20
DataFieldDescription: At-the-money option-implied volatility for Put Option for 20 days
DataField: historical_volatility_60
DataFieldDescription: Close-to-close Historical volatility over 60 days
DataField: implied_volatility_call_270
DataFieldDescription: At-the-money option-implied volatility for call Option for 270 days
DataField: implied_volatility_mean_skew_150
DataFieldDescription: At-the-money option-implied volatility mean skew for 150 days
DataField: implied_volatility_mean_skew_180
DataFieldDescription: At-the-money option-implied volatility mean skew for 180 days
DataField: implied_volatility_put_30
DataFieldDescription: At-the-money option-implied volatility for Put Option for 30 days
DataField: implied_volatility_call_10
DataFieldDescription: At-the-money option-implied volatility for call Option for 10 days
DataField: parkinson_volatility_30
DataFieldDescription: Parkinson model's historical volatility over 30 days
DataField: parkinson_volatility_60
DataFieldDescription: Parkinson model's historical volatility over 60 days
DataField: historical_volatility_180
DataFieldDescription: Close-to-close Historical volatility over 180 days
DataField: parkinson_volatility_120
DataFieldDescription: Parkinson model's historical volatility over 120 days
DataField: implied_volatility_mean_skew_10
DataFieldDescription: At-the-money option-implied volatility mean skew for 10 days
DataField: implied_volatility_call_720
DataFieldDescription: At-the-money option-implied volatility for call Option for 720 days
DataField: parkinson_volatility_180
DataFieldDescription: Parkinson model's historical volatility over 180 days
DataField: implied_volatility_put_360
DataFieldDescription: At-the-money option-implied volatility for Put Option for 360 days
DataField: implied_volatility_put_720
DataFieldDescription: At-the-money option-implied volatility for Put Option for 720 days
DataField: nws12_afterhsz_maxup
DataFieldDescription: Percent change from the price at the time of the news to the after the news high
DataField: nws12_mainz_5l
DataFieldDescription: Number of minutes that elapsed before price went up 5 percentage points
DataField: news_pct_120min
DataFieldDescription: The percent change in price in the first 120 minutes following the news release
DataField: nws12_afterhsz_spylast
DataFieldDescription: Last Price of the SPY at the time of the news
DataField: nws12_prez_mainvwap
DataFieldDescription: Main session volume-weighted average price
DataField: news_curr_vol
DataFieldDescription: Current day's session volume
DataField: news_prev_vol
DataFieldDescription: Previous day's session volume
DataField: news_eod_high
DataFieldDescription: Highest price reached between the time of news and the end of the session
DataField: nws12_afterhsz_short_interest
DataFieldDescription: Total number of shares sold short divided by total number of shares outstanding
DataField: nws12_prez_02l
DataFieldDescription: Number of minutes that elapsed before price went up 20 percentage points
DataField: nws12_mainz_5p
DataFieldDescription: The minimum of L or S above for 5-minute bucket
DataField: nws12_prez_atrratio
DataFieldDescription: Ratio of Today Range to 20-day average true range
DataField: nws12_prez_prev_vol
DataFieldDescription: Previous day's session volume
DataField: nws12_prez_peratio
DataFieldDescription: Reported price to earnings ratio for the calendar day of the session
DataField: nws12_prez_mktcap
DataFieldDescription: Reported market capitalization for the calendar day of the session
DataField: nws12_afterhsz_5l
DataFieldDescription: Number of minutes that elapsed before price went up 5 percentage points
DataField: nws12_mainz_vol_ratio
DataFieldDescription: Curr_Vol / Mov_Vol
DataField: nws12_afterhsz_highexcstddev
DataFieldDescription: (EODHigh - TONLast)/StdDev, where StdDev is one standard deviation for the close price for 30 calendar days
DataField: nws12_afterhsz_1l
DataFieldDescription: Number of minutes that elapsed before price went up 1 percentage points
DataField: nws12_afterhsz_01l
DataFieldDescription: Number of minutes that elapsed before price went up 10 percentage points
DataField: nws12_mainz_prevwap
DataFieldDescription: Pre session volume weighted average price
DataField: news_cap
DataFieldDescription: Reported market capitalization for the calendar day of the session
DataField: nws12_afterhsz_newrecord
DataFieldDescription: Tracks whether the news is first instance or a duplicate
DataField: nws12_afterhsz_tonlast
DataFieldDescription: Price at the time of news
DataField: news_close_vol
DataFieldDescription: Main close volume
DataField: nws12_afterhsz_1s
DataFieldDescription: Number of minutes that elapsed before price went down 1 percentage point
DataField: nws12_mainz_postvwap
DataFieldDescription: Post session volume weighted average price
DataField: nws12_mainz_mainvwap
DataFieldDescription: Main session volume weighted average price
DataField: news_mins_10_chg
DataFieldDescription: The minimum of L or S above for 10-minute bucket
DataField: nws12_mainz_maxdown
DataFieldDescription: Percent change from the price at the time of the news to the after-the-news low
DataField: top1000
DataFieldDescription: 20140630
DataField: top200
DataFieldDescription: 20140630
DataField: top3000
DataFieldDescription: 20140630
DataField: top500
DataFieldDescription: 20140630
DataField: topsp500
DataFieldDescription: 20140630
DataField: rp_nip_partner
DataFieldDescription: News impact projection of partnership news
DataField: rp_nip_technical
DataFieldDescription: News impact projection based on technical analysis
DataField: nws18_qcm
DataFieldDescription: News sentiment of relevant news with high confidence
DataField: nws18_bee
DataFieldDescription: News sentiment specializing in growth of earnings
DataField: rp_css_product
DataFieldDescription: Composite sentiment score of product and service-related news
DataField: rp_ess_product
DataFieldDescription: Event sentiment score of product and service-related news
DataField: rp_css_inverstor
DataFieldDescription: Composite sentiment score of investor relations news
DataField: nws18_qmb
DataFieldDescription: News sentiment specializing in editorials on global markets
DataField: rp_nip_legal
DataFieldDescription: News impact projection of legal news
DataField: rp_ess_business
DataFieldDescription: Event sentiment score of business-related news
DataField: rp_nip_ptg
DataFieldDescription: News impact projection of price target news
DataField: rp_nip_price
DataFieldDescription: News impact projection of stock price news
DataField: nws18_ber
DataFieldDescription: News sentiment specializing in earnings result
DataField: nws18_relevance
DataFieldDescription: Relevance of news to the company
DataField: rp_ess_equity
DataFieldDescription: Event sentiment score of equity action news
DataField: rp_ess_assets
DataFieldDescription: Event sentiment score of assets news
DataField: rp_nip_revenue
DataFieldDescription: News impact projection of revenue news
DataField: nws18_acb
DataFieldDescription: News sentiment specializing in corporate action announcements
DataField: rp_ess_earnings
DataFieldDescription: Event sentiment score of earnings news
DataField: rp_ess_ratings
DataFieldDescription: Event sentiment score of analyst ratings-related news
DataField: rp_nip_inverstor
DataFieldDescription: News impact projection of investor relations news
DataField: rp_css_society
DataFieldDescription: Composite sentiment score of society-related news
DataField: rp_ess_partner
DataFieldDescription: Event sentiment score of partnership news
DataField: rp_nip_earnings
DataFieldDescription: News impact projection of earnings news
DataField: rp_css_ratings
DataFieldDescription: Composite sentiment score of analyst ratings-related news
DataField: rp_nip_credit
DataFieldDescription: News impact projection of credit news
DataField: nws18_sse
DataFieldDescription: Sentiment of phrases impacting the company
DataField: rp_css_dividends
DataFieldDescription: Composite sentiment score of dividends news
DataField: rp_nip_equity
DataFieldDescription: News impact projection of equity action news
DataField: rp_ess_price
DataFieldDescription: Event sentiment score of stock price news
DataField: fn_repayments_of_lines_of_credit_a
DataFieldDescription: Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.
DataField: fn_unrecognized_tax_benefits_a
DataFieldDescription: Amount of unrecognized tax benefits.
DataField: fn_oth_income_loss_derivatives_qualifying_as_hedges_of_tax_q
DataFieldDescription: Amount after tax and reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).
DataField: fn_comp_number_of_shares_authorized_a
DataFieldDescription: Count of unique IDs of industry participants. Industry stands for an aggregate view of all equity clearance activity for the date, symbol, and transaction type in question.
DataField: fn_finite_lived_intangible_assets_net_q
DataFieldDescription: Finite Lived Intangible Assets, Net
DataField: fnd2_a_ltrmdmrepoplinytwo
DataFieldDescription: Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing in the 2nd fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.
DataField: fn_amortization_of_intangible_assets_q
DataFieldDescription: The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.
DataField: fnd2_a_inventoryrawmaterials
DataFieldDescription: Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within 1 year or operating cycle, if longer.
DataField: fn_mne_a
DataFieldDescription: Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.
DataField: fn_oth_income_loss_available_for_sale_securities_adj_of_tax_q
DataFieldDescription: Amount after tax and reclassification adjustments, of appreciation (loss) in value of unsold available-for-sale securities. Excludes amounts related to other than temporary impairment (OTTI) loss.
DataField: fn_derivative_fair_value_of_derivative_liability_a
DataFieldDescription: Fair value, before effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.
DataField: fnd2_dbplanepdfbnfpy5
DataFieldDescription: Amount of benefits from a defined benefit plan expected to be paid in the 5th fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.
DataField: fnd2_dfdtxasoprlcarryfwd
DataFieldDescription: Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.
DataField: fn_finite_lived_intangible_assets_net_a
DataFieldDescription: Finite Lived Intangible Assets, Net
DataField: fnd2_a_sbcpnargmtwfsptepddvdrt
DataFieldDescription: The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.
DataField: fn_comp_not_rec_q
DataFieldDescription: Unrecognized cost of unvested share-based compensation awards.
DataField: fn_debt_instrument_face_amount_q
DataFieldDescription: Debt face amount
DataField: fnd2_dbplanepdfbnfpnext12m
DataFieldDescription: Amount of benefits from a defined benefit plan expected to be paid in the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.
DataField: fnd2_a_flintasamt1expythree
DataFieldDescription: Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the 3rd fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.
DataField: fn_proceeds_from_issuance_of_debt_a
DataFieldDescription: The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt.
DataField: fnd2_dfdlocalitxexp
DataFieldDescription: Income Tax Expense, Deferred
DataField: fnd2_a_lineofcrfcyrmbrgcap
DataFieldDescription: Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).
DataField: fnd2_a_sbcpnargmpmtwgtm
DataFieldDescription: The weighted average period between the balance sheet date and expiration for all awards outstanding under the plan, which may be expressed in a decimal value for number of years.
DataField: fn_interest_paid_net_q
DataFieldDescription: Net interest
DataField: fnd2_dfdtxlbspropplteqm
DataFieldDescription: Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.
DataField: fn_derivative_fair_value_of_derivative_liability_q
DataFieldDescription: Fair value, before effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.
DataField: fnd2_q_seniornotes
DataFieldDescription: Including the current and noncurrent portions, carrying value as of the balance sheet date of Notes with the highest claim on the assets of the issuer in case of bankruptcy or liquidation (with maturities initially due after 1 year or beyond the operating cycle if longer). Senior note holders are paid off in full before any payments are made to junior note holders.
DataField: fn_line_of_credit_facility_amount_out_q
DataFieldDescription: Amount borrowed under the credit facility as of the balance sheet date.
DataField: fn_prepaid_expense_q
DataFieldDescription: Carrying amount for an unclassified balance sheet date of expenditures made in advance of when the economic benefit of the cost will be realized, and which will be expensed in future periods with the passage of time or when a triggering event occurs. For a classified balance sheet, represents the noncurrent portion of prepaid expenses (the current portion has a separate concept).
DataField: fn_finite_lived_intangible_assets_acq_q
DataFieldDescription: Amount of assets, excluding financial assets and goodwill, lacking physical substance with a finite life acquired.
DataField: adv20
DataFieldDescription: Average daily volume in past 20 days
DataField: cap
DataFieldDescription: Daily market capitalization (in millions)
DataField: close
DataFieldDescription: Daily close price
DataField: country
DataFieldDescription: Country grouping
DataField: currency
DataFieldDescription: Currency
DataField: cusip
DataFieldDescription: CUSIP Value
DataField: dividend
DataFieldDescription: Dividend
DataField: exchange
DataFieldDescription: Exchange grouping
DataField: high
DataFieldDescription: Daily high price
DataField: industry
DataFieldDescription: Industry grouping
DataField: isin
DataFieldDescription: ISIN Value
DataField: low
DataFieldDescription: Daily low price
DataField: market
DataFieldDescription: Market grouping
DataField: open
DataFieldDescription: Daily open price
DataField: returns
DataFieldDescription: Daily returns
DataField: sector
DataFieldDescription: Sector grouping
DataField: sedol
DataFieldDescription: Sedol
DataField: sharesout
DataFieldDescription: Daily outstanding shares (in millions)
DataField: split
DataFieldDescription: Stock split ratio
DataField: subindustry
DataFieldDescription: Subindustry grouping
DataField: ticker
DataFieldDescription: Ticker
DataField: volume
DataFieldDescription: Daily volume
DataField: vwap
DataFieldDescription: Daily volume weighted average price
========================= 数据字段结束 =======================================

@ -0,0 +1,891 @@
任务指令
你是一个WorldQuant WebSim因子工程师。你的任务是生成 20 个用于行业轮动策略的复合型Alpha因子表达式。
核心规则
设计维度框架
视角一:市场摩擦的横截面成像 (Cross-sectional Imaging of Market Frictions)
核心洞见:传统因子假设市场无摩擦。真正的Alpha可能藏于“摩擦本身”——即指令流(order flow)转化为价格运动时,在不同股票上表现出的效率差异图谱。我们不为消除摩擦建模,而是主动测绘它。
研究提示词 (用于指导因子构建):
指令流冲击的“消化速率”:测量单位异常交易量(可定义为其z-score)所引发的瞬时价格冲击(如未来1-5分钟收益率),以及该冲击在随后较短时间(如30分钟、1小时)的衰减半衰期。寻找“冲击大但衰减慢”(高摩擦、低流动性)与“冲击小但衰减快”(低摩擦、高流动性)的股票,并研究其横截面收益预测能力。
买卖失衡的“路径依赖”:考察买单流与卖单流(可用正负交易额近似)的净额在时间序列上的自相关性模式。是呈现“均值回归”(失衡迅速被套利消化)还是“趋势持续”(失衡自我强化)?这种模式在不同波动率、不同市值股票中如何变化?能否构建一个度量“订单流趋势持续性”的指标?
价格发现的“领地性”:将价格变化分解为“由自身交易驱动”的部分和“由同行业龙头/指数驱动”的部分(可通过日内收益率与龙头/指数收益率的滚动协方差分解)。计算“自身解释比例”。该比例高的股票,其价格发现是“内生性”的;比例低的则是“外生性”或“跟随性”的。这两类股票在不同市场环境(牛市/熊市/震荡市)下的表现有何系统性差异?
视角二:投资者注意力的生态学建模 (Ecology of Investor Attention)
核心洞见:注意力是金融市场最稀缺的资源。市场不是信息的聚合器,而是注意力资源的分配系统。因子应捕捉注意力的“聚集-分散”、“转移-停滞”动态,而非信息本身。
研究提示词 (用于指导因子构建):
注意力“聚焦度”与“涣散度”:用交易量在时间序列上的分布熵来衡量。例如,过去20个交易日内,交易量分布的基尼系数或赫芬达尔指数。高集中度(某几天放巨量)意味着注意力短期爆发;低集中度(量能均匀)意味着持续平淡的关注。研究这两种状态转换前后,股票的收益特征。
行业内注意力的“捕食-被捕食”关系:定义“注意力领导者”(如当日涨幅前3的股票)和“注意力追随者”(同行业其他股票)。计算领导股出现后,追随者的成交量与价格在随后N个时间段内的响应速度和强度。这种响应的不对称性(有些股票迅速响应,有些滞后)能否预测未来的相对强弱?
“注意力惯性”与“注意力反转”:度量一个股票在失去短期催化剂(如公告、事件)后,其异常成交量(或搜索量、社交媒体活跃度)回落至基线水平的速度。回落慢的股票具有“注意力惯性”,可能存在定价偏差的持续;回落快的股票则“注意力反转”迅速。构建一个“注意力衰减时间”因子。
视角三:价格运动的“形态语法”与“叙事连贯性” (Morphological Syntax & Narrative Coherence of Price Movements)
核心洞见:价格运动不仅是有方向的,更是有“形状”和“语法”的。如同语言,一段价格走势是否存在合“语法”的叙事结构(如“筑底-突破-回踩-主升”),还是杂乱无章的“噪音词汇”?市场参与者会潜意识地识别并交易这些“连贯叙事”。
研究提示词 (用于指导因子构建):
K线序列的“可压缩性”:使用一种简化的算法(如趋势线拟合后的残差大小,或一定容忍度下的分段线性近似所需节点数),来衡量过去一段价格序列的信息复杂度。低复杂度(高可压缩性)意味着价格运动清晰、有规律;高复杂度则意味着混乱。研究“从混乱转向清晰”或“从清晰转向混乱”的拐点。
关键价位互动的“叙事逻辑”:识别近期的显著高点、低点、缺口、密集成交区作为“关键叙事节点”。分析当前价格在接近这些节点时的行为:是“尊重”(反弹/受阻)还是“无视”(直接穿越)?一系列对历史节点的“尊重”行为构成了一个连贯的“支撑阻力叙事”。能否量化这种叙事逻辑的强度?
多尺度运动的“相位同步”:选取短期(如5日)、中期(20日)、长期(60日)的价格滤波序列(如移动平均线)。计算它们之间方向变化的领先滞后关系与同步性(可类似相位角分析)。例如,短期均线是否总是率先转向并引导中长期?还是三者经常背离?“多周期共振向上/向下”这种高度同步的状态,其形成过程和瓦解过程有何预测意义?
=== 关键语法规则(必须遵守) ===
1. 数据字段规范:
- 可使用字段:close, volume, returns
- ❌ 错误:market_cap, marketcap, mkt_cap [这些字段不存在]
- ✅ 正确:使用volume作为规模代理,close作为价格
- returns通常定义为:ts_delta(close, 1) 或 close/ts_delay(close,1)-1
2. ts_regression使用规范:
- 避免深度嵌套ts_regression,特别是作为其他函数的参数
- ✅ 正确:reg_slope = ts_regression(close, ts_step(1), 30, 0, 1)
- ❌ 错误:ts_delta(ts_regression(close, ts_step(1), 30, 0, 1), 5)
- 替代方案:用ts_delta组合计算动量变化
3. if_else使用规范:
- 条件必须是简单布尔表达式
- 避免序列比较:❌ ts_std_dev(returns,60) > ts_mean(ts_std_dev(returns,60),120)
- 正确使用:✅ if_else(ts_rank(ts_std_dev(returns,60), 120) > 0.7, 短期动量, 长期动量)
4. bucket函数使用规范:
- bucket()返回分组ID,可用于条件判断
- ✅ 正确:bucket(rank(volume), range="0,3,0.4") == 0 [第一组为大成交量]
- ✅ 正确:group_mean(x, 1, bucket(rank(volume), range="0,3,0.4"))
- 注意字符串格式:range="起始值,组数,步长" 或 buckets="分割点列表"
=== 关键语法规则结束 ===
*=====*
注意事项:
1. 避免过度复杂的嵌套(建议不超过3层)
2. 每个表达式应有明确的经济逻辑
3. 考虑实际交易可行性(避免未来函数)
4. 包含风险控制元素(如波动率调整)
5. 只能使用可用的数据字段:close, volume, returns等
*=====*
参数逻辑:参数d(回顾期)应在[5, 10, 20, 30, 60, 120]等具有市场意义(周、月、季度、半年)的数值中合理选择并差异化。
行业隐含:通过group_mean、group_rank等函数或假设表达式在行业指数上运行来体现"行业"逻辑。
构建框架指导(请按此逻辑创造新因子):
维度融合模板(选择至少2个):
A. 领导力动量 = 时序动量 × 横截面调整
逻辑:大成交量股票的动量更强
结构:group_mean(ts_delta(close, d1), 1, bucket(rank(volume), range="0,3,0.4"))
B. 状态自适应动量 = 条件选择动量
逻辑:高波动用短期动量,低波动用长期动量
结构:if_else(ts_std_dev(returns,20) > 0.02, ts_delta(close,5), ts_delta(close,20))
C. 行业传导因子 = 领先行业动量 × 相关性强度
逻辑:与强势行业相关性高的行业未来表现好
结构:multiply(ts_corr(group_mean(returns,1,industry), group_mean(returns,1,sector), d1), ts_delta(close,d2))
D. 情绪反转 = 过度交易信号 × 基础趋势
逻辑:过度交易时反转,趋势延续时跟随
结构:multiply(reverse(ts_rank(volume/ts_mean(volume,20), 10)), ts_delta(close,20))
关键组件库(可自由组合):
1. 动量类:ts_delta(close,{d}), ts_regression(close,ts_step(1),{d},0,1)
2. 波动类:ts_std_dev(returns,{d}), ts_mean(abs(returns),{d})
3. 成交量类:volume/ts_mean(volume,{d}), ts_zscore(volume,{d})
4. 横截面类:if_else(rank(volume) > 阈值, 值1, 值2), bucket(rank(volume), range="0,3,0.4")
5. 相关性类:ts_corr({x},{y},{d})
6. 条件逻辑:if_else({condition}, {true_value}, {false_value})
参数池:d ∈ [5,10,20,30,60,120], 阈值 ∈ [0.5,0.7,0.8]
*=====*
输出格式:
输出必须是且仅是纯文本。
每一行是一个完整、独立、语法正确的WebSim表达式。
严禁任何形式的解释、编号、标点包裹(如引号)、Markdown格式或额外文本。
===================== !!! 重点(输出方式) !!! =====================
现在,请严格遵守以上所有规则,开始生成可立即在WebSim中运行的复合因子表达式。
**输出格式**(一行一个表达式, 每个表达式中间需要添加一个空行, 只要表达式本身, 不要解释, 不需要序号, 也不要输出多余的东西):
表达式
表达式
表达式
...
表达式
=================================================================
重申:请确保所有表达式都使用WorldQuant WebSim平台函数,不要使用pandas、numpy或其他Python库函数。输出必须是一行有效的WQ表达式。
以下是我的账号有权限使用的操作符, 请严格按照操作符, 进行生成,组合因子:
以下是我的账号有权限使用的操作符, 请严格按照操作符, 进行生成,组合因子
========================= 操作符开始 =======================================注意: Operator: 后面的是操作符,
Description: 此字段后面的是操作符对应的描述或使用说明, Description字段后面的内容是使用说明, 不是操作符
特别注意!!!! 必须按照操作符字段Operator的使用说明生成 alphaOperator: abs(x)
Description: Absolute value of x
Operator: add(x, y, filter = false)
Description: Add all inputs (at least 2 inputs required). If filter = true, filter all input NaN to 0 before adding
Operator: densify(x)
Description: Converts a grouping field of many buckets into lesser number of only available buckets so as to make working with grouping fields computationally efficient
Operator: divide(x, y)
Description: x / y
Operator: inverse(x)
Description: 1 / x
Operator: log(x)
Description: Natural logarithm. For example: Log(high/low) uses natural logarithm of high/low ratio as stock weights.
Operator: max(x, y, ..)
Description: Maximum value of all inputs. At least 2 inputs are required
Operator: min(x, y ..)
Description: Minimum value of all inputs. At least 2 inputs are required
Operator: multiply(x ,y, ... , filter=false)
Description: Multiply all inputs. At least 2 inputs are required. Filter sets the NaN values to 1
Operator: power(x, y)
Description: x ^ y
Operator: reverse(x)
Description: - x
Operator: sign(x)
Description: if input > 0, return 1; if input < 0, return -1; if input = 0, return 0; if input = NaN, return NaN;
Operator: signed_power(x, y)
Description: x raised to the power of y such that final result preserves sign of x
Operator: sqrt(x)
Description: Square root of x
Operator: subtract(x, y, filter=false)
Description: x-y. If filter = true, filter all input NaN to 0 before subtracting
Operator: and(input1, input2)
Description: Logical AND operator, returns true if both operands are true and returns false otherwise
Operator: if_else(input1, input2, input 3)
Description: If input1 is true then return input2 else return input3.
Operator: input1 < input2
Description: If input1 < input2 return true, else return false
Operator: input1 <= input2
Description: Returns true if input1 <= input2, return false otherwise
Operator: input1 == input2
Description: Returns true if both inputs are same and returns false otherwise
Operator: input1 > input2
Description: Logic comparison operators to compares two inputs
Operator: input1 >= input2
Description: Returns true if input1 >= input2, return false otherwise
Operator: input1!= input2
Description: Returns true if both inputs are NOT the same and returns false otherwise
Operator: is_nan(input)
Description: If (input == NaN) return 1 else return 0
Operator: not(x)
Description: Returns the logical negation of x. If x is true (1), it returns false (0), and if input is false (0), it returns true (1).
Operator: or(input1, input2)
Description: Logical OR operator returns true if either or both inputs are true and returns false otherwise
Operator: days_from_last_change(x)
Description: Amount of days since last change of x
Operator: hump(x, hump = 0.01)
Description: Limits amount and magnitude of changes in input (thus reducing turnover)
Operator: kth_element(x, d, k)
Description: Returns K-th value of input by looking through lookback days. This operator can be used to backfill missing data if k=1
Operator: last_diff_value(x, d)
Description: Returns last x value not equal to current x value from last d days
Operator: ts_arg_max(x, d)
Description: Returns the relative index of the max value in the time series for the past d days. If the current day has the max value for the past d days, it returns 0. If previous day has the max value for the past d days, it returns 1
Operator: ts_arg_min(x, d)
Description: Returns the relative index of the min value in the time series for the past d days; If the current day has the min value for the past d days, it returns 0; If previous day has the min value for the past d days, it returns 1.
Operator: ts_av_diff(x, d)
Description: Returns x - tsmean(x, d), but deals with NaNs carefully. That is NaNs are ignored during mean computation
Operator: ts_backfill(x,lookback = d, k=1, ignore="NAN")
Description: Backfill is the process of replacing the NAN or 0 values by a meaningful value (i.e., a first non-NaN value)
Operator: ts_corr(x, y, d)
Description: Returns correlation of x and y for the past d days
Operator: ts_count_nans(x ,d)
Description: Returns the number of NaN values in x for the past d days
Operator: ts_covariance(y, x, d)
Description: Returns covariance of y and x for the past d days
Operator: ts_decay_linear(x, d, dense = false)
Description: Returns the linear decay on x for the past d days. Dense parameter=false means operator works in sparse mode and we treat NaN as 0. In dense mode we do not.
Operator: ts_delay(x, d)
Description: Returns x value d days ago
Operator: ts_delta(x, d)
Description: Returns x - ts_delay(x, d)
Operator: ts_mean(x, d)
Description: Returns average value of x for the past d days.
Operator: ts_product(x, d)
Description: Returns product of x for the past d days
Operator: ts_quantile(x,d, driver="gaussian" )
Description: It calculates ts_rank and apply to its value an inverse cumulative density function from driver distribution. Possible values of driver (optional ) are "gaussian", "uniform", "cauchy" distribution where "gaussian" is the default.
Operator: ts_rank(x, d, constant = 0)
Description: Rank the values of x for each instrument over the past d days, then return the rank of the current value + constant. If not specified, by default, constant = 0.
Operator: ts_regression(y, x, d, lag = 0, rettype = 0)
Description: Returns various parameters related to regression function
Operator: ts_scale(x, d, constant = 0)
Description: Returns (x - ts_min(x, d)) / (ts_max(x, d) - ts_min(x, d)) + constant. This operator is similar to scale down operator but acts in time series space
Operator: ts_std_dev(x, d)
Description: Returns standard deviation of x for the past d days
Operator: ts_step(1)
Description: Returns days' counter
Operator: ts_sum(x, d)
Description: Sum values of x for the past d days.
Operator: ts_zscore(x, d)
Description: Z-score is a numerical measurement that describes a value's relationship to the mean of a group of values. Z-score is measured in terms of standard deviations from the mean: (x - tsmean(x,d)) / tsstddev(x,d). This operator may help reduce outliers and drawdown.
Operator: normalize(x, useStd = false, limit = 0.0)
Description: Calculates the mean value of all valid alpha values for a certain date, then subtracts that mean from each element
Operator: quantile(x, driver = gaussian, sigma = 1.0)
Description: Rank the raw vector, shift the ranked Alpha vector, apply distribution (gaussian, cauchy, uniform). If driver is uniform, it simply subtract each Alpha value with the mean of all Alpha values in the Alpha vector
Operator: rank(x, rate=2)
Description: Ranks the input among all the instruments and returns an equally distributed number between 0.0 and 1.0. For precise sort, use the rate as 0
Operator: scale(x, scale=1, longscale=1, shortscale=1)
Description: Scales input to booksize. We can also scale the long positions and short positions to separate scales by mentioning additional parameters to the operator
Operator: winsorize(x, std=4)
Description: Winsorizes x to make sure that all values in x are between the lower and upper limits, which are specified as multiple of std.
Operator: zscore(x)
Description: Z-score is a numerical measurement that describes a value's relationship to the mean of a group of values. Z-score is measured in terms of standard deviations from the mean
Operator: vec_avg(x)
Description: Taking mean of the vector field x
Operator: vec_sum(x)
Description: Sum of vector field x
Operator: bucket(rank(x), range="0, 1, 0.1" or buckets = "2,5,6,7,10")
Description: Convert float values into indexes for user-specified buckets. Bucket is useful for creating group values, which can be passed to GROUP as input
Operator: trade_when(x, y, z)
Description: Used in order to change Alpha values only under a specified condition and to hold Alpha values in other cases. It also allows to close Alpha positions (assign NaN values) under a specified condition
Operator: group_backfill(x, group, d, std = 4.0)
Description: If a certain value for a certain date and instrument is NaN, from the set of same group instruments, calculate winsorized mean of all non-NaN values over last d days
Operator: group_mean(x, weight, group)
Description: All elements in group equals to the mean
Operator: group_neutralize(x, group)
Description: Neutralizes Alpha against groups. These groups can be subindustry, industry, sector, country or a constant
Operator: group_rank(x, group)
Description: Each elements in a group is assigned the corresponding rank in this group
Operator: group_scale(x, group)
Description: Normalizes the values in a group to be between 0 and 1. (x - groupmin) / (groupmax - groupmin)
Operator: group_zscore(x, group)
Description: Calculates group Z-score - numerical measurement that describes a value's relationship to the mean of a group of values. Z-score is measured in terms of standard deviations from the mean. zscore = (data - mean) / stddev of x for each instrument within its group.
========================= 操作符结束 =======================================
========================= 数据字段开始 =======================================注意: DataField: 后面的是数据字段, DataFieldDescription: 此字段后面的是数据字段对应的描述或使用说明, DataFieldDescription字段后面的内容是使用说明, 不是数据字段
DataField: pcr_vol_720
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 720 days in the future.
DataField: option_breakeven_90
DataFieldDescription: Price at which a stock's options with expiration 90 days in the future break even based on its recent bid/ask mean.
DataField: pcr_vol_270
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 270 days in the future.
DataField: option_breakeven_360
DataFieldDescription: Price at which a stock's options with expiration 360 days in the future break even based on its recent bid/ask mean.
DataField: put_breakeven_150
DataFieldDescription: Price at which a stock's put options with expiration 150 days in the future break even based on its recent bid/ask mean.
DataField: option_breakeven_720
DataFieldDescription: Price at which a stock's options with expiration 720 days in the future break even based on its recent bid/ask mean.
DataField: call_breakeven_20
DataFieldDescription: Price at which a stock's call options with expiration 20 days in the future break even based on its recent bid/ask mean.
DataField: put_breakeven_180
DataFieldDescription: Price at which a stock's put options with expiration 180 days in the future break even based on its recent bid/ask mean.
DataField: call_breakeven_10
DataFieldDescription: Price at which a stock's call options with expiration 10 days in the future break even based on its recent bid/ask mean.
DataField: pcr_vol_1080
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 1080 days in the future.
DataField: pcr_oi_30
DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 30 days in the future.
DataField: option_breakeven_180
DataFieldDescription: Price at which a stock's options with expiration 180 days in the future break even based on its recent bid/ask mean.
DataField: option_breakeven_60
DataFieldDescription: Price at which a stock's options with expiration 60 days in the future break even based on its recent bid/ask mean.
DataField: forward_price_20
DataFieldDescription: Forward price at 20 days derived from a synthetic long option with payoff similar to long stock + option dynamics. Combination of long ATM call and short ATM put.
DataField: forward_price_360
DataFieldDescription: Forward price at 360 days derived from a synthetic long option with payoff similar to long stock + option dynamics. Combination of long ATM call and short ATM put.
DataField: forward_price_180
DataFieldDescription: Forward price at 180 days derived from a synthetic long option with payoff similar to long stock + option dynamics. combination of long ATM call, and short ATM put.
DataField: call_breakeven_1080
DataFieldDescription: Price at which a stock's call options with expiration 1080 days in the future break even based on its recent bid/ask mean.
DataField: put_breakeven_1080
DataFieldDescription: Price at which a stock's put options with expiration 1080 days in the future break even based on its recent bid/ask mean.
DataField: pcr_vol_180
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 180 days in the future.
DataField: pcr_oi_120
DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 120 days in the future.
DataField: call_breakeven_120
DataFieldDescription: Price at which a stock's call options with expiration 120 days in the future break even based on its recent bid/ask mean.
DataField: pcr_vol_90
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 90 days in the future.
DataField: pcr_vol_20
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 20 days in the future.
DataField: put_breakeven_60
DataFieldDescription: Price at which a stock's put options with expiration 60 days in the future break even based on its recent bid/ask mean.
DataField: put_breakeven_120
DataFieldDescription: Price at which a stock's put options with expiration 120 days in the future break even based on its recent bid/ask mean.
DataField: pcr_oi_270
DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 270 days in the future.
DataField: forward_price_1080
DataFieldDescription: Forward price at 1080 days derived from a synthetic long option with payoff similar to long stock + option dynamics. Combination of long ATM call and short ATM put.
DataField: option_breakeven_120
DataFieldDescription: Price at which a stock's options with expiration 120 days in the future break even based on its recent bid/ask mean.
DataField: pcr_vol_30
DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 30 days in the future.
DataField: option_breakeven_150
DataFieldDescription: Price at which a stock's options with expiration 150 days in the future break even based on its recent bid/ask mean.
DataField: fnd6_prcc
DataFieldDescription: Price Close - Annual
DataField: fnd6_mkvalt
DataFieldDescription: Market Value - Total
DataField: fnd6_newqeventv110_txdiq
DataFieldDescription: Income Taxes - Deferred
DataField: fnd6_newa1v1300_cstk
DataFieldDescription: Common/Ordinary Stock (Capital)
DataField: fnd6_newqeventv110_tstkq
DataFieldDescription: Treasury Stock - Total (All Capital)
DataField: fnd6_cld3
DataFieldDescription: Capitalized Leases - Due in 3rd Year
DataField: fnd6_newqv1300_aqpl1q
DataFieldDescription: Assets Level 1 (Quoted Prices)
DataField: fnd6_newqv1300_txdiq
DataFieldDescription: Income Taxes - Deferred
DataField: fnd6_newa1v1300_epsfx
DataFieldDescription: Earnings Per Share (Diluted) - Excluding Extraordinary Items
DataField: fnd6_newqv1300_ivstq
DataFieldDescription: Short-Term Investments - Total
DataField: enterprise_value
DataFieldDescription: Enterprise Value
DataField: fnd6_state
DataFieldDescription: integer for identifying the state of the company
DataField: fnd6_spce
DataFieldDescription: S&P Core Earnings
DataField: fnd6_txdbclq
DataFieldDescription: Current Deferred Tax Liability
DataField: fnd6_newa1v1300_dvc
DataFieldDescription: Dividends Common/Ordinary
DataField: fnd6_eventv110_dd1q
DataFieldDescription: Long Term Debt Due in 1 Year
DataField: fnd6_xidos
DataFieldDescription: Extraordinary Items and Discontinued Operations
DataField: fnd6_newqv1300_spcedq
DataFieldDescription: S&P Core Earnings EPS Diluted
DataField: fnd6_newqeventv110_txtq
DataFieldDescription: Income Taxes - Total
DataField: fnd6_newqeventv110_xidoq
DataFieldDescription: Extraordinary Items and Discontinued Operations
DataField: operating_expense
DataFieldDescription: Operating Expense - Total
DataField: fnd6_newqeventv110_icaptq
DataFieldDescription: Invested Capital - Total - Quarterly
DataField: fnd6_newqeventv110_ibadj12
DataFieldDescription: Income Before Extra Items - Adj for Common Stock Equivalents - 12MM
DataField: fnd6_eventv110_xaccq
DataFieldDescription: Accrued Expenses
DataField: fnd6_pncdq
DataFieldDescription: Core Pension Adjustment Diluted EPS Effect
DataField: fnd6_eventv110_gdwlid12
DataFieldDescription: Impairments Diluted EPS - 12mm
DataField: fnd6_cld2
DataFieldDescription: Capitalized Leases - Due in 2nd Year
DataField: fnd6_oelim
DataFieldDescription: Other Eliminations (Income)
DataField: fnd6_esubs
DataFieldDescription: Equity in Earnings
DataField: fnd6_newqeventv110_xoptepsqp
DataFieldDescription: Implied Option EPS Basic Preliminary
DataField: scl12_alltype_buzzvec
DataFieldDescription: sentiment volume
DataField: scl12_alltype_sentvec
DataFieldDescription: sentiment
DataField: scl12_alltype_typevec
DataFieldDescription: instrument type index
DataField: scl12_buzz
DataFieldDescription: relative sentiment volume
DataField: scl12_buzz_fast_d1
DataFieldDescription: relative sentiment volume
DataField: scl12_buzzvec
DataFieldDescription: sentiment volume
DataField: scl12_sentiment
DataFieldDescription: sentiment
DataField: scl12_sentiment_fast_d1
DataFieldDescription: sentiment
DataField: scl12_sentvec
DataFieldDescription: sentiment
DataField: scl12_typevec
DataFieldDescription: instrument type index
DataField: snt_buzz
DataFieldDescription: negative relative sentiment volume, fill nan with 0
DataField: snt_buzz_bfl
DataFieldDescription: negative relative sentiment volume, fill nan with 1
DataField: snt_buzz_bfl_fast_d1
DataFieldDescription: negative relative sentiment volume, fill nan with 1
DataField: snt_buzz_fast_d1
DataFieldDescription: negative relative sentiment volume, fill nan with 0
DataField: snt_buzz_ret
DataFieldDescription: negative return of relative sentiment volume
DataField: snt_buzz_ret_fast_d1
DataFieldDescription: negative return of relative sentiment volume
DataField: snt_value
DataFieldDescription: negative sentiment, fill nan with 0
DataField: snt_value_fast_d1
DataFieldDescription: negative sentiment, fill nan with 0
DataField: analyst_revision_rank_derivative
DataFieldDescription: Change in ranking for analyst revisions and momentum compared to previous period.
DataField: cashflow_efficiency_rank_derivative
DataFieldDescription: Change in ranking for cash flow generation and profitability compared to previous period.
DataField: composite_factor_score_derivative
DataFieldDescription: Change in overall composite factor score from the prior period.
DataField: earnings_certainty_rank_derivative
DataFieldDescription: Change in ranking for earnings sustainability and certainty compared to previous period.
DataField: fscore_bfl_growth
DataFieldDescription: The purpose of this metric is to qualify the expected MT growth potential of the stock.
DataField: fscore_bfl_momentum
DataFieldDescription: The purpose of this metric is to identify stocks which are currently undergoing either up or downward analyst revisions.
DataField: fscore_bfl_profitability
DataFieldDescription: The purpose of this metric is to rank stock based on their ability to generate cash flows.
DataField: fscore_bfl_quality
DataFieldDescription: The purpose of this metric is to measure both the sustainability and certainty of earnings.
DataField: fscore_bfl_surface
DataFieldDescription: The static score. An index between 0 & 100 is applied for each stock and each composite factor - The first ranking is a pentagon surface-based score. The larger the surface, the higher the rank.
DataField: fscore_bfl_surface_accel
DataFieldDescription: The derivative score. In a second step, we calculate the derivative of this score (ie: Is the surface of the pentagon increasing or decreasing from the previous month?).
DataField: fscore_bfl_total
DataFieldDescription: The final score M-Score is a weighted average of both the Pentagon surface score and the Pentagon acceleration score.
DataField: fscore_bfl_value
DataFieldDescription: The purpose of this metric is to see if the stock is under or overpriced given several well known valuation standards.
DataField: fscore_growth
DataFieldDescription: The purpose of this metric is to qualify the expected MT growth potential of the stock.
DataField: fscore_momentum
DataFieldDescription: The purpose of this metric is to identify stocks which are currently undergoing either up or downward analyst revisions.
DataField: fscore_profitability
DataFieldDescription: The purpose of this metric is to rank stock based on their ability to generate cash flows.
DataField: fscore_quality
DataFieldDescription: The purpose of this metric is to measure both the sustainability and certainty of earnings.
DataField: fscore_surface
DataFieldDescription: The static score. An index between 0 & 100 is applied for each stock and each composite factor - The first ranking is a pentagon surface-based score. The larger the surface, the higher the rank.
DataField: fscore_surface_accel
DataFieldDescription: The derivative score. In a second step, we calculate the derivative of this score (ie: Is the surface of the pentagon increasing or decreasing from the previous month?).
DataField: fscore_total
DataFieldDescription: The final score M-Score is a weighted average of both the Pentagon surface score and the Pentagon acceleration score.
DataField: fscore_value
DataFieldDescription: The purpose of this metric is to see if the stock is under or overpriced given several well known valuation standards.
DataField: growth_potential_rank_derivative
DataFieldDescription: Change in ranking for medium-term growth potential compared to previous period.
DataField: multi_factor_acceleration_score_derivative
DataFieldDescription: Change in the acceleration of multi-factor score compared to previous period.
DataField: multi_factor_static_score_derivative
DataFieldDescription: Change in static multi-factor score compared to previous period.
DataField: relative_valuation_rank_derivative
DataFieldDescription: Change in ranking for valuation metrics compared to previous period.
DataField: snt_social_value
DataFieldDescription: Z score of sentiment
DataField: snt_social_volume
DataFieldDescription: Normalized tweet volume
DataField: beta_last_30_days_spy
DataFieldDescription: Beta to SPY in 30 Days
DataField: beta_last_360_days_spy
DataFieldDescription: Beta to SPY in 360 Days
DataField: beta_last_60_days_spy
DataFieldDescription: Beta to SPY in 60 Days
DataField: beta_last_90_days_spy
DataFieldDescription: Beta to SPY in 90 Days
DataField: correlation_last_30_days_spy
DataFieldDescription: Correlation to SPY in 30 Days
DataField: correlation_last_360_days_spy
DataFieldDescription: Correlation to SPY in 360 Days
DataField: correlation_last_60_days_spy
DataFieldDescription: Correlation to SPY in 60 Days
DataField: correlation_last_90_days_spy
DataFieldDescription: Correlation to SPY in 90 Days
DataField: systematic_risk_last_30_days
DataFieldDescription: Systematic Risk Last 30 Days
DataField: systematic_risk_last_360_days
DataFieldDescription: Systematic Risk Last 360 Days
DataField: systematic_risk_last_60_days
DataFieldDescription: Systematic Risk Last 60 Days
DataField: systematic_risk_last_90_days
DataFieldDescription: Systematic Risk Last 90 Days
DataField: unsystematic_risk_last_30_days
DataFieldDescription: Unsystematic Risk Last 30 Days - Relative to SPY
DataField: unsystematic_risk_last_360_days
DataFieldDescription: Unsystematic Risk Last 360 Days - Relative to SPY
DataField: unsystematic_risk_last_60_days
DataFieldDescription: Unsystematic Risk Last 60 Days - Relative to SPY
DataField: unsystematic_risk_last_90_days
DataFieldDescription: Unsystematic Risk Last 90 Days - Relative to SPY
DataField: anl4_afv4_div_number
DataFieldDescription: Number of estimations for Dividend per share - annually
DataField: sales_max_guidance_value
DataFieldDescription: Maximum guidance value for annual sales
DataField: anl4_fsguidanceqfv4_item
DataFieldDescription: Financial item
DataField: anl4_cff_number
DataFieldDescription: Cash Flow From Financing - number of estimations
DataField: anl4_fsguidanceafv4_maxguidance
DataFieldDescription: Maximum guidance value
DataField: anl4_tot_gw_ft
DataFieldDescription: Total Goodwill - forecast type (revision/new/...)
DataField: cash_flow_from_operations
DataFieldDescription: Cash Flow from Operations - Value for the annual period
DataField: anl4_dez1qfv4_est
DataFieldDescription: Estimation value
DataField: anl4_eaz2lltv110_estvalue
DataFieldDescription: Estimation value
DataField: anl4_cfo_mean
DataFieldDescription: Cash Flow From Operations - mean of estimations
DataField: anl4_fcfps_flag
DataFieldDescription: Free cash flow per share - forecast type (revision/new/...)
DataField: anl4_qfd1_az_wol_vid
DataFieldDescription: Dividend per share - The lowest value among forecasts
DataField: anl4_basicqfv4_minguidance
DataFieldDescription: Min guidance value
DataField: anl4_cuo1conafv110_item
DataFieldDescription: Financial item
DataField: anl4_qf_az_div_mean
DataFieldDescription: Dividend per share - average of estimations
DataField: min_stock_option_expense_guidance
DataFieldDescription: Stock option expense - minimum guidance value
DataField: anl4_bvps_flag
DataFieldDescription: Book value per share - forecast type (revision/new/...)
DataField: anl4_tbvps_number
DataFieldDescription: Tangible Book Value per Share - number of estimations
DataField: anl4_epsa_flag
DataFieldDescription: Earnings per share adjusted by excluding extraordinary items and stock option expenses - forecast type (revision/new/...)
DataField: min_reported_eps_guidance
DataFieldDescription: Reported Earnings Per Share - Minimum guidance value for the annual period
DataField: max_net_income_guidance
DataFieldDescription: The maximum guidance value for net profit.
DataField: anl4_netprofit_std
DataFieldDescription: Net profit - standard deviation of estimations
DataField: anl4_qf_az_dts_spe
DataFieldDescription: Earnings per share - std of estimations
DataField: anl4_adxqfv110_pu
DataFieldDescription: The number of upper estimations
DataField: anl4_netprofit_value
DataFieldDescription: Net profit- announced financial value
DataField: cashflow_per_share_max_guidance_quarterly
DataFieldDescription: The maximum guidance value for Cash Flow Per Share.
DataField: anl4_basicdetailqfv110_person
DataFieldDescription: Broker Id
DataField: anl4_fsguidanceafv4_item
DataFieldDescription: Financial item
DataField: min_shares_outstanding_guidance
DataFieldDescription: Minimum guidance value for Shares
DataField: anl4_qfv4_div_low
DataFieldDescription: Dividend per share - The lowest estimation
DataField: pv13_hierarchy23_sector
DataFieldDescription: grouping fields
DataField: pv13_ustomergraphrank_auth_rank
DataFieldDescription: the HITS authority score of customers
DataField: pv13_rha2_min2_513_sector
DataFieldDescription: grouping fields
DataField: pv13_rha2_min5_513_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min5_1000_513_sector
DataFieldDescription: grouping fields
DataField: pv13_new_5l_scibr
DataFieldDescription: grouping fields
DataField: pv13_revere_level
DataFieldDescription: Level of the sector within the hierarchy
DataField: pv13_hierarchy_min10_sector_3000_sector
DataFieldDescription: grouping fields
DataField: pv13_revere_index_cap
DataFieldDescription: Company market capitalization
DataField: pv13_rha2_min2_1000_513_sector
DataFieldDescription: grouping fields
DataField: pv13_rha2_min2_sector
DataFieldDescription: grouping fields
DataField: pv13_di_5l
DataFieldDescription: grouping fields
DataField: pv13_hierarchys32_sector
DataFieldDescription: grouping fields
DataField: pv13_ustomergraphrank_page_rank
DataFieldDescription: the PageRank of customers
DataField: pv13_h_min24_500_sector
DataFieldDescription: Grouping fields for top 500
DataField: pv13_hierarchy_min30_3000_mapped_513_sector
DataFieldDescription: grouping fields
DataField: pv13_rha2_min5_3000_513_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min25_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min10_sector_3000_513_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min51_f4_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min5_f3g2_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min20_3k_513_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min10_industry_3000_513_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min52_513_sector
DataFieldDescription: grouping fields
DataField: pv13_r2_min20_1000_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy2_513_sector
DataFieldDescription: grouping fields
DataField: pv13_h2_min2_1k_sector
DataFieldDescription: Grouping fields for top 1000
DataField: pv13_r2_min10_3000_sector
DataFieldDescription: grouping fields
DataField: pv13_hierarchy_min30_3000_513_sector
DataFieldDescription: grouping fields
DataField: implied_volatility_mean_skew_60
DataFieldDescription: At-the-money option-implied volatility mean skew for 60 days
DataField: parkinson_volatility_180
DataFieldDescription: Parkinson model's historical volatility over 180 days
DataField: parkinson_volatility_30
DataFieldDescription: Parkinson model's historical volatility over 30 days
DataField: parkinson_volatility_90
DataFieldDescription: Parkinson model's historical volatility over 90 days
DataField: implied_volatility_mean_150
DataFieldDescription: At-the-money option-implied volatility mean for 150 days
DataField: parkinson_volatility_10
DataFieldDescription: Parkinson model's historical volatility over 2 weeks
DataField: implied_volatility_put_60
DataFieldDescription: At-the-money option-implied volatility for Put Option for 60 days
DataField: implied_volatility_call_60
DataFieldDescription: At-the-money option-implied volatility for call Option for 60 days
DataField: implied_volatility_put_30
DataFieldDescription: At-the-money option-implied volatility for Put Option for 30 days
DataField: parkinson_volatility_120
DataFieldDescription: Parkinson model's historical volatility over 120 days
DataField: implied_volatility_mean_skew_270
DataFieldDescription: At-the-money option-implied volatility mean skew for 270 days
DataField: implied_volatility_put_90
DataFieldDescription: At-the-money option-implied volatility for Put Option for 90 days
DataField: implied_volatility_call_90
DataFieldDescription: At-the-money option-implied volatility for call Option for 90 days
DataField: implied_volatility_put_1080
DataFieldDescription: At-the-money option-implied volatility for Put Option for 3 years
DataField: implied_volatility_mean_skew_30
DataFieldDescription: At-the-money option-implied volatility mean skew for 30 days
DataField: parkinson_volatility_20
DataFieldDescription: Parkinson model's historical volatility over 20 days
DataField: implied_volatility_mean_60
DataFieldDescription: At-the-money option-implied volatility mean for 60 days
DataField: implied_volatility_call_10
DataFieldDescription: At-the-money option-implied volatility for call Option for 10 days
DataField: historical_volatility_120
DataFieldDescription: Close-to-close Historical volatility over 120 days
DataField: implied_volatility_mean_skew_10
DataFieldDescription: At-the-money option-implied volatility mean skew for 10 days
DataField: implied_volatility_put_360
DataFieldDescription: At-the-money option-implied volatility for Put Option for 360 days
DataField: parkinson_volatility_150
DataFieldDescription: Parkinson model's historical volatility over 150 days
DataField: historical_volatility_150
DataFieldDescription: Close-to-close Historical volatility over 150 days
DataField: historical_volatility_20
DataFieldDescription: Close-to-close Historical volatility over 20 days
DataField: implied_volatility_mean_20
DataFieldDescription: At-the-money option-implied volatility mean for 20 days
DataField: implied_volatility_call_20
DataFieldDescription: At-the-money option-implied volatility for call Option for 20 days
DataField: historical_volatility_30
DataFieldDescription: Close-to-close Historical volatility over 30 days
DataField: implied_volatility_call_720
DataFieldDescription: At-the-money option-implied volatility for call Option for 720 days
DataField: implied_volatility_mean_720
DataFieldDescription: At-the-money option-implied volatility mean for 720 days
DataField: implied_volatility_call_360
DataFieldDescription: At-the-money option-implied volatility for call Option for 360 days
DataField: news_indx_perf
DataFieldDescription: ((EODClose - TONLast) / TONLast) - ((SPYClose - SPYLast) / SPYLast)
DataField: news_mins_7_5_pct_dn
DataFieldDescription: Number of minutes that elapsed before price went down 7.5 percentage points
DataField: nws12_prez_result_vs_index
DataFieldDescription: ((EODClose - TONLast) / TONLast) - ((SPYClose - SPYLast) / SPYLast)
DataField: nws12_prez_2s
DataFieldDescription: Number of minutes that elapsed before price went down 2 percentage points
DataField: nws12_mainz_dayopen
DataFieldDescription: Price at the session open
DataField: nws12_prez_5l
DataFieldDescription: Number of minutes that elapsed before price went up 5 percentage points
DataField: nws12_mainz_02l
DataFieldDescription: Number of minutes that elapsed before price went up 20 percentage points
DataField: news_short_interest
DataFieldDescription: Total number of shares sold short divided by total number of shares outstanding
DataField: nws12_mainz_maxdnamt
DataFieldDescription: The price at the time of the news minus the after the news low
DataField: news_close_vol
DataFieldDescription: Main close volume
DataField: nws12_prez_maxup
DataFieldDescription: Percent change from the price at the time of the news to the after the news high
DataField: nws12_afterhsz_2l
DataFieldDescription: Number of minutes that elapsed before price went up 2 percentage points
DataField: nws12_afterhsz_range
DataFieldDescription: Session High Price - Session Low Price) / Session Low Price.
DataField: nws12_mainz_1s
DataFieldDescription: Number of minutes that elapsed before price went down 1 percentage point
DataField: nws12_prez_spylast
DataFieldDescription: Last Price of the SPY at the time of the news
DataField: nws12_prez_result2
DataFieldDescription: Percent change between the price at the time of the news release to the price at the close of the session
DataField: nws12_mainz_mktcap
DataFieldDescription: Reported market capitalization for the calendar day of the session
DataField: news_max_up_ret
DataFieldDescription: Percent change from the price at the time of the news to the after the news high
DataField: nws12_afterhsz_5_min
DataFieldDescription: The percent change in price in the first 5 minutes following the news release
DataField: nws12_mainz_01s
DataFieldDescription: Number of minutes that elapsed before price went down 10 percentage points
DataField: nws12_mainz_newrecord
DataFieldDescription: Tracks whether the news is first instance or a duplicate
DataField: nws12_mainz_provider
DataFieldDescription: index of name of the news provider
DataField: news_pct_1min
DataFieldDescription: The percent change in price in the first minute following the news release
DataField: nws12_mainz_1_minute
DataFieldDescription: The percent change in price in the first minute following the news release
DataField: nws12_mainz_range
DataFieldDescription: Session High Price - Session Low Price) / Session Low Price.
DataField: nws12_prez_prev_vol
DataFieldDescription: Previous day's session volume
DataField: nws12_mainz_5_min
DataFieldDescription: The percent change in price in the first 5 minutes following the news release
DataField: nws12_mainz_5l
DataFieldDescription: Number of minutes that elapsed before price went up 5 percentage points
DataField: nws12_mainz_4p
DataFieldDescription: The minimum of L or S above for 4 minute bucket
DataField: nws12_mainz_57l
DataFieldDescription: Number of minutes that elapsed before price went up 7.5 percentage points
DataField: top1000
DataFieldDescription: 20140630
DataField: top200
DataFieldDescription: 20140630
DataField: top3000
DataFieldDescription: 20140630
DataField: top500
DataFieldDescription: 20140630
DataField: topsp500
DataFieldDescription: 20140630
DataField: rp_ess_technical
DataFieldDescription: Event sentiment score based on technical analysis
DataField: rp_nip_assets
DataFieldDescription: News impact projection of assets news
DataField: rp_ess_price
DataFieldDescription: Event sentiment score of stock price news
DataField: nws18_event_similarity_days
DataFieldDescription: Days since a similar event was detected
DataField: nws18_ssc
DataFieldDescription: Sentiment of the news calculated using multiple techniques
DataField: nws18_acb
DataFieldDescription: News sentiment specializing in corporate action announcements
DataField: rp_ess_product
DataFieldDescription: Event sentiment score of product and service-related news
DataField: rp_nip_labor
DataFieldDescription: News impact projection of labor issues news
DataField: nws18_bam
DataFieldDescription: News sentiment specializing in mergers and acquisitions
DataField: rp_css_business
DataFieldDescription: Composite sentiment score of business-related news
DataField: rp_css_partner
DataFieldDescription: Composite sentiment score of partnership news
DataField: rp_css_labor
DataFieldDescription: Composite sentiment score of labor issues news
DataField: rp_css_assets
DataFieldDescription: Composite sentiment score of assets news
DataField: nws18_ghc_lna
DataFieldDescription: Change in analyst recommendation
DataField: rp_nip_society
DataFieldDescription: News impact projection of society-related news
DataField: rp_nip_marketing
DataFieldDescription: News impact projection of marketing news
DataField: rp_ess_credit_ratings
DataFieldDescription: Event sentiment score of credit ratings news
DataField: rp_css_insider
DataFieldDescription: Composite sentiment score of insider trading news
DataField: rp_nip_partner
DataFieldDescription: News impact projection of partnership news
DataField: rp_css_ratings
DataFieldDescription: Composite sentiment score of analyst ratings-related news
DataField: rp_css_earnings
DataFieldDescription: Composite sentiment score of earnings news
DataField: rp_nip_ratings
DataFieldDescription: News impact projection of analyst ratings-related news
DataField: rp_nip_credit_ratings
DataFieldDescription: News impact projection of credit ratings news
DataField: rp_ess_dividends
DataFieldDescription: Event sentiment score of dividends news
DataField: rp_css_price
DataFieldDescription: Composite sentiment score of stock price news
DataField: rp_ess_partner
DataFieldDescription: Event sentiment score of partnership news
DataField: rp_css_product
DataFieldDescription: Composite sentiment score of product and service-related news
DataField: rp_ess_equity
DataFieldDescription: Event sentiment score of equity action news
DataField: rp_nip_technical
DataFieldDescription: News impact projection based on technical analysis
DataField: rp_nip_inverstor
DataFieldDescription: News impact projection of investor relations news
DataField: fn_prepaid_expense_q
DataFieldDescription: Carrying amount for an unclassified balance sheet date of expenditures made in advance of when the economic benefit of the cost will be realized, and which will be expensed in future periods with the passage of time or when a triggering event occurs. For a classified balance sheet, represents the noncurrent portion of prepaid expenses (the current portion has a separate concept).
DataField: fn_oth_income_loss_net_of_tax_a
DataFieldDescription: Amount after tax and reclassification adjustments of other comprehensive income (loss).
DataField: fnd2_dbplanepdfbnfp5ytherea
DataFieldDescription: Amount of benefits from a defined benefit plan expected to be paid in the 5 fiscal years after the 5th fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.
DataField: fn_income_from_equity_investments_a
DataFieldDescription: Income From Equity Method Investments
DataField: fn_accrued_liab_curr_q
DataFieldDescription: Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered.
DataField: fnd2_asdm
DataFieldDescription: Assets, Domestic
DataField: fnd2_a_eplsbvdcpcstnrgprg
DataFieldDescription: The weighted average period over which unrecognized compensation is expected to be recognized for equity-based compensation plans, using a decimal to express in number of years.
DataField: fn_assets_fair_val_l3_q
DataFieldDescription: Asset Fair Value, Recurring, Level 3
DataField: fn_op_lease_min_pay_due_in_5y_a
DataFieldDescription: Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of 1 year due in the 5th fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.
DataField: fnd2_unremittedfrer
DataFieldDescription: Unremitted Foreign Earnings
DataField: fnd2_propplteqmuflmamfrt
DataFieldDescription: PPE, Furniture, Useful Life, Maximum
DataField: fn_def_income_tax_expense_q
DataFieldDescription: Income Tax Expense, Deferred
DataField: fnd2_dfdfeditxexp
DataFieldDescription: Income Tax Expense, Deferred - Federal
DataField: fn_assets_fair_val_l1_q
DataFieldDescription: Asset Fair Value, Recurring, Level 1
DataField: fnd2_dbplanamtsrginblsh
DataFieldDescription: The aggregate net amount recognized in the balance sheet associated with the defined benefit plan(s). Will normally be the same as the Defined Benefit Plan, Funded Status of Plan, Total.
DataField: fn_treasury_stock_shares_a
DataFieldDescription: Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.
DataField: fn_comp_options_exercises_weighted_avg_a
DataFieldDescription: Share-Based Compensation, Options Assumed, Weighted Average Exercise Price
DataField: fn_proceeds_from_stock_options_exercised_q
DataFieldDescription: The cash inflow associated with the amount received from holders exercising their stock options. This item inherently excludes any excess tax benefit, which the entity may have realized and reported separately.
DataField: fn_assets_fair_val_l2_a
DataFieldDescription: Asset Fair Value, Recurring, Level 2
DataField: fn_interest_payable_a
DataFieldDescription: Carrying value as of the balance sheet date of [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. For classified balance sheets, used to reflect the current portion of the liabilities (due within 1 year or within the normal operating cycle if longer); for unclassified balance sheets, used to reflect the total liabilities (regardless of due date).
DataField: fn_repurchased_shares_value_a
DataFieldDescription: Shares repurchased and either retired or put into treasury stock, likely as part of a share buyback plan.
DataField: fn_op_lease_rent_exp_a
DataFieldDescription: Rental expense for the reporting period incurred under operating leases, including minimum and any contingent rent expense, net of related sublease income.
DataField: fn_debt_instrument_interest_rate_stated_percentage_a
DataFieldDescription: Stated percentage of interest rate on debt
DataField: fn_new_shares_issued_a
DataFieldDescription: Number of new stock issued during the period.
DataField: fnd2_propplteqmuflmeqmt
DataFieldDescription: PPE, Equipment, Useful Life, Minimum
DataField: fnd2_propplteqmuflmblgland
DataFieldDescription: PPE, Buildings & land, Useful Life, Minimum
DataField: fn_goodwill_acquired_during_period_a
DataFieldDescription: Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.
DataField: fn_finite_lived_intangible_assets_net_a
DataFieldDescription: Finite Lived Intangible Assets, Net
DataField: fn_business_combination_purchase_price_q
DataFieldDescription: Business Combination, Purchase Price
DataField: fn_liab_fair_val_l2_q
DataFieldDescription: Liabilities Fair Value, Recurring, Level 2
DataField: adv20
DataFieldDescription: Average daily volume in past 20 days
DataField: cap
DataFieldDescription: Daily market capitalization (in millions)
DataField: close
DataFieldDescription: Daily close price
DataField: country
DataFieldDescription: Country grouping
DataField: currency
DataFieldDescription: Currency
DataField: cusip
DataFieldDescription: CUSIP Value
DataField: dividend
DataFieldDescription: Dividend
DataField: exchange
DataFieldDescription: Exchange grouping
DataField: high
DataFieldDescription: Daily high price
DataField: industry
DataFieldDescription: Industry grouping
DataField: isin
DataFieldDescription: ISIN Value
DataField: low
DataFieldDescription: Daily low price
DataField: market
DataFieldDescription: Market grouping
DataField: open
DataFieldDescription: Daily open price
DataField: returns
DataFieldDescription: Daily returns
DataField: sector
DataFieldDescription: Sector grouping
DataField: sedol
DataFieldDescription: Sedol
DataField: sharesout
DataFieldDescription: Daily outstanding shares (in millions)
DataField: split
DataFieldDescription: Stock split ratio
DataField: subindustry
DataFieldDescription: Subindustry grouping
DataField: ticker
DataFieldDescription: Ticker
DataField: volume
DataFieldDescription: Daily volume
DataField: vwap
DataFieldDescription: Daily volume weighted average price
========================= 数据字段结束 =======================================

@ -1,36 +1,40 @@
任务指令
你是一个WorldQuant WebSim因子工程师。你的任务是生成 100 个用于行业轮动策略的复合型Alpha因子表达式。
你是一个WorldQuant WebSim因子工程师。你的任务是生成 20 个用于行业轮动策略的复合型Alpha因子表达式。
核心规则
设计维度框架
维度1:时间序列动量(TM)
目标:识别价格趋势的强度、速度和持续性
可用的具体构建方法:
1. 简单动量:ts_delta(close, d) [d=5,10,20,30,60]
2. 趋势斜率:ts_regression(close, ts_step(1), d, 0, 1) [rettype=1获取斜率]
3. 动量加速度:ts_delta(ts_delta(close, d1), d2) [避免嵌套ts_regression]
4. 平滑动量:ts_mean(returns, d) [returns=ts_delta(close,1)]
5. 动量衰减:ts_decay_linear(returns, d)
6. 价量关系:ts_corr(ts_delta(close,5), ts_delta(volume,5), d)
建议组合:使用不同d参数创建短期/中期/长期动量
维度2:横截面领导力(CL)
目标:识别行业内的龙头股和相对强度
具体构建方法:
1. 龙头股筛选:if_else(rank(volume) > 0.7, 龙头值, 其他值) [使用volume代替market_cap]
2. 龙头组合:group_mean(x, 1, bucket(rank(volume), range="0,3,0.4")) [使用volume排序]
3. 行业内离散度:ts_std_dev(group_rank(returns, industry), 20)
4. 相对排名稳定性:ts_mean(rank(returns), d)
维度3:市场状态适应性(MS)
目标:根据波动率、趋势状态调整参数
具体构建方法:
1. 波动率调整:ts_delta(close,5) / ts_std_dev(returns,20)
2. 状态条件选择:if_else(ts_rank(volatility,30) > 0.7, 短期动量, 长期动量)
3. 参数动态化:if_else(ts_std_dev(returns,20) > 阈值, 5, 20) [作为d参数]
4. 趋势状态识别:ts_rank(ts_mean(returns,20), 60) > 0.5
基本结构:
复合因子 = 维度A组件 [运算符] 维度B组件 [条件调整]
视角一:市场摩擦的横截面成像 (Cross-sectional Imaging of Market Frictions)
核心洞见:传统因子假设市场无摩擦。真正的Alpha可能藏于“摩擦本身”——即指令流(order flow)转化为价格运动时,在不同股票上表现出的效率差异图谱。我们不为消除摩擦建模,而是主动测绘它。
研究提示词 (用于指导因子构建):
指令流冲击的“消化速率”:测量单位异常交易量(可定义为其z-score)所引发的瞬时价格冲击(如未来1-5分钟收益率),以及该冲击在随后较短时间(如30分钟、1小时)的衰减半衰期。寻找“冲击大但衰减慢”(高摩擦、低流动性)与“冲击小但衰减快”(低摩擦、高流动性)的股票,并研究其横截面收益预测能力。
买卖失衡的“路径依赖”:考察买单流与卖单流(可用正负交易额近似)的净额在时间序列上的自相关性模式。是呈现“均值回归”(失衡迅速被套利消化)还是“趋势持续”(失衡自我强化)?这种模式在不同波动率、不同市值股票中如何变化?能否构建一个度量“订单流趋势持续性”的指标?
价格发现的“领地性”:将价格变化分解为“由自身交易驱动”的部分和“由同行业龙头/指数驱动”的部分(可通过日内收益率与龙头/指数收益率的滚动协方差分解)。计算“自身解释比例”。该比例高的股票,其价格发现是“内生性”的;比例低的则是“外生性”或“跟随性”的。这两类股票在不同市场环境(牛市/熊市/震荡市)下的表现有何系统性差异?
视角二:投资者注意力的生态学建模 (Ecology of Investor Attention)
核心洞见:注意力是金融市场最稀缺的资源。市场不是信息的聚合器,而是注意力资源的分配系统。因子应捕捉注意力的“聚集-分散”、“转移-停滞”动态,而非信息本身。
研究提示词 (用于指导因子构建):
注意力“聚焦度”与“涣散度”:用交易量在时间序列上的分布熵来衡量。例如,过去20个交易日内,交易量分布的基尼系数或赫芬达尔指数。高集中度(某几天放巨量)意味着注意力短期爆发;低集中度(量能均匀)意味着持续平淡的关注。研究这两种状态转换前后,股票的收益特征。
行业内注意力的“捕食-被捕食”关系:定义“注意力领导者”(如当日涨幅前3的股票)和“注意力追随者”(同行业其他股票)。计算领导股出现后,追随者的成交量与价格在随后N个时间段内的响应速度和强度。这种响应的不对称性(有些股票迅速响应,有些滞后)能否预测未来的相对强弱?
“注意力惯性”与“注意力反转”:度量一个股票在失去短期催化剂(如公告、事件)后,其异常成交量(或搜索量、社交媒体活跃度)回落至基线水平的速度。回落慢的股票具有“注意力惯性”,可能存在定价偏差的持续;回落快的股票则“注意力反转”迅速。构建一个“注意力衰减时间”因子。
视角三:价格运动的“形态语法”与“叙事连贯性” (Morphological Syntax & Narrative Coherence of Price Movements)
核心洞见:价格运动不仅是有方向的,更是有“形状”和“语法”的。如同语言,一段价格走势是否存在合“语法”的叙事结构(如“筑底-突破-回踩-主升”),还是杂乱无章的“噪音词汇”?市场参与者会潜意识地识别并交易这些“连贯叙事”。
研究提示词 (用于指导因子构建):
K线序列的“可压缩性”:使用一种简化的算法(如趋势线拟合后的残差大小,或一定容忍度下的分段线性近似所需节点数),来衡量过去一段价格序列的信息复杂度。低复杂度(高可压缩性)意味着价格运动清晰、有规律;高复杂度则意味着混乱。研究“从混乱转向清晰”或“从清晰转向混乱”的拐点。
关键价位互动的“叙事逻辑”:识别近期的显著高点、低点、缺口、密集成交区作为“关键叙事节点”。分析当前价格在接近这些节点时的行为:是“尊重”(反弹/受阻)还是“无视”(直接穿越)?一系列对历史节点的“尊重”行为构成了一个连贯的“支撑阻力叙事”。能否量化这种叙事逻辑的强度?
多尺度运动的“相位同步”:选取短期(如5日)、中期(20日)、长期(60日)的价格滤波序列(如移动平均线)。计算它们之间方向变化的领先滞后关系与同步性(可类似相位角分析)。例如,短期均线是否总是率先转向并引导中长期?还是三者经常背离?“多周期共振向上/向下”这种高度同步的状态,其形成过程和瓦解过程有何预测意义?
=== 关键语法规则(必须遵守) ===
1. 数据字段规范:

Loading…
Cancel
Save