From cf6eb8c92a3fd124412ad564cbf0b010bbceb534 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 23 Dec 2025 10:30:42 +0800 Subject: [PATCH] ++ --- generated_alpha/2025-12-22/154449.txt | 203 ++++ generated_alpha/2025-12-22/154806.txt | 91 ++ generated_alpha/2025-12-22/154829.txt | 200 ++++ generated_alpha/2025-12-22/154934.txt | 217 +++++ generated_alpha/2025-12-22/155207.txt | 261 +++++ load_data_sets.py | 7 +- .../manual_prompt_20251222154203.txt | 895 ++++++++++++++++++ .../manual_prompt_20251222154449.txt | 895 ++++++++++++++++++ .../manual_prompt_20251222154806.txt | 895 ++++++++++++++++++ .../manual_prompt_20251222154829.txt | 895 ++++++++++++++++++ .../manual_prompt_20251222154935.txt | 895 ++++++++++++++++++ manual_tools/data_sets_tags.py | 79 ++ manual_tools/keys_organize.py | 28 + manual_tools/temp.py | 52 + manual_tools/translation_data_sets.py | 132 +++ prepare_prompt/alpha_prompt.txt | 282 ++---- prompt_set_ref/alpha_prompt004.txt | 284 ++++++ 手动处理每天alpha.txt | 884 +++++++++++++---- 18 files changed, 6810 insertions(+), 385 deletions(-) create mode 100644 generated_alpha/2025-12-22/154449.txt create mode 100644 generated_alpha/2025-12-22/154806.txt create mode 100644 generated_alpha/2025-12-22/154829.txt create mode 100644 generated_alpha/2025-12-22/154934.txt create mode 100644 generated_alpha/2025-12-22/155207.txt create mode 100644 manual_prompt/manual_prompt_20251222154203.txt create mode 100644 manual_prompt/manual_prompt_20251222154449.txt create mode 100644 manual_prompt/manual_prompt_20251222154806.txt create mode 100644 manual_prompt/manual_prompt_20251222154829.txt create mode 100644 manual_prompt/manual_prompt_20251222154935.txt create mode 100644 manual_tools/data_sets_tags.py create mode 100644 manual_tools/keys_organize.py create mode 100644 manual_tools/temp.py create mode 100644 manual_tools/translation_data_sets.py create mode 100644 prompt_set_ref/alpha_prompt004.txt diff --git a/generated_alpha/2025-12-22/154449.txt b/generated_alpha/2025-12-22/154449.txt new file mode 100644 index 0000000..7d589a2 --- /dev/null +++ b/generated_alpha/2025-12-22/154449.txt @@ -0,0 +1,203 @@ +group_neutralize(ts_sum(if_else(implied_volatility_mean_10 > implied_volatility_mean_20, returns, -returns), 5), sector) + +group_neutralize(ts_delta(log(volume), 10) * ts_rank(close, 20), sector) + +group_neutralize(ts_corr(returns, scl12_sentiment, 30) * ts_std_dev(returns, 60), sector) + +if_else(volume > ts_mean(volume, 30), ts_rank(returns, 10), -ts_rank(returns, 10)) + +ts_sum(if_else(ts_rank(close, 5) > ts_rank(close, 20), ts_delta(close, 1), -ts_delta(close, 1)), 10) + +group_neutralize(ts_rank(ts_corr(vwap, volume, 20), 5), sector) + +ts_av_diff(implied_volatility_mean_180, 30) * ts_zscore(returns, 60) + +group_neutralize(ts_rank(pcr_oi_30, 10) * ts_delta(close, 5), sector) + +ts_sum(signed_power(ts_delta(log(close), 2), sign(ts_delta(volume, 2))), 5) + +scale(ts_rank(close, 10) - ts_rank(vwap, 10)) + +if_else(ts_std_dev(returns, 30) > ts_mean(ts_std_dev(returns, 5), 30), ts_rank(close, 5), ts_rank(-close, 5)) + +group_neutralize(ts_rank(ts_delta(close, 2), 10) * ts_sum(volume, 5), sector) + +ts_delta(ts_corr(close, volume, 10), 5) * ts_scale(close, 20) + +group_neutralize(ts_rank(fscore_momentum, 60) * ts_zscore(returns, 30), sector) + +ts_sum(if_else(ts_rank(close, 20) > ts_rank(vwap, 20), log(volume), -log(volume)), 15) + +if_else(historical_volatility_60 > ts_mean(historical_volatility_60, 60), ts_rank(returns, 10), ts_rank(-returns, 10)) + +ts_regression(returns, ts_delta(scl12_sentiment, 1), 30, 0, 0) + +group_neutralize(ts_sum(signed_power(ts_delta(close, 1), sign(ts_delta(pcr_vol_10, 1))), 5), sector) + +ts_av_diff(implied_volatility_mean_skew_30, 20) * ts_zscore(close, 50) + +if_else(ts_mean(volume, 10) > ts_mean(volume, 30), ts_rank(close, 5), -ts_rank(close, 10)) + +group_neutralize(ts_rank(ts_corr(fscore_value, returns, 40), 10), sector) + +ts_sum(if_else(ts_delta(log(volume), 5) > 0, ts_delta(close, 1), -ts_delta(close, 1)), 8) + +ts_corr(ts_rank(close, 5), ts_rank(volume, 20), 10) + +group_neutralize(ts_rank(ts_delta(vwap, 3), 15) * ts_std_dev(returns, 20), sector) + +if_else(pcr_oi_90 > ts_mean(pcr_oi_90, 30), ts_rank(returns, 10), -ts_rank(returns, 10)) + +ts_av_diff(fscore_growth, 20) * ts_zscore(ts_delta(close, 2), 40) + +group_neutralize(ts_rank(ts_corr(implied_volatility_call_30, returns, 30), 10), sector) + +ts_sum(signed_power(ts_delta(vwap, 1), sign(ts_delta(fscore_profitability, 5))), 10) + +scale(ts_rank(ts_sum(returns, 5), 20) - ts_rank(ts_sum(volume, 5), 20)) + +if_else(beta_last_30_days_spy > ts_mean(beta_last_30_days_spy, 60), ts_rank(close, 5), ts_rank(-close, 10)) + +group_neutralize(ts_rank(ts_delta(fscore_quality, 10), 20) * ts_zscore(returns, 30), sector) + +ts_delta(ts_corr(close, parkinson_volatility_30, 20), 5) * ts_scale(close, 15) + +group_neutralize(ts_rank(rp_css_earnings, 40) * ts_delta(close, 3), sector) + +ts_sum(if_else(ts_rank(close, 15) > ts_rank(volume, 15), ts_delta(close, 1), -ts_delta(close, 1)), 10) + +if_else(implied_volatility_mean_360 > ts_mean(implied_volatility_mean_360, 90), ts_rank(returns, 15), ts_rank(-returns, 15)) + +ts_regression(returns, ts_delta(rp_nip_price, 1), 25, 0, 0) + +group_neutralize(ts_sum(signed_power(ts_delta(close, 1), sign(ts_delta(call_breakeven_30, 1))), 5), sector) + +ts_av_diff(implied_volatility_mean_skew_120, 30) * ts_zscore(returns, 50) + +if_else(ts_mean(adv20, 10) > ts_mean(adv20, 30), ts_rank(close, 8), -ts_rank(close, 12)) + +group_neutralize(ts_rank(ts_corr(forward_price_60, returns, 35), 10), sector) + +ts_sum(if_else(ts_delta(log(adv20), 5) > 0, ts_delta(close, 1), -ts_delta(close, 1)), 12) + +ts_corr(ts_rank(vwap, 8), ts_rank(pcr_vol_20, 25), 15) + +group_neutralize(ts_rank(ts_delta(put_breakeven_30, 5), 20) * ts_std_dev(returns, 25), sector) + +if_else(pcr_vol_30 > ts_mean(pcr_vol_30, 30), ts_rank(returns, 10), -ts_rank(returns, 10)) + +ts_av_diff(fscore_total, 25) * ts_zscore(ts_delta(close, 3), 60) + +group_neutralize(ts_rank(ts_corr(implied_volatility_call_90, returns, 40), 10), sector) + +ts_sum(signed_power(ts_delta(close, 2), sign(ts_delta(fscore_surface_accel, 7))), 8) + +scale(ts_rank(ts_sum(returns, 7), 25) - ts_rank(ts_sum(adv20, 7), 25)) + +if_else(beta_last_90_days_spy > ts_mean(beta_last_90_days_spy, 90), ts_rank(close, 10), ts_rank(-close, 15)) + +group_neutralize(ts_rank(ts_delta(systematic_risk_last_30_days, 15), 30) * ts_zscore(returns, 40), sector) + +ts_delta(ts_corr(close, nws18_nip, 25), 7) * ts_scale(close, 20) + +group_neutralize(ts_rank(rp_css_ptg, 50) * ts_delta(close, 4), sector) + +ts_sum(if_else(ts_rank(vwap, 20) > ts_rank(adv20, 20), ts_delta(close, 1), -ts_delta(close, 1)), 15) + +if_else(implied_volatility_mean_720 > ts_mean(implied_volatility_mean_720, 120), ts_rank(returns, 20), ts_rank(-returns, 20)) + +ts_regression(returns, ts_delta(scl12_buzz, 1), 20, 0, 0) + +group_neutralize(ts_sum(signed_power(ts_delta(close, 1), sign(ts_delta(option_breakeven_90, 1))), 6), sector) + +ts_av_diff(implied_volatility_mean_skew_10, 15) * ts_zscore(returns, 30) + +if_else(ts_mean(volume, 15) > ts_mean(volume, 45), ts_rank(close, 10), -ts_rank(close, 20)) + +group_neutralize(ts_rank(ts_corr(forward_price_180, returns, 45), 10), sector) + +ts_sum(if_else(ts_delta(log(volume), 7) > 0, ts_delta(close, 2), -ts_delta(close, 2)), 10) + +ts_corr(ts_rank(close, 10), ts_rank(pcr_oi_120, 30), 20) + +group_neutralize(ts_rank(ts_delta(call_breakeven_180, 7), 25) * ts_std_dev(returns, 30), sector) + +if_else(pcr_vol_270 > ts_mean(pcr_vol_270, 30), ts_rank(returns, 12), -ts_rank(returns, 12)) + +ts_av_diff(fscore_surface, 30) * ts_zscore(ts_delta(close, 4), 70) + +group_neutralize(ts_rank(ts_corr(implied_volatility_call_270, returns, 50), 10), sector) + +ts_sum(signed_power(ts_delta(vwap, 2), sign(ts_delta(fscore_momentum, 10))), 12) + +scale(ts_rank(ts_sum(returns, 10), 30) - ts_rank(ts_sum(pcr_oi_20, 10), 30)) + +if_else(unsystematic_risk_last_60_days > ts_mean(unsystematic_risk_last_60_days, 120), ts_rank(close, 12), ts_rank(-close, 18)) + +group_neutralize(ts_rank(ts_delta(beta_last_60_days_spy, 20), 35) * ts_zscore(returns, 45), sector) + +ts_delta(ts_corr(close, rp_ess_price, 30), 10) * ts_scale(close, 25) + +group_neutralize(ts_rank(rp_css_dividends, 60) * ts_delta(close, 5), sector) + +ts_sum(if_else(ts_rank(close, 25) > ts_rank(volume, 25), ts_delta(close, 2), -ts_delta(close, 2)), 20) + +if_else(parkinson_volatility_90 > ts_mean(parkinson_volatility_90, 60), ts_rank(returns, 15), ts_rank(-returns, 15)) + +ts_regression(returns, ts_delta(fscore_profitability, 2), 35, 0, 0) + +group_neutralize(ts_sum(signed_power(ts_delta(close, 1), sign(ts_delta(put_breakeven_270, 1))), 7), sector) + +ts_av_diff(implied_volatility_mean_150, 40) * ts_zscore(returns, 60) + +if_else(ts_mean(adv20, 20) > ts_mean(adv20, 60), ts_rank(close, 15), -ts_rank(close, 25)) + +group_neutralize(ts_rank(ts_corr(forward_price_720, returns, 60), 10), sector) + +ts_sum(if_else(ts_delta(log(adv20), 10) > 0, ts_delta(close, 3), -ts_delta(close, 3)), 15) + +ts_corr(ts_rank(vwap, 12), ts_rank(pcr_vol_360, 40), 25) + +group_neutralize(ts_rank(ts_delta(option_breakeven_720, 10), 30) * ts_std_dev(returns, 35), sector) + +if_else(pcr_oi_270 > ts_mean(pcr_oi_270, 30), ts_rank(returns, 15), -ts_rank(returns, 15)) + +ts_av_diff(fscore_bfl_surface_accel, 35) * ts_zscore(ts_delta(close, 5), 80) + +group_neutralize(ts_rank(ts_corr(implied_volatility_call_1080, returns, 70), 10), sector) + +ts_sum(signed_power(ts_delta(close, 3), sign(ts_delta(analyst_revision_rank_derivative, 15))), 15) + +scale(ts_rank(ts_sum(returns, 12), 35) - ts_rank(ts_sum(pcr_oi_90, 12), 35)) + +if_else(correlation_last_90_days_spy > ts_mean(correlation_last_90_days_spy, 180), ts_rank(close, 15), ts_rank(-close, 22)) + +group_neutralize(ts_rank(ts_delta(systematic_risk_last_90_days, 25), 40) * ts_zscore(returns, 50), sector) + +ts_delta(ts_corr(close, nws18_acb, 35), 12) * ts_scale(close, 30) + +group_neutralize(ts_rank(rp_css_assets, 70) * ts_delta(close, 6), sector) + +ts_sum(if_else(ts_rank(vwap, 30) > ts_rank(volume, 30), ts_delta(close, 3), -ts_delta(close, 3)), 25) + +if_else(historical_volatility_150 > ts_mean(historical_volatility_150, 90), ts_rank(returns, 18), ts_rank(-returns, 18)) + +ts_regression(returns, ts_delta(fscore_growth, 3), 40, 0, 0) + +group_neutralize(ts_sum(signed_power(ts_delta(close, 2), sign(ts_delta(call_breakeven_270, 2))), 8), sector) + +ts_av_diff(implied_volatility_mean_360, 50) * ts_zscore(returns, 70) + +if_else(ts_mean(volume, 25) > ts_mean(volume, 75), ts_rank(close, 20), -ts_rank(close, 30)) + +group_neutralize(ts_rank(ts_corr(forward_price_120, returns, 80), 10), sector) + +ts_sum(if_else(ts_delta(log(volume), 12) > 0, ts_delta(close, 4), -ts_delta(close, 4)), 20) + +ts_corr(ts_rank(close, 15), ts_rank(pcr_oi_720, 50), 30) + +group_neutralize(ts_rank(ts_delta(put_breakeven_150, 12), 35) * ts_std_dev(returns, 40), sector) + +if_else(pcr_vol_30 > 1, ts_rank(returns, 18), -ts_rank(returns, 18)) + +ts_av_diff(fscore_bfl_total, 40) * ts_zscore(ts_delta(close, 6), 90) \ No newline at end of file diff --git a/generated_alpha/2025-12-22/154806.txt b/generated_alpha/2025-12-22/154806.txt new file mode 100644 index 0000000..18014a0 --- /dev/null +++ b/generated_alpha/2025-12-22/154806.txt @@ -0,0 +1,91 @@ +rank(ts_rank(close, 20)) * rank(ts_rank(volume, 20)) +rank(ts_zscore(close, 60)) * rank(ts_zscore(volume, 60)) +rank(ts_rank(high, 30)) * rank(ts_rank(low, 30)) +rank(ts_corr(close, volume, 20)) * rank(ts_corr(high, low, 20)) +rank(ts_mean(close, 90)) * rank(ts_mean(volume, 90)) +rank(ts_std_dev(close, 30)) * rank(ts_std_dev(volume, 30)) +rank(ts_delta(close, 5)) * rank(ts_delta(volume, 5)) +rank(ts_arg_max(close, 60)) * rank(ts_arg_min(volume, 60)) +rank(ts_backfill(close, 30)) * rank(ts_backfill(volume, 30)) +rank(ts_decay_linear(close, 20)) * rank(ts_decay_linear(volume, 20)) +rank(ts_scale(close, 60)) * rank(ts_scale(volume, 60)) +rank(ts_regression(close, volume, 30, 0, 0)) * rank(ts_regression(high, low, 30, 0, 0)) +rank(ts_sum(close, 120)) * rank(ts_sum(volume, 120)) +rank(ts_product(close, 10)) * rank(ts_product(volume, 10)) +rank(ts_quantile(close, 30)) * rank(ts_quantile(volume, 30)) +rank(ts_count_nans(close, 60)) * rank(ts_count_nans(volume, 60)) +rank(ts_covariance(close, volume, 20)) * rank(ts_covariance(high, low, 20)) +rank(ts_av_diff(close, 30)) * rank(ts_av_diff(volume, 30)) +rank(ts_step(1)) * rank(ts_step(1)) +rank(ts_zscore(volume, 90)) * rank(ts_zscore(close, 90)) +rank(ts_rank(volume, 10)) * rank(ts_rank(close, 10)) +rank(ts_corr(close, volume, 60)) * rank(ts_corr(high, low, 60)) +rank(ts_mean(volume, 30)) * rank(ts_mean(close, 30)) +rank(ts_std_dev(volume, 60)) * rank(ts_std_dev(close, 60)) +rank(ts_delta(volume, 10)) * rank(ts_delta(close, 10)) +rank(ts_arg_max(volume, 30)) * rank(ts_arg_min(close, 30)) +rank(ts_backfill(volume, 60)) * rank(ts_backfill(close, 60)) +rank(ts_decay_linear(volume, 30)) * rank(ts_decay_linear(close, 30)) +rank(ts_scale(volume, 30)) * rank(ts_scale(close, 30)) +rank(ts_regression(volume, close, 60, 0, 0)) * rank(ts_regression(low, high, 60, 0, 0)) +rank(ts_sum(volume, 60)) * rank(ts_sum(close, 60)) +rank(ts_product(volume, 20)) * rank(ts_product(close, 20)) +rank(ts_quantile(volume, 60)) * rank(ts_quantile(close, 60)) +rank(ts_count_nans(volume, 30)) * rank(ts_count_nans(close, 30)) +rank(ts_covariance(volume, close, 60)) * rank(ts_covariance(low, high, 60)) +rank(ts_av_diff(volume, 60)) * rank(ts_av_diff(close, 60)) +rank(ts_step(1)) * rank(ts_step(1)) +rank(ts_zscore(close, 30)) * rank(ts_zscore(volume, 30)) +rank(ts_rank(close, 60)) * rank(ts_rank(volume, 60)) +rank(ts_corr(close, volume, 30)) * rank(ts_corr(high, low, 30)) +rank(ts_mean(close, 60)) * rank(ts_mean(volume, 60)) +rank(ts_std_dev(close, 90)) * rank(ts_std_dev(volume, 90)) +rank(ts_delta(close, 20)) * rank(ts_delta(volume, 20)) +rank(ts_arg_max(close, 90)) * rank(ts_arg_min(volume, 90)) +rank(ts_backfill(close, 90)) * rank(ts_backfill(volume, 90)) +rank(ts_decay_linear(close, 60)) * rank(ts_decay_linear(volume, 60)) +rank(ts_scale(close, 90)) * rank(ts_scale(volume, 90)) +rank(ts_regression(close, volume, 90, 0, 0)) * rank(ts_regression(high, low, 90, 0, 0)) +rank(ts_sum(close, 30)) * rank(ts_sum(volume, 30)) +rank(ts_product(close, 60)) * rank(ts_product(volume, 60)) +rank(ts_quantile(close, 90)) * rank(ts_quantile(volume, 90)) +rank(ts_count_nans(close, 90)) * rank(ts_count_nans(volume, 90)) +rank(ts_covariance(close, volume, 90)) * rank(ts_covariance(high, low, 90)) +rank(ts_av_diff(close, 90)) * rank(ts_av_diff(volume, 90)) +rank(ts_step(1)) * rank(ts_step(1)) +rank(ts_zscore(volume, 30)) * rank(ts_zscore(close, 30)) +rank(ts_rank(volume, 30)) * rank(ts_rank(close, 30)) +rank(ts_corr(volume, close, 90)) * rank(ts_corr(low, high, 90)) +rank(ts_mean(volume, 90)) * rank(ts_mean(close, 90)) +rank(ts_std_dev(volume, 30)) * rank(ts_std_dev(close, 30)) +rank(ts_delta(volume, 30)) * rank(ts_delta(close, 30)) +rank(ts_arg_max(volume, 60)) * rank(ts_arg_min(close, 60)) +rank(ts_backfill(volume, 30)) * rank(ts_backfill(close, 30)) +rank(ts_decay_linear(volume, 90)) * rank(ts_decay_linear(close, 90)) +rank(ts_scale(volume, 60)) * rank(ts_scale(close, 60)) +rank(ts_regression(volume, close, 30, 0, 0)) * rank(ts_regression(low, high, 30, 0, 0)) +rank(ts_sum(volume, 90)) * rank(ts_sum(close, 90)) +rank(ts_product(volume, 30)) * rank(ts_product(close, 30)) +rank(ts_quantile(volume, 30)) * rank(ts_quantile(close, 30)) +rank(ts_count_nans(volume, 90)) * rank(ts_count_nans(close, 90)) +rank(ts_covariance(volume, close, 30)) * rank(ts_covariance(low, high, 30)) +rank(ts_av_diff(volume, 30)) * rank(ts_av_diff(close, 30)) +rank(ts_step(1)) * rank(ts_step(1)) +rank(ts_zscore(close, 90)) * rank(ts_zscore(volume, 90)) +rank(ts_rank(close, 90)) * rank(ts_rank(volume, 90)) +rank(ts_corr(close, volume, 90)) * rank(ts_corr(high, low, 90)) +rank(ts_mean(close, 30)) * rank(ts_mean(volume, 30)) +rank(ts_std_dev(close, 60)) * rank(ts_std_dev(volume, 60)) +rank(ts_delta(close, 30)) * rank(ts_delta(volume, 30)) +rank(ts_arg_max(close, 30)) * rank(ts_arg_min(volume, 30)) +rank(ts_backfill(close, 60)) * rank(ts_backfill(volume, 60)) +rank(ts_decay_linear(close, 90)) * rank(ts_decay_linear(volume, 90)) +rank(ts_scale(close, 30)) * rank(ts_scale(volume, 30)) +rank(ts_regression(close, volume, 60, 0, 0)) * rank(ts_regression(high, low, 60, 0, 0)) +rank(ts_sum(close, 90)) * rank(ts_sum(volume, 90)) +rank(ts_product(close, 90)) * rank(ts_product(volume, 90)) +rank(ts_quantile(close, 30)) * rank(ts_quantile(volume, 30)) +rank(ts_count_nans(close, 30)) * rank(ts_count_nans(volume, 30)) +rank(ts_covariance(close, volume, 60)) * rank(ts_covariance(high, low, 60)) +rank(ts_av_diff(close, 60)) * rank(ts_av_diff(volume, 60)) +rank(ts_step(1)) * rank(ts_step(1)) \ No newline at end of file diff --git a/generated_alpha/2025-12-22/154829.txt b/generated_alpha/2025-12-22/154829.txt new file mode 100644 index 0000000..ccb84cf --- /dev/null +++ b/generated_alpha/2025-12-22/154829.txt @@ -0,0 +1,200 @@ + +ts_rank(volume, 20) * ts_rank(returns, 20) + +ts_delta(volume, 5) / ts_mean(volume, 20) + +log(volume) * ts_rank(close, 10) + +ts_rank(adv20, 60) - ts_rank(returns, 60) + +ts_corr(volume, returns, 20) + +ts_rank(multiply(volume, returns), 20) + +sign(ts_delta(volume, 10)) * (-1 * ts_rank(returns, 10)) + +ts_rank(low, 5) - ts_rank(volume, 5) + +ts_mean(volume, 5) / ts_mean(volume, 60) + +rank(volume) - rank(returns) + +ts_delta(log(volume), 5) + +multiply(ts_rank(volume, 20), ts_delta(close, 20)) + +ts_mean(returns, 20) * ts_std_dev(volume, 20) + +divide(ts_sum(volume, 5), ts_sum(volume, 20)) + +ts_rank(close, 20) / ts_rank(volume, 20) + +ts_corr(ts_delta(close, 1), ts_delta(volume, 1), 5) + +rank(ts_delta(close, 5)) * rank(volume) + +ts_mean(divide(ts_delta(high, 1), close), 10) * rank(volume) + +multiply(rank(volume), rank(close)) + +ts_rank(volume, 10) * ts_std_dev(returns, 10) + +ts_zscore(volume, 60) * ts_rank(returns, 20) + +ts_mean(rank(volume), 10) * sign(ts_delta(close, 10)) + +ts_delta(rank(volume), 20) * rank(returns) + +inverse(rank(volume)) * ts_rank(returns, 5) + +ts_mean(ts_delta(close, 1), 10) * rank(volume) + +multiply(sign(ts_delta(close, 10)), ts_rank(volume, 20)) + +ts_coeff(returns, ts_mean(volume, 20), 10) + +divide(ts_rank(volume, 10), ts_rank(volume, 60)) + +rank(multiply(volume, returns)) + +ts_mean(volume, 3) - ts_mean(volume, 20) + +multiply(ts_rank(volume, 20), ts_rank(ts_delta(close, 20), 20)) + +ts_corr(rank(volume), rank(close), 20) + +ts_mean(returns, 20) / ts_mean(volume, 20) + +ts_rank(volume, 20) - ts_rank(volume, 60) + +rank(volume) * rank(ts_delta(close, 10)) + +multiply(ts_rank(volume, 20), ts_corr(close, volume, 20)) + +divide(ts_sum(volume, 20), cap) + +ts_mean(returns, 20) * ts_mean(volume, 20) + +rank(returns) - rank(volume) + +ts_delta(log(volume), 10) * rank(returns) + +ts_mean(rank(volume), 20) * rank(close) + +multiply(ts_std_dev(returns, 20), ts_std_dev(volume, 20)) + +ts_rank(volume, 20) * ts_mean(ts_delta(close, 1), 10) + +divide(ts_mean(volume, 20), adv20) + +rank(volume) + rank(returns) + +ts_delta(volume, 20) * ts_std_dev(returns, 20) + +multiply(rank(close), rank(volume)) + +ts_rank(returns, 20) / ts_rank(volume, 20) + +ts_mean(ts_corr(close, volume, 10), 20) + +ts_rank(volume, 20) * ts_rank(ts_delta(close, 5), 10) + +rank(multiply(returns, volume)) + +ts_mean(returns, 20) * rank(volume) + +ts_rank(volume, 60) - ts_rank(returns, 20) + +multiply(ts_rank(volume, 20), ts_mean(ts_delta(close, 1), 5)) + +ts_corr(rank(volume), rank(returns), 20) + +divide(ts_delta(volume, 10), ts_mean(volume, 60)) + +rank(volume) * rank(ts_delta(close, 20)) + +multiply(ts_std_dev(volume, 20), ts_rank(returns, 20)) + +ts_mean(rank(volume), 20) * rank(returns) + +ts_rank(volume, 20) - ts_rank(close, 20) + +rank(volume) * ts_std_dev(returns, 20) + +ts_rank(multiply(volume, ts_delta(close, 10)), 20) + +ts_mean(returns, 20) / rank(volume) + +multiply(ts_rank(volume, 20), ts_corr(ts_delta(close, 1), ts_delta(volume, 1), 20)) + +divide(ts_sum(volume, 20), ts_sum(volume, 60)) + +rank(volume) * rank(returns) * -1 + +ts_delta(volume, 20) * ts_rank(close, 20) + +ts_mean(rank(volume), 20) - rank(close) + +multiply(ts_corr(close, volume, 20), ts_rank(returns, 20)) + +divide(ts_std_dev(volume, 20), ts_mean(volume, 20)) + +ts_rank(volume, 20) * ts_zscore(returns, 20) + +multiply(rank(volume), rank(ts_delta(close, 5))) + +ts_mean(ts_corr(close, volume, 10), 20) * rank(returns) + +ts_rank(volume, 60) / ts_rank(close, 20) + +(rank(volume) > rank(returns)) * (-1) + +ts_delta(volume, 10) * ts_corr(close, volume, 20) + +divide(ts_mean(volume, 10), adv20) * -1 + +multiply(rank(volume), rank(ts_delta(close, 20))) + +ts_std_dev(returns, 20) * ts_rank(volume, 20) + +rank(volume) - rank(close) * -1 + +multiply(ts_mean(ts_delta(close, 1), 10), rank(volume)) + +ts_corr(rank(returns), rank(volume), 20) + +ts_rank(volume, 20) * ts_mean(rank(close), 20) + +divide(ts_sum(volume, 10), ts_sum(volume, 20)) + +rank(volume) * rank(ts_delta(close, 10)) * -1 + +ts_delta(volume, 20) * ts_mean(returns, 20) + +multiply(rank(volume), rank(returns)) + +ts_rank(volume, 20) * ts_rank(ts_delta(close, 20), 20) * -1 + +divide(ts_std_dev(volume, 20), ts_std_dev(returns, 20)) + +rank(volume) + rank(ts_delta(close, 20)) + +multiply(ts_corr(close, volume, 20), rank(volume)) + +ts_mean(returns, 20) * ts_mean(rank(volume), 20) + +ts_rank(volume, 20) - ts_delta(close, 20) + +rank(volume) * ts_zscore(returns, 20) + +multiply(ts_rank(volume, 20), ts_corr(rank(close), rank(volume), 20)) + +divide(ts_delta(volume, 20), ts_mean(volume, 20)) + +rank(volume) * ts_rank(returns, 20) * -1 + +ts_delta(volume, 10) * ts_mean(ts_delta(close, 1), 10) + +multiply(rank(volume), rank(ts_delta(close, 20))) * -1 + +ts_std_dev(returns, 20) / ts_std_dev(volume, 20) \ No newline at end of file diff --git a/generated_alpha/2025-12-22/154934.txt b/generated_alpha/2025-12-22/154934.txt new file mode 100644 index 0000000..f305ea1 --- /dev/null +++ b/generated_alpha/2025-12-22/154934.txt @@ -0,0 +1,217 @@ +rank(ts_delta(close, 5) / ts_std_dev(close, 30), 2) * sign(ts_delta(close, 10)) + +scale(ts_mean(volume, 20) / ts_mean(volume, 60), 1) - ts_delta(cap, 21) / cap + +rank(ts_corr(ts_delta(close, 1), volume, 20), 2) * (ts_mean(close, 5) > ts_mean(close, 20)) + +ts_zscore(close, 30) * (1 - ts_count_nans(close, 5)) + +ts_decay_linear(close, 20) * (ts_mean(volume, 10) > ts_mean(volume, 40)) + +(ts_mean(close, 10) - ts_mean(close, 40)) / ts_std_dev(close, 90) * (volume > ts_mean(volume, 20)) + +rank(ts_arg_max(close, 30), 2) * -sign(ts_delta(close, 5)) + +(ts_delay(close, 5) - ts_delay(close, 20)) / ts_delay(close, 20) * ts_mean(volume, 10) + +rank(ts_corr(returns, ts_mean(returns, 10), 20), 2) * (ts_std_dev(returns, 10) < 0.02) + +ts_scale(ts_delta(close, 1), 1) * (ts_mean(volume, 5) > ts_mean(volume, 25)) + +(ts_delta(close, 5) / ts_std_dev(close, 30)) * ts_decay_linear(volume, 20) + +rank(ts_backfill(fclose, 20, 1), 2) * sign(ts_delta(close, 1)) + +(ts_mean(close, 60) - ts_mean(close, 120)) / ts_std_dev(close, 180) * (ts_mean(volume, 60) > ts_mean(volume, 120)) + +(1 - ts_rank(close, 20)) * (ts_delay(close, 1) < ts_mean(close, 30)) + +ts_delta(ts_mean(close, 10), 30) * ts_std_dev(returns, 10) + +rank(ts_delta(close, 10), 2) * (volume > ts_mean(volume, 20)) + +(ts_delay(close, 30) - ts_delay(close, 90)) / ts_delay(close, 90) * ts_std_dev(volume, 10) + +ts_zscore(ts_delta(close, 5), 10) * (ts_mean(close, 5) < ts_mean(close, 20)) + +rank(ts_corr(close, ts_mean(close, 20), 60), 2) * ts_delay(volume, 1) + +(ts_mean(close, 20) < ts_mean(close, 100)) * (ts_delta(close, 5) > 0.02) + +rank(ts_delay(close, 5), 2) * (ts_delta(close, 15) / ts_std_dev(close, 30)) + +scale(ts_delta(volume, 10), 1) * (ts_corr(close, ts_mean(close, 30), 20) < 0.5) + +ts_decay_linear(ts_delta(close, 1), 20) * (ts_rank(volume, 10) > 0.8) + +rank(ts_corr(ts_delay(close, 5), ts_delay(close, 20), 30), 2) * (ts_std_dev(returns, 5) > 0.03) + +(ts_delta(close, 20) / ts_std_dev(close, 60)) * (ts_mean(volume, 20) < ts_mean(volume, 100)) + +(1 - ts_rank(close, 30)) * (ts_delta(close, 10) < -0.01) + +rank(ts_delta(ts_mean(high, 5), 10), 2) * (volume > ts_mean(volume, 20)) + +ts_zscore(ts_delta(ts_mean(close, 5), 20), 60) * (ts_rank(volume, 20) > 0.7) + +(ts_corr(close, ts_mean(close, 10), 30) < 0.3) * ts_delta(close, 20) + +rank(ts_backfill(close, 10, 1), 2) * sign(ts_delta(close, 5)) + +(ts_mean(high, 10) - ts_mean(low, 10)) / ts_mean(close, 10) * ts_volume(10) + +rank(ts_arg_min(close, 30), 2) * (ts_delta(close, 5) < 0) + +(ts_delta(close, 5) / ts_delay(close, 5)) * ts_decay_linear(volume, 20) + +rank(ts_corr(returns, volume, 20), 2) * (ts_std_dev(returns, 20) > 0.025) + +(ts_delay(close, 20) - ts_delay(close, 60)) / ts_delay(close, 60) * ts_mean(volume, 20) + +ts_zscore(ts_delta(ts_mean(close, 20), 60), 90) * (ts_rank(close, 30) < 0.3) + +(ts_delta(close, 10) > 0.02) * (ts_mean(volume, 5) / ts_mean(volume, 60) > 1.5) + +rank(ts_corr(ts_delay(close, 10), ts_delay(close, 40), 60), 2) * (ts_std_dev(volume, 10) > 0.01) + +ts_scale(ts_delta(close, 20), 1) * (ts_mean(close, 20) < ts_mean(close, 100)) + +(1 - ts_rank(close, 60)) * (ts_delta(close, 15) > 0) + +ts_delta(ts_mean(close, 30), 90) * ts_std_dev(returns, 30) + +rank(ts_arg_max(close, 90), 2) * sign(ts_delta(close, 10)) + +(ts_delay(close, 10) - ts_delay(close, 30)) / ts_delay(close, 30) * ts_mean(volume, 10) + +ts_zscore(ts_delta(ts_mean(close, 10), 30), 60) * (ts_rank(volume, 30) > 0.8) + +(ts_corr(close, ts_mean(close, 60), 120) < 0.4) * ts_delta(close, 30) + +rank(ts_backfill(close, 30, 1), 2) * sign(ts_delta(close, 10)) + +(ts_mean(high, 20) - ts_mean(low, 20)) / ts_mean(close, 20) * ts_volume(20) + +rank(ts_arg_min(close, 60), 2) * (ts_delta(close, 5) < 0) + +(ts_delta(close, 5) / ts_delay(close, 5)) * ts_decay_linear(volume, 30) + +rank(ts_corr(returns, volume, 30), 2) * (ts_std_dev(returns, 30) > 0.03) + +(ts_delay(close, 30) - ts_delay(close, 90)) / ts_delay(close, 90) * ts_mean(volume, 30) + +ts_zscore(ts_delta(ts_mean(close, 60), 120), 180) * (ts_rank(close, 60) < 0.2) + +(ts_delta(close, 20) > 0.02) * (ts_mean(volume, 10) / ts_mean(volume, 120) > 1.5) + +rank(ts_corr(ts_delay(close, 20), ts_delay(close, 80), 120), 2) * (ts_std_dev(volume, 20) > 0.02) + +ts_scale(ts_delta(close, 40), 1) * (ts_mean(close, 40) < ts_mean(close, 160)) + +(1 - ts_rank(close, 90)) * (ts_delta(close, 30) > 0) + +ts_delta(ts_mean(close, 60), 180) * ts_std_dev(returns, 60) + +rank(ts_arg_max(close, 180), 2) * sign(ts_delta(close, 20)) + +(ts_delay(close, 20) - ts_delay(close, 60)) / ts_delay(close, 60) * ts_mean(volume, 20) + +ts_zscore(ts_delta(ts_mean(close, 20), 60), 120) * (ts_rank(volume, 60) > 0.7) + +(ts_corr(close, ts_mean(close, 120), 250) < 0.5) * ts_delta(close, 60) + +rank(ts_backfill(close, 60, 1), 2) * sign(ts_delta(close, 20)) + +(ts_mean(high, 60) - ts_mean(low, 60)) / ts_mean(close, 60) * ts_volume(60) + +rank(ts_arg_min(close, 120), 2) * (ts_delta(close, 10) < 0) + +(ts_delta(close, 10) / ts_delay(close, 10)) * ts_decay_linear(volume, 60) + +rank(ts_corr(returns, volume, 60), 2) * (ts_std_dev(returns, 60) > 0.04) + +(ts_delay(close, 60) - ts_delay(close, 180)) / ts_delay(close, 180) * ts_mean(volume, 60) + +ts_zscore(ts_delta(ts_mean(close, 120), 360), 720) * (ts_rank(close, 120) < 0.1) + +(ts_delta(close, 30) > 0.03) * (ts_mean(volume, 20) / ts_mean(volume, 240) > 2.0) + +rank(ts_corr(ts_delay(close, 30), ts_delay(close, 120), 180), 2) * (ts_std_dev(volume, 30) > 0.03) + +ts_scale(ts_delta(close, 80), 1) * (ts_mean(close, 80) < ts_mean(close, 320)) + +(1 - ts_rank(close, 180)) * (ts_delta(close, 90) > 0) + +ts_delta(ts_mean(close, 120), 360) * ts_std_dev(returns, 120) + +rank(ts_arg_max(close, 360), 2) * sign(ts_delta(close, 30)) + +(ts_delay(close, 30) - ts_delay(close, 90)) / ts_delay(close, 90) * ts_mean(volume, 30) + +ts_zscore(ts_delta(ts_mean(close, 40), 120), 240) * (ts_rank(volume, 120) > 0.75) + +(ts_corr(close, ts_mean(close, 240), 500) < 0.6) * ts_delta(close, 90) + +rank(ts_backfill(close, 90, 1), 2) * sign(ts_delta(close, 30)) + +(ts_mean(high, 120) - ts_mean(low, 120)) / ts_mean(close, 120) * ts_volume(120) + +rank(ts_arg_min(close, 240), 2) * (ts_delta(close, 20) < 0) + +(ts_delta(close, 20) / ts_delay(close, 20)) * ts_decay_linear(volume, 120) + +rank(ts_corr(returns, volume, 120), 2) * (ts_std_dev(returns, 120) > 0.05) + +(ts_delay(close, 120) - ts_delay(close, 360)) / ts_delay(close, 360) * ts_mean(volume, 120) + +ts_zscore(ts_delta(ts_mean(close, 240), 720), 1440) * (ts_rank(close, 240) < 0.05) + +(ts_delta(close, 60) > 0.04) * (ts_mean(volume, 40) / ts_mean(volume, 480) > 2.5) + +rank(ts_corr(ts_delay(close, 60), ts_delay(close, 240), 360), 2) * (ts_std_dev(volume, 60) > 0.04) + +ts_scale(ts_delta(close, 160), 1) * (ts_mean(close, 160) < ts_mean(close, 640)) + +(1 - ts_rank(close, 360)) * (ts_delta(close, 180) > 0) + +ts_delta(ts_mean(close, 180), 540) * ts_std_dev(returns, 180) + +rank(ts_arg_max(close, 540), 2) * sign(ts_delta(close, 60)) + +(ts_delay(close, 60) - ts_delay(close, 180)) / ts_delay(close, 180) * ts_mean(volume, 60) + +ts_zscore(ts_delta(ts_mean(close, 60), 180), 360) * (ts_rank(volume, 180) > 0.8) + +(ts_corr(close, ts_mean(close, 360), 720) < 0.7) * ts_delta(close, 180) + +rank(ts_backfill(close, 180, 1), 2) * sign(ts_delta(close, 60)) + +(ts_mean(high, 180) - ts_mean(low, 180)) / ts_mean(close, 180) * ts_volume(180) + +rank(ts_arg_min(close, 360), 2) * (ts_delta(close, 40) < 0) + +(ts_delta(close, 40) / ts_delay(close, 40)) * ts_decay_linear(volume, 180) + +rank(ts_corr(returns, volume, 180), 2) * (ts_std_dev(returns, 180) > 0.06) + +(ts_delay(close, 180) - ts_delay(close, 540)) / ts_delay(close, 540) * ts_mean(volume, 180) + +ts_zscore(ts_delta(ts_mean(close, 360), 1080), 2160) * (ts_rank(close, 360) < 0.03) + +(ts_delta(close, 90) > 0.05) * (ts_mean(volume, 60) / ts_mean(volume, 720) > 3.0) + +rank(ts_corr(ts_delay(close, 90), ts_delay(close, 360), 540), 2) * (ts_std_dev(volume, 90) > 0.05) + +ts_scale(ts_delta(close, 240), 1) * (ts_mean(close, 240) < ts_mean(close, 960)) + +(1 - ts_rank(close, 540)) * (ts_delta(close, 270) > 0) + +ts_delta(ts_mean(close, 270), 810) * ts_std_dev(returns, 270) + +rank(ts_arg_max(close, 810), 2) * sign(ts_delta(close, 90)) + +(ts_delay(close, 90) - ts_delay(close, 270)) / ts_delay(close, 270) * ts_mean(volume, 90) + +ts_zscore(ts_delta(ts_mean(close, 90), 270), 540) * (ts_rank(volume, 270) > 0.85) + +(ts_corr(close, ts_mean(close, 540), 1080) < 0.75) * ts_delta(close \ No newline at end of file diff --git a/generated_alpha/2025-12-22/155207.txt b/generated_alpha/2025-12-22/155207.txt new file mode 100644 index 0000000..1fb34ab --- /dev/null +++ b/generated_alpha/2025-12-22/155207.txt @@ -0,0 +1,261 @@ + + +add(returns, ts_delay(returns,1)) + +multiply(returns, inverse(volume)) + +divide(multiply(returns, vwap), cap) + +group_zscore(returns, sector) + +ts_mean(multiply(returns, volume),5) + +if_else(volume > ts_mean(volume,30), 1, 0) + +scale(returns,1,0) + +winsorize(returns) + +add(zscore(returns), zscore(adv20)) + +multiply(zscore(returns), ts_mean(returns,20)) + +group_neutralize(returns, sector) + +group_backfill(returns, sector,30) + +divide(returns, beta_last_30_days_spy) + +multiply(returns, fscore_surface) + +ts_corr(close, adv20,20) + +add(ts_delay(returns,1), ts_delay(returns,2)) + +multiply( adv20, 0.01 ) + +subtract( ts_mean(returns,20), multiply(adv20,0.001)) + +add(zscore(adv20), zscore(volume)) + +ts_zscore(multiply(returns, volume),60) + +if_else( snt_value > 0.7, -1, 1 ) * returns + +divide( nws12_allz_result1, close ) + +ts_delay( snt_value, 1) * returns + +add( normalize(returns), group_neutralize(beta_last_30_days_spy, sector) ) + +multiply( group_zscore(fscore_momentum, sector), returns ) + +group_zscore(fscore_surface, sector) + +group_zscore(fscore_value, sector) + +scale( fscore_value, 1, 0 ) + +ts_corr( close, snt_value,30 ) + +multiply( snt_value, ts_delay(returns,5) ) + +add( ts_delay(snt_value,1), ts_delay(snt_value,2) ) + +divide( call_breakeven_20, put_breakeven_20 ) + +ts_mean( divide( call_breakeven_30, put_breakeven_30 ),10) + +if_else( pcr_vol_20 > 1.2, 1, -1 ) * returns + +multiply( pcr_oi_60, returns ) + +group_zscore( pcr_oi_60, sector ) + +add( zscore( pcr_oi_60 ), zscore( adv20 ) ) + +ts_delay( pcr_oi_60,1) * returns + +group_mean( sales, pv13_revere_company ) + +divide( group_mean(sales, pv13_revere_company), group_mean(market_cap, pv13_revere_company) ) + +multiply( fscore_surface, fscore_momentum ) + +if_else( fscore_surface > 50, 1, 0 ) * returns + +normalize( fscore_surface ) + +ts_rank( fscore_surface,60 ) + +ts_delay( fscore_surface,30 ) + +multiply( ts_delay(returns,10), ts_rank( fscore_bfl_total,60 ) ) + +add( ts_delay(fscore_total,30), returns ) + +divide( fscore_value, fscore_growth ) + +group_scale(adv20, sector) + +multiply( group_zscore(adv20, sector), returns ) + +ts_corr( adv20, snt_value,60 ) + +ts_covariance( adv20, returns,60 ) + +add( returns, multiply( adv20, 0.001 ) ) + +add( multiply(returns, volume), ts_delay(returns,1) ) + +multiply( adv20, beta_last_30_days_spy ) + +group_zscore( beta_last_30_days_spy, sector ) + +scale(div ide(returns, adv20),1,0 ) + +winsorize(multiply(returns, volume)) + +if_else( volume > adv20 * 2, 1, -1 ) * returns + +add( snt_value, ts_delay(snt_value,1) ) + +scale( snt_social_volume, 1, 0 ) + +if_else( is_nan(close), group_mean(close, sector ), close ) + +group_backfill(close, sector,30) + +ad d( ts_mean(returns,5), ts_mean(returns,10) ) + +add( ts_mean(returns,5), ts_mean(returns,10) ) + +scale(returns, longscale=1, shortscale=1 ) + +winsorize(group_zscore(returns, pv13_revere_key_sector)) + +ts_delay( volume,1 ) + +ts_mean( volume,10 ) + +if_else( ts_std_dev(returns,30) > 0.15, ts_delta(close,5), ts_delta(close,30)) + +divide( fscore_bfl_tota, fscore_bfl_value ) + +add( normalize(returns), group_neutralize(beta_last_30_days_spy, sector) ) + +multiply( group_zscore(returns, pv13_revere_company ), returns ) + +add( ts_delta(close, 5), ts_delta(close,10) ) + +multiply( snt_social_volume, 10 ) + +normalize( snt_social_value ) + +scale( snt_social_value, 1, 0 ) + +if_else( nws12_prez_02l > 0, 1, -1 ) * returns + +ts_corr( close, volume,20 ) + +add( zscore(adv20), zscore(volume) ) + +group_mean( fscore_surface, pv13_revere_company ) + +divide( group_mean(sales, pv13_revere_company), group_mean(market_cap, pv13_revere_company) ) + +multiply( group_zscore(returns, pv13_revere_company), fscore_surface ) + +if_else( group_zscore(fscore_surface, sector) > 0.5, 1, -1 ) * returns + +ts_mean( divide( group_mean(sales, pv13_revere_company), group_mean(market_cap, pv13_revere_company) ),5) + +add( normalize( fscore_surface ), normalize( fscore_momentum ) ) + +multiply( snt_value, ts_delay(returns,1) ) + +add( ts_delay(snt_value,1), ts_delay(snt_value,2) ) + +if_else( pcr_oi_60 > 0.5, 1, -1) * returns + +ts_delay( pcr_oi_60,1) * returns + +divide( call_breakeven_10, put_breakeven_10 ) + +ts_mean( divide( call_breakeven_30, put_breakeven_30 ),10) + +group_zscore( volume, pv13_revere_key_sector ) + +multiply( group_zscore(returns, sector), volume ) + +if_else( adv20 < 100000, 1, 0 ) * returns + +add( zscore( adv20 ), zscore( fscore_surface ) ) + +multiply( ts_delta(close,5), ts_std_dev(returns,60) ) + +winsorize(group_scale(returns, sector)) + +divide( market_cap, ts_mean(market_cap,90) ) + +scale( divide(returns, market_cap), 1,0 ) + +group_backfill(returns, pv13_revere_company,30) + +add( returns, multiply( beta_last_30_days_spy, 0.05 ) ) + +multiply( group_zscore(fscore_surface, pv13_revere_sector), group_zscore(returns, pv13_revere_sector) ) + +if_else( ts_mean(returns,10) > 0, 1, -1 ) * snt_value + +add( normalize( returns ), normalize( group_zscore(returns, pv13_revere_company) ) ) + +multiply( adv20, ts_delta(volume,5) ) + +ts_corr( close, adv20,30 ) + +add( ts_delay(close,5), multiply( adv20, 0.001 ) ) + +scale( snt_value, 1, 0 ) + +multiply( snt_value, 10 ) + +if_else( snt_value > 0.6, zscore(returns), 0 ) + +divide( nws12_prez_02l, close ) + +ts_delay( nws12_allz_result1,1) * returns + +group_mean( fscore_surface, sector ) + +divide( group_mean(eps_estimate, pv13_revere_company), group_mean(earnings_actual, pv13_revere_company) ) + +add( normalize( fscore_surface ), normalize( fscore_momentum ) ) + +multiply( fscore_surface, ts_delay(returns,5) ) + +ts_corr( fscore_surface, close,30 ) + +add( ts_delay(returns,1), ts_delay(returns,2) ) + +multiply( snt_value, ts_delay(returns,5) ) + +add( ts_delay(snt_value,1), ts_delay(snt_value,2) ) + +scale( group_zscore(returns, sector), 1, 0 ) + +if_else( snt_value > 0.5, -ts_delta(close,5), ts_delta(close,5) ) + +ts_mean( divide( group_mean(eps_estimate, pv13_revere_company), group_mean(earnings_actual, pv13_revere_company) ),20) + +add( normalize( bffl_surface ), normalize( fscore_momentum ) ) + +multiply( group_zscore(returns, pv13_revere_company), multiplier( adv20, 0.01 ) ) + +scale( snt_social_volume, 1, 0 ) + +divide( call_breakeven_60, put_breakeven_60 ) + +ts_scale( divide(returns, adv20), 30,1 ) + +if_else( group_zscore(returns, sector) < 0.2, 1, 0 ) \ No newline at end of file diff --git a/load_data_sets.py b/load_data_sets.py index d4c0eeb..12ad281 100644 --- a/load_data_sets.py +++ b/load_data_sets.py @@ -18,7 +18,9 @@ try: # 创建游标 cur = conn.cursor() - keys = ["implied_volatility_call_90", "implied_volatility_put_90", "implied_volatility_call_30", "implied_volatility_put_30", "implied_volatility_call_60", "implied_volatility_put_60", "close", "volume", "adv20", "low", "high"] + keys = [ + '占位' + ] for key in keys: # SQL 查询语句 @@ -47,6 +49,5 @@ try: except Exception as e: print("数据库连接或查询出错:", e) - for result in results: - print(result) \ No newline at end of file + print(result) diff --git a/manual_prompt/manual_prompt_20251222154203.txt b/manual_prompt/manual_prompt_20251222154203.txt new file mode 100644 index 0000000..3ce9083 --- /dev/null +++ b/manual_prompt/manual_prompt_20251222154203.txt @@ -0,0 +1,895 @@ +任务指令 +一、经济逻辑描述优化 +视角一:市场摩擦的横截面测绘 +核心经济逻辑: +市场摩擦创造系统性的定价延迟和反应差异。不同股票因流动性、投资者结构和交易机制差异,对相同市场信息的反应速度和程度不同。这些差异形成可预测的Alpha机会: +流动性溢价动态:低流动性股票因交易成本较高,需要更高的预期收益补偿。但流动性条件会随时间变化,形成动态的流动性溢价套利窗口。 +信息扩散速度差异:机构持仓集中度高的股票信息反应更快,散户主导的股票反应更慢且易出现过度反应,创造套利空间。 +交易冲击的持续性:大宗交易对价格的冲击在低流动性环境中衰减更慢,形成短期价格动量;在高流动性环境中衰减更快,易出现反转。 +视角二:投资者注意力生态学 +核心经济逻辑: +注意力是金融市场中的稀缺资源,其分配不均导致定价效率差异: +有限注意力约束:投资者无法同时处理所有信息,只能关注有限数量的股票,导致被忽视股票出现定价延迟。 +注意力传染效应:当某行业或主题受到关注时,注意力会按特定路径扩散(龙头→二线→边缘),形成可预测的轮动模式。 +注意力衰减曲线:事件驱动型关注会随时间衰减,但衰减速度因股票特质而异。快速衰减可能导致定价错误快速修正,缓慢衰减则可能维持定价偏差。 +视角三:价格运动的形态语法 +核心经济逻辑: +价格形态反映市场参与者的集体行为模式和心理预期: +技术分析的自我实现:广泛使用的技术指标(如支撑阻力位、均线系统)影响交易决策,形成可预测的价格行为。 +叙事驱动的价格记忆:价格在关键历史位置的行为会形成市场“记忆”,影响未来在这些位置附近的交易决策。 +多时间尺度协调:不同时间框架投资者的行为协调(共振)或冲突(背离)决定趋势的可持续性。 +二、复合因子构建的经济逻辑规范 +A. 领导力动量因子 +经济逻辑: +成交量是市场关注度和资金流向的直接体现。大成交量股票通常由机构投资者主导,其价格变动反映更充分的信息和更强的共识。这种“聪明钱”效应使大成交量股票的动量信号更具预测性。同时,成交量的横截面分布反映不同股票在投资者注意力竞争中的相对地位。 +经济学基础: +成交量与信息含量正相关(Kyle模型) +机构交易者具有信息优势 +注意力驱动的资本流动 +B. 状态自适应动量 +经济逻辑: +市场波动率状态反映信息流的速度和市场不确定性水平。高波动环境通常伴随高频信息流和快速变化的预期,短期动量更有效;低波动环境反映稳定预期,长期动量更可靠。通过波动率状态动态调整动量窗口,可以避免在不同市场机制下使用不匹配的策略。 +经济学基础: +波动率聚集现象 +市场状态的持久性 +信息处理速度与波动率的关系 +C. 行业传导因子 +经济逻辑: +行业间存在基本面关联(产业链)和资金面关联(配置资金流动)。强势行业的出现通常反映某种宏观或产业逻辑,这种逻辑会按特定顺序向相关行业传导(如上游→下游,龙头→配套)。传导速度受行业基本面关联度和市场情绪影响,创造可预测的轮动机会。 +经济学基础: +产业价值链传递 +资金配置的渐进调整 +相关性结构的时变性 +D. 情绪反转因子 +经济逻辑: +交易活跃度反映市场情绪强度。过度交易往往伴随非理性繁荣或恐慌,此时趋势可能接近拐点;交易清淡则反映市场分歧或缺乏关注,趋势可能延续。结合趋势强度可以区分情绪驱动的短期反转和基本面驱动的长期反转。 +经济学基础: +过度反应与修正 +有限套利与情绪持续性 +交易量作为情绪代理变量 +三、参数选择的经济逻辑 +回顾期选择依据: +5-10日:捕捉事件驱动型Alpha,反映短期信息冲击 +20-30日:捕捉月度调仓效应和基本面预期调整 +60-120日:捕捉季度业绩周期和行业轮动周期 +阈值参数的经济含义: +0.5:中位数效应,反映平均或典型情况 +0.7-0.8:极端情况识别,捕捉显著的异常或结构性变化 +四、行业轮动的经济学原理 +周期性轮动:宏观经济周期不同阶段对各行业影响不同(早周期、中周期、晚周期) +相对估值轮动:行业间估值差异回归均值驱动资金流动 +风险偏好轮动:市场风险偏好变化影响不同风险特征行业的相对表现 +政策驱动轮动:产业政策、监管变化创造结构性机会 +技术创新扩散:新技术沿产业链扩散的顺序性 +五、风险调整的经济逻辑 +流动性风险补偿:低流动性股票需提供更高预期收益 +波动率风险定价:高波动股票的风险溢价要求 +相关性结构风险:行业间相关性变化对分散化效果的影响 +尾部风险暴露:极端事件对不同行业的非对称影响 +六、交易可行性的经济学考虑 +交易成本内生性:流动性差的股票交易成本高,需要更强的Alpha信号 +容量约束:策略容量受市场深度限制 +市场影响成本:大额交易对价格的冲击 +竞争性衰减:被广泛采用的Alpha会因套利而衰减 +七、因子表达式的经济解释规范 +每个表达式应明确回答: +捕捉什么市场异象?(例如:注意力驱动定价延迟、流动性溢价变化等) +为什么这个异象会持续存在?(行为偏差、制度约束、风险补偿等) +在什么市场环境下更有效?(高波动、低流动性、趋势市等) +可能失效的条件是什么?(市场机制变化、投资者结构变化等) +这样的经济逻辑描述确保了每个因子都有清晰的理论基础和经济直觉,而非纯粹的数据挖掘结果。 +*=====* +输出格式: +输出必须是且仅是纯文本。 +每一行是一个完整、独立、语法正确的WebSim表达式。 +严禁任何形式的解释、编号、标点包裹(如引号)、Markdown格式或额外文本。 +===================== !!! 重点(输出方式) !!! ===================== +现在,请严格遵守以上所有规则,开始生成可立即在WebSim中运行的复合因子表达式。 +**输出格式**(一行一个表达式, 每个表达式中间需要添加一个空行, 只要表达式本身, 不要解释, 不需要序号, 也不要输出多余的东西): +表达式 +表达式 +表达式 +... +表达式 +================================================================= +重申:请确保所有表达式都使用WorldQuant WebSim平台函数,不要使用pandas、numpy或其他Python库函数。输出必须是一行有效的WQ表达式。 +以下是我的账号有权限使用的操作符, 请严格按照操作符, 以及我提供的数据集, 进行生成,组合 100 个alpha: + +以下是我的账号有权限使用的操作符, 请严格按照操作符, 进行生成,组合因子 + +========================= 操作符开始 =======================================注意: 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: forward_price_120 +DataFieldDescription: Forward price at 120 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_720 +DataFieldDescription: Price at which a stock's call options with expiration 720 days in the future break even based on its recent bid/ask mean. +DataField: forward_price_720 +DataFieldDescription: Forward price at 720 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_30 +DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 30 days in the future. +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: 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: call_breakeven_270 +DataFieldDescription: Price at which a stock's call 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_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: forward_price_60 +DataFieldDescription: Forward price at 60 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_20 +DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 20 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_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: 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_10 +DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 10 days in the future. +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_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: 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: call_breakeven_30 +DataFieldDescription: Price at which a stock's call options with expiration 30 days in the future break even based on its recent bid/ask mean. +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: 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: 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_180 +DataFieldDescription: Price at which a stock's call options with expiration 180 days in the future break even based on its recent bid/ask mean. +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_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_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: 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: 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_1080 +DataFieldDescription: Price at which a stock's options with expiration 1080 days in the future break even based on its recent bid/ask mean. +DataField: fnd6_newa2v1300_opeps +DataFieldDescription: Earnings Per Share from Operations +DataField: fnd6_cstkcv +DataFieldDescription: Common Stock-Carrying Value +DataField: fnd6_itci +DataFieldDescription: Investment Tax Credit (Income Account) +DataField: fnd6_txo +DataFieldDescription: Income Taxes - Other +DataField: cash +DataFieldDescription: Cash +DataField: fnd6_mibn +DataFieldDescription: Noncontrolling Interests - Nonredeemable - Balance Sheet +DataField: fnd6_newqeventv110_tfvaq +DataFieldDescription: Total Fair Value Assets +DataField: fnd6_newqv1300_glcea12 +DataFieldDescription: Gain/Loss on Sale (Core Earnings Adjusted) After-tax 12MM +DataField: fnd6_loxdr +DataFieldDescription: Liabilities - Other - Excluding Deferred Revenue +DataField: fnd6_newqv1300_spiq +DataFieldDescription: Special Items +DataField: fnd6_newqeventv110_cshfdq +DataFieldDescription: Common Shares for Diluted EPS +DataField: cashflow_op +DataFieldDescription: Operating Activities - Net Cash Flow +DataField: fnd6_cld3 +DataFieldDescription: Capitalized Leases - Due in 3rd Year +DataField: debt +DataFieldDescription: Debt +DataField: fnd6_fato +DataFieldDescription: Plant, Property and Equipment at Cost - Other +DataField: fnd6_dcpstk +DataFieldDescription: Convertible Debt and Preferred Stock +DataField: fnd6_newqeventv110_cicurrq +DataFieldDescription: Comp Inc - Currency Trans Adj +DataField: fnd6_newqeventv110_rcaq +DataFieldDescription: Restructuring Cost After-tax +DataField: income_beforeextra +DataFieldDescription: Income Before Extraordinary Items +DataField: fnd6_newqeventv110_prcpd12 +DataFieldDescription: Core Post-Retirement Adjustment 12MM Diluted EPS Effect Preliminary +DataField: fnd6_dilavx +DataFieldDescription: Dilution Available - Excluding Extraordinary Items +DataField: fnd6_esubs +DataFieldDescription: Equity in Earnings +DataField: inventory +DataFieldDescription: Inventories - Total +DataField: fnd6_fiao +DataFieldDescription: Financing Activities - Other +DataField: fnd6_newqeventv110_invrmq +DataFieldDescription: Inventory - Raw Materials +DataField: fnd6_newqeventv110_pncippq +DataFieldDescription: Core Pension Interest Adjustment Pretax Preliminary +DataField: fnd6_adesinda_curcd +DataFieldDescription: ISO Currency Code - Company Annual Market +DataField: fnd6_cshtrq +DataFieldDescription: Common Shares Traded - Quarter +DataField: fnd6_ceql +DataFieldDescription: Common Equity - Liquidation Value +DataField: fnd6_newqv1300_glceeps12 +DataFieldDescription: Gain/Loss on Sale (Core Earnings Adjusted) Basic 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: anl4_fcf_low +DataFieldDescription: Free Cash Flow - The lowest estimation +DataField: est_cashflow_op +DataFieldDescription: Cash Flow From Operations - mean of estimations +DataField: max_book_value_per_share_guidance +DataFieldDescription: Book value per share - Maximum value among forecasts +DataField: dividend_min_guidance_value +DataFieldDescription: Minimum guidance value for Dividend per share on an annual basis +DataField: max_net_income_guidance +DataFieldDescription: The maximum guidance value for net profit. +DataField: anl4_netdebt_flag +DataFieldDescription: Net debt - forecast type (revision/new/...) +DataField: sales_min_guidance_value +DataFieldDescription: Minimum sales guidance for the annual period. +DataField: anl4_cff_mean +DataFieldDescription: Cash Flow From Financing - mean of estimations +DataField: anl4_fcf_flag +DataFieldDescription: Free cash flow - forecast type (revision/new/...) +DataField: free_cash_flow_reported_value +DataFieldDescription: Free cash flow value for the quarter. +DataField: actuals_value_currency_code +DataFieldDescription: Pricing Currency where the security trades +DataField: anl4_ebitda_high +DataFieldDescription: Earnings before interest, taxes, depreciation, and amortization - the highest estimation +DataField: anl4_ptp_median +DataFieldDescription: Pretax income - median of estimations +DataField: book_value_per_share_min_guidance_qtr +DataFieldDescription: Book value per share - minimum guidance value +DataField: min_research_development_expense_guidance_2 +DataFieldDescription: Minimum guidance value for Research & Development Expense on an annual basis +DataField: research_development_expense_reported_value +DataFieldDescription: Research & Development (Income Statement) Value in Millions +DataField: min_total_assets_guidance +DataFieldDescription: Minimum guidance value for Total Assets +DataField: anl4_basicconafv110_low +DataFieldDescription: The lowest estimation +DataField: anl4_rd_exp_mean +DataFieldDescription: Research and Development Expense - mean of estimations +DataField: capital_expenditure_reported_value +DataFieldDescription: Capital Expenditures - Total (Cash Flow/Investing) (Millions) +DataField: anl4_cuo1conafv110_item +DataFieldDescription: Financial item +DataField: anl4_fsgdncbscv4_maxguidance +DataFieldDescription: Max guidance value +DataField: anl4_netdebt_mean +DataFieldDescription: Net debt - mean of estimations +DataField: anl4_netprofit_median +DataFieldDescription: Net profit - Median of estimations +DataField: est_sga +DataFieldDescription: SGA - mean of estimations +DataField: actuals_reporting_currency +DataFieldDescription: Home currency of instrument +DataField: anl4_epsr_high +DataFieldDescription: GAAP Earnings per share - The highest estimation +DataField: dividend_estimate_minimum +DataFieldDescription: Dividend per share - The lowest value among forecasts - D1 +DataField: min_ebitda_guidance +DataFieldDescription: Minimum guidance value for Earnings Before Interest, Taxes, Depreciation, and Amortization (EBITDA) - Annual +DataField: min_total_goodwill_guidance +DataFieldDescription: Total Goodwill - The lowest guidance value +DataField: pv13_hierarchy_min10_top3000_513_sector +DataFieldDescription: grouping fields +DataField: pv13_h_min2_focused_sector +DataFieldDescription: Grouping fields for top 200 +DataField: pv13_hierarchy_min40_3000_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_f2_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min2_focused_only_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min20_f3_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min2_3000_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min100_corr21_sector +DataFieldDescription: grouping fields +DataField: pv13_ompetitorgraphrank_hub_rank +DataFieldDescription: the HITS hub score of competitors +DataField: pv13_hierarchy_min30_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min50_f3_513_sector +DataFieldDescription: grouping fields +DataField: pv13_rha2_min20_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min100_corr21_513_sector +DataFieldDescription: grouping fields +DataField: pv13_revere_term +DataFieldDescription: Indicates when a sector is the terminal sector (i.e., no sub-sectors) +DataField: pv13_r2_min2_1000_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min2_focused_pureplay_sector +DataFieldDescription: grouping fields +DataField: pv13_revere_comproduct_company +DataFieldDescription: Company product +DataField: pv13_revere_city +DataFieldDescription: City code +DataField: pv13_hierarchy_min52_2k_sector +DataFieldDescription: grouping fields +DataField: pv13_ustomergraphrank_hub_rank +DataFieldDescription: the HITS hub score of customers +DataField: pv13_2l_scibr +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min51_f2_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min51_f4_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min2_513_sector +DataFieldDescription: grouping fields +DataField: pv13_rha2_min10_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min2_pureplay_only_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min10_industry_3000_sector +DataFieldDescription: grouping fields +DataField: pv13_1l_scibr +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min2_1000_513_sector +DataFieldDescription: grouping fields +DataField: implied_volatility_put_720 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 720 days +DataField: implied_volatility_call_180 +DataFieldDescription: At-the-money option-implied volatility for call Option for 180 days +DataField: implied_volatility_call_360 +DataFieldDescription: At-the-money option-implied volatility for call Option for 360 days +DataField: implied_volatility_mean_150 +DataFieldDescription: At-the-money option-implied volatility mean for 150 days +DataField: implied_volatility_mean_skew_20 +DataFieldDescription: At-the-money option-implied volatility mean skew for 20 days +DataField: implied_volatility_mean_skew_10 +DataFieldDescription: At-the-money option-implied volatility mean skew for 10 days +DataField: parkinson_volatility_30 +DataFieldDescription: Parkinson model's historical volatility over 30 days +DataField: implied_volatility_call_30 +DataFieldDescription: At-the-money option-implied volatility for call Option for 30 days +DataField: historical_volatility_150 +DataFieldDescription: Close-to-close Historical volatility over 150 days +DataField: implied_volatility_put_30 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 30 days +DataField: implied_volatility_put_90 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 90 days +DataField: implied_volatility_call_270 +DataFieldDescription: At-the-money option-implied volatility for call Option for 270 days +DataField: historical_volatility_60 +DataFieldDescription: Close-to-close Historical volatility over 60 days +DataField: implied_volatility_put_360 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 360 days +DataField: implied_volatility_call_60 +DataFieldDescription: At-the-money option-implied volatility for call Option for 60 days +DataField: implied_volatility_mean_180 +DataFieldDescription: At-the-money option-implied volatility mean for 180 days +DataField: implied_volatility_mean_720 +DataFieldDescription: At-the-money option-implied volatility mean for 720 days +DataField: implied_volatility_call_10 +DataFieldDescription: At-the-money option-implied volatility for call Option for 10 days +DataField: implied_volatility_mean_10 +DataFieldDescription: At-the-money option-implied volatility mean for 10 days +DataField: implied_volatility_mean_360 +DataFieldDescription: At-the-money option-implied volatility mean for 360 days +DataField: parkinson_volatility_90 +DataFieldDescription: Parkinson model's historical volatility over 90 days +DataField: parkinson_volatility_10 +DataFieldDescription: Parkinson model's historical volatility over 2 weeks +DataField: implied_volatility_mean_skew_30 +DataFieldDescription: At-the-money option-implied volatility mean skew for 30 days +DataField: implied_volatility_call_1080 +DataFieldDescription: At-the-money option-implied volatility for call option for 1080 days +DataField: implied_volatility_put_270 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 270 days +DataField: implied_volatility_call_90 +DataFieldDescription: At-the-money option-implied volatility for call Option for 90 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: parkinson_volatility_60 +DataFieldDescription: Parkinson model's historical volatility over 60 days +DataField: implied_volatility_put_120 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 120 days +DataField: nws12_mainz_eodhigh +DataFieldDescription: Highest price reached between the time of news and the end of the session +DataField: news_mins_5_chg +DataFieldDescription: The minimum of L or S above for 5-minute bucket +DataField: nws12_afterhsz_eodhigh +DataFieldDescription: Highest price reached between the time of news and the end of the session +DataField: nws12_afterhsz_4p +DataFieldDescription: The minimum of L or S above for 4-minute bucket +DataField: news_pct_60min +DataFieldDescription: The percent change in price in the first 60 minutes following the news release +DataField: nws12_prez_prevday +DataFieldDescription: Percent change between the previous day's open and close +DataField: nws12_prez_57l +DataFieldDescription: Number of minutes that elapsed before price went up 7.5 percentage points +DataField: news_mins_10_chg +DataFieldDescription: The minimum of L or S above for 10-minute bucket +DataField: nws12_afterhsz_57l +DataFieldDescription: Number of minutes that elapsed before price went up 7.5 percentage points +DataField: nws12_prez_div_y +DataFieldDescription: Annual yield +DataField: nws12_mainz_5s +DataFieldDescription: Number of minutes that elapsed before price went down 5 percentage points +DataField: news_mins_20_chg +DataFieldDescription: The minimum of L or S above for 20-minute bucket +DataField: nws12_afterhsz_2p +DataFieldDescription: The minimum of L or S above for 2-minute bucket +DataField: nws12_prez_result_vs_index +DataFieldDescription: ((EODClose - TONLast) / TONLast) - ((SPYClose - SPYLast) / SPYLast) +DataField: nws12_prez_sl +DataFieldDescription: Whether a long or short position would have been more advantageous: If (EODHigh - Last) > (Last - EODLow) Then LS = 1; If (EODHigh - Last) = (Last - EODLow) Then LS = 0; If (EODHigh - Last) < (Last - EODLow) Then LS = -1. +DataField: news_close_vol +DataFieldDescription: Main close volume +DataField: nws12_prez_2l +DataFieldDescription: Number of minutes that elapsed before price went up 2 percentage points +DataField: nws12_afterhsz_mov_vol +DataFieldDescription: 30-day moving average session volume +DataField: nws12_mainz_57p +DataFieldDescription: The minimum of L or S above for 7.5-minute bucket +DataField: nws12_afterhsz_3s +DataFieldDescription: Number of minutes that elapsed before price went down 3 percentage points +DataField: nws12_afterhsz_01s +DataFieldDescription: Number of minutes that elapsed before price went down 10 percentage points +DataField: nws12_mainz_eodlow +DataFieldDescription: Lowest price reached between the time of news and the end of the session. +DataField: nws12_afterhsz_result1 +DataFieldDescription: Percent change between the price at the time of the news release to the price at the close of the session +DataField: news_low_exc_stddev +DataFieldDescription: (TONLast - EODLow) / StdDev, where StdDev is one standard deviation for the close price for 30 calendar days +DataField: nws12_prez_close_vol +DataFieldDescription: Main close volume +DataField: news_ratio_vol +DataFieldDescription: Curr_Vol / Mov_Vol +DataField: nws12_afterhsz_2s +DataFieldDescription: Number of minutes that elapsed before price went down 2 percentage points +DataField: nws12_mainz_57l +DataFieldDescription: Number of minutes that elapsed before price went up 7.5 percentage points +DataField: news_session_range_pct +DataFieldDescription: (Session High Price - Session Low Price) / Session Low Price. +DataField: news_ton_low +DataFieldDescription: Lowest price reached during the session before the time of the news +DataField: top1000 +DataFieldDescription: 20140630 +DataField: top200 +DataFieldDescription: 20140630 +DataField: top3000 +DataFieldDescription: 20140630 +DataField: top500 +DataFieldDescription: 20140630 +DataField: topsp500 +DataFieldDescription: 20140630 +DataField: nws18_ber +DataFieldDescription: News sentiment specializing in earnings result +DataField: rp_nip_mna +DataFieldDescription: News impact projection of mergers and acquisitions-related news +DataField: nws18_bee +DataFieldDescription: News sentiment specializing in growth of earnings +DataField: rp_css_assets +DataFieldDescription: Composite sentiment score of assets news +DataField: rp_nip_business +DataFieldDescription: News impact projection of business-related news +DataField: rp_nip_assets +DataFieldDescription: News impact projection of assets news +DataField: rp_css_technical +DataFieldDescription: Composite sentiment score based on technical analysis +DataField: rp_css_credit_ratings +DataFieldDescription: Composite sentiment score of credit ratings news +DataField: rp_ess_price +DataFieldDescription: Event sentiment score of stock price news +DataField: rp_nip_technical +DataFieldDescription: News impact projection based on technical analysis +DataField: rp_ess_revenue +DataFieldDescription: Event sentiment score of revenue news +DataField: rp_css_ptg +DataFieldDescription: Composite sentiment score of price target news +DataField: rp_nip_labor +DataFieldDescription: News impact projection of labor issues news +DataField: rp_ess_ratings +DataFieldDescription: Event sentiment score of analyst ratings-related news +DataField: rp_nip_price +DataFieldDescription: News impact projection of stock price news +DataField: rp_css_earnings +DataFieldDescription: Composite sentiment score of earnings news +DataField: rp_ess_assets +DataFieldDescription: Event sentiment score of assets news +DataField: nws18_acb +DataFieldDescription: News sentiment specializing in corporate action announcements +DataField: rp_ess_legal +DataFieldDescription: Event sentiment score of legal news +DataField: rp_nip_inverstor +DataFieldDescription: News impact projection of investor relations news +DataField: rp_ess_insider +DataFieldDescription: Event sentiment score of insider trading news +DataField: rp_nip_credit_ratings +DataFieldDescription: News impact projection of credit ratings news +DataField: rp_nip_legal +DataFieldDescription: News impact projection of legal news +DataField: rp_nip_credit +DataFieldDescription: News impact projection of credit news +DataField: nws18_nip +DataFieldDescription: Degree of impact of the news +DataField: rp_css_partner +DataFieldDescription: Composite sentiment score of partnership news +DataField: rp_css_dividends +DataFieldDescription: Composite sentiment score of dividends news +DataField: rp_ess_product +DataFieldDescription: Event sentiment score of product and service-related news +DataField: nws18_qcm +DataFieldDescription: News sentiment of relevant news with high confidence +DataField: rp_nip_earnings +DataFieldDescription: News impact projection of earnings news +DataField: fn_derivative_fair_value_of_derivative_asset_a +DataFieldDescription: Fair value, before effects of master netting arrangements, of a financial asset or other 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 assets elected not to be offset. Excludes assets not subject to a master netting arrangement. +DataField: fn_comp_options_exercisable_number_q +DataFieldDescription: The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan. +DataField: fnd2_a_blgandiprtsg +DataFieldDescription: Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing. +DataField: fn_oth_income_loss_fx_transaction_and_tax_translation_adj_q +DataFieldDescription: Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature. +DataField: fn_employee_related_liab_q +DataFieldDescription: Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. 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_comp_options_exercisable_weighted_avg_q +DataFieldDescription: The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan. +DataField: fnd2_propplteqmuflmameqmt +DataFieldDescription: PPE, Equipment, Useful Life, Maximum +DataField: fn_assets_fair_val_l1_q +DataFieldDescription: Asset Fair Value, Recurring, Level 1 +DataField: fn_comp_not_rec_a +DataFieldDescription: Unrecognized cost of unvested share-based compensation awards. +DataField: fn_def_tax_liab_a +DataFieldDescription: Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting. +DataField: fn_oth_comp_grants_weighted_avg_grant_date_fair_value_q +DataFieldDescription: Quarterly Share-Based Compensation Equity Instruments Other Than Options Nonvested Weighted Average Grant Date Fair Value +DataField: fn_oth_comp_forfeitures_fair_value_a +DataFieldDescription: Annual Share Based Compensation Equity Instruments Other Than Options Forfeitures Weighted Average Grant Date Fair Value +DataField: fn_op_lease_min_pay_due_after_5y_a +DataFieldDescription: Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due 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_avg_diluted_sharesout_adj_a +DataFieldDescription: The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation. +DataField: fnd2_a_opclpsnprtmbnfplansajnt +DataFieldDescription: Amount after tax and reclassification adjustments, of (increase) decrease in accumulated other comprehensive (income) loss related to pension and other postretirement defined benefit plans. +DataField: fn_def_income_tax_expense_q +DataFieldDescription: Income Tax Expense, Deferred +DataField: fn_comp_options_out_number_q +DataFieldDescription: Number of options outstanding, including both vested and non-vested options. +DataField: fn_accum_oth_income_loss_fx_adj_net_of_tax_a +DataFieldDescription: Accumulated adjustment, net of tax, that results from the process of translating subsidiary financial statements and foreign equity investments into the reporting currency from the functional currency of the reporting entity, net of reclassification of realized foreign currency translation gains or losses. +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_lhdiprtsg +DataFieldDescription: Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement. +DataField: fnd2_currfrtxexp +DataFieldDescription: Income Tax Expense, Current - Foreign +DataField: fn_business_combination_assets_aquired_goodwill_q +DataFieldDescription: Business Combination, Portion of Purchase Price Allocated to Goodwill +DataField: fnd2_a_sbcpnargmsawpfipwerpr +DataFieldDescription: Weighted average price of options that were either forfeited or expired. +DataField: fn_goodwill_acquired_during_period_q +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_income_taxes_paid_q +DataFieldDescription: The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income. +DataField: fn_comp_fair_value_assumptions_weighted_avg_vol_rate_a +DataFieldDescription: Weighted average expected volatility rate of share-based compensation awards. +DataField: fnd2_unrgtxbnfinregfcrps +DataFieldDescription: Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return. +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: fn_payments_for_repurchase_of_common_stock_q +DataFieldDescription: Value reported on Cash Flow Statement. May include shares repurchased as part of a buyback plan, as well as shares purchased for employee compensation, etc. +DataField: fnd2_itxreexftfedstyitxrt +DataFieldDescription: Income tax amount computed at the federal tax rate, before any adjustments +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 +========================= 数据字段结束 ======================================= + diff --git a/manual_prompt/manual_prompt_20251222154449.txt b/manual_prompt/manual_prompt_20251222154449.txt new file mode 100644 index 0000000..d6d1a57 --- /dev/null +++ b/manual_prompt/manual_prompt_20251222154449.txt @@ -0,0 +1,895 @@ +任务指令 +一、经济逻辑描述优化 +视角一:市场摩擦的横截面测绘 +核心经济逻辑: +市场摩擦创造系统性的定价延迟和反应差异。不同股票因流动性、投资者结构和交易机制差异,对相同市场信息的反应速度和程度不同。这些差异形成可预测的Alpha机会: +流动性溢价动态:低流动性股票因交易成本较高,需要更高的预期收益补偿。但流动性条件会随时间变化,形成动态的流动性溢价套利窗口。 +信息扩散速度差异:机构持仓集中度高的股票信息反应更快,散户主导的股票反应更慢且易出现过度反应,创造套利空间。 +交易冲击的持续性:大宗交易对价格的冲击在低流动性环境中衰减更慢,形成短期价格动量;在高流动性环境中衰减更快,易出现反转。 +视角二:投资者注意力生态学 +核心经济逻辑: +注意力是金融市场中的稀缺资源,其分配不均导致定价效率差异: +有限注意力约束:投资者无法同时处理所有信息,只能关注有限数量的股票,导致被忽视股票出现定价延迟。 +注意力传染效应:当某行业或主题受到关注时,注意力会按特定路径扩散(龙头→二线→边缘),形成可预测的轮动模式。 +注意力衰减曲线:事件驱动型关注会随时间衰减,但衰减速度因股票特质而异。快速衰减可能导致定价错误快速修正,缓慢衰减则可能维持定价偏差。 +视角三:价格运动的形态语法 +核心经济逻辑: +价格形态反映市场参与者的集体行为模式和心理预期: +技术分析的自我实现:广泛使用的技术指标(如支撑阻力位、均线系统)影响交易决策,形成可预测的价格行为。 +叙事驱动的价格记忆:价格在关键历史位置的行为会形成市场“记忆”,影响未来在这些位置附近的交易决策。 +多时间尺度协调:不同时间框架投资者的行为协调(共振)或冲突(背离)决定趋势的可持续性。 +二、复合因子构建的经济逻辑规范 +A. 领导力动量因子 +经济逻辑: +成交量是市场关注度和资金流向的直接体现。大成交量股票通常由机构投资者主导,其价格变动反映更充分的信息和更强的共识。这种“聪明钱”效应使大成交量股票的动量信号更具预测性。同时,成交量的横截面分布反映不同股票在投资者注意力竞争中的相对地位。 +经济学基础: +成交量与信息含量正相关(Kyle模型) +机构交易者具有信息优势 +注意力驱动的资本流动 +B. 状态自适应动量 +经济逻辑: +市场波动率状态反映信息流的速度和市场不确定性水平。高波动环境通常伴随高频信息流和快速变化的预期,短期动量更有效;低波动环境反映稳定预期,长期动量更可靠。通过波动率状态动态调整动量窗口,可以避免在不同市场机制下使用不匹配的策略。 +经济学基础: +波动率聚集现象 +市场状态的持久性 +信息处理速度与波动率的关系 +C. 行业传导因子 +经济逻辑: +行业间存在基本面关联(产业链)和资金面关联(配置资金流动)。强势行业的出现通常反映某种宏观或产业逻辑,这种逻辑会按特定顺序向相关行业传导(如上游→下游,龙头→配套)。传导速度受行业基本面关联度和市场情绪影响,创造可预测的轮动机会。 +经济学基础: +产业价值链传递 +资金配置的渐进调整 +相关性结构的时变性 +D. 情绪反转因子 +经济逻辑: +交易活跃度反映市场情绪强度。过度交易往往伴随非理性繁荣或恐慌,此时趋势可能接近拐点;交易清淡则反映市场分歧或缺乏关注,趋势可能延续。结合趋势强度可以区分情绪驱动的短期反转和基本面驱动的长期反转。 +经济学基础: +过度反应与修正 +有限套利与情绪持续性 +交易量作为情绪代理变量 +三、参数选择的经济逻辑 +回顾期选择依据: +5-10日:捕捉事件驱动型Alpha,反映短期信息冲击 +20-30日:捕捉月度调仓效应和基本面预期调整 +60-120日:捕捉季度业绩周期和行业轮动周期 +阈值参数的经济含义: +0.5:中位数效应,反映平均或典型情况 +0.7-0.8:极端情况识别,捕捉显著的异常或结构性变化 +四、行业轮动的经济学原理 +周期性轮动:宏观经济周期不同阶段对各行业影响不同(早周期、中周期、晚周期) +相对估值轮动:行业间估值差异回归均值驱动资金流动 +风险偏好轮动:市场风险偏好变化影响不同风险特征行业的相对表现 +政策驱动轮动:产业政策、监管变化创造结构性机会 +技术创新扩散:新技术沿产业链扩散的顺序性 +五、风险调整的经济逻辑 +流动性风险补偿:低流动性股票需提供更高预期收益 +波动率风险定价:高波动股票的风险溢价要求 +相关性结构风险:行业间相关性变化对分散化效果的影响 +尾部风险暴露:极端事件对不同行业的非对称影响 +六、交易可行性的经济学考虑 +交易成本内生性:流动性差的股票交易成本高,需要更强的Alpha信号 +容量约束:策略容量受市场深度限制 +市场影响成本:大额交易对价格的冲击 +竞争性衰减:被广泛采用的Alpha会因套利而衰减 +七、因子表达式的经济解释规范 +每个表达式应明确回答: +捕捉什么市场异象?(例如:注意力驱动定价延迟、流动性溢价变化等) +为什么这个异象会持续存在?(行为偏差、制度约束、风险补偿等) +在什么市场环境下更有效?(高波动、低流动性、趋势市等) +可能失效的条件是什么?(市场机制变化、投资者结构变化等) +这样的经济逻辑描述确保了每个因子都有清晰的理论基础和经济直觉,而非纯粹的数据挖掘结果。 +*=====* +输出格式: +输出必须是且仅是纯文本。 +每一行是一个完整、独立、语法正确的WebSim表达式。 +严禁任何形式的解释、编号、标点包裹(如引号)、Markdown格式或额外文本。 +===================== !!! 重点(输出方式) !!! ===================== +现在,请严格遵守以上所有规则,开始生成可立即在WebSim中运行的复合因子表达式。 +**输出格式**(一行一个表达式, 每个表达式中间需要添加一个空行, 只要表达式本身, 不要解释, 不需要序号, 也不要输出多余的东西): +表达式 +表达式 +表达式 +... +表达式 +================================================================= +重申:请确保所有表达式都使用WorldQuant WebSim平台函数,不要使用pandas、numpy或其他Python库函数。输出必须是一行有效的WQ表达式。 +以下是我的账号有权限使用的操作符, 请严格按照操作符, 以及我提供的数据集, 进行生成,组合 100 个alpha: + +以下是我的账号有权限使用的操作符, 请严格按照操作符, 进行生成,组合因子 + +========================= 操作符开始 =======================================注意: 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_oi_10 +DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 10 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: 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_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: 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: 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_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: 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_vol_all +DataFieldDescription: Ratio of put volume to call volume for all maturities on stock's options. +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: forward_price_150 +DataFieldDescription: Forward price at 150 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: 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: 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: 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: pcr_oi_360 +DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 360 days in the future. +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: forward_price_30 +DataFieldDescription: Forward price at 30 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_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: forward_price_720 +DataFieldDescription: Forward price at 720 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_720 +DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 720 days in the future. +DataField: call_breakeven_90 +DataFieldDescription: Price at which a stock's call options with expiration 90 days in the future break even based on its recent bid/ask mean. +DataField: call_breakeven_150 +DataFieldDescription: Price at which a stock's call options with expiration 150 days in the future break even based on its recent bid/ask mean. +DataField: forward_price_10 +DataFieldDescription: Forward price at 10 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_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: 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: 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: pcr_vol_180 +DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 180 days in the future. +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: call_breakeven_180 +DataFieldDescription: Price at which a stock's call 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: fnd6_cptnewqv1300_ceqq +DataFieldDescription: Common/Ordinary Equity - Total +DataField: fnd6_newqeventv110_stkcpaq +DataFieldDescription: After-tax stock compensation +DataField: fnd6_newa2v1300_oiadp +DataFieldDescription: Operating Income After Depreciation +DataField: fnd6_txndb +DataFieldDescription: Net Deferred Tax Asset (Liab) - Total +DataField: fnd6_newqv1300_mibnq +DataFieldDescription: Non-Redeemable Noncontrolling Interest (Balance Sheet) - Quarterly +DataField: fnd6_optlife +DataFieldDescription: Life of Options - Assumption (# yrs) +DataField: fnd6_newqeventv110_xsgaq +DataFieldDescription: Selling, General and Administrative Expenses +DataField: enterprise_value +DataFieldDescription: Enterprise Value +DataField: fnd6_cptnewqv1300_actq +DataFieldDescription: Current Assets - Total +DataField: fnd6_cptnewqeventv110_rectq +DataFieldDescription: Receivables - Total +DataField: fnd6_newqv1300_xoprq +DataFieldDescription: Operating Expense - Total +DataField: fnd6_dvrated +DataFieldDescription: Indicated Annual Dividend Rate - Daily +DataField: fnd6_newqeventv110_glcea12 +DataFieldDescription: Gain/Loss on Sale (Core Earnings Adjusted) After-tax 12MM +DataField: fnd6_newa1v1300_dvc +DataFieldDescription: Dividends Common/Ordinary +DataField: fnd6_mfmq_cheq +DataFieldDescription: Cash and Short-Term Investments +DataField: fnd6_newqv1300_cshoq +DataFieldDescription: Common Shares Outstanding +DataField: fnd6_cisecgl +DataFieldDescription: Comp Inc - Securities Gains/Losses +DataField: fnd6_newqeventv110_stkcoq +DataFieldDescription: Stock Compensation Expense +DataField: fnd6_sics +DataFieldDescription: SIC Code +DataField: fnd6_txts +DataFieldDescription: Income Taxes +DataField: fnd6_newqeventv110_txditcq +DataFieldDescription: Deferred Taxes and Investment Tax Credit +DataField: fnd6_ivch +DataFieldDescription: Increase in Investments +DataField: fnd6_newqeventv110_txtq +DataFieldDescription: Income Taxes - Total +DataField: fnd6_cibegni +DataFieldDescription: Comp Inc - Beginning Net Income +DataField: fnd6_txfed +DataFieldDescription: Income Taxes - Federal +DataField: fnd6_txtubposdec +DataFieldDescription: Decrease - Current Tax Positions +DataField: fnd6_cld2 +DataFieldDescription: Capitalized Leases - Due in 2nd Year +DataField: fnd6_drlt +DataFieldDescription: Deferred Revenue - Long-term +DataField: fnd6_newqeventv110_spceeps12 +DataFieldDescription: S&P Core Earnings EPS Basic 12MM +DataField: fnd6_cptnewqv1300_dpq +DataFieldDescription: Depreciation and Amortization - Total +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: max_shareholders_equity_guidance +DataFieldDescription: The maximum guidance value for Total Shareholders' Equity. +DataField: anl4_rd_exp_low +DataFieldDescription: Research and Development Expense - the lowest estimation +DataField: anl4_adjusted_netincome_ft +DataFieldDescription: Adjusted net income - forecast type (revision/new/...) +DataField: anl4_cuo1actualqfv110_actual +DataFieldDescription: Announced financial data +DataField: stock_option_expense_max_guidance_qtr +DataFieldDescription: Stock option expense - maximum guidance value +DataField: anl4_median_epsreported +DataFieldDescription: GAAP Earnings per share - median of estimations +DataField: anl4_cfi_flag +DataFieldDescription: Cash Flow From Investing - forecast type (revision/new/...) +DataField: earnings_per_share_estimate_count +DataFieldDescription: Earnings per share - number of estimations +DataField: pretax_income_actual_reported_value +DataFieldDescription: Reported Pretax income- announced financial value +DataField: anl4_qfd1_az_hgih_vid +DataFieldDescription: Dividend per share - The highest estimation +DataField: min_customized_eps_guidance +DataFieldDescription: Customized Earnings per share - Minimum guidance value for the annual period +DataField: min_free_cash_flow_per_share_guidance +DataFieldDescription: Free cash flow per share - minimum guidance value for the annual period +DataField: anl4_netdebt_low +DataFieldDescription: Net debt - the lowest estimation +DataField: anl4_ebitda_flag +DataFieldDescription: Earnings before interest, taxes, depreciation and amortization - forecast type (revision/new/...) +DataField: anl4_qfv4_cfps_mean +DataFieldDescription: Cash Flow Per Share - average of estimations +DataField: anl4_netprofit_std +DataFieldDescription: Net profit - standard deviation of estimations +DataField: anl4_basicconqfv110_low +DataFieldDescription: The lowest estimation +DataField: dividend_previous_estimate_value +DataFieldDescription: The previous estimation of dividend +DataField: anl4_capex_std +DataFieldDescription: Capital Expenditures - standard deviation of estimations +DataField: anl4_basicdetailqfv110_estvalue +DataFieldDescription: Estimation value +DataField: dividend_estimate_maximum +DataFieldDescription: Dividend per share - The highest value among forecasts with a delay of 1 quarter +DataField: anl4_dts_rspe +DataFieldDescription: Reported Earnings per share - standard deviation of estimations +DataField: anl4_cfo_median +DataFieldDescription: Cash Flow From Operations - median of estimations +DataField: anl4_mark +DataFieldDescription: Recommendation consensus score +DataField: pretax_income_max_guidance_qtr +DataFieldDescription: The maximum guidance value for Pretax income. +DataField: sales_estimate_median_quarterly +DataFieldDescription: Sales - median of estimations +DataField: anl4_totgw_low +DataFieldDescription: Total Goodwill - The lowest estimation +DataField: anl4_ads1detailqfv110_person +DataFieldDescription: Broker Id +DataField: anl4_qf_az_eps_mean +DataFieldDescription: Earnings per share - mean of estimations +DataField: anl4_netdebt_flag +DataFieldDescription: Net debt - forecast type (revision/new/...) +DataField: pv13_new_2l_scibr +DataFieldDescription: grouping fields +DataField: pv13_hierarchy2_min2_1k_513_sector +DataFieldDescription: grouping fields +DataField: pv13_rha2_min20_513_sector +DataFieldDescription: grouping fields +DataField: pv13_revere_index_cap +DataFieldDescription: Company market capitalization +DataField: pv13_rha2_min2_513_sector +DataFieldDescription: grouping fields +DataField: pv13_r2_liquid_min5_sector +DataFieldDescription: grouping fields +DataField: pv13_di_5l +DataFieldDescription: grouping fields +DataField: pv13_reportperiodlen +DataFieldDescription: The number of units which the report covers prior to the stated end date +DataField: pv13_com_rk_au +DataFieldDescription: the HITS authority score of competitors +DataField: pv13_r2_liquid_min10_sector +DataFieldDescription: grouping fields +DataField: rel_ret_cust +DataFieldDescription: averaged one-day-return of the instrument's customers +DataField: pv13_hierarchy_min2_focused_pureplay_3000_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy2_513_sector +DataFieldDescription: grouping fields +DataField: pv13_r2_liquid_min2_sector +DataFieldDescription: grouping fields +DataField: pv13_ompetitorgraphrank_hub_rank +DataFieldDescription: the HITS hub score of competitors +DataField: pv13_revere_term +DataFieldDescription: Indicates when a sector is the terminal sector (i.e., no sub-sectors) +DataField: pv13_hierarchy_min30_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min52_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy23_513_sector +DataFieldDescription: grouping fields +DataField: pv13_ustomergraphrank_hub_rank +DataFieldDescription: the HITS hub score of customers +DataField: rel_ret_all +DataFieldDescription: Averaged one-day return of the companies whose product overlapped with the instrument +DataField: pv13_hierarchy_min2_focused_pureplay_513_sector +DataFieldDescription: grouping fields +DataField: rel_num_all +DataFieldDescription: number of the companies whose product overlapped with the instrument +DataField: pv13_hierarchy_min20_sector +DataFieldDescription: grouping fields +DataField: pv13_h_min52_3000_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min10_2k_513_sector +DataFieldDescription: grouping fields +DataField: pv13_rha2_min10_3000_513_sector +DataFieldDescription: grouping fields +DataField: pv13_r2_min10_1000_sector +DataFieldDescription: grouping fields +DataField: pv13_new_5l_scibr +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min20_3k_sector +DataFieldDescription: grouping fields +DataField: historical_volatility_60 +DataFieldDescription: Close-to-close Historical volatility over 60 days +DataField: implied_volatility_mean_270 +DataFieldDescription: At-the-money option-implied volatility mean for 270 days +DataField: parkinson_volatility_120 +DataFieldDescription: Parkinson model's historical volatility over 120 days +DataField: implied_volatility_mean_skew_60 +DataFieldDescription: At-the-money option-implied volatility mean skew for 60 days +DataField: implied_volatility_put_30 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 30 days +DataField: implied_volatility_call_120 +DataFieldDescription: At-the-money option-implied volatility for call Option for 120 days +DataField: implied_volatility_put_90 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 90 days +DataField: parkinson_volatility_180 +DataFieldDescription: Parkinson model's historical volatility over 180 days +DataField: implied_volatility_mean_skew_90 +DataFieldDescription: At-the-money option-implied volatility mean skew for 90 days +DataField: implied_volatility_mean_720 +DataFieldDescription: At-the-money option-implied volatility mean for 720 days +DataField: implied_volatility_put_270 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 270 days +DataField: historical_volatility_20 +DataFieldDescription: Close-to-close Historical volatility over 20 days +DataField: historical_volatility_10 +DataFieldDescription: Close-to-close Historical volatility over 10 days +DataField: implied_volatility_mean_20 +DataFieldDescription: At-the-money option-implied volatility mean for 20 days +DataField: implied_volatility_mean_skew_30 +DataFieldDescription: At-the-money option-implied volatility mean skew for 30 days +DataField: implied_volatility_put_20 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 20 days +DataField: implied_volatility_mean_120 +DataFieldDescription: At-the-money option-implied volatility mean for 120 days +DataField: parkinson_volatility_10 +DataFieldDescription: Parkinson model's historical volatility over 2 weeks +DataField: implied_volatility_call_150 +DataFieldDescription: At-the-money option-implied volatility for call Option for 150 days +DataField: implied_volatility_put_720 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 720 days +DataField: parkinson_volatility_60 +DataFieldDescription: Parkinson model's 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_150 +DataFieldDescription: At-the-money option-implied volatility mean for 150 days +DataField: implied_volatility_mean_skew_270 +DataFieldDescription: At-the-money option-implied volatility mean skew for 270 days +DataField: implied_volatility_mean_skew_20 +DataFieldDescription: At-the-money option-implied volatility mean skew for 20 days +DataField: historical_volatility_120 +DataFieldDescription: Close-to-close Historical volatility over 120 days +DataField: implied_volatility_mean_360 +DataFieldDescription: At-the-money option-implied volatility mean for 360 days +DataField: implied_volatility_mean_90 +DataFieldDescription: At-the-money option-implied volatility mean for 90 days +DataField: historical_volatility_150 +DataFieldDescription: Close-to-close Historical volatility over 150 days +DataField: implied_volatility_call_360 +DataFieldDescription: At-the-money option-implied volatility for call Option for 360 days +DataField: nws12_mainz_4s +DataFieldDescription: Number of minutes that elapsed before price went down 4 percentage points +DataField: nws12_mainz_3l +DataFieldDescription: Number of minutes that elapsed before price went up 3 percentage points +DataField: nws12_prez_volstddev +DataFieldDescription: (CurrentVolume - AvgVol)/VolStDev, where AvgVol is the average of the daily volume, and VolStdDev is one standard deviation for the daily volume, both for 30 calendar days +DataField: nws12_afterhsz_short_interest +DataFieldDescription: Total number of shares sold short divided by total number of shares outstanding +DataField: nws12_prez_tonlast +DataFieldDescription: Price at the time of news +DataField: nws12_prez_spylast +DataFieldDescription: Last Price of the SPY at the time of the news +DataField: news_eod_vwap +DataFieldDescription: Volume weighted average price between the time of news and the end of the session +DataField: nws12_mainz_allvwap +DataFieldDescription: Volume weighted average price of all sessions +DataField: nws12_mainz_newssess +DataFieldDescription: Index of session in which the news was reported +DataField: nws12_afterhsz_dayopen +DataFieldDescription: Price at the session open +DataField: news_mins_5_pct_up +DataFieldDescription: Number of minutes that elapsed before price went up 5 percentage points +DataField: nws12_afterhsz_result_vs_index +DataFieldDescription: ((EODClose - TONLast) / TONLast) - ((SPYClose - SPYLast) / SPYLast) +DataField: nws12_mainz_tonhigh +DataFieldDescription: Highest price reached during the session before the time of news +DataField: nws12_prez_prev_vol +DataFieldDescription: Previous day's session volume +DataField: nws12_prez_57p +DataFieldDescription: The minimum of L or S above for 7.5-minute bucket +DataField: news_tot_ticks +DataFieldDescription: Total number of ticks for the trading day +DataField: nws12_afterhsz_curr_vol +DataFieldDescription: Current day's session volume +DataField: news_mins_10_pct_dn +DataFieldDescription: Number of minutes that elapsed before price went down 10 percentage points +DataField: nws12_afterhsz_01s +DataFieldDescription: Number of minutes that elapsed before price went down 10 percentage points +DataField: nws12_prez_57l +DataFieldDescription: Number of minutes that elapsed before price went up 7.5 percentage points +DataField: nws12_prez_4p +DataFieldDescription: The minimum of L or S above for 4-minute bucket +DataField: news_low_exc_stddev +DataFieldDescription: (TONLast - EODLow) / StdDev, where StdDev is one standard deviation for the close price for 30 calendar days +DataField: nws12_prez_rangeamt +DataFieldDescription: Session High Price - Session Low Price +DataField: news_high_exc_stddev +DataFieldDescription: (EODHigh - TONLast)/StdDev, where StdDev is one standard deviation for the close price for 30 calendar days +DataField: nws12_prez_newrecord +DataFieldDescription: Tracks whether the news is the first instance or a duplicate +DataField: nws12_mainz_prevwap +DataFieldDescription: Pre session volume weighted average price +DataField: nws12_afterhsz_atrratio +DataFieldDescription: Ratio of Today Range to 20-day average true range +DataField: news_ton_high +DataFieldDescription: Highest price reached during the session before the time of news +DataField: nws12_prez_2s +DataFieldDescription: Number of minutes that elapsed before price went down 2 percentage points +DataField: nws12_prez_short_interest +DataFieldDescription: Total number of shares sold short divided by total number of shares outstanding +DataField: top1000 +DataFieldDescription: 20140630 +DataField: top200 +DataFieldDescription: 20140630 +DataField: top3000 +DataFieldDescription: 20140630 +DataField: top500 +DataFieldDescription: 20140630 +DataField: topsp500 +DataFieldDescription: 20140630 +DataField: rp_nip_inverstor +DataFieldDescription: News impact projection of investor relations news +DataField: nws18_event_relevance +DataFieldDescription: Relevance of the event to the story +DataField: rp_css_credit_ratings +DataFieldDescription: Composite sentiment score of credit ratings news +DataField: rp_css_credit +DataFieldDescription: Composite sentiment score of credit news +DataField: rp_ess_credit_ratings +DataFieldDescription: Event sentiment score of credit ratings news +DataField: nws18_ghc_lna +DataFieldDescription: Change in analyst recommendation +DataField: rp_css_product +DataFieldDescription: Composite sentiment score of product and service-related news +DataField: rp_ess_price +DataFieldDescription: Event sentiment score of stock price news +DataField: rp_nip_marketing +DataFieldDescription: News impact projection of marketing news +DataField: rp_ess_assets +DataFieldDescription: Event sentiment score of assets news +DataField: rp_ess_ratings +DataFieldDescription: Event sentiment score of analyst ratings-related news +DataField: rp_css_price +DataFieldDescription: Composite sentiment score of stock price news +DataField: rp_nip_product +DataFieldDescription: News impact projection of product and service-related news +DataField: rp_ess_mna +DataFieldDescription: Event sentiment score of mergers and acquisitions-related news +DataField: rp_ess_revenue +DataFieldDescription: Event sentiment score of revenue news +DataField: rp_css_society +DataFieldDescription: Composite sentiment score of society-related news +DataField: nws18_sse +DataFieldDescription: Sentiment of phrases impacting the company +DataField: rp_css_inverstor +DataFieldDescription: Composite sentiment score of investor relations news +DataField: rp_nip_ptg +DataFieldDescription: News impact projection of price target news +DataField: rp_css_legal +DataFieldDescription: Composite sentiment score of legal news +DataField: rp_nip_credit_ratings +DataFieldDescription: News impact projection of credit ratings news +DataField: rp_css_ratings +DataFieldDescription: Composite sentiment score of analyst ratings-related news +DataField: rp_ess_equity +DataFieldDescription: Event sentiment score of equity action news +DataField: nws18_bee +DataFieldDescription: News sentiment specializing in growth of earnings +DataField: rp_css_revenue +DataFieldDescription: Composite sentiment score of revenue news +DataField: rp_ess_technical +DataFieldDescription: Event sentiment score based on technical analysis +DataField: rp_ess_legal +DataFieldDescription: Event sentiment score of legal news +DataField: rp_css_earnings +DataFieldDescription: Composite sentiment score of earnings news +DataField: nws18_ber +DataFieldDescription: News sentiment specializing in earnings result +DataField: rp_ess_business +DataFieldDescription: Event sentiment score of business-related news +DataField: fn_comp_options_grants_weighted_avg_q +DataFieldDescription: Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated. +DataField: fnd2_oprlsfmpdcurr +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 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_inventoryfinishedgoods +DataFieldDescription: Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within 1 year or operating cycle, if longer. +DataField: fn_comp_number_of_shares_authorized_q +DataFieldDescription: The maximum number of shares (or other type of equity) originally approved (usually by shareholders and board of directors), net of any subsequent amendments and adjustments, for awards under the equity-based compensation plan. As stock or unit options and equity instruments other than options are awarded to participants, the shares or units remain authorized and become reserved for issuance under outstanding awards (not necessarily vested). +DataField: fn_incremental_shares_attributable_to_share_based_payment_q +DataFieldDescription: Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share-based payment arrangements using the treasury stock method. +DataField: fn_payments_to_acquire_businesses_net_of_cash_acquired_a +DataFieldDescription: The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase. +DataField: fnd2_a_lhdiprtsg +DataFieldDescription: Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement. +DataField: fn_repayments_of_lines_of_credit_q +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: fnd2_a_frtandfixturesg +DataFieldDescription: Amount before accumulated depreciation of equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases. +DataField: fn_assets_fair_val_l1_q +DataFieldDescription: Asset Fair Value, Recurring, Level 1 +DataField: fn_comprehensive_income_net_of_tax_q +DataFieldDescription: Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners. +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: fnd2_a_restructuringcharges +DataFieldDescription: Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation. +DataField: fn_derivative_notional_amount_q +DataFieldDescription: Nominal or face amount used to calculate payments on the derivative liability. +DataField: fnd2_a_sbcpnatqsttotnsvdptfv +DataFieldDescription: Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash. +DataField: fn_accum_depr_depletion_and_amortization_ppne_q +DataFieldDescription: Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services. +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_currfedtxexp +DataFieldDescription: Income Tax Expense, Current - Federal +DataField: fnd2_a_sbcpnargtbysbpmtwpwrr +DataFieldDescription: Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired. +DataField: fn_comp_options_exercises_weighted_avg_q +DataFieldDescription: Share-Based Compensation, Options Assumed, Weighted Average Exercise Price +DataField: fnd2_a_flintasacmamtzcsrld +DataFieldDescription: Finite Lived Intangible Assets Accumulated Amortization, Customer Related +DataField: fn_effect_of_exchange_rate_on_cash_and_equiv_q +DataFieldDescription: Amount of increase (decrease) from the effect of exchange rate changes on cash and cash equivalent balances held in foreign currencies. +DataField: fn_effect_of_exchange_rate_on_cash_and_equiv_a +DataFieldDescription: Amount of increase (decrease) from the effect of exchange rate changes on cash and cash equivalent balances held in foreign currencies. +DataField: fn_def_income_tax_expense_a +DataFieldDescription: Income Tax Expense, Deferred +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: 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: fn_comp_not_rec_stock_options_a +DataFieldDescription: Unrecognized cost of unvested stock option awards. +DataField: fnd2_a_flintasgcsrld +DataFieldDescription: Finite Lived Intangible Assets Gross, Customer Related +DataField: fnd2_a_stkrpeprogramardamt +DataFieldDescription: Amount of a stock repurchase plan authorized by an entity's Board of Directors. +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: 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 +========================= 数据字段结束 ======================================= + diff --git a/manual_prompt/manual_prompt_20251222154806.txt b/manual_prompt/manual_prompt_20251222154806.txt new file mode 100644 index 0000000..33a79fd --- /dev/null +++ b/manual_prompt/manual_prompt_20251222154806.txt @@ -0,0 +1,895 @@ +任务指令 +一、经济逻辑描述优化 +视角一:市场摩擦的横截面测绘 +核心经济逻辑: +市场摩擦创造系统性的定价延迟和反应差异。不同股票因流动性、投资者结构和交易机制差异,对相同市场信息的反应速度和程度不同。这些差异形成可预测的Alpha机会: +流动性溢价动态:低流动性股票因交易成本较高,需要更高的预期收益补偿。但流动性条件会随时间变化,形成动态的流动性溢价套利窗口。 +信息扩散速度差异:机构持仓集中度高的股票信息反应更快,散户主导的股票反应更慢且易出现过度反应,创造套利空间。 +交易冲击的持续性:大宗交易对价格的冲击在低流动性环境中衰减更慢,形成短期价格动量;在高流动性环境中衰减更快,易出现反转。 +视角二:投资者注意力生态学 +核心经济逻辑: +注意力是金融市场中的稀缺资源,其分配不均导致定价效率差异: +有限注意力约束:投资者无法同时处理所有信息,只能关注有限数量的股票,导致被忽视股票出现定价延迟。 +注意力传染效应:当某行业或主题受到关注时,注意力会按特定路径扩散(龙头→二线→边缘),形成可预测的轮动模式。 +注意力衰减曲线:事件驱动型关注会随时间衰减,但衰减速度因股票特质而异。快速衰减可能导致定价错误快速修正,缓慢衰减则可能维持定价偏差。 +视角三:价格运动的形态语法 +核心经济逻辑: +价格形态反映市场参与者的集体行为模式和心理预期: +技术分析的自我实现:广泛使用的技术指标(如支撑阻力位、均线系统)影响交易决策,形成可预测的价格行为。 +叙事驱动的价格记忆:价格在关键历史位置的行为会形成市场“记忆”,影响未来在这些位置附近的交易决策。 +多时间尺度协调:不同时间框架投资者的行为协调(共振)或冲突(背离)决定趋势的可持续性。 +二、复合因子构建的经济逻辑规范 +A. 领导力动量因子 +经济逻辑: +成交量是市场关注度和资金流向的直接体现。大成交量股票通常由机构投资者主导,其价格变动反映更充分的信息和更强的共识。这种“聪明钱”效应使大成交量股票的动量信号更具预测性。同时,成交量的横截面分布反映不同股票在投资者注意力竞争中的相对地位。 +经济学基础: +成交量与信息含量正相关(Kyle模型) +机构交易者具有信息优势 +注意力驱动的资本流动 +B. 状态自适应动量 +经济逻辑: +市场波动率状态反映信息流的速度和市场不确定性水平。高波动环境通常伴随高频信息流和快速变化的预期,短期动量更有效;低波动环境反映稳定预期,长期动量更可靠。通过波动率状态动态调整动量窗口,可以避免在不同市场机制下使用不匹配的策略。 +经济学基础: +波动率聚集现象 +市场状态的持久性 +信息处理速度与波动率的关系 +C. 行业传导因子 +经济逻辑: +行业间存在基本面关联(产业链)和资金面关联(配置资金流动)。强势行业的出现通常反映某种宏观或产业逻辑,这种逻辑会按特定顺序向相关行业传导(如上游→下游,龙头→配套)。传导速度受行业基本面关联度和市场情绪影响,创造可预测的轮动机会。 +经济学基础: +产业价值链传递 +资金配置的渐进调整 +相关性结构的时变性 +D. 情绪反转因子 +经济逻辑: +交易活跃度反映市场情绪强度。过度交易往往伴随非理性繁荣或恐慌,此时趋势可能接近拐点;交易清淡则反映市场分歧或缺乏关注,趋势可能延续。结合趋势强度可以区分情绪驱动的短期反转和基本面驱动的长期反转。 +经济学基础: +过度反应与修正 +有限套利与情绪持续性 +交易量作为情绪代理变量 +三、参数选择的经济逻辑 +回顾期选择依据: +5-10日:捕捉事件驱动型Alpha,反映短期信息冲击 +20-30日:捕捉月度调仓效应和基本面预期调整 +60-120日:捕捉季度业绩周期和行业轮动周期 +阈值参数的经济含义: +0.5:中位数效应,反映平均或典型情况 +0.7-0.8:极端情况识别,捕捉显著的异常或结构性变化 +四、行业轮动的经济学原理 +周期性轮动:宏观经济周期不同阶段对各行业影响不同(早周期、中周期、晚周期) +相对估值轮动:行业间估值差异回归均值驱动资金流动 +风险偏好轮动:市场风险偏好变化影响不同风险特征行业的相对表现 +政策驱动轮动:产业政策、监管变化创造结构性机会 +技术创新扩散:新技术沿产业链扩散的顺序性 +五、风险调整的经济逻辑 +流动性风险补偿:低流动性股票需提供更高预期收益 +波动率风险定价:高波动股票的风险溢价要求 +相关性结构风险:行业间相关性变化对分散化效果的影响 +尾部风险暴露:极端事件对不同行业的非对称影响 +六、交易可行性的经济学考虑 +交易成本内生性:流动性差的股票交易成本高,需要更强的Alpha信号 +容量约束:策略容量受市场深度限制 +市场影响成本:大额交易对价格的冲击 +竞争性衰减:被广泛采用的Alpha会因套利而衰减 +七、因子表达式的经济解释规范 +每个表达式应明确回答: +捕捉什么市场异象?(例如:注意力驱动定价延迟、流动性溢价变化等) +为什么这个异象会持续存在?(行为偏差、制度约束、风险补偿等) +在什么市场环境下更有效?(高波动、低流动性、趋势市等) +可能失效的条件是什么?(市场机制变化、投资者结构变化等) +这样的经济逻辑描述确保了每个因子都有清晰的理论基础和经济直觉,而非纯粹的数据挖掘结果。 +*=====* +输出格式: +输出必须是且仅是纯文本。 +每一行是一个完整、独立、语法正确的WebSim表达式。 +严禁任何形式的解释、编号、标点包裹(如引号)、Markdown格式或额外文本。 +===================== !!! 重点(输出方式) !!! ===================== +现在,请严格遵守以上所有规则,开始生成可立即在WebSim中运行的复合因子表达式。 +**输出格式**(一行一个表达式, 每个表达式中间需要添加一个空行, 只要表达式本身, 不要解释, 不需要序号, 也不要输出多余的东西): +表达式 +表达式 +表达式 +... +表达式 +================================================================= +重申:请确保所有表达式都使用WorldQuant WebSim平台函数,不要使用pandas、numpy或其他Python库函数。输出必须是一行有效的WQ表达式。 +以下是我的账号有权限使用的操作符, 请严格按照操作符, 以及我提供的数据集, 进行生成,组合 100 个alpha: + +以下是我的账号有权限使用的操作符, 请严格按照操作符, 进行生成,组合因子 + +========================= 操作符开始 =======================================注意: 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: 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: 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: 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: 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: 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: 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: 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_vol_30 +DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 30 days in the future. +DataField: call_breakeven_180 +DataFieldDescription: Price at which a stock's call options with expiration 180 days in the future break even based on its recent bid/ask mean. +DataField: forward_price_720 +DataFieldDescription: Forward price at 720 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_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: 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: 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: forward_price_120 +DataFieldDescription: Forward price at 120 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_60 +DataFieldDescription: Forward price at 60 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_1080 +DataFieldDescription: Price at which a stock's options with expiration 1080 days in the future break even based on its recent bid/ask mean. +DataField: put_breakeven_10 +DataFieldDescription: Price at which a stock's put options with expiration 10 days in the future break even based on its recent bid/ask mean. +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_20 +DataFieldDescription: Price at which a stock's options with expiration 20 days in the future break even based on its recent bid/ask mean. +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_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: pcr_vol_180 +DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 180 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: call_breakeven_90 +DataFieldDescription: Price at which a stock's call options with expiration 90 days in the future break even based on its recent bid/ask mean. +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_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: 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: pcr_oi_1080 +DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 1080 days in the future. +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: pcr_vol_all +DataFieldDescription: Ratio of put volume to call volume for all maturities on stock's options. +DataField: fnd6_newqeventv110_drltq +DataFieldDescription: Deferred Revenue - Long-term +DataField: fnd6_eventv110_txdbcaq +DataFieldDescription: Current Deferred Tax Asset +DataField: fnd6_rank +DataFieldDescription: SP rank with the following meaning: // 0----invalid rank //1----A+//2----A//3----A-//4----B+//5----B//6----B-//7----C+//8----C//9----C- +DataField: fnd6_newqv1300_spceepspq +DataFieldDescription: S&P Core Earnings EPS Basic - Preliminary +DataField: fnd6_newqv1300_gdwlq +DataFieldDescription: Goodwill (net) +DataField: fnd6_txdbca +DataFieldDescription: Deferred Tax Asset - Current +DataField: ebit +DataFieldDescription: Earnings Before Interest and Taxes +DataField: fnd6_esubc +DataFieldDescription: Equity in Net Loss - Earnings +DataField: fnd6_newqv1300_lltq +DataFieldDescription: Long-Term Liabilities (Total) +DataField: fnd6_newq_xoptepsqp +DataFieldDescription: Implied Option EPS Basic Preliminary +DataField: fnd6_newqeventv110_cibegniq +DataFieldDescription: Comp Inc - Beginning Net Income +DataField: fnd6_newa2v1300_sale +DataFieldDescription: Sales/Turnover (Net) +DataField: fnd6_cptnewqv1300_saleq +DataFieldDescription: Sales/Turnover (Net) +DataField: fnd6_newa2v1300_rdipeps +DataFieldDescription: In Process R&D Expense Basic EPS Effect +DataField: fnd6_newa2v1300_ppent +DataFieldDescription: Property, Plant and Equipment - Total (Net) +DataField: fnd6_newqeventv110_xopt12 +DataFieldDescription: Implied Option Expense - 12mm +DataField: fnd6_newqeventv110_loq +DataFieldDescription: Liabilities - Other +DataField: fnd6_newqv1300_seqoq +DataFieldDescription: Other Stockholders' Equity Adjustments +DataField: rd_expense +DataFieldDescription: Research And Development (Quarterly) +DataField: fnd6_acqintan +DataFieldDescription: Acquired Assets - Intangibles +DataField: fnd6_newqv1300_chq +DataFieldDescription: Cash +DataField: fnd6_aqi +DataFieldDescription: Acquisitions - Income Contribution +DataField: fnd6_reajo +DataFieldDescription: Retained Earnings - Other Adjustments +DataField: fnd6_dxd5 +DataFieldDescription: Debt (excl Capitalized Leases) - Due in 5th Year +DataField: fnd6_newa1v1300_invt +DataFieldDescription: Inventories - Total +DataField: fnd6_newqeventv110_glcepq +DataFieldDescription: Gain/Loss on Sale (Core Earnings Adjusted) Pretax +DataField: fnd6_newa1v1300_aqpl1 +DataFieldDescription: Assets Level 1 (Quoted Prices) +DataField: fnd6_newqeventv110_invwipq +DataFieldDescription: Inventory - Work in Process +DataField: fnd6_cptmfmq_oibdpq +DataFieldDescription: Operating Income Before Depreciation - Quarterly +DataField: fnd6_xpp +DataFieldDescription: Prepaid Expenses +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_maxguidance +DataFieldDescription: Max guidance value +DataField: anl4_totgw_median +DataFieldDescription: Total Goodwill - median of estimations +DataField: min_shareholders_equity_guidance +DataFieldDescription: Minimum guidance value for Shareholders' Equity +DataField: anl4_ads1detailafv110_bk +DataFieldDescription: Broker name (int) +DataField: anl4_fsdtlestmtbscqv104_item +DataFieldDescription: Financial item +DataField: anl4_rd_exp_mean +DataFieldDescription: Research and Development Expense - mean of estimations +DataField: est_sales +DataFieldDescription: Sales - mean of estimations +DataField: max_book_value_per_share_guidance +DataFieldDescription: Book value per share - Maximum value among forecasts +DataField: anl4_rd_exp_median +DataFieldDescription: Research and Development Expense - Median of estimations +DataField: max_customized_eps_guidance +DataFieldDescription: The maximum guidance value for custom earnings per share on an annual basis. +DataField: operating_profit_before_depr_amort_min_guidance_qtr +DataFieldDescription: Minimum guidance value for Earnings before interest, taxes, depreciation and amortization +DataField: anl4_fsgdncbscv4_maxguidance +DataFieldDescription: Max guidance value +DataField: anl4_qf_az_cfps_number +DataFieldDescription: Cash Flow Per Share - number of estimations +DataField: anl4_basicconltv110_pu +DataFieldDescription: The number of upper estimations +DataField: min_net_profit_guidance +DataFieldDescription: Minimum guidance value for Net Profit on an annual basis +DataField: funds_from_operations_max_guidance +DataFieldDescription: The maximum guidance value for Funds from operation - annual +DataField: free_cash_flow_per_share_reported_value +DataFieldDescription: Free cash flow per share- announced financial value +DataField: operating_profit_before_interest_tax +DataFieldDescription: Earnings Before Interest and Taxes (EBIT) - Actual Value +DataField: actual_sales_value_quarterly +DataFieldDescription: Sales - Value in financial services income statement (in millions) +DataField: net_profit_reported_value +DataFieldDescription: Net profit- announced financial value +DataField: est_tbv_ps +DataFieldDescription: Tangible Book Value per Share - mean of estimations +DataField: min_shares_outstanding_guidance +DataFieldDescription: Minimum guidance value for Shares +DataField: anl4_qfv4_div_number +DataFieldDescription: Dividend - number of estimations +DataField: anl4_eaz2lltv110_estvalue +DataFieldDescription: Estimation value +DataField: earnings_per_share_maximum +DataFieldDescription: Earnings per share - The highest estimation +DataField: net_debt_max_guidance_qtr +DataFieldDescription: Maximum guidance value for Net Debt +DataField: est_netprofit_adj +DataFieldDescription: Adjusted net income - Mean of estimations +DataField: anl4_netdebt_number +DataFieldDescription: Net debt - Number of estimations +DataField: earnings_per_share_reported +DataFieldDescription: Reported Earnings Per Share - Actual Value +DataField: max_adjusted_funds_from_operations_guidance_2 +DataFieldDescription: Adjusted funds from operation - maximum guidance value for the annual period +DataField: pv13_hierarchy_min30_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy2_min2_1k_513_sector +DataFieldDescription: grouping fields +DataField: pv13_rha2_min2_3000_513_sector +DataFieldDescription: grouping fields +DataField: pv13_new_4l_scibr +DataFieldDescription: grouping fields +DataField: pv13_h_min51_f3_sector +DataFieldDescription: grouping fields +DataField: pv13_revere_city +DataFieldDescription: City code +DataField: pv13_hierarchy23_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min2_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min10_sector +DataFieldDescription: grouping fields +DataField: pv13_reportperiodlen +DataFieldDescription: The number of units which the report covers prior to the stated end date +DataField: pv13_hierarchy_min40_3000_513_sector +DataFieldDescription: grouping fields +DataField: rel_num_comp +DataFieldDescription: number of the instrument's competitors +DataField: pv13_r2_min5_3000_sector +DataFieldDescription: grouping fields +DataField: pv13_rha2_min5_3000_513_sector +DataFieldDescription: grouping fields +DataField: pv13_rha2_min2_sector +DataFieldDescription: grouping fields +DataField: pv13_h_f3_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_f3_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min52_2k_sector +DataFieldDescription: grouping fields +DataField: pv13_6l_scibr +DataFieldDescription: grouping fields +DataField: pv13_h_f1_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min25_sector +DataFieldDescription: grouping fields +DataField: pv13_r2_liquid_min10_sector +DataFieldDescription: grouping fields +DataField: rel_num_part +DataFieldDescription: number of the instrument's partners +DataField: pv13_rha2_min20_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min2_focused_pureplay_sector +DataFieldDescription: grouping fields +DataField: pv13_rha2_min10_3000_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min20_3k_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min10_sector_3000_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min30_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min30_3000_mapped_513_sector +DataFieldDescription: grouping fields +DataField: parkinson_volatility_150 +DataFieldDescription: Parkinson model's historical volatility over 150 days +DataField: implied_volatility_call_180 +DataFieldDescription: At-the-money option-implied volatility for call Option for 180 days +DataField: implied_volatility_call_90 +DataFieldDescription: At-the-money option-implied volatility for call Option for 90 days +DataField: implied_volatility_mean_skew_30 +DataFieldDescription: At-the-money option-implied volatility mean skew for 30 days +DataField: implied_volatility_mean_skew_360 +DataFieldDescription: At-the-money option-implied volatility mean skew for 360 days +DataField: implied_volatility_mean_skew_10 +DataFieldDescription: At-the-money option-implied volatility mean skew for 10 days +DataField: implied_volatility_put_30 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 30 days +DataField: implied_volatility_put_720 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 720 days +DataField: historical_volatility_90 +DataFieldDescription: Close-to-close Historical volatility over 90 days +DataField: implied_volatility_mean_skew_150 +DataFieldDescription: At-the-money option-implied volatility mean skew for 150 days +DataField: implied_volatility_mean_skew_720 +DataFieldDescription: At-the-money option-implied volatility mean skew for 720 days +DataField: implied_volatility_put_270 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 270 days +DataField: implied_volatility_put_90 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 90 days +DataField: implied_volatility_put_120 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 120 days +DataField: implied_volatility_mean_360 +DataFieldDescription: At-the-money option-implied volatility mean for 360 days +DataField: implied_volatility_call_30 +DataFieldDescription: At-the-money option-implied volatility for call Option for 30 days +DataField: implied_volatility_put_180 +DataFieldDescription: At-the-money option-implied volatility for put option for 180 days +DataField: implied_volatility_put_360 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 360 days +DataField: parkinson_volatility_10 +DataFieldDescription: Parkinson model's historical volatility over 2 weeks +DataField: parkinson_volatility_90 +DataFieldDescription: Parkinson model's historical volatility over 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_60 +DataFieldDescription: At-the-money option-implied volatility mean skew for 60 days +DataField: parkinson_volatility_120 +DataFieldDescription: Parkinson model's historical volatility over 120 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: implied_volatility_mean_270 +DataFieldDescription: At-the-money option-implied volatility mean for 270 days +DataField: implied_volatility_call_120 +DataFieldDescription: At-the-money option-implied volatility for call Option for 120 days +DataField: implied_volatility_call_270 +DataFieldDescription: At-the-money option-implied volatility for call Option for 270 days +DataField: implied_volatility_mean_30 +DataFieldDescription: At-the-money option-implied volatility mean for 30 days +DataField: historical_volatility_180 +DataFieldDescription: Close-to-close Historical volatility over 180 days +DataField: nws12_mainz_open_vol +DataFieldDescription: Main open volume +DataField: nws12_mainz_allticks +DataFieldDescription: Total number of ticks for the trading day +DataField: nws12_mainz_rangeamt +DataFieldDescription: Session High Price - Session Low Price +DataField: nws12_mainz_3l +DataFieldDescription: Number of minutes that elapsed before price went up 3 percentage points +DataField: nws12_mainz_10_min +DataFieldDescription: The percent change in price in the first 10 minutes following the news release +DataField: nws12_afterhsz_2l +DataFieldDescription: Number of minutes that elapsed before price went up 2 percentage points +DataField: news_eod_low +DataFieldDescription: Lowest price reached between the time of news and the end of the session +DataField: nws12_afterhsz_newssess +DataFieldDescription: Index of the session in which the news was reported +DataField: nws12_prez_close_vol +DataFieldDescription: Main close volume +DataField: nws12_prez_1p +DataFieldDescription: The minimum of L or S above for 1-minute bucket +DataField: news_ton_high +DataFieldDescription: Highest price reached during the session before the time of news +DataField: nws12_mainz_90_min +DataFieldDescription: The percent change in price in the first 90 minutes following the news release +DataField: news_max_dn_amt +DataFieldDescription: The price at the time of the news minus the after the news low +DataField: nws12_afterhsz_vol_ratio +DataFieldDescription: Curr_Vol / Mov_Vol +DataField: nws12_prez_2l +DataFieldDescription: Number of minutes that elapsed before price went up 2 percentage points +DataField: news_eod_close +DataFieldDescription: Close price of the session +DataField: news_atr14 +DataFieldDescription: 14-day Average True Range +DataField: nws12_prez_newrecord +DataFieldDescription: Tracks whether the news is the first instance or a duplicate +DataField: nws12_prez_prevday +DataFieldDescription: Percent change between the previous day's open and close +DataField: nws12_afterhsz_01s +DataFieldDescription: Number of minutes that elapsed before price went down 10 percentage points +DataField: nws12_afterhsz_57l +DataFieldDescription: Number of minutes that elapsed before price went up 7.5 percentage points +DataField: nws12_allz_result1 +DataFieldDescription: Percent change between the price at the time of the news release and the price at the close 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_allz_reportsess +DataFieldDescription: Index of Session on which the spreadsheet is reporting +DataField: nws12_prez_result_vs_index +DataFieldDescription: ((EODClose - TONLast) / TONLast) - ((SPYClose - SPYLast) / SPYLast) +DataField: nws12_prez_reportsess +DataFieldDescription: Index of Session on which the spreadsheet is reporting +DataField: nws12_afterhsz_reportsess +DataFieldDescription: Index of Session on which the spreadsheet is reporting +DataField: nws12_prez_allticks +DataFieldDescription: Total number of ticks for the trading day +DataField: news_atr_ratio +DataFieldDescription: Ratio of today's range to 20-day average true range +DataField: nws12_mainz_result2 +DataFieldDescription: Percent change between the price at the time of the news release to the price at the close of the session +DataField: top1000 +DataFieldDescription: 20140630 +DataField: top200 +DataFieldDescription: 20140630 +DataField: top3000 +DataFieldDescription: 20140630 +DataField: top500 +DataFieldDescription: 20140630 +DataField: topsp500 +DataFieldDescription: 20140630 +DataField: rp_css_technical +DataFieldDescription: Composite sentiment score based on technical analysis +DataField: rp_ess_ratings +DataFieldDescription: Event sentiment score of analyst ratings-related news +DataField: rp_nip_earnings +DataFieldDescription: News impact projection of earnings news +DataField: rp_nip_mna +DataFieldDescription: News impact projection of mergers and acquisitions-related news +DataField: rp_css_product +DataFieldDescription: Composite sentiment score of product and service-related news +DataField: rp_css_ptg +DataFieldDescription: Composite sentiment score of price target news +DataField: rp_css_legal +DataFieldDescription: Composite sentiment score of legal news +DataField: rp_ess_price +DataFieldDescription: Event sentiment score of stock price news +DataField: nws18_nip +DataFieldDescription: Degree of impact of the news +DataField: rp_ess_technical +DataFieldDescription: Event sentiment score based on technical analysis +DataField: rp_nip_business +DataFieldDescription: News impact projection of business-related news +DataField: rp_css_credit +DataFieldDescription: Composite sentiment score of credit news +DataField: rp_css_inverstor +DataFieldDescription: Composite sentiment score of investor relations news +DataField: rp_nip_inverstor +DataFieldDescription: News impact projection of investor relations news +DataField: nws18_ssc +DataFieldDescription: Sentiment of the news calculated using multiple techniques +DataField: rp_css_revenue +DataFieldDescription: Composite sentiment score of revenue news +DataField: rp_nip_partner +DataFieldDescription: News impact projection of partnership news +DataField: nws18_relevance +DataFieldDescription: Relevance of news to the company +DataField: rp_css_insider +DataFieldDescription: Composite sentiment score of insider trading news +DataField: nws18_qmb +DataFieldDescription: News sentiment specializing in editorials on global markets +DataField: rp_ess_society +DataFieldDescription: Event sentiment score of society-related news +DataField: rp_ess_assets +DataFieldDescription: Event sentiment score of assets news +DataField: rp_nip_marketing +DataFieldDescription: News impact projection of marketing news +DataField: rp_nip_ptg +DataFieldDescription: News impact projection of price target news +DataField: rp_ess_product +DataFieldDescription: Event sentiment score of product and service-related news +DataField: rp_ess_ptg +DataFieldDescription: Event sentiment score of price target news +DataField: rp_nip_equity +DataFieldDescription: News impact projection of equity action news +DataField: rp_ess_partner +DataFieldDescription: Event sentiment score of partnership news +DataField: rp_css_marketing +DataFieldDescription: Composite sentiment score of marketing news +DataField: rp_ess_earnings +DataFieldDescription: Event sentiment score of earnings news +DataField: fnd2_q_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_op_lease_min_pay_due_after_5y_a +DataFieldDescription: Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due 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: fnd2_unrgtxbnfinregfprtxps +DataFieldDescription: Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns. +DataField: fn_liab_fair_val_l2_q +DataFieldDescription: Liabilities Fair Value, Recurring, Level 2 +DataField: fn_income_tax_expense_q +DataFieldDescription: Income Tax Expense (Benefit) +DataField: fn_repurchased_shares_q +DataFieldDescription: Number of shares that have been repurchased during the period. +DataField: fnd2_a_flintasamt1expnext12m +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 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_frtandfixturesg +DataFieldDescription: Amount before accumulated depreciation of equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases. +DataField: fnd2_dbplanbnfpaid +DataFieldDescription: The amount of payments made for which participants are entitled under a pension plan, including pension benefits, death benefits, and benefits due on termination of employment. Also includes payments made under a postretirement benefit plan, including prescription drug benefits, health care benefits, life insurance benefits, and legal, educational and advisory services. This item represents a periodic decrease to the plan obligations and a decrease to plan assets. +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: fn_finite_lived_intangible_assets_gross_q +DataFieldDescription: Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life. +DataField: fnd2_a_sbcpnargmpmtwvadpgwepr +DataFieldDescription: As of the balance sheet date, the weighted-average exercise price for outstanding stock options that are fully vested or expected to vest. +DataField: fnd2_a_lhdiprtsg +DataFieldDescription: Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement. +DataField: fn_comp_non_opt_nonvested_number_a +DataFieldDescription: The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date. +DataField: fn_income_from_equity_investments_q +DataFieldDescription: Income From Equity Method Investments +DataField: fn_finite_lived_intangible_assets_gross_a +DataFieldDescription: Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life. +DataField: fnd2_dbplanfvalpnas +DataFieldDescription: Fair value of assets that have been segregated and restricted to provide pension or postretirement benefits. Assets include, but are not limited to, stocks, bonds, other investments, earnings from investments, and contributions by the employer and employees. +DataField: fn_accrued_liab_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: fn_proceeds_from_issuance_of_common_stock_a +DataFieldDescription: The cash inflow from the additional capital contribution to the entity. +DataField: fnd2_dbplanactuarialgl +DataFieldDescription: Defined Benefit Plan, Benefits Paid, Plan Assets +DataField: fn_new_shares_options_a +DataFieldDescription: Number of share options (or share units) exercised during the current period. +DataField: fn_business_combination_purchase_price_q +DataFieldDescription: Business Combination, Purchase Price +DataField: fnd2_a_bnscbmacqrcsts +DataFieldDescription: This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities. +DataField: fn_taxes_payable_a +DataFieldDescription: Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property, and other taxes. 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_income_taxes_paid_q +DataFieldDescription: The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income. +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: fn_op_lease_min_pay_due_in_3y_a +DataFieldDescription: Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in 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_accum_oth_income_loss_fx_adj_net_of_tax_a +DataFieldDescription: Accumulated adjustment, net of tax, that results from the process of translating subsidiary financial statements and foreign equity investments into the reporting currency from the functional currency of the reporting entity, net of reclassification of realized foreign currency translation gains or losses. +DataField: fnd2_a_sbcpnargmsawpfipwerpr +DataFieldDescription: Weighted average price of options that were either forfeited or expired. +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: 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 +========================= 数据字段结束 ======================================= + diff --git a/manual_prompt/manual_prompt_20251222154829.txt b/manual_prompt/manual_prompt_20251222154829.txt new file mode 100644 index 0000000..bec3294 --- /dev/null +++ b/manual_prompt/manual_prompt_20251222154829.txt @@ -0,0 +1,895 @@ +任务指令 +一、经济逻辑描述优化 +视角一:市场摩擦的横截面测绘 +核心经济逻辑: +市场摩擦创造系统性的定价延迟和反应差异。不同股票因流动性、投资者结构和交易机制差异,对相同市场信息的反应速度和程度不同。这些差异形成可预测的Alpha机会: +流动性溢价动态:低流动性股票因交易成本较高,需要更高的预期收益补偿。但流动性条件会随时间变化,形成动态的流动性溢价套利窗口。 +信息扩散速度差异:机构持仓集中度高的股票信息反应更快,散户主导的股票反应更慢且易出现过度反应,创造套利空间。 +交易冲击的持续性:大宗交易对价格的冲击在低流动性环境中衰减更慢,形成短期价格动量;在高流动性环境中衰减更快,易出现反转。 +视角二:投资者注意力生态学 +核心经济逻辑: +注意力是金融市场中的稀缺资源,其分配不均导致定价效率差异: +有限注意力约束:投资者无法同时处理所有信息,只能关注有限数量的股票,导致被忽视股票出现定价延迟。 +注意力传染效应:当某行业或主题受到关注时,注意力会按特定路径扩散(龙头→二线→边缘),形成可预测的轮动模式。 +注意力衰减曲线:事件驱动型关注会随时间衰减,但衰减速度因股票特质而异。快速衰减可能导致定价错误快速修正,缓慢衰减则可能维持定价偏差。 +视角三:价格运动的形态语法 +核心经济逻辑: +价格形态反映市场参与者的集体行为模式和心理预期: +技术分析的自我实现:广泛使用的技术指标(如支撑阻力位、均线系统)影响交易决策,形成可预测的价格行为。 +叙事驱动的价格记忆:价格在关键历史位置的行为会形成市场“记忆”,影响未来在这些位置附近的交易决策。 +多时间尺度协调:不同时间框架投资者的行为协调(共振)或冲突(背离)决定趋势的可持续性。 +二、复合因子构建的经济逻辑规范 +A. 领导力动量因子 +经济逻辑: +成交量是市场关注度和资金流向的直接体现。大成交量股票通常由机构投资者主导,其价格变动反映更充分的信息和更强的共识。这种“聪明钱”效应使大成交量股票的动量信号更具预测性。同时,成交量的横截面分布反映不同股票在投资者注意力竞争中的相对地位。 +经济学基础: +成交量与信息含量正相关(Kyle模型) +机构交易者具有信息优势 +注意力驱动的资本流动 +B. 状态自适应动量 +经济逻辑: +市场波动率状态反映信息流的速度和市场不确定性水平。高波动环境通常伴随高频信息流和快速变化的预期,短期动量更有效;低波动环境反映稳定预期,长期动量更可靠。通过波动率状态动态调整动量窗口,可以避免在不同市场机制下使用不匹配的策略。 +经济学基础: +波动率聚集现象 +市场状态的持久性 +信息处理速度与波动率的关系 +C. 行业传导因子 +经济逻辑: +行业间存在基本面关联(产业链)和资金面关联(配置资金流动)。强势行业的出现通常反映某种宏观或产业逻辑,这种逻辑会按特定顺序向相关行业传导(如上游→下游,龙头→配套)。传导速度受行业基本面关联度和市场情绪影响,创造可预测的轮动机会。 +经济学基础: +产业价值链传递 +资金配置的渐进调整 +相关性结构的时变性 +D. 情绪反转因子 +经济逻辑: +交易活跃度反映市场情绪强度。过度交易往往伴随非理性繁荣或恐慌,此时趋势可能接近拐点;交易清淡则反映市场分歧或缺乏关注,趋势可能延续。结合趋势强度可以区分情绪驱动的短期反转和基本面驱动的长期反转。 +经济学基础: +过度反应与修正 +有限套利与情绪持续性 +交易量作为情绪代理变量 +三、参数选择的经济逻辑 +回顾期选择依据: +5-10日:捕捉事件驱动型Alpha,反映短期信息冲击 +20-30日:捕捉月度调仓效应和基本面预期调整 +60-120日:捕捉季度业绩周期和行业轮动周期 +阈值参数的经济含义: +0.5:中位数效应,反映平均或典型情况 +0.7-0.8:极端情况识别,捕捉显著的异常或结构性变化 +四、行业轮动的经济学原理 +周期性轮动:宏观经济周期不同阶段对各行业影响不同(早周期、中周期、晚周期) +相对估值轮动:行业间估值差异回归均值驱动资金流动 +风险偏好轮动:市场风险偏好变化影响不同风险特征行业的相对表现 +政策驱动轮动:产业政策、监管变化创造结构性机会 +技术创新扩散:新技术沿产业链扩散的顺序性 +五、风险调整的经济逻辑 +流动性风险补偿:低流动性股票需提供更高预期收益 +波动率风险定价:高波动股票的风险溢价要求 +相关性结构风险:行业间相关性变化对分散化效果的影响 +尾部风险暴露:极端事件对不同行业的非对称影响 +六、交易可行性的经济学考虑 +交易成本内生性:流动性差的股票交易成本高,需要更强的Alpha信号 +容量约束:策略容量受市场深度限制 +市场影响成本:大额交易对价格的冲击 +竞争性衰减:被广泛采用的Alpha会因套利而衰减 +七、因子表达式的经济解释规范 +每个表达式应明确回答: +捕捉什么市场异象?(例如:注意力驱动定价延迟、流动性溢价变化等) +为什么这个异象会持续存在?(行为偏差、制度约束、风险补偿等) +在什么市场环境下更有效?(高波动、低流动性、趋势市等) +可能失效的条件是什么?(市场机制变化、投资者结构变化等) +这样的经济逻辑描述确保了每个因子都有清晰的理论基础和经济直觉,而非纯粹的数据挖掘结果。 +*=====* +输出格式: +输出必须是且仅是纯文本。 +每一行是一个完整、独立、语法正确的WebSim表达式。 +严禁任何形式的解释、编号、标点包裹(如引号)、Markdown格式或额外文本。 +===================== !!! 重点(输出方式) !!! ===================== +现在,请严格遵守以上所有规则,开始生成可立即在WebSim中运行的复合因子表达式。 +**输出格式**(一行一个表达式, 每个表达式中间需要添加一个空行, 只要表达式本身, 不要解释, 不需要序号, 也不要输出多余的东西): +表达式 +表达式 +表达式 +... +表达式 +================================================================= +重申:请确保所有表达式都使用WorldQuant WebSim平台函数,不要使用pandas、numpy或其他Python库函数。输出必须是一行有效的WQ表达式。 +以下是我的账号有权限使用的操作符, 请严格按照操作符, 以及我提供的数据集, 进行生成,组合 100 个alpha: + +以下是我的账号有权限使用的操作符, 请严格按照操作符, 进行生成,组合因子 + +========================= 操作符开始 =======================================注意: 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_150 +DataFieldDescription: Price at which a stock's call options with expiration 150 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_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: 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: forward_price_270 +DataFieldDescription: Forward price at 270 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: 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: forward_price_120 +DataFieldDescription: Forward price at 120 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_30 +DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 30 days in the future. +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: call_breakeven_360 +DataFieldDescription: Price at which a stock's call options with expiration 360 days in the future break even based on its recent bid/ask mean. +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: forward_price_10 +DataFieldDescription: Forward price at 10 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_150 +DataFieldDescription: Forward price at 150 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: put_breakeven_10 +DataFieldDescription: Price at which a stock's put options with expiration 10 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: 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_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: pcr_vol_30 +DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 30 days in the future. +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: call_breakeven_90 +DataFieldDescription: Price at which a stock's call options with expiration 90 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: 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: pcr_vol_150 +DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 150 days in the future. +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: 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_20 +DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 20 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_oi_360 +DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 360 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: fnd6_aodo +DataFieldDescription: Other Assets excluding Discontinued Operations +DataField: fnd6_aldo +DataFieldDescription: Long-term Assets of Discontinued Operations +DataField: fnd6_newqv1300_ciderglq +DataFieldDescription: Comp Inc - Derivative Gains/Losses +DataField: fnd6_txfed +DataFieldDescription: Income Taxes - Federal +DataField: fnd6_mibn +DataFieldDescription: Noncontrolling Interests - Nonredeemable - Balance Sheet +DataField: fnd6_cptmfmq_opepsq +DataFieldDescription: Earnings Per Share from Operations +DataField: fnd6_eventv110_txdbclq +DataFieldDescription: Current Deferred Tax Liability +DataField: fnd6_newqeventv110_aoq +DataFieldDescription: Assets - Other - Total +DataField: fnd6_newqeventv110_seteps12 +DataFieldDescription: Settlement (Litigation/Insurance) Basic EPS Effect 12MM +DataField: fnd6_newqv1300_wcapq +DataFieldDescription: Working Capital (Balance Sheet) +DataField: fnd6_itcb +DataFieldDescription: Investment Tax Credit (Balance Sheet) +DataField: fnd6_intan +DataFieldDescription: Intangible Assets - Total +DataField: fnd6_lno +DataFieldDescription: Liabilities Netting & Other Adjustments +DataField: fnd6_cptnewqv1300_oeps12 +DataFieldDescription: Earnings Per Share from Operations - 12 Months Moving +DataField: fnd6_eventv110_gdwlieps12 +DataFieldDescription: Impairment of Goodwill Basic EPS Effect 12MM +DataField: fnd6_newqeventv110_xoptdqp +DataFieldDescription: Implied Option EPS Diluted Preliminary +DataField: fnd6_xacc +DataFieldDescription: Accrued Expenses +DataField: fnd6_newa1v1300_che +DataFieldDescription: Cash and Short-Term Investments +DataField: fnd6_cibegni +DataFieldDescription: Comp Inc - Beginning Net Income +DataField: fnd6_newqeventv110_glced12 +DataFieldDescription: Gain/Loss on Sale (Core Earnings Adjusted) Diluted EPS Effect 12MM +DataField: fnd6_newqv1300_lqpl1q +DataFieldDescription: Liabilities Level 1 (Quoted Prices) +DataField: fnd6_xints +DataFieldDescription: Interest Expense +DataField: bookvalue_ps +DataFieldDescription: Book Value Per Share +DataField: fnd6_newqeventv110_lol2q +DataFieldDescription: Liabilities Level 2 (Observable) +DataField: fnd6_newa1v1300_fincf +DataFieldDescription: Financing Activities - Net Cash Flow +DataField: fnd6_newqeventv110_optrfrq +DataFieldDescription: Risk Free Rate - Assumption (%) +DataField: fnd6_txdfo +DataFieldDescription: Deferred Taxes - Foreign +DataField: fnd6_newqv1300_chq +DataFieldDescription: Cash +DataField: fnd6_newqeventv110_txdiq +DataFieldDescription: Income Taxes - Deferred +DataField: fnd6_newqv1300_tfvlq +DataFieldDescription: Total Fair Value Liabilities +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: sales_guidance_value +DataFieldDescription: Sales - Guidance value for the annual period +DataField: anl4_fcf_number +DataFieldDescription: Free Cash Flow - number of estimations +DataField: anl4_ebitda_number +DataFieldDescription: Earnings before interest, taxes, depreciation and amortization - number of estimations +DataField: anl4_eaz2lrec_person +DataFieldDescription: Broker Id +DataField: anl4_basicconqfv110_low +DataFieldDescription: The lowest estimation +DataField: anl4_qf_az_eps_number +DataFieldDescription: Earnings per share - number of estimations +DataField: anl4_capex_value +DataFieldDescription: Capital Expenditures - announced financial value +DataField: sales_estimate_count_quarterly +DataFieldDescription: Sales - number of estimations +DataField: anl4_fsguidanceafv4_minguidance +DataFieldDescription: Min guidance value +DataField: max_reported_pretax_income_guidance +DataFieldDescription: Reported Pretax income- maximum guidance value +DataField: anl4_epsa_flag +DataFieldDescription: Earnings per share adjusted by excluding extraordinary items and stock option expenses - forecast type (revision/new/...) +DataField: max_investing_cashflow_guidance +DataFieldDescription: The maximum guidance value for Cash Flow from Investing. +DataField: anl4_cuo1conqfv110_item +DataFieldDescription: Financial item +DataField: anl4_basicafv4_actual +DataFieldDescription: Announced financial data for the annual period. +DataField: cash_flow_operations_min_guidance +DataFieldDescription: Minimum guidance value for Cash Flow from Operations on an annual basis. +DataField: anl4_buy +DataFieldDescription: The number of recommendations to long the instrument +DataField: anl4_dei2laf_item +DataFieldDescription: Financial item +DataField: anl4_eaz2lltv110_person +DataFieldDescription: Broker Id +DataField: anl4_epsr_mean +DataFieldDescription: GAAP Earnings per share - mean of estimations +DataField: anl4_rd_exp_high +DataFieldDescription: Research and Development Expense - the highest estimation +DataField: max_adjusted_net_profit_guidance +DataFieldDescription: The maximum guidance value for adjusted net profit on an annual basis. +DataField: max_adjusted_eps_guidance +DataFieldDescription: The maximum guidance value for adjusted earnings per share. +DataField: min_adjusted_funds_from_operations_adj_guidance +DataFieldDescription: Minimum guidance value for Adjusted funds from operation +DataField: sales_min_guidance_quarterly +DataFieldDescription: Minimum guidance value for Sales +DataField: anl4_cfi_low +DataFieldDescription: Cash Flow From Investing - The lowest estimation +DataField: est_ffo +DataFieldDescription: Funds From Operation - Summary on Estimations, Mean +DataField: max_shareholders_equity_guidance +DataFieldDescription: The maximum guidance value for Total Shareholders' Equity. +DataField: lowest_sales_estimate +DataFieldDescription: Sales - The lowest estimation for the annual period +DataField: min_share_buyback_guidance +DataFieldDescription: Shares Basic - Minimum guidance value for the annual period +DataField: eps_min_guidance_quarterly +DataFieldDescription: Minimum guidance value for Earnings per Share +DataField: single_sector_pureplay_company_count +DataFieldDescription: Number of companies exclusively operating in a single sector. +DataField: pv13_hierarchy_min20_513_sector +DataFieldDescription: grouping fields +DataField: pv13_r2_liquid_min2_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min2_1000_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min10_sector_3000_sector +DataFieldDescription: grouping fields +DataField: pv13_di_6l +DataFieldDescription: grouping fields +DataField: pv13_4l_scibr +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min52_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min10_top3000_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_f2_sector +DataFieldDescription: grouping fields +DataField: rel_ret_part +DataFieldDescription: Averaged one-day return of the instrument's partners +DataField: pv13_5l_scibr +DataFieldDescription: grouping fields +DataField: pv13_ustomergraphrank_page_rank +DataFieldDescription: the PageRank of customers +DataField: pv13_hierarchy_min40_3000_513_sector +DataFieldDescription: grouping fields +DataField: pv13_h2_sector +DataFieldDescription: grouping fields +DataField: pv13_percentregion +DataFieldDescription: Exposure percentage +DataField: pv13_r2_min2_1000_sector +DataFieldDescription: grouping fields +DataField: rel_num_all +DataFieldDescription: number of the companies whose product overlapped with the instrument +DataField: pv13_hierarchy_min2_focused_pureplay_sector +DataFieldDescription: grouping fields +DataField: pv13_reporttype +DataFieldDescription: Type of report +DataField: pv13_hierarchy_min22_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min52_sector +DataFieldDescription: grouping fields +DataField: pv13_rha2_min5_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min5_513_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy23_sector +DataFieldDescription: grouping fields +DataField: pv13_region +DataFieldDescription: Unique code of the region +DataField: pv13_h_min2_focused_sector +DataFieldDescription: Grouping fields for top 200 +DataField: pv13_hierarchy_min20_top3000_513_sector +DataFieldDescription: grouping fields +DataField: pv13_ompetitorgraphrank_hub_rank +DataFieldDescription: the HITS hub score of competitors +DataField: pv13_rha2_min30_3000_513_sector +DataFieldDescription: grouping fields +DataField: implied_volatility_mean_skew_120 +DataFieldDescription: At-the-money option-implied volatility mean skew for 120 days +DataField: implied_volatility_call_180 +DataFieldDescription: At-the-money option-implied volatility for call Option for 180 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: implied_volatility_mean_720 +DataFieldDescription: At-the-money option-implied volatility mean for 720 days +DataField: implied_volatility_mean_90 +DataFieldDescription: At-the-money option-implied volatility mean for 90 days +DataField: historical_volatility_180 +DataFieldDescription: Close-to-close Historical volatility over 180 days +DataField: parkinson_volatility_180 +DataFieldDescription: Parkinson model's historical volatility over 180 days +DataField: parkinson_volatility_10 +DataFieldDescription: Parkinson model's historical volatility over 2 weeks +DataField: implied_volatility_mean_skew_270 +DataFieldDescription: At-the-money option-implied volatility mean skew for 270 days +DataField: implied_volatility_mean_180 +DataFieldDescription: At-the-money option-implied volatility mean for 180 days +DataField: implied_volatility_mean_10 +DataFieldDescription: At-the-money option-implied volatility mean for 10 days +DataField: implied_volatility_mean_skew_20 +DataFieldDescription: At-the-money option-implied volatility mean skew for 20 days +DataField: implied_volatility_mean_20 +DataFieldDescription: At-the-money option-implied volatility mean for 20 days +DataField: implied_volatility_call_30 +DataFieldDescription: At-the-money option-implied volatility for call Option for 30 days +DataField: implied_volatility_mean_skew_720 +DataFieldDescription: At-the-money option-implied volatility mean skew for 720 days +DataField: implied_volatility_mean_skew_10 +DataFieldDescription: At-the-money option-implied volatility mean skew for 10 days +DataField: implied_volatility_mean_skew_30 +DataFieldDescription: At-the-money option-implied volatility mean skew for 30 days +DataField: implied_volatility_call_150 +DataFieldDescription: At-the-money option-implied volatility for call Option for 150 days +DataField: implied_volatility_put_90 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 90 days +DataField: implied_volatility_mean_skew_1080 +DataFieldDescription: At-the-money option-implied volatility mean skew for 3 years +DataField: implied_volatility_put_60 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 60 days +DataField: implied_volatility_put_30 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 30 days +DataField: implied_volatility_put_10 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 10 days +DataField: implied_volatility_mean_60 +DataFieldDescription: At-the-money option-implied volatility mean for 60 days +DataField: implied_volatility_put_360 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 360 days +DataField: implied_volatility_call_1080 +DataFieldDescription: At-the-money option-implied volatility for call option for 1080 days +DataField: implied_volatility_call_60 +DataFieldDescription: At-the-money option-implied volatility for call 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_put_120 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 120 days +DataField: nws12_allz_newssess +DataFieldDescription: Index of session in which the news was reported +DataField: nws12_mainz_1p +DataFieldDescription: The minimum of L or S above for 1-minute bucket +DataField: nws12_prez_spylast +DataFieldDescription: Last Price of the SPY at the time of the news +DataField: nws12_afterhsz_eodclose +DataFieldDescription: Close price of the session +DataField: nws12_prez_maxdnamt +DataFieldDescription: The price at the time of the news minus the after the news low +DataField: nws12_prez_90_min +DataFieldDescription: The percent change in price in the first 90 minutes following the news release +DataField: nws12_prez_peratio +DataFieldDescription: Reported price to earnings ratio for the calendar day of the session +DataField: nws12_afterhsz_newrecord +DataFieldDescription: Tracks whether the news is first instance or a duplicate +DataField: news_mins_10_pct_dn +DataFieldDescription: Number of minutes that elapsed before price went down 10 percentage points +DataField: nws12_prez_maxupamt +DataFieldDescription: The after-the-news high minus the price at the time of the news +DataField: nws12_afterhsz_postvwap +DataFieldDescription: Post-session volume weighted average price +DataField: news_mins_4_pct_dn +DataFieldDescription: Number of minutes that elapsed before price went down 4 percentage points +DataField: nws12_afterhsz_reportsess +DataFieldDescription: Index of Session on which the spreadsheet is reporting +DataField: nws12_mainz_provider +DataFieldDescription: index of name of the news provider +DataField: news_spy_last +DataFieldDescription: Last Price of the SPY at the time of the news +DataField: nws12_afterhsz_newssess +DataFieldDescription: Index of the session in which the news was reported +DataField: nws12_prez_10_min +DataFieldDescription: The percent change in price in the first 10 minutes following the news release +DataField: nws12_afterhsz_spyclose +DataFieldDescription: Price of SPY at close of session +DataField: nws12_mainz_02p +DataFieldDescription: The minimum of L or S above for 20-minute bucket +DataField: news_ton_high +DataFieldDescription: Highest price reached during the session before the time of news +DataField: news_pct_30min +DataFieldDescription: The percent change in price in the first 30 minutes following the news release +DataField: nws12_mainz_1l +DataFieldDescription: Number of minutes that elapsed before price went up 1 percentage point +DataField: nws12_prez_mktcap +DataFieldDescription: Reported market capitalization for the calendar day of the session +DataField: nws12_mainz_volstddev +DataFieldDescription: (CurrentVolume - AvgVol)/VolStDev, where AvgVol is the average of the daily volume, and VolStdDev is one standard deviation for the daily volume, both for 30 calendar days +DataField: nws12_prez_curr_vol +DataFieldDescription: Current day's session volume +DataField: nws12_prez_1p +DataFieldDescription: The minimum of L or S above for 1-minute bucket +DataField: nws12_mainz_5l +DataFieldDescription: Number of minutes that elapsed before price went up 5 percentage points +DataField: news_mins_20_chg +DataFieldDescription: The minimum of L or S above for 20-minute bucket +DataField: nws12_mainz_newssess +DataFieldDescription: Index of session in which the news was reported +DataField: nws12_prez_2p +DataFieldDescription: The minimum of L or S above for 2-minute bucket +DataField: top1000 +DataFieldDescription: 20140630 +DataField: top200 +DataFieldDescription: 20140630 +DataField: top3000 +DataFieldDescription: 20140630 +DataField: top500 +DataFieldDescription: 20140630 +DataField: topsp500 +DataFieldDescription: 20140630 +DataField: rp_ess_dividends +DataFieldDescription: Event sentiment score of dividends news +DataField: rp_nip_price +DataFieldDescription: News impact projection of stock price news +DataField: rp_nip_ratings +DataFieldDescription: News impact projection of analyst ratings-related news +DataField: rp_css_assets +DataFieldDescription: Composite sentiment score of assets news +DataField: rp_css_inverstor +DataFieldDescription: Composite sentiment score of investor relations news +DataField: rp_css_insider +DataFieldDescription: Composite sentiment score of insider trading news +DataField: rp_nip_technical +DataFieldDescription: News impact projection based on technical analysis +DataField: rp_ess_price +DataFieldDescription: Event sentiment score of stock price news +DataField: rp_nip_credit +DataFieldDescription: News impact projection of credit news +DataField: nws18_qmb +DataFieldDescription: News sentiment specializing in editorials on global markets +DataField: rp_css_ptg +DataFieldDescription: Composite sentiment score of price target news +DataField: rp_css_society +DataFieldDescription: Composite sentiment score of society-related news +DataField: rp_nip_business +DataFieldDescription: News impact projection of business-related news +DataField: rp_nip_revenue +DataFieldDescription: News impact projection of revenue news +DataField: rp_nip_dividends +DataFieldDescription: News impact projection of dividends news +DataField: rp_css_equity +DataFieldDescription: Composite sentiment score of equity action news +DataField: rp_ess_revenue +DataFieldDescription: Event sentiment score of revenue news +DataField: rp_css_dividends +DataFieldDescription: Composite sentiment score of dividends news +DataField: nws18_event_relevance +DataFieldDescription: Relevance of the event to the story +DataField: rp_ess_labor +DataFieldDescription: Event sentiment score of labor issues news +DataField: rp_ess_credit_ratings +DataFieldDescription: Event sentiment score of credit ratings news +DataField: rp_ess_ratings +DataFieldDescription: Event sentiment score of analyst ratings-related news +DataField: rp_nip_equity +DataFieldDescription: News impact projection of equity action news +DataField: nws18_relevance +DataFieldDescription: Relevance of news to the company +DataField: rp_nip_ptg +DataFieldDescription: News impact projection of price target news +DataField: rp_ess_assets +DataFieldDescription: Event sentiment score of assets news +DataField: rp_ess_society +DataFieldDescription: Event sentiment score of society-related news +DataField: rp_ess_partner +DataFieldDescription: Event sentiment score of partnership news +DataField: rp_css_ratings +DataFieldDescription: Composite sentiment score of analyst ratings-related news +DataField: rp_nip_mna +DataFieldDescription: News impact projection of mergers and acquisitions-related news +DataField: fn_oth_comp_fair_value_a +DataFieldDescription: Annual share-based compensation equity instruments other than options grants in period weighted average grant date fair value +DataField: fn_finite_lived_intangible_assets_net_a +DataFieldDescription: Finite Lived Intangible Assets, Net +DataField: fnd2_a_gsles1xtinguishmentofd +DataFieldDescription: Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity. +DataField: fn_accrued_liab_a +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: 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: fn_repayments_of_lines_of_credit_q +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: fnd2_propplteqmuflmamfrt +DataFieldDescription: PPE, Furniture, Useful Life, Maximum +DataField: fnd2_a_stkdrgprdvalnewissues +DataFieldDescription: Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering. +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_income_from_equity_investments_q +DataFieldDescription: Income From Equity Method Investments +DataField: fnd2_a_unrgtxbnfitxpenlintacd +DataFieldDescription: Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return. +DataField: fnd2_q_flintasamt1expy5 +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 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_a_lhdiprtsg +DataFieldDescription: Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement. +DataField: fn_new_shares_options_q +DataFieldDescription: Number of share options (or share units) exercised during the current period. +DataField: fn_assets_fair_val_l3_q +DataFieldDescription: Asset Fair Value, Recurring, Level 3 +DataField: fn_op_lease_min_pay_due_in_3y_a +DataFieldDescription: Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in 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: 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_comp_options_exercises_weighted_avg_a +DataFieldDescription: Share-Based Compensation, Options Assumed, Weighted Average Exercise Price +DataField: fn_finite_lived_intangible_assets_net_q +DataFieldDescription: Finite Lived Intangible Assets, Net +DataField: fnd2_a_blgandiprtsg +DataFieldDescription: Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing. +DataField: fnd2_a_bnscbmacqrcsts +DataFieldDescription: This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities. +DataField: fn_debt_issuance_costs_q +DataFieldDescription: Amount of debt issuance costs (for example, but not limited to, legal, accounting, broker, and regulatory fees). +DataField: fn_taxes_payable_q +DataFieldDescription: Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. 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: fnd2_a_sbcpnargtbysbpmtwpwrr +DataFieldDescription: Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired. +DataField: fnd2_a_eplsrbcpntxbnffcmpex +DataFieldDescription: The total recognized tax benefit related to compensation cost for equity-based payment arrangements recognized in income during the period. +DataField: fn_def_tax_liab_a +DataFieldDescription: Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting. +DataField: fn_proceeds_from_issuance_of_common_stock_q +DataFieldDescription: The cash inflow from the additional capital contribution to the entity. +DataField: fn_derivative_notional_amount_q +DataFieldDescription: Nominal or face amount used to calculate payments on the derivative liability. +DataField: fn_comp_number_of_shares_authorized_q +DataFieldDescription: The maximum number of shares (or other type of equity) originally approved (usually by shareholders and board of directors), net of any subsequent amendments and adjustments, for awards under the equity-based compensation plan. As stock or unit options and equity instruments other than options are awarded to participants, the shares or units remain authorized and become reserved for issuance under outstanding awards (not necessarily vested). +DataField: fnd2_a_flintasamt1expytwo +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 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: 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 +========================= 数据字段结束 ======================================= + diff --git a/manual_prompt/manual_prompt_20251222154935.txt b/manual_prompt/manual_prompt_20251222154935.txt new file mode 100644 index 0000000..a56dbbe --- /dev/null +++ b/manual_prompt/manual_prompt_20251222154935.txt @@ -0,0 +1,895 @@ +任务指令 +一、经济逻辑描述优化 +视角一:市场摩擦的横截面测绘 +核心经济逻辑: +市场摩擦创造系统性的定价延迟和反应差异。不同股票因流动性、投资者结构和交易机制差异,对相同市场信息的反应速度和程度不同。这些差异形成可预测的Alpha机会: +流动性溢价动态:低流动性股票因交易成本较高,需要更高的预期收益补偿。但流动性条件会随时间变化,形成动态的流动性溢价套利窗口。 +信息扩散速度差异:机构持仓集中度高的股票信息反应更快,散户主导的股票反应更慢且易出现过度反应,创造套利空间。 +交易冲击的持续性:大宗交易对价格的冲击在低流动性环境中衰减更慢,形成短期价格动量;在高流动性环境中衰减更快,易出现反转。 +视角二:投资者注意力生态学 +核心经济逻辑: +注意力是金融市场中的稀缺资源,其分配不均导致定价效率差异: +有限注意力约束:投资者无法同时处理所有信息,只能关注有限数量的股票,导致被忽视股票出现定价延迟。 +注意力传染效应:当某行业或主题受到关注时,注意力会按特定路径扩散(龙头→二线→边缘),形成可预测的轮动模式。 +注意力衰减曲线:事件驱动型关注会随时间衰减,但衰减速度因股票特质而异。快速衰减可能导致定价错误快速修正,缓慢衰减则可能维持定价偏差。 +视角三:价格运动的形态语法 +核心经济逻辑: +价格形态反映市场参与者的集体行为模式和心理预期: +技术分析的自我实现:广泛使用的技术指标(如支撑阻力位、均线系统)影响交易决策,形成可预测的价格行为。 +叙事驱动的价格记忆:价格在关键历史位置的行为会形成市场“记忆”,影响未来在这些位置附近的交易决策。 +多时间尺度协调:不同时间框架投资者的行为协调(共振)或冲突(背离)决定趋势的可持续性。 +二、复合因子构建的经济逻辑规范 +A. 领导力动量因子 +经济逻辑: +成交量是市场关注度和资金流向的直接体现。大成交量股票通常由机构投资者主导,其价格变动反映更充分的信息和更强的共识。这种“聪明钱”效应使大成交量股票的动量信号更具预测性。同时,成交量的横截面分布反映不同股票在投资者注意力竞争中的相对地位。 +经济学基础: +成交量与信息含量正相关(Kyle模型) +机构交易者具有信息优势 +注意力驱动的资本流动 +B. 状态自适应动量 +经济逻辑: +市场波动率状态反映信息流的速度和市场不确定性水平。高波动环境通常伴随高频信息流和快速变化的预期,短期动量更有效;低波动环境反映稳定预期,长期动量更可靠。通过波动率状态动态调整动量窗口,可以避免在不同市场机制下使用不匹配的策略。 +经济学基础: +波动率聚集现象 +市场状态的持久性 +信息处理速度与波动率的关系 +C. 行业传导因子 +经济逻辑: +行业间存在基本面关联(产业链)和资金面关联(配置资金流动)。强势行业的出现通常反映某种宏观或产业逻辑,这种逻辑会按特定顺序向相关行业传导(如上游→下游,龙头→配套)。传导速度受行业基本面关联度和市场情绪影响,创造可预测的轮动机会。 +经济学基础: +产业价值链传递 +资金配置的渐进调整 +相关性结构的时变性 +D. 情绪反转因子 +经济逻辑: +交易活跃度反映市场情绪强度。过度交易往往伴随非理性繁荣或恐慌,此时趋势可能接近拐点;交易清淡则反映市场分歧或缺乏关注,趋势可能延续。结合趋势强度可以区分情绪驱动的短期反转和基本面驱动的长期反转。 +经济学基础: +过度反应与修正 +有限套利与情绪持续性 +交易量作为情绪代理变量 +三、参数选择的经济逻辑 +回顾期选择依据: +5-10日:捕捉事件驱动型Alpha,反映短期信息冲击 +20-30日:捕捉月度调仓效应和基本面预期调整 +60-120日:捕捉季度业绩周期和行业轮动周期 +阈值参数的经济含义: +0.5:中位数效应,反映平均或典型情况 +0.7-0.8:极端情况识别,捕捉显著的异常或结构性变化 +四、行业轮动的经济学原理 +周期性轮动:宏观经济周期不同阶段对各行业影响不同(早周期、中周期、晚周期) +相对估值轮动:行业间估值差异回归均值驱动资金流动 +风险偏好轮动:市场风险偏好变化影响不同风险特征行业的相对表现 +政策驱动轮动:产业政策、监管变化创造结构性机会 +技术创新扩散:新技术沿产业链扩散的顺序性 +五、风险调整的经济逻辑 +流动性风险补偿:低流动性股票需提供更高预期收益 +波动率风险定价:高波动股票的风险溢价要求 +相关性结构风险:行业间相关性变化对分散化效果的影响 +尾部风险暴露:极端事件对不同行业的非对称影响 +六、交易可行性的经济学考虑 +交易成本内生性:流动性差的股票交易成本高,需要更强的Alpha信号 +容量约束:策略容量受市场深度限制 +市场影响成本:大额交易对价格的冲击 +竞争性衰减:被广泛采用的Alpha会因套利而衰减 +七、因子表达式的经济解释规范 +每个表达式应明确回答: +捕捉什么市场异象?(例如:注意力驱动定价延迟、流动性溢价变化等) +为什么这个异象会持续存在?(行为偏差、制度约束、风险补偿等) +在什么市场环境下更有效?(高波动、低流动性、趋势市等) +可能失效的条件是什么?(市场机制变化、投资者结构变化等) +这样的经济逻辑描述确保了每个因子都有清晰的理论基础和经济直觉,而非纯粹的数据挖掘结果。 +*=====* +输出格式: +输出必须是且仅是纯文本。 +每一行是一个完整、独立、语法正确的WebSim表达式。 +严禁任何形式的解释、编号、标点包裹(如引号)、Markdown格式或额外文本。 +===================== !!! 重点(输出方式) !!! ===================== +现在,请严格遵守以上所有规则,开始生成可立即在WebSim中运行的复合因子表达式。 +**输出格式**(一行一个表达式, 每个表达式中间需要添加一个空行, 只要表达式本身, 不要解释, 不需要序号, 也不要输出多余的东西): +表达式 +表达式 +表达式 +... +表达式 +================================================================= +重申:请确保所有表达式都使用WorldQuant WebSim平台函数,不要使用pandas、numpy或其他Python库函数。输出必须是一行有效的WQ表达式。 +以下是我的账号有权限使用的操作符, 请严格按照操作符, 以及我提供的数据集, 进行生成,组合 100 个alpha: + +以下是我的账号有权限使用的操作符, 请严格按照操作符, 进行生成,组合因子 + +========================= 操作符开始 =======================================注意: 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_360 +DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 360 days in the future. +DataField: pcr_oi_60 +DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 60 days in the future. +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: 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: option_breakeven_20 +DataFieldDescription: Price at which a stock's options with expiration 20 days in the future break even based on its recent bid/ask mean. +DataField: forward_price_150 +DataFieldDescription: Forward price at 150 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_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: 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_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: 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: 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: 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: 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: call_breakeven_720 +DataFieldDescription: Price at which a stock's call options with expiration 720 days in the future break even based on its recent bid/ask mean. +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: pcr_vol_20 +DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 20 days in the future. +DataField: call_breakeven_360 +DataFieldDescription: Price at which a stock's call options with expiration 360 days in the future break even based on its recent bid/ask mean. +DataField: pcr_oi_20 +DataFieldDescription: Ratio of put open interest to call open interest on a stock's options with expiration 20 days in the future. +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: forward_price_30 +DataFieldDescription: Forward price at 30 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_180 +DataFieldDescription: Ratio of put volume to call volume on a stock's options with expiration 180 days in the future. +DataField: pcr_vol_all +DataFieldDescription: Ratio of put volume to call volume for all maturities on stock's options. +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: 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: 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_150 +DataFieldDescription: Ratio of put volume to call volume 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: forward_price_120 +DataFieldDescription: Forward price at 120 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: 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: fnd6_esopct +DataFieldDescription: Common ESOP Obligation - Total +DataField: fnd6_newqeventv110_prcpd12 +DataFieldDescription: Core Post-Retirement Adjustment 12MM Diluted EPS Effect Preliminary +DataField: fnd6_ciother +DataFieldDescription: Comp. Inc. - Other Adj. +DataField: fnd6_newa1v1300_aco +DataFieldDescription: Current Assets - Other - Total +DataField: fnd6_newa2v1300_spced +DataFieldDescription: S&P Core Earnings EPS Diluted +DataField: fnd6_newqeventv110_pnc12 +DataFieldDescription: Pension Core Adjustment - 12mm +DataField: fnd6_xaccq +DataFieldDescription: Accrued Expenses +DataField: fnd6_recd +DataFieldDescription: Receivables - Estimated Doubtful +DataField: fnd6_newa1v1300_cshi +DataFieldDescription: Common Shares Issued +DataField: fnd6_newqv1300_cisecglq +DataFieldDescription: Comp Inc - Securities Gains/Losses +DataField: fnd6_newa1v1300_cogs +DataFieldDescription: Cost of Goods Sold +DataField: receivable +DataFieldDescription: Receivables - Total +DataField: fnd6_rea +DataFieldDescription: Retained Earnings - Restatement +DataField: fnd6_optvolq +DataFieldDescription: Volatility - Assumption (%) +DataField: fnd6_dm +DataFieldDescription: Debt - Mortgages & Other Secured +DataField: fnd6_newqeventv110_lcoq +DataFieldDescription: Current Liabilities - Other - Total +DataField: fnd6_txfo +DataFieldDescription: Income Taxes - Foreign +DataField: fnd6_newqv1300_acomincq +DataFieldDescription: Accumulated Other Comprehensive Income (Loss) +DataField: fnd6_txfed +DataFieldDescription: Income Taxes - Federal +DataField: fnd6_dltr +DataFieldDescription: Long-Term Debt - Reduction +DataField: fnd6_newqv1300_xoptq +DataFieldDescription: Implied Option Expense +DataField: fnd6_newqv1300_xsgaq +DataFieldDescription: Selling, General and Administrative Expenses +DataField: fnd6_newqeventv110_glcea12 +DataFieldDescription: Gain/Loss on Sale (Core Earnings Adjusted) After-tax 12MM +DataField: fnd6_newa2v1300_oiadp +DataFieldDescription: Operating Income After Depreciation +DataField: fnd6_divd +DataFieldDescription: Cash Dividends - Daily +DataField: fnd6_dd3 +DataFieldDescription: Debt Due in 3rd Year +DataField: fnd6_newa1v1300_aocidergl +DataFieldDescription: Accum Other Comp Inc - Derivatives Unrealized Gain/Loss +DataField: fnd6_cisecgl +DataFieldDescription: Comp Inc - Securities Gains/Losses +DataField: fnd6_adesinda_curcd +DataFieldDescription: ISO Currency Code - Company Annual Market +DataField: fnd6_mfma1_dp +DataFieldDescription: Depreciation and Amortization +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_qfv4_eps_mean +DataFieldDescription: Earnings per share - mean of estimations +DataField: min_gross_income_guidance +DataFieldDescription: The minimum guidance value for Gross Income. +DataField: cashflow_per_share_median_value +DataFieldDescription: Cash Flow Per Share - Median value among forecasts +DataField: anl4_qf_az_div_mean +DataFieldDescription: Dividend per share - average of estimations +DataField: free_cash_flow_per_share_reported_value +DataFieldDescription: Free cash flow per share- announced financial value +DataField: ebitda_reported_value +DataFieldDescription: EBITDA value for the quarter. +DataField: anl4_af_eps_value +DataFieldDescription: Earnings Per Share - Actual Value +DataField: anl4_ptpr_flag +DataFieldDescription: Reported Pretax income - forecast type (revision/new/...) +DataField: anl4_af_cfps_value +DataFieldDescription: Cash Flow Per Share - Actual Value +DataField: anl4_qf_az_wol_spe +DataFieldDescription: Earnings per share - The lowest estimation +DataField: anl4_capex_number +DataFieldDescription: Capital Expenditures - number of estimations +DataField: min_capital_expenditure_guidance +DataFieldDescription: Minimum guidance value for Capital Expenditures +DataField: anl4_fcf_high +DataFieldDescription: Free cash flow - aggregation on estimations, max +DataField: anl4_bvps_low +DataFieldDescription: Book value - the lowest estimation, per share +DataField: min_tangible_book_value_per_share_guidance +DataFieldDescription: Tangible Book Value per Share - minimum guidance value +DataField: anl4_basicdetaillt_person +DataFieldDescription: Broker Id +DataField: anl4_eaz2lrec_person +DataFieldDescription: Broker Id +DataField: min_pretax_profit_guidance_2 +DataFieldDescription: The minimum guidance value for Pretax income on an annual basis. +DataField: anl4_bvps_flag +DataFieldDescription: Book value per share - forecast type (revision/new/...) +DataField: anl4_cfi_number +DataFieldDescription: Cash Flow From Investing - number of estimations +DataField: sales_max_guidance_value +DataFieldDescription: Maximum guidance value for annual sales +DataField: est_fcf_ps +DataFieldDescription: Free Cash Flow Per Share - Mean of Estimations +DataField: anl4_cuo1guidaf_item +DataFieldDescription: Financial item +DataField: dividend_min_guidance_value +DataFieldDescription: Minimum guidance value for Dividend per share on an annual basis +DataField: anl4_netdebt_mean +DataFieldDescription: Net debt - mean of estimations +DataField: anl4_qfd1_az_div_number +DataFieldDescription: Dividend per share - number of estimations +DataField: min_ebit_guidance +DataFieldDescription: Minimum guidance value for Earnings Before Interest and Taxes (EBIT) +DataField: min_free_cash_flow_guidance +DataFieldDescription: The minimum guidance value for Free Cash Flow on an annual basis. +DataField: anl4_afv4_div_high +DataFieldDescription: Dividend per share - The highest estimation for the annual forecast. +DataField: shareholders_equity_actual_value +DataFieldDescription: Shareholders' Equity - Total Value +DataField: pv13_hierarchys32_513_sector +DataFieldDescription: grouping fields +DataField: pv13_rha2_min2_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min51_f1_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min5_513_sector +DataFieldDescription: grouping fields +DataField: pv13_h_min30_3000_mapped_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy2_min2_1k_513_sector +DataFieldDescription: grouping fields +DataField: pv13_new_1l_scibr +DataFieldDescription: grouping fields +DataField: pv13_3l_scibr +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min20_3k_sector +DataFieldDescription: grouping fields +DataField: pv13_new_6l_scibr +DataFieldDescription: grouping fields +DataField: pv13_r2_min2_1000_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min51_f1_513_sector +DataFieldDescription: grouping fields +DataField: pv13_revere_comproduct_company +DataFieldDescription: Company product +DataField: pv13_custretsig_retsig +DataFieldDescription: Sign of customer return +DataField: pv13_r2_min5_1000_sector +DataFieldDescription: grouping fields +DataField: pv13_reveremap +DataFieldDescription: Mapping data +DataField: pv13_hierarchy_min10_sector_3000_sector +DataFieldDescription: grouping fields +DataField: pv13_revere_level +DataFieldDescription: Level of the sector within the hierarchy +DataField: pv13_hierarchy_min2_pureplay_only_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min100_corr21_513_sector +DataFieldDescription: grouping fields +DataField: pv13_ustomergraphrank_page_rank +DataFieldDescription: the PageRank of customers +DataField: pv13_hierarchy_min2_focused_pureplay_513_sector +DataFieldDescription: grouping fields +DataField: pv13_h_min2_focused_pureplay_3000_sector +DataFieldDescription: grouping fields +DataField: pv13_hierarchy_min2_focused_only_513_sector +DataFieldDescription: grouping fields +DataField: pv13_revere_country +DataFieldDescription: Country code +DataField: pv13_reportperiodlen +DataFieldDescription: The number of units which the report covers prior to the stated end date +DataField: pv13_rha2_min10_3000_513_sector +DataFieldDescription: grouping fields +DataField: pv13_revere_key_sector_total +DataFieldDescription: Number of key focus sectors for the company +DataField: rel_ret_comp +DataFieldDescription: Averaged one-day return of the competing companies +DataField: pv13_5l_scibr +DataFieldDescription: grouping fields +DataField: implied_volatility_mean_skew_90 +DataFieldDescription: At-the-money option-implied volatility mean skew for 90 days +DataField: implied_volatility_put_1080 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 3 years +DataField: implied_volatility_put_120 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 120 days +DataField: implied_volatility_call_360 +DataFieldDescription: At-the-money option-implied volatility for call Option for 360 days +DataField: implied_volatility_mean_120 +DataFieldDescription: At-the-money option-implied volatility mean for 120 days +DataField: implied_volatility_mean_1080 +DataFieldDescription: At-the-money option-implied volatility mean for 3 years +DataField: parkinson_volatility_180 +DataFieldDescription: Parkinson model's historical volatility over 180 days +DataField: implied_volatility_call_60 +DataFieldDescription: At-the-money option-implied volatility for call Option for 60 days +DataField: parkinson_volatility_150 +DataFieldDescription: Parkinson model's historical volatility over 150 days +DataField: implied_volatility_put_90 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 90 days +DataField: implied_volatility_mean_270 +DataFieldDescription: At-the-money option-implied volatility mean for 270 days +DataField: implied_volatility_call_270 +DataFieldDescription: At-the-money option-implied volatility for call Option for 270 days +DataField: historical_volatility_150 +DataFieldDescription: Close-to-close Historical volatility over 150 days +DataField: implied_volatility_call_20 +DataFieldDescription: At-the-money option-implied volatility for call Option for 20 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: implied_volatility_mean_skew_180 +DataFieldDescription: At-the-money option-implied volatility mean skew for 180 days +DataField: implied_volatility_put_10 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 10 days +DataField: implied_volatility_put_360 +DataFieldDescription: At-the-money option-implied volatility for Put Option for 360 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: 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: historical_volatility_30 +DataFieldDescription: Close-to-close Historical volatility over 30 days +DataField: implied_volatility_mean_skew_720 +DataFieldDescription: At-the-money option-implied volatility mean skew for 720 days +DataField: historical_volatility_10 +DataFieldDescription: Close-to-close Historical volatility over 10 days +DataField: implied_volatility_mean_skew_60 +DataFieldDescription: At-the-money option-implied volatility mean skew for 60 days +DataField: implied_volatility_call_150 +DataFieldDescription: At-the-money option-implied volatility for call Option for 150 days +DataField: implied_volatility_mean_skew_120 +DataFieldDescription: At-the-money option-implied volatility mean skew for 120 days +DataField: parkinson_volatility_30 +DataFieldDescription: Parkinson model's historical volatility over 30 days +DataField: nws12_prez_02l +DataFieldDescription: Number of minutes that elapsed before price went up 20 percentage points +DataField: news_mins_20_chg +DataFieldDescription: The minimum of L or S above for 20-minute bucket +DataField: nws12_mainz_mainvwap +DataFieldDescription: Main session volume weighted average price +DataField: nws12_prez_57s +DataFieldDescription: Number of minutes that elapsed before price went down 7.5 percentage points +DataField: nws12_prez_eodclose +DataFieldDescription: Close price of the session +DataField: nws12_afterhsz_1_minute +DataFieldDescription: The percent change in price in the first minute following the news release +DataField: news_ls +DataFieldDescription: Whether a long or short position would have been more advantageous: If (EODHigh - Last) > (Last - EODLow) Then LS = 1; If (EODHigh - Last) = (Last - EODLow) Then LS= 0; If (EODHigh - Last) < (Last - EODLow) Then LS = -1. +DataField: nws12_prez_prevwap +DataFieldDescription: Pre-session volume weighted average price +DataField: nws12_afterhsz_41rta +DataFieldDescription: 14-day Average True Range +DataField: nws12_allz_result1 +DataFieldDescription: Percent change between the price at the time of the news release and the price at the close of the session +DataField: news_mins_3_pct_dn +DataFieldDescription: Number of minutes that elapsed before price went down 3 percentage points +DataField: nws12_afterhsz_tonlast +DataFieldDescription: Price at the time of news +DataField: news_low_exc_stddev +DataFieldDescription: (TONLast - EODLow) / StdDev, where StdDev is one standard deviation for the close price for 30 calendar days +DataField: nws12_mainz_newrecord +DataFieldDescription: Tracks whether the news is first instance or a duplicate +DataField: news_indx_perf +DataFieldDescription: ((EODClose - TONLast) / TONLast) - ((SPYClose - SPYLast) / SPYLast) +DataField: nws12_prez_1s +DataFieldDescription: Number of minutes that elapsed before price went down 1 percentage point +DataField: nws12_prez_open_vol +DataFieldDescription: Main open volume +DataField: nws12_mainz_close_vol +DataFieldDescription: Main close volume +DataField: news_mins_7_5_pct_up +DataFieldDescription: Number of minutes that elapsed before price went up 7.5 percentage points +DataField: nws12_afterhsz_5_min +DataFieldDescription: The percent change in price in the first 5 minutes following the news release +DataField: nws12_afterhsz_4p +DataFieldDescription: The minimum of L or S above for 4-minute bucket +DataField: nws12_afterhsz_30_min +DataFieldDescription: The percent change in price in the first 30 minutes following the news release +DataField: news_pct_30min +DataFieldDescription: The percent change in price in the first 30 minutes following the news release +DataField: nws12_prez_5s +DataFieldDescription: Number of minutes that elapsed before price went down 5 percentage points +DataField: nws12_mainz_02l +DataFieldDescription: Number of minutes that elapsed before price went up 20 percentage points +DataField: nws12_afterhsz_02l +DataFieldDescription: Number of minutes that elapsed before price went up 20 percentage points +DataField: news_mins_3_pct_up +DataFieldDescription: Number of minutes that elapsed before price went up 3 percentage points +DataField: nws12_afterhsz_rangeamt +DataFieldDescription: Session High Price - Session Low Price +DataField: news_max_dn_ret +DataFieldDescription: Percent change from the price at the time of the news to the after the news low +DataField: nws12_afterhsz_eodclose +DataFieldDescription: Close price of the session +DataField: top1000 +DataFieldDescription: 20140630 +DataField: top200 +DataFieldDescription: 20140630 +DataField: top3000 +DataFieldDescription: 20140630 +DataField: top500 +DataFieldDescription: 20140630 +DataField: topsp500 +DataFieldDescription: 20140630 +DataField: rp_css_price +DataFieldDescription: Composite sentiment score of stock price news +DataField: rp_css_partner +DataFieldDescription: Composite sentiment score of partnership news +DataField: rp_ess_technical +DataFieldDescription: Event sentiment score based on technical analysis +DataField: rp_css_ptg +DataFieldDescription: Composite sentiment score of price target news +DataField: rp_ess_earnings +DataFieldDescription: Event sentiment score of earnings news +DataField: rp_css_dividends +DataFieldDescription: Composite sentiment score of dividends news +DataField: rp_css_assets +DataFieldDescription: Composite sentiment score of assets news +DataField: nws18_qcm +DataFieldDescription: News sentiment of relevant news with high confidence +DataField: rp_ess_assets +DataFieldDescription: Event sentiment score of assets news +DataField: nws18_ghc_lna +DataFieldDescription: Change in analyst recommendation +DataField: rp_css_credit_ratings +DataFieldDescription: Composite sentiment score of credit ratings news +DataField: rp_nip_product +DataFieldDescription: News impact projection of product and service-related news +DataField: rp_css_credit +DataFieldDescription: Composite sentiment score of credit news +DataField: rp_ess_price +DataFieldDescription: Event sentiment score of stock price news +DataField: rp_nip_inverstor +DataFieldDescription: News impact projection of investor relations news +DataField: rp_nip_technical +DataFieldDescription: News impact projection based on technical analysis +DataField: rp_css_mna +DataFieldDescription: Composite sentiment score of mergers and acquisitions-related news +DataField: rp_nip_price +DataFieldDescription: News impact projection of stock price news +DataField: rp_ess_equity +DataFieldDescription: Event sentiment score of equity action news +DataField: rp_css_marketing +DataFieldDescription: Composite sentiment score of marketing news +DataField: rp_ess_insider +DataFieldDescription: Event sentiment score of insider trading news +DataField: rp_css_insider +DataFieldDescription: Composite sentiment score of insider trading news +DataField: rp_nip_marketing +DataFieldDescription: News impact projection of marketing news +DataField: nws18_sse +DataFieldDescription: Sentiment of phrases impacting the company +DataField: rp_css_technical +DataFieldDescription: Composite sentiment score based on technical analysis +DataField: rp_ess_mna +DataFieldDescription: Event sentiment score of mergers and acquisitions-related news +DataField: rp_ess_ratings +DataFieldDescription: Event sentiment score of analyst ratings-related news +DataField: rp_nip_credit +DataFieldDescription: News impact projection of credit news +DataField: rp_nip_dividends +DataFieldDescription: News impact projection of dividends news +DataField: rp_nip_business +DataFieldDescription: News impact projection of business-related news +DataField: fn_allocated_share_based_compensation_expense_q +DataFieldDescription: Represents the expense recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, units, stock options, or other equity instruments) with employees, directors, and certain consultants qualifying for treatment as employees. +DataField: fn_income_from_equity_investments_q +DataFieldDescription: Income From Equity Method Investments +DataField: fn_assets_fair_val_l1_q +DataFieldDescription: Asset Fair Value, Recurring, Level 1 +DataField: fnd2_a_flintasamt1expy5 +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 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_comp_non_opt_vested_q +DataFieldDescription: The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period. +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: fnd2_a_frtandfixturesg +DataFieldDescription: Amount before accumulated depreciation of equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases. +DataField: fnd2_propplteqmuflmameqmt +DataFieldDescription: PPE, Equipment, Useful Life, Maximum +DataField: fnd2_eixrtreclstatelocalitxes +DataFieldDescription: Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit). +DataField: fn_avg_diluted_sharesout_adj_a +DataFieldDescription: The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation. +DataField: fn_def_income_tax_expense_q +DataFieldDescription: Income Tax Expense, Deferred +DataField: fnd2_dfdtxastxdfdexprssaccrs +DataFieldDescription: Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from reserves and accruals. +DataField: fn_comp_options_grants_fair_value_q +DataFieldDescription: Annual Share-Based Compensation Arrangement by Share-Based Payment Award Options Grants in Period Weighted Average Grant Date Fair Value +DataField: fn_repurchased_shares_a +DataFieldDescription: Number of shares that have been repurchased during the period. +DataField: fnd2_a_gsles1xtinguishmentofd +DataFieldDescription: Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity. +DataField: fn_liab_fair_val_l2_q +DataFieldDescription: Liabilities Fair Value, Recurring, Level 2 +DataField: fn_comp_options_exercisable_number_q +DataFieldDescription: The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan. +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_op_lease_min_pay_due_in_2y_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 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_comp_options_out_weighted_avg_a +DataFieldDescription: Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option 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: fnd2_a_sbcpnargmsptawervl +DataFieldDescription: Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares. +DataField: fn_employee_related_liab_q +DataFieldDescription: Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. 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: fnd2_a_bnscbmacqrcsts +DataFieldDescription: This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities. +DataField: fn_comp_options_grants_a +DataFieldDescription: Net number of share options (or share units) granted during the period. +DataField: fn_oth_comp_forfeitures_fair_value_a +DataFieldDescription: Annual Share Based Compensation Equity Instruments Other Than Options Forfeitures Weighted Average Grant Date Fair Value +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_a_sbcpnargmpmwggil +DataFieldDescription: Amount by which the current fair value of the underlying stock exceeds the exercise price of fully vested and expected to vest options outstanding. +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: fn_def_tax_assets_net_q +DataFieldDescription: Deferred Tax Assets Net Of Valuation Allowance +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 +========================= 数据字段结束 ======================================= + diff --git a/manual_tools/data_sets_tags.py b/manual_tools/data_sets_tags.py new file mode 100644 index 0000000..632752f --- /dev/null +++ b/manual_tools/data_sets_tags.py @@ -0,0 +1,79 @@ +# -*- coding: utf-8 -*- +''' +使用 AI 总结数据集名称以及中英文描述, 生成出 tags +''' +import psycopg2 +import jieba + +# 数据库连接参数 +db_config = { + 'host': '192.168.31.201', + 'port': 5432, + 'database': 'alpha', + 'user': 'jack', + 'password': 'aaaAAA111' +} + +def process_text(text): + filter_list = ['\n', '\t', '\r', '\b', '\f', '\v', ':', '的', '或', '10', '天', '了', '可', '是', '该', ',', ' ', '、', '让', '和', '集', + '/', '日', '在', '(', '_', '-', ')', '(', '上', '距', '与', '比', '下', '及', ')', '...', ';', '%', '&', '+', ',', '.', + ':', ';', '<', '=', '>', '?', '[', ']', '|', '—', '。' + ] + + # 使用 jieba 进行分词 + text_list = jieba.lcut(text) + + # 过滤掉包含 filter_list 中任何字符的元素 + results = [] + for tl in text_list: + # 检查当前元素是否包含 filter_list 中的任何字符 + should_include = True + for fl in filter_list: + if fl == tl: + should_include = False + break + + # 如果不包含任何 filter_list 中的字符,则添加到结果 + if should_include: + results.append(tl) + + if results: + return list(set(results)) + else: + return None + + +results = [] +f_list = [] +try: + # 连接数据库 + conn = psycopg2.connect(**db_config) + # 创建游标 + cur = conn.cursor() + + # SQL 查询语句 + sql = """select * from data_sets order by id asc""" + + # 执行查询 + cur.execute(sql) + + # 获取所有结果 + rows = cur.fetchall() + + # 将每一行转换为字典 + for row in rows: + result = process_text(row[11]) + + + # 关闭游标和连接 + cur.close() + conn.close() + +except Exception as e: + print("数据库连接或查询出错:", e) + + +for result in results: + print(result) + +print(f"本次搜索共 {len(results)} 条数据") \ No newline at end of file diff --git a/manual_tools/keys_organize.py b/manual_tools/keys_organize.py new file mode 100644 index 0000000..d0f696f --- /dev/null +++ b/manual_tools/keys_organize.py @@ -0,0 +1,28 @@ +import jieba +''' +数据库中读取数据集描述, 转换成标签 +''' + + + +def process_text(text): + filter_list = ['\n', '\t', '\r', '\b', '\f', '\v', ':', '的', '或', '10', '天', '了', '可', '是', '该', ',', ' ', '、', '让', '和', '集'] + + # 使用 jieba 进行分词 + text_list = jieba.lcut(text) + + # 过滤掉包含 filter_list 中任何字符的元素 + results = [] + for tl in text_list: + # 检查当前元素是否包含 filter_list 中的任何字符 + should_include = True + for fl in filter_list: + if fl in tl: + should_include = False + break + + # 如果不包含任何 filter_list 中的字符,则添加到结果 + if should_include: + results.append(tl) + + print(list(set(results))) \ No newline at end of file diff --git a/manual_tools/temp.py b/manual_tools/temp.py new file mode 100644 index 0000000..bec906d --- /dev/null +++ b/manual_tools/temp.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +''' +获取长度小于等于 6 的数据集 +''' +import psycopg2 + +# 数据库连接参数 +db_config = { + 'host': '192.168.31.201', + 'port': 5432, + 'database': 'alpha', + 'user': 'jack', + 'password': 'aaaAAA111' +} + +results = [] + +try: + # 连接数据库 + conn = psycopg2.connect(**db_config) + # 创建游标 + cur = conn.cursor() + + # SQL 查询语句 + sql = """ select * from data_sets""" + + # 执行查询 + cur.execute(sql) + + # 获取所有结果 + rows = cur.fetchall() + + # 打印结果 + for row in rows: + if len(row[1]) <= 6: + results.append({ + "name": row[1], + "description": row[2], + }) + + # 关闭游标和连接 + cur.close() + conn.close() + +except Exception as e: + print("数据库连接或查询出错:", e) + + +for result in results: + print(result) + +print(f"本次搜索共 {len(results)} 条数据") \ No newline at end of file diff --git a/manual_tools/translation_data_sets.py b/manual_tools/translation_data_sets.py new file mode 100644 index 0000000..939b185 --- /dev/null +++ b/manual_tools/translation_data_sets.py @@ -0,0 +1,132 @@ +# -*- coding: utf-8 -*- +''' +使用ollama翻译 data-sets description +''' + +import psycopg2 +import httpx +import time +import sys + +def translate_with_ollama(text, model="qwen2.5:7b"): + if not text or not text.strip(): + return None + + url = "http://localhost:11434/api/generate" + prompt = f"""你是一个金融数据专家,负责翻译期权交易领域的专业字段名。 +规则: +1. 在此上下文中,“call” 指“看涨期权”,切勿翻译为“呼叫”。 +2. "put" 指"看跌期权"。 +3. “breakeven” 统一翻译为“盈亏平衡点”。 +4. 整体翻译需简洁,符合数据库字段名的命名习惯。 +5. 输出仅返回翻译后的中文,不要任何解释。 + +请翻译:{text}""" + + payload = {"model": model, "prompt": prompt, "stream": False} + + try: + response = httpx.post(url, json=payload, timeout=180.0) + response.raise_for_status() + result = response.json() + return result['response'].strip() + except httpx.TimeoutException: + print(f"\n[超时] {text[:60]}...") + return None + except Exception as e: + print(f"\n[请求失败] {text[:30]}... - {e}") + return None + +db_config = { + 'host': '192.168.31.201', + 'port': 5432, + 'database': 'alpha', + 'user': 'jack', + 'password': 'aaaAAA111' +} + +start_from_id = 0 + +try: + conn = psycopg2.connect(**db_config) + cur = conn.cursor() + + cur.execute(""" + SELECT id, description + FROM data_sets + WHERE description IS NOT NULL + AND description_cn IS NULL + AND id >= %s + ORDER BY id ASC + """, (start_from_id,)) + + rows = cur.fetchall() + total = len(rows) + + if total == 0: + print("没有需要翻译的记录!") + sys.exit(0) + + print(f"找到 {total} 条待翻译记录 (从ID {start_from_id} 开始)") + print("=" * 60) + + success_count = 0 + fail_count = 0 + last_success_id = start_from_id + + for idx, (row_id, description) in enumerate(rows, 1): + percent = (idx / total) * 100 + sys.stdout.write(f"\r处理进度: {idx}/{total} ({percent:.1f}%) | 成功: {success_count} | 失败: {fail_count}") + sys.stdout.flush() + + max_retries = 2 + translate_text = None + + for attempt in range(max_retries): + translate_text = translate_with_ollama(description) + if translate_text: + break + elif attempt < max_retries - 1: + time.sleep(3) + + if translate_text: + try: + cur.execute( + "UPDATE data_sets SET description_cn = %s WHERE id = %s", + (translate_text, row_id) + ) + success_count += 1 + last_success_id = row_id + except Exception as e: + print(f"\n[更新失败] ID:{row_id} - {e}") + fail_count += 1 + else: + fail_count += 1 + + if idx % 10 == 0: + conn.commit() + + time.sleep(1) + + conn.commit() + + print(f"\n" + "=" * 60) + print("翻译任务完成!") + print(f"✓ 成功翻译: {success_count} 条") + print(f"✗ 翻译失败: {fail_count} 条") + print(f"最后成功处理的ID: {last_success_id}") + + cur.close() + conn.close() + +except psycopg2.Error as e: + print(f"\n[数据库错误] {e}") +except KeyboardInterrupt: + print(f"\n\n用户中断程序") + print(f"已处理到ID: {last_success_id}") + conn.commit() +except Exception as e: + print(f"\n[程序错误] {e}") +finally: + if 'conn' in locals() and conn: + conn.close() \ No newline at end of file diff --git a/prepare_prompt/alpha_prompt.txt b/prepare_prompt/alpha_prompt.txt index 8d5b6d0..1f4b2a3 100644 --- a/prepare_prompt/alpha_prompt.txt +++ b/prepare_prompt/alpha_prompt.txt @@ -1,261 +1,140 @@ 任务指令 -一、核心设计理念 +一、经济逻辑描述优化 +视角一:市场摩擦的横截面测绘 +核心经济逻辑: +市场摩擦创造系统性的定价延迟和反应差异。不同股票因流动性、投资者结构和交易机制差异,对相同市场信息的反应速度和程度不同。这些差异形成可预测的Alpha机会: -你是一名WorldQuant WebSim因子工程师,需要设计用于行业轮动策略的复合型Alpha因子。所有因子必须基于以下三个创新视角构建,每个视角提供独特的研究框架: -视角一:市场摩擦的横截面测绘 (Cross-sectional Imaging of Market Frictions) +流动性溢价动态:低流动性股票因交易成本较高,需要更高的预期收益补偿。但流动性条件会随时间变化,形成动态的流动性溢价套利窗口。 -核心思想:市场摩擦(流动性差异、交易冲击、价格发现延迟)不是需要消除的噪音,而是Alpha的直接来源。主动测绘不同股票对相同指令流冲击的差异化反应模式。 +信息扩散速度差异:机构持仓集中度高的股票信息反应更快,散户主导的股票反应更慢且易出现过度反应,创造套利空间。 -关键研究维度: +交易冲击的持续性:大宗交易对价格的冲击在低流动性环境中衰减更慢,形成短期价格动量;在高流动性环境中衰减更快,易出现反转。 - 指令流冲击的"消化速率"图谱:测量单位异常交易量引发的价格冲击及其衰减速度。构建"冲击-衰减"二维坐标系,识别高摩擦(冲击大、衰减慢)与低摩擦(冲击小、衰减快)的股票集群。 +视角二:投资者注意力生态学 +核心经济逻辑: +注意力是金融市场中的稀缺资源,其分配不均导致定价效率差异: - 买卖失衡的"路径依赖"模式:分析订单流净额的时间序列特性(均值回归vs趋势持续),量化不同市场状态下订单流的自强化或自纠正机制。 +有限注意力约束:投资者无法同时处理所有信息,只能关注有限数量的股票,导致被忽视股票出现定价延迟。 - 价格发现的"领地性"划分:分解价格变动的驱动来源(自身交易驱动vs行业/指数驱动),计算"价格发现自主权"指标,研究内生性与外生性股票在不同市场环境中的轮动规律。 +注意力传染效应:当某行业或主题受到关注时,注意力会按特定路径扩散(龙头→二线→边缘),形成可预测的轮动模式。 -视角二:投资者注意力的生态学系统 (Ecology of Investor Attention) +注意力衰减曲线:事件驱动型关注会随时间衰减,但衰减速度因股票特质而异。快速衰减可能导致定价错误快速修正,缓慢衰减则可能维持定价偏差。 -核心思想:金融市场是注意力资源的分配系统而非信息聚合器。Alpha来源于对注意力"聚集-分散-转移"动态的精准捕捉。 +视角三:价格运动的形态语法 +核心经济逻辑: +价格形态反映市场参与者的集体行为模式和心理预期: -关键研究维度: +技术分析的自我实现:广泛使用的技术指标(如支撑阻力位、均线系统)影响交易决策,形成可预测的价格行为。 - 注意力分布的"聚焦度"谱系:量化交易量/活跃度在时间维度上的集中程度(基尼系数、赫芬达尔指数),识别注意力爆发期、持续关注期和注意力真空期。 +叙事驱动的价格记忆:价格在关键历史位置的行为会形成市场“记忆”,影响未来在这些位置附近的交易决策。 - 行业内注意力的"级联传导"网络:建立领导者-追随者注意力传导模型,测量强势股票出现后,同行业其他股票的响应速度、响应强度和响应延迟。 +多时间尺度协调:不同时间框架投资者的行为协调(共振)或冲突(背离)决定趋势的可持续性。 - 注意力惯性的"衰减曲线":度量催化事件结束后,异常关注度回归基线的速度,构建"注意力记忆时长"因子,捕捉定价偏差的持续性。 +二、复合因子构建的经济逻辑规范 +A. 领导力动量因子 +经济逻辑: +成交量是市场关注度和资金流向的直接体现。大成交量股票通常由机构投资者主导,其价格变动反映更充分的信息和更强的共识。这种“聪明钱”效应使大成交量股票的动量信号更具预测性。同时,成交量的横截面分布反映不同股票在投资者注意力竞争中的相对地位。 -视角三:价格运动的"形态语法"解析 (Morphological Syntax of Price Movements) +经济学基础: -核心思想:价格运动具有类似语言的"语法结构"和"叙事连贯性"。市场参与者潜意识地识别并交易这些形态模式,为系统性形态识别提供Alpha机会。 +成交量与信息含量正相关(Kyle模型) -关键研究维度: +机构交易者具有信息优势 - 价格序列的"可压缩性"度量:使用简化算法(分段线性近似、趋势线拟合残差)量化价格运动的规律性程度,识别从混沌转向有序(或相反)的临界状态。 +注意力驱动的资本流动 - 关键价位的"叙事逻辑"强度:分析价格在历史关键节点(前高、前低、缺口、密集区)的行为一致性,量化"支撑阻力叙事"的连贯性得分。 +B. 状态自适应动量 +经济逻辑: +市场波动率状态反映信息流的速度和市场不确定性水平。高波动环境通常伴随高频信息流和快速变化的预期,短期动量更有效;低波动环境反映稳定预期,长期动量更可靠。通过波动率状态动态调整动量窗口,可以避免在不同市场机制下使用不匹配的策略。 - 多时间尺度的"相位同步"分析:研究不同周期滤波序列(如5日、20日、60日均线)之间的领先滞后关系和同步程度,识别多周期共振的形成与瓦解过程。 +经济学基础: -二、因子构建方法论 -2.1 数据字段使用规范 +波动率聚集现象 -可用字段: +市场状态的持久性 - close: 收盘价(唯一价格字段) +信息处理速度与波动率的关系 - volume: 成交量(用于规模代理、活跃度度量) +C. 行业传导因子 +经济逻辑: +行业间存在基本面关联(产业链)和资金面关联(配置资金流动)。强势行业的出现通常反映某种宏观或产业逻辑,这种逻辑会按特定顺序向相关行业传导(如上游→下游,龙头→配套)。传导速度受行业基本面关联度和市场情绪影响,创造可预测的轮动机会。 - returns: 收益率序列,定义为 ts_delta(close, 1) 或 divide(close, ts_delay(close, 1)) - 1 +经济学基础: -禁止字段: +产业价值链传递 - ❌ market_cap, marketcap, mkt_cap(不存在) +资金配置的渐进调整 - ✅ 使用volume作为规模代理,必要时进行横截面排序和分组 +相关性结构的时变性 -2.2 复合因子构建框架 +D. 情绪反转因子 +经济逻辑: +交易活跃度反映市场情绪强度。过度交易往往伴随非理性繁荣或恐慌,此时趋势可能接近拐点;交易清淡则反映市场分歧或缺乏关注,趋势可能延续。结合趋势强度可以区分情绪驱动的短期反转和基本面驱动的长期反转。 -维度融合模板(至少选择2个维度组合): +经济学基础: -A. 领导力动量 = 时序动量 × 横截面领导力调整 -text +过度反应与修正 -逻辑:大成交量股票的动量信号更强、更持续 -结构示例:group_mean(ts_delta(close, 20), 1, bucket(rank(volume), range="0,3,0.4")) -经济解释:测量不同成交量分组内价格变化的均值,捕捉大成交量群体的主导方向 +有限套利与情绪持续性 -B. 状态自适应动量 = 市场状态 × 动量周期选择 -text +交易量作为情绪代理变量 -逻辑:高波动环境使用短期动量,低波动环境使用长期动量 -结构示例:if_else(ts_std_dev(returns, 20) > 0.02, ts_delta(close, 5), ts_delta(close, 20)) -经济解释:根据波动率状态动态调整动量计算窗口,适应不同市场环境 +三、参数选择的经济逻辑 +回顾期选择依据: -C. 行业传导因子 = 行业间相关性 × 领先滞后关系 -text +5-10日:捕捉事件驱动型Alpha,反映短期信息冲击 -逻辑:与强势行业保持高相关性且略有滞后的行业可能迎来轮动机会 -结构示例:multiply(ts_corr(group_mean(returns, 1, industry_A), group_mean(returns, 1, industry_B), 30), ts_delta(close, 10)) -经济解释:测量行业间联动强度与自身动量的协同效应 +20-30日:捕捉月度调仓效应和基本面预期调整 -D. 情绪反转因子 = 过度交易信号 × 趋势强度 -text +60-120日:捕捉季度业绩周期和行业轮动周期 -逻辑:在过度交易区域,强势趋势可能面临反转;在交易清淡区域,趋势可能延续 -结构示例:multiply(reverse(ts_rank(divide(volume, ts_mean(volume, 20)), 10)), ts_delta(close, 20)) -经济解释:交易活跃度异常高时反转动量信号,异常低时增强动量信号 +阈值参数的经济含义: -2.3 关键操作符使用规范 +0.5:中位数效应,反映平均或典型情况 -1. ts_regression使用规范: +0.7-0.8:极端情况识别,捕捉显著的异常或结构性变化 - ✅ 正确: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 +风险偏好轮动:市场风险偏好变化影响不同风险特征行业的相对表现 -2. if_else条件表达式规范: +政策驱动轮动:产业政策、监管变化创造结构性机会 - ✅ 正确:if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.7, 短期动量, 长期动量) +技术创新扩散:新技术沿产业链扩散的顺序性 - ❌ 错误:避免复杂序列比较,如ts_std_dev(returns, 60) > ts_mean(ts_std_dev(returns, 60), 120) +五、风险调整的经济逻辑 +流动性风险补偿:低流动性股票需提供更高预期收益 -3. bucket分组函数规范: +波动率风险定价:高波动股票的风险溢价要求 - ✅ 正确:bucket(rank(volume), range="0,3,0.4") == 0(第一组为大成交量) +相关性结构风险:行业间相关性变化对分散化效果的影响 - ✅ 正确:group_mean(x, 1, bucket(rank(volume), range="0,3,0.4")) +尾部风险暴露:极端事件对不同行业的非对称影响 - 注意字符串格式:range="起始值,组数,步长" 或 buckets="分割点列表" +六、交易可行性的经济学考虑 +交易成本内生性:流动性差的股票交易成本高,需要更强的Alpha信号 -4. 行业处理函数: +容量约束:策略容量受市场深度限制 - group_mean(x, weight, group): 计算组内加权平均 +市场影响成本:大额交易对价格的冲击 - group_neutralize(x, group): 对组内进行中性化处理 +竞争性衰减:被广泛采用的Alpha会因套利而衰减 - group_rank(x, group): 计算组内排序 +七、因子表达式的经济解释规范 +每个表达式应明确回答: - group_scale(x, group): 组内标准化到[0,1] +捕捉什么市场异象?(例如:注意力驱动定价延迟、流动性溢价变化等) - group_zscore(x, group): 计算组内z-score +为什么这个异象会持续存在?(行为偏差、制度约束、风险补偿等) -2.4 参数选择逻辑 +在什么市场环境下更有效?(高波动、低流动性、趋势市等) - 回顾期d应从以下具有市场意义的数值中选择:[5, 10, 20, 30, 60, 120] +可能失效的条件是什么?(市场机制变化、投资者结构变化等) - 5: 周度(5个交易日) - - 10: 双周 - - 20: 月度(约20个交易日) - - 30: 月半 - - 60: 季度 - - 120: 半年 - - 阈值参数从[0.5, 0.7, 0.8]中选择 - - 同一因子内不同组件的参数应差异化,体现多时间尺度融合 - -三、因子组件库(可自由组合) -3.1 动量类组件 - - 简单动量:ts_delta(close, {d}) - - 回归动量:ts_regression(close, ts_step(1), {d}, 0, 1)(返回斜率) - - 加速动量:ts_delta(ts_delta(close, 5), 5) - - 排名动量:ts_rank(ts_delta(close, 20), 60) - -3.2 波动性与风险调整组件 - - 波动率:ts_std_dev(returns, {d}) - - 平均绝对收益:ts_mean(abs(returns), {d}) - - 波动率调整:divide(ts_delta(close, 20), ts_std_dev(returns, 20)) - - 波动率状态:ts_rank(ts_std_dev(returns, 20), 60) - -3.3 成交量与活跃度组件 - - 成交量异常:divide(volume, ts_mean(volume, {d})) - - 成交量z-score:ts_zscore(volume, {d}) - - 成交量排名:rank(volume) - - 成交量分布:bucket(rank(volume), range="0,3,0.4") - -3.4 横截面调整组件 - - 规模分组:if_else(rank(volume) > 0.7, 大市值组信号, 小市值组信号) - - 相对强弱:divide(ts_delta(close, 10), group_mean(ts_delta(close, 10), 1, industry)) - - 行业中性化:group_neutralize(原始信号, industry) - -3.5 相关性与时序关系组件 - - 时间序列相关性:ts_corr({x}, {y}, {d}) - - 协方差:ts_covariance({y}, {x}, {d}) - - 领先滞后关系:ts_corr(ts_delay(x, 1), y, d) - -四、因子构建原则 -4.1 复杂度控制原则 - - 嵌套层数建议不超过3层 - - 每个表达式应有清晰的经济逻辑解释 - - 避免过度优化和数据挖掘偏差 - -4.2 交易可行性原则 - - 严格避免未来函数(只能使用历史信息) - - 考虑实际交易成本(避免高换手率因子) - - 使用hump(x, hump=0.01)平滑信号变化,降低换手 - -4.3 风险控制原则 - - 包含波动率调整元素 - - 考虑极端值处理(使用winsorize(x, std=4)) - - 进行适当的标准化(normalize()或zscore()) - -4.4 行业轮动特异性 - - 必须包含行业维度处理(group_*函数) - - 体现行业间传导、轮动、分化逻辑 - - 考虑行业相对强弱与绝对动量的结合 - -五、表达式构建示例框架 -示例1:行业注意力传导因子 -text - -经济逻辑:捕捉强势行业对弱势行业的注意力传导效应,测量追随行业对领导行业信号的响应速度和强度。 - -组件分解: -1. 识别领导行业:过去5日行业动量排名前30% -2. 测量响应强度:自身收益率与领导行业收益率的滞后相关性 -3. 调整响应延迟:根据成交量调整,大成交量股票响应更快 -4. 行业相对位置:在自身行业内的动量排名 - -示例2:摩擦差异化的动量因子 -text - -经济逻辑:在高摩擦(低流动性)股票中寻找未被充分消化的动量,在低摩擦股票中寻找快速衰减的反转机会。 - -组件分解: -1. 摩擦测量:成交量冲击的价格影响半衰期 -2. 动量计算:不同摩擦环境下的最优动量窗口 -3. 横截面调整:同摩擦水平股票间的相对强弱 -4. 行业中性化:控制行业风格暴露 - -示例3:多周期形态共振因子 -text - -经济逻辑:识别短期、中期、长期价格趋势进入同步状态(共振)的股票,这些股票往往有更强的趋势持续性。 - -组件分解: -1. 多周期滤波:5日、20日、60日价格序列 -2. 相位同步测量:不同周期序列方向一致性的时间比例 -3. 共振强度:同步期的动量加速度 -4. 行业调整:与行业共振状态的相对差异 +这样的经济逻辑描述确保了每个因子都有清晰的理论基础和经济直觉,而非纯粹的数据挖掘结果。 *=====* @@ -280,5 +159,4 @@ text ================================================================= 重申:请确保所有表达式都使用WorldQuant WebSim平台函数,不要使用pandas、numpy或其他Python库函数。输出必须是一行有效的WQ表达式。 - -以下是我的账号有权限使用的操作符, 请严格按照操作符, 进行生成,组合因子: \ No newline at end of file +以下是我的账号有权限使用的操作符, 请严格按照操作符, 以及我提供的数据集, 进行生成,组合 100 个alpha: \ No newline at end of file diff --git a/prompt_set_ref/alpha_prompt004.txt b/prompt_set_ref/alpha_prompt004.txt new file mode 100644 index 0000000..8d5b6d0 --- /dev/null +++ b/prompt_set_ref/alpha_prompt004.txt @@ -0,0 +1,284 @@ +任务指令 +一、核心设计理念 + +你是一名WorldQuant WebSim因子工程师,需要设计用于行业轮动策略的复合型Alpha因子。所有因子必须基于以下三个创新视角构建,每个视角提供独特的研究框架: +视角一:市场摩擦的横截面测绘 (Cross-sectional Imaging of Market Frictions) + +核心思想:市场摩擦(流动性差异、交易冲击、价格发现延迟)不是需要消除的噪音,而是Alpha的直接来源。主动测绘不同股票对相同指令流冲击的差异化反应模式。 + +关键研究维度: + + 指令流冲击的"消化速率"图谱:测量单位异常交易量引发的价格冲击及其衰减速度。构建"冲击-衰减"二维坐标系,识别高摩擦(冲击大、衰减慢)与低摩擦(冲击小、衰减快)的股票集群。 + + 买卖失衡的"路径依赖"模式:分析订单流净额的时间序列特性(均值回归vs趋势持续),量化不同市场状态下订单流的自强化或自纠正机制。 + + 价格发现的"领地性"划分:分解价格变动的驱动来源(自身交易驱动vs行业/指数驱动),计算"价格发现自主权"指标,研究内生性与外生性股票在不同市场环境中的轮动规律。 + +视角二:投资者注意力的生态学系统 (Ecology of Investor Attention) + +核心思想:金融市场是注意力资源的分配系统而非信息聚合器。Alpha来源于对注意力"聚集-分散-转移"动态的精准捕捉。 + +关键研究维度: + + 注意力分布的"聚焦度"谱系:量化交易量/活跃度在时间维度上的集中程度(基尼系数、赫芬达尔指数),识别注意力爆发期、持续关注期和注意力真空期。 + + 行业内注意力的"级联传导"网络:建立领导者-追随者注意力传导模型,测量强势股票出现后,同行业其他股票的响应速度、响应强度和响应延迟。 + + 注意力惯性的"衰减曲线":度量催化事件结束后,异常关注度回归基线的速度,构建"注意力记忆时长"因子,捕捉定价偏差的持续性。 + +视角三:价格运动的"形态语法"解析 (Morphological Syntax of Price Movements) + +核心思想:价格运动具有类似语言的"语法结构"和"叙事连贯性"。市场参与者潜意识地识别并交易这些形态模式,为系统性形态识别提供Alpha机会。 + +关键研究维度: + + 价格序列的"可压缩性"度量:使用简化算法(分段线性近似、趋势线拟合残差)量化价格运动的规律性程度,识别从混沌转向有序(或相反)的临界状态。 + + 关键价位的"叙事逻辑"强度:分析价格在历史关键节点(前高、前低、缺口、密集区)的行为一致性,量化"支撑阻力叙事"的连贯性得分。 + + 多时间尺度的"相位同步"分析:研究不同周期滤波序列(如5日、20日、60日均线)之间的领先滞后关系和同步程度,识别多周期共振的形成与瓦解过程。 + +二、因子构建方法论 +2.1 数据字段使用规范 + +可用字段: + + close: 收盘价(唯一价格字段) + + volume: 成交量(用于规模代理、活跃度度量) + + returns: 收益率序列,定义为 ts_delta(close, 1) 或 divide(close, ts_delay(close, 1)) - 1 + +禁止字段: + + ❌ market_cap, marketcap, mkt_cap(不存在) + + ✅ 使用volume作为规模代理,必要时进行横截面排序和分组 + +2.2 复合因子构建框架 + +维度融合模板(至少选择2个维度组合): + +A. 领导力动量 = 时序动量 × 横截面领导力调整 +text + +逻辑:大成交量股票的动量信号更强、更持续 +结构示例:group_mean(ts_delta(close, 20), 1, bucket(rank(volume), range="0,3,0.4")) +经济解释:测量不同成交量分组内价格变化的均值,捕捉大成交量群体的主导方向 + +B. 状态自适应动量 = 市场状态 × 动量周期选择 +text + +逻辑:高波动环境使用短期动量,低波动环境使用长期动量 +结构示例:if_else(ts_std_dev(returns, 20) > 0.02, ts_delta(close, 5), ts_delta(close, 20)) +经济解释:根据波动率状态动态调整动量计算窗口,适应不同市场环境 + +C. 行业传导因子 = 行业间相关性 × 领先滞后关系 +text + +逻辑:与强势行业保持高相关性且略有滞后的行业可能迎来轮动机会 +结构示例:multiply(ts_corr(group_mean(returns, 1, industry_A), group_mean(returns, 1, industry_B), 30), ts_delta(close, 10)) +经济解释:测量行业间联动强度与自身动量的协同效应 + +D. 情绪反转因子 = 过度交易信号 × 趋势强度 +text + +逻辑:在过度交易区域,强势趋势可能面临反转;在交易清淡区域,趋势可能延续 +结构示例:multiply(reverse(ts_rank(divide(volume, ts_mean(volume, 20)), 10)), ts_delta(close, 20)) +经济解释:交易活跃度异常高时反转动量信号,异常低时增强动量信号 + +2.3 关键操作符使用规范 + +1. 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 + +2. if_else条件表达式规范: + + ✅ 正确:if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.7, 短期动量, 长期动量) + + ❌ 错误:避免复杂序列比较,如ts_std_dev(returns, 60) > ts_mean(ts_std_dev(returns, 60), 120) + +3. bucket分组函数规范: + + ✅ 正确:bucket(rank(volume), range="0,3,0.4") == 0(第一组为大成交量) + + ✅ 正确:group_mean(x, 1, bucket(rank(volume), range="0,3,0.4")) + + 注意字符串格式:range="起始值,组数,步长" 或 buckets="分割点列表" + +4. 行业处理函数: + + group_mean(x, weight, group): 计算组内加权平均 + + group_neutralize(x, group): 对组内进行中性化处理 + + group_rank(x, group): 计算组内排序 + + group_scale(x, group): 组内标准化到[0,1] + + group_zscore(x, group): 计算组内z-score + +2.4 参数选择逻辑 + + 回顾期d应从以下具有市场意义的数值中选择:[5, 10, 20, 30, 60, 120] + + 5: 周度(5个交易日) + + 10: 双周 + + 20: 月度(约20个交易日) + + 30: 月半 + + 60: 季度 + + 120: 半年 + + 阈值参数从[0.5, 0.7, 0.8]中选择 + + 同一因子内不同组件的参数应差异化,体现多时间尺度融合 + +三、因子组件库(可自由组合) +3.1 动量类组件 + + 简单动量:ts_delta(close, {d}) + + 回归动量:ts_regression(close, ts_step(1), {d}, 0, 1)(返回斜率) + + 加速动量:ts_delta(ts_delta(close, 5), 5) + + 排名动量:ts_rank(ts_delta(close, 20), 60) + +3.2 波动性与风险调整组件 + + 波动率:ts_std_dev(returns, {d}) + + 平均绝对收益:ts_mean(abs(returns), {d}) + + 波动率调整:divide(ts_delta(close, 20), ts_std_dev(returns, 20)) + + 波动率状态:ts_rank(ts_std_dev(returns, 20), 60) + +3.3 成交量与活跃度组件 + + 成交量异常:divide(volume, ts_mean(volume, {d})) + + 成交量z-score:ts_zscore(volume, {d}) + + 成交量排名:rank(volume) + + 成交量分布:bucket(rank(volume), range="0,3,0.4") + +3.4 横截面调整组件 + + 规模分组:if_else(rank(volume) > 0.7, 大市值组信号, 小市值组信号) + + 相对强弱:divide(ts_delta(close, 10), group_mean(ts_delta(close, 10), 1, industry)) + + 行业中性化:group_neutralize(原始信号, industry) + +3.5 相关性与时序关系组件 + + 时间序列相关性:ts_corr({x}, {y}, {d}) + + 协方差:ts_covariance({y}, {x}, {d}) + + 领先滞后关系:ts_corr(ts_delay(x, 1), y, d) + +四、因子构建原则 +4.1 复杂度控制原则 + + 嵌套层数建议不超过3层 + + 每个表达式应有清晰的经济逻辑解释 + + 避免过度优化和数据挖掘偏差 + +4.2 交易可行性原则 + + 严格避免未来函数(只能使用历史信息) + + 考虑实际交易成本(避免高换手率因子) + + 使用hump(x, hump=0.01)平滑信号变化,降低换手 + +4.3 风险控制原则 + + 包含波动率调整元素 + + 考虑极端值处理(使用winsorize(x, std=4)) + + 进行适当的标准化(normalize()或zscore()) + +4.4 行业轮动特异性 + + 必须包含行业维度处理(group_*函数) + + 体现行业间传导、轮动、分化逻辑 + + 考虑行业相对强弱与绝对动量的结合 + +五、表达式构建示例框架 +示例1:行业注意力传导因子 +text + +经济逻辑:捕捉强势行业对弱势行业的注意力传导效应,测量追随行业对领导行业信号的响应速度和强度。 + +组件分解: +1. 识别领导行业:过去5日行业动量排名前30% +2. 测量响应强度:自身收益率与领导行业收益率的滞后相关性 +3. 调整响应延迟:根据成交量调整,大成交量股票响应更快 +4. 行业相对位置:在自身行业内的动量排名 + +示例2:摩擦差异化的动量因子 +text + +经济逻辑:在高摩擦(低流动性)股票中寻找未被充分消化的动量,在低摩擦股票中寻找快速衰减的反转机会。 + +组件分解: +1. 摩擦测量:成交量冲击的价格影响半衰期 +2. 动量计算:不同摩擦环境下的最优动量窗口 +3. 横截面调整:同摩擦水平股票间的相对强弱 +4. 行业中性化:控制行业风格暴露 + +示例3:多周期形态共振因子 +text + +经济逻辑:识别短期、中期、长期价格趋势进入同步状态(共振)的股票,这些股票往往有更强的趋势持续性。 + +组件分解: +1. 多周期滤波:5日、20日、60日价格序列 +2. 相位同步测量:不同周期序列方向一致性的时间比例 +3. 共振强度:同步期的动量加速度 +4. 行业调整:与行业共振状态的相对差异 + +*=====* + +输出格式: +输出必须是且仅是纯文本。 +每一行是一个完整、独立、语法正确的WebSim表达式。 +严禁任何形式的解释、编号、标点包裹(如引号)、Markdown格式或额外文本。 + +===================== !!! 重点(输出方式) !!! ===================== +现在,请严格遵守以上所有规则,开始生成可立即在WebSim中运行的复合因子表达式。 +**输出格式**(一行一个表达式, 每个表达式中间需要添加一个空行, 只要表达式本身, 不要解释, 不需要序号, 也不要输出多余的东西): + +表达式 + +表达式 + +表达式 + +... + +表达式 +================================================================= + +重申:请确保所有表达式都使用WorldQuant WebSim平台函数,不要使用pandas、numpy或其他Python库函数。输出必须是一行有效的WQ表达式。 + +以下是我的账号有权限使用的操作符, 请严格按照操作符, 进行生成,组合因子: \ No newline at end of file diff --git a/手动处理每天alpha.txt b/手动处理每天alpha.txt index 50e64f8..0d93131 100644 --- a/手动处理每天alpha.txt +++ b/手动处理每天alpha.txt @@ -1,360 +1,884 @@ -add(multiply(group_zscore(divide(ts_sum(volume,5),ts_mean(volume,20)), industry), reverse(ts_scale(ts_corr(ts_delta(close,5),ts_delay(ts_delta(close,5),1),20),20,constant=-0.5))), multiply(0.7, ts_delta(close,20), if_else(ts_rank(ts_std_dev(returns,60),120) > 0.7, 1, divide(0.5, ts_std_dev(returns,60))))) +group_neutralize(ts_sum(if_else(implied_volatility_mean_10 > implied_volatility_mean_20, returns, -returns), 5), sector) -group_neutralize(multiply(divide(ts_delta(close,10), ts_std_dev(returns,10)), ts_rank(ts_delta(close,20),60), if_else(ts_rank(volume,120) > 0.8, 0.8, 1.2)), sector) +group_neutralize(ts_delta(log(volume), 10) * ts_rank(close, 20), sector) -multiply(ts_corr(group_zscore(ts_delta(close,5), sector), group_zscore(ts_delay(ts_delta(close,5),5), sector), 30), if_else(bucket(rank(volume), range="0,3,0.4") == 0, ts_delta(close,5), ts_delta(close,10))) +group_neutralize(ts_corr(returns, scl12_sentiment, 30) * ts_std_dev(returns, 60), sector) -add(multiply(reverse(ts_rank(divide(volume, ts_mean(volume,20)), 10)), ts_delta(close,20)), multiply(0.3, ts_zscore(ts_corr(ts_delay(close,1), close, 20), 60))) +if_else(volume > ts_mean(volume, 30), ts_rank(returns, 10), -ts_rank(returns, 10)) -group_scale(multiply(ts_scale(ts_delta(close,20),20), ts_rank(ts_std_dev(returns,5),20), if_else(ts_rank(ts_mean(abs(returns),10),30) > 0.7, 1, -1)), industry) +ts_sum(if_else(ts_rank(close, 5) > ts_rank(close, 20), ts_delta(close, 1), -ts_delta(close, 1)), 10) -if_else(ts_std_dev(returns,20) > 0.02, multiply(ts_delta(close,5), divide(1, ts_std_dev(returns,5))), multiply(ts_delta(close,30), divide(1, ts_std_dev(returns,30)))) +group_neutralize(ts_rank(ts_corr(vwap, volume, 20), 5), sector) -multiply(ts_corr(ts_delay(ts_delta(close,1),1), ts_delta(close,1), 10), group_zscore(ts_sum(volume,5), industry), ts_rank(ts_delta(close,10),30)) +ts_av_diff(implied_volatility_mean_180, 30) * ts_zscore(returns, 60) -add(group_neutralize(ts_regression(close, ts_step(1), 30, 0, 1), sector), multiply(0.5, ts_zscore(divide(volume, ts_mean(volume,60)), 20))) +group_neutralize(ts_rank(pcr_oi_30, 10) * ts_delta(close, 5), sector) -multiply(if_else(ts_rank(volume,120) > 0.8, ts_delta(close,5), ts_delta(close,20)), ts_rank(ts_corr(close, volume, 10), 30), reverse(ts_scale(ts_sum(returns,5),5))) +ts_sum(signed_power(ts_delta(log(close), 2), sign(ts_delta(volume, 2))), 5) -group_zscore(multiply(ts_delta(close,20), divide(1, ts_std_dev(returns,20)), ts_rank(ts_mean(volume,10),60)), industry) +scale(ts_rank(close, 10) - ts_rank(vwap, 10)) -multiply(ts_corr(ts_delay(group_mean(returns, 1, industry), 1), group_mean(returns, 1, industry), 20), ts_delta(close, 10)) +if_else(ts_std_dev(returns, 30) > ts_mean(ts_std_dev(returns, 5), 30), ts_rank(close, 5), ts_rank(-close, 5)) -group_neutralize(multiply(ts_rank(ts_delta(close, 20), 60), bucket(rank(volume), range="0,3,0.4")), industry) +group_neutralize(ts_rank(ts_delta(close, 2), 10) * ts_sum(volume, 5), sector) -if_else(ts_std_dev(returns, 20) > 0.02, ts_delta(close, 5), ts_delta(close, 20)) +ts_delta(ts_corr(close, volume, 10), 5) * ts_scale(close, 20) -multiply(reverse(ts_rank(divide(volume, ts_mean(volume, 20)), 10)), ts_delta(close, 20)) +group_neutralize(ts_rank(fscore_momentum, 60) * ts_zscore(returns, 30), sector) -group_mean(ts_regression(close, ts_step(1), 30, 0, 1), 1, bucket(rank(volume), range="0,3,0.4")) +ts_sum(if_else(ts_rank(close, 20) > ts_rank(vwap, 20), log(volume), -log(volume)), 15) -ts_corr(ts_delay(ts_delta(close, 5), 1), ts_delta(close, 5), 10) +if_else(historical_volatility_60 > ts_mean(historical_volatility_60, 60), ts_rank(returns, 10), ts_rank(-returns, 10)) -group_zscore(ts_delta(close, 20), industry) +ts_regression(returns, ts_delta(scl12_sentiment, 1), 30, 0, 0) -multiply(ts_std_dev(returns, 60), ts_rank(ts_delta(close, 20), 60)) +group_neutralize(ts_sum(signed_power(ts_delta(close, 1), sign(ts_delta(pcr_vol_10, 1))), 5), sector) -ts_regression(ts_delta(close, 20), ts_step(1), 30, 0, 1) +ts_av_diff(implied_volatility_mean_skew_30, 20) * ts_zscore(close, 50) -group_rank(ts_delta(close, 20), industry) +if_else(ts_mean(volume, 10) > ts_mean(volume, 30), ts_rank(close, 5), -ts_rank(close, 10)) -ts_decay_linear(ts_delta(close, 20), 30) +group_neutralize(ts_rank(ts_corr(fscore_value, returns, 40), 10), sector) -multiply(ts_zscore(volume, 20), ts_delta(close, 20)) +ts_sum(if_else(ts_delta(log(volume), 5) > 0, ts_delta(close, 1), -ts_delta(close, 1)), 8) -group_scale(ts_rank(ts_delta(close, 20), 60), industry) +ts_corr(ts_rank(close, 5), ts_rank(volume, 20), 10) -ts_av_diff(ts_delta(close, 20), 60) +group_neutralize(ts_rank(ts_delta(vwap, 3), 15) * ts_std_dev(returns, 20), sector) -if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.7, ts_delta(close, 5), ts_delta(close, 20)) +if_else(pcr_oi_90 > ts_mean(pcr_oi_90, 30), ts_rank(returns, 10), -ts_rank(returns, 10)) -ts_corr(group_mean(ts_delta(close, 10), 1, industry), group_mean(ts_delta(close, 10), 1, industry), 30) +ts_av_diff(fscore_growth, 20) * ts_zscore(ts_delta(close, 2), 40) -ts_mean(ts_delta(close, 20), 20) +group_neutralize(ts_rank(ts_corr(implied_volatility_call_30, returns, 30), 10), sector) -ts_scale(ts_delta(close, 20), 20) +ts_sum(signed_power(ts_delta(vwap, 1), sign(ts_delta(fscore_profitability, 5))), 10) -ts_quantile(ts_delta(close, 20), 60) +scale(ts_rank(ts_sum(returns, 5), 20) - ts_rank(ts_sum(volume, 5), 20)) -winsorize(ts_delta(close, 20), std=4) +if_else(beta_last_30_days_spy > ts_mean(beta_last_30_days_spy, 60), ts_rank(close, 5), ts_rank(-close, 10)) -hump(ts_delta(close, 20), hump=0.01) +group_neutralize(ts_rank(ts_delta(fscore_quality, 10), 20) * ts_zscore(returns, 30), sector) -ts_count_nans(ts_delta(close, 20), 60) +ts_delta(ts_corr(close, parkinson_volatility_30, 20), 5) * ts_scale(close, 15) -ts_backfill(ts_delta(close, 20), lookback=30, k=1) +group_neutralize(ts_rank(rp_css_earnings, 40) * ts_delta(close, 3), sector) -ts_product(ts_delta(close, 20), 20) +ts_sum(if_else(ts_rank(close, 15) > ts_rank(volume, 15), ts_delta(close, 1), -ts_delta(close, 1)), 10) -ts_sum(ts_delta(close, 20), 20) +if_else(implied_volatility_mean_360 > ts_mean(implied_volatility_mean_360, 90), ts_rank(returns, 15), ts_rank(-returns, 15)) -ts_arg_max(ts_delta(close, 20), 60) +ts_regression(returns, ts_delta(rp_nip_price, 1), 25, 0, 0) -ts_arg_min(ts_delta(close, 20), 60) +group_neutralize(ts_sum(signed_power(ts_delta(close, 1), sign(ts_delta(call_breakeven_30, 1))), 5), sector) -ts_covariance(ts_delta(close, 20), ts_delta(close, 20), 30) +ts_av_diff(implied_volatility_mean_skew_120, 30) * ts_zscore(returns, 50) -ts_decay_linear(ts_zscore(volume, 20), 30) +if_else(ts_mean(adv20, 10) > ts_mean(adv20, 30), ts_rank(close, 8), -ts_rank(close, 12)) -group_backfill(ts_delta(close, 20), industry, 30, std=4.0) +group_neutralize(ts_rank(ts_corr(forward_price_60, returns, 35), 10), sector) -ts_rank(ts_zscore(volume, 20), 60) +ts_sum(if_else(ts_delta(log(adv20), 5) > 0, ts_delta(close, 1), -ts_delta(close, 1)), 12) -normalize(ts_delta(close, 20), useStd=true, limit=0.0) +ts_corr(ts_rank(vwap, 8), ts_rank(pcr_vol_20, 25), 15) -quantile(ts_delta(close, 20), driver="gaussian", sigma=1.0) +group_neutralize(ts_rank(ts_delta(put_breakeven_30, 5), 20) * ts_std_dev(returns, 25), sector) -rank(ts_delta(close, 20), rate=2) +if_else(pcr_vol_30 > ts_mean(pcr_vol_30, 30), ts_rank(returns, 10), -ts_rank(returns, 10)) -scale(ts_delta(close, 20), scale=1, longscale=1, shortscale=1) +ts_av_diff(fscore_total, 25) * ts_zscore(ts_delta(close, 3), 60) -zscore(ts_delta(close, 20)) +group_neutralize(ts_rank(ts_corr(implied_volatility_call_90, returns, 40), 10), sector) -vec_avg(ts_delta(close, 20)) +ts_sum(signed_power(ts_delta(close, 2), sign(ts_delta(fscore_surface_accel, 7))), 8) -vec_sum(ts_delta(close, 20)) +scale(ts_rank(ts_sum(returns, 7), 25) - ts_rank(ts_sum(adv20, 7), 25)) -bucket(rank(ts_delta(close, 20)), range="0,3,0.4") +if_else(beta_last_90_days_spy > ts_mean(beta_last_90_days_spy, 90), ts_rank(close, 10), ts_rank(-close, 15)) -trade_when(ts_delta(close, 20), ts_std_dev(returns, 20) > 0.02, ts_delta(close, 5)) +group_neutralize(ts_rank(ts_delta(systematic_risk_last_30_days, 15), 30) * ts_zscore(returns, 40), sector) -multiply(ts_corr(ts_delay(ts_delta(close, 5), 1), ts_delta(close, 5), 10), ts_delta(close, 20)) +ts_delta(ts_corr(close, nws18_nip, 25), 7) * ts_scale(close, 20) -group_mean(ts_delta(close, 20), 1, industry) +group_neutralize(ts_rank(rp_css_ptg, 50) * ts_delta(close, 4), sector) -group_neutralize(ts_delta(close, 20), industry) +ts_sum(if_else(ts_rank(vwap, 20) > ts_rank(adv20, 20), ts_delta(close, 1), -ts_delta(close, 1)), 15) -group_rank(ts_delta(close, 20), industry) +if_else(implied_volatility_mean_720 > ts_mean(implied_volatility_mean_720, 120), ts_rank(returns, 20), ts_rank(-returns, 20)) -group_scale(ts_delta(close, 20), industry) +ts_regression(returns, ts_delta(scl12_buzz, 1), 20, 0, 0) -group_zscore(ts_delta(close, 20), industry) +group_neutralize(ts_sum(signed_power(ts_delta(close, 1), sign(ts_delta(option_breakeven_90, 1))), 6), sector) -ts_regression(ts_delta(close, 20), ts_step(1), 30, 0, 1) +ts_av_diff(implied_volatility_mean_skew_10, 15) * ts_zscore(returns, 30) -ts_std_dev(ts_delta(close, 20), 20) +if_else(ts_mean(volume, 15) > ts_mean(volume, 45), ts_rank(close, 10), -ts_rank(close, 20)) -ts_mean(ts_delta(close, 20), 20) +group_neutralize(ts_rank(ts_corr(forward_price_180, returns, 45), 10), sector) -ts_sum(ts_delta(close, 20), 20) +ts_sum(if_else(ts_delta(log(volume), 7) > 0, ts_delta(close, 2), -ts_delta(close, 2)), 10) -ts_product(ts_delta(close, 20), 20) +ts_corr(ts_rank(close, 10), ts_rank(pcr_oi_120, 30), 20) -ts_corr(ts_delta(close, 20), ts_delta(close, 20), 30) +group_neutralize(ts_rank(ts_delta(call_breakeven_180, 7), 25) * ts_std_dev(returns, 30), sector) -ts_covariance(ts_delta(close, 20), ts_delta(close, 20), 30) +if_else(pcr_vol_270 > ts_mean(pcr_vol_270, 30), ts_rank(returns, 12), -ts_rank(returns, 12)) -ts_decay_linear(ts_delta(close, 20), 30) +ts_av_diff(fscore_surface, 30) * ts_zscore(ts_delta(close, 4), 70) -ts_delay(ts_delta(close, 20), 1) +group_neutralize(ts_rank(ts_corr(implied_volatility_call_270, returns, 50), 10), sector) -ts_delta(ts_delta(close, 5), 5) +ts_sum(signed_power(ts_delta(vwap, 2), sign(ts_delta(fscore_momentum, 10))), 12) -ts_av_diff(ts_delta(close, 20), 60) +scale(ts_rank(ts_sum(returns, 10), 30) - ts_rank(ts_sum(pcr_oi_20, 10), 30)) -ts_scale(ts_delta(close, 20), 20) +if_else(unsystematic_risk_last_60_days > ts_mean(unsystematic_risk_last_60_days, 120), ts_rank(close, 12), ts_rank(-close, 18)) -ts_quantile(ts_delta(close, 20), 60) +group_neutralize(ts_rank(ts_delta(beta_last_60_days_spy, 20), 35) * ts_zscore(returns, 45), sector) -ts_rank(ts_delta(close, 20), 60) +ts_delta(ts_corr(close, rp_ess_price, 30), 10) * ts_scale(close, 25) -ts_zscore(ts_delta(close, 20), 20) +group_neutralize(ts_rank(rp_css_dividends, 60) * ts_delta(close, 5), sector) -winsorize(ts_delta(close, 20), std=4) +ts_sum(if_else(ts_rank(close, 25) > ts_rank(volume, 25), ts_delta(close, 2), -ts_delta(close, 2)), 20) -hump(ts_delta(close, 20), hump=0.01) +if_else(parkinson_volatility_90 > ts_mean(parkinson_volatility_90, 60), ts_rank(returns, 15), ts_rank(-returns, 15)) -ts_backfill(ts_delta(close, 20), lookback=30, k=1) +ts_regression(returns, ts_delta(fscore_profitability, 2), 35, 0, 0) -ts_count_nans(ts_delta(close, 20), 60) +group_neutralize(ts_sum(signed_power(ts_delta(close, 1), sign(ts_delta(put_breakeven_270, 1))), 7), sector) -ts_arg_max(ts_delta(close, 20), 60) +ts_av_diff(implied_volatility_mean_150, 40) * ts_zscore(returns, 60) -ts_arg_min(ts_delta(close, 20), 60) +if_else(ts_mean(adv20, 20) > ts_mean(adv20, 60), ts_rank(close, 15), -ts_rank(close, 25)) -ts_regression(ts_delta(close, 20), ts_step(1), 30, 0, 1) +group_neutralize(ts_rank(ts_corr(forward_price_720, returns, 60), 10), sector) -group_mean(ts_regression(close, ts_step(1), 30, 0, 1), 1, industry) +ts_sum(if_else(ts_delta(log(adv20), 10) > 0, ts_delta(close, 3), -ts_delta(close, 3)), 15) -group_neutralize(ts_regression(close, ts_step(1), 30, 0, 1), industry) +ts_corr(ts_rank(vwap, 12), ts_rank(pcr_vol_360, 40), 25) -group_rank(ts_regression(close, ts_step(1), 30, 0, 1), industry) +group_neutralize(ts_rank(ts_delta(option_breakeven_720, 10), 30) * ts_std_dev(returns, 35), sector) -group_scale(ts_regression(close, ts_step(1), 30, 0, 1), industry) +if_else(pcr_oi_270 > ts_mean(pcr_oi_270, 30), ts_rank(returns, 15), -ts_rank(returns, 15)) -group_zscore(ts_regression(close, ts_step(1), 30, 0, 1), industry) +ts_av_diff(fscore_bfl_surface_accel, 35) * ts_zscore(ts_delta(close, 5), 80) -ts_corr(ts_delay(group_mean(ts_regression(close, ts_step(1), 30, 0, 1), 1, industry), 1), group_mean(ts_regression(close, ts_step(1), 30, 0, 1), 1, industry), 20) +group_neutralize(ts_rank(ts_corr(implied_volatility_call_1080, returns, 70), 10), sector) -multiply(ts_corr(ts_delay(group_mean(ts_regression(close, ts_step(1), 30, 0, 1), 1, industry), 1), group_mean(ts_regression(close, ts_step(1), 30, 0, 1), 1, industry), 20), ts_regression(close, ts_step(1), 30, 0, 1)) +ts_sum(signed_power(ts_delta(close, 3), sign(ts_delta(analyst_revision_rank_derivative, 15))), 15) -if_else(ts_std_dev(returns, 20) > 0.02, ts_regression(close, ts_step(1), 10, 0, 1), ts_regression(close, ts_step(1), 30, 0, 1)) +scale(ts_rank(ts_sum(returns, 12), 35) - ts_rank(ts_sum(pcr_oi_90, 12), 35)) -multiply(reverse(ts_rank(divide(volume, ts_mean(volume, 20)), 10)), ts_regression(close, ts_step(1), 30, 0, 1)) +if_else(correlation_last_90_days_spy > ts_mean(correlation_last_90_days_spy, 180), ts_rank(close, 15), ts_rank(-close, 22)) -ts_mean(ts_regression(close, ts_step(1), 30, 0, 1), 20) +group_neutralize(ts_rank(ts_delta(systematic_risk_last_90_days, 25), 40) * ts_zscore(returns, 50), sector) -ts_sum(ts_regression(close, ts_step(1), 30, 0, 1), 20) +ts_delta(ts_corr(close, nws18_acb, 35), 12) * ts_scale(close, 30) -ts_product(ts_regression(close, ts_step(1), 30, 0, 1), 20) +group_neutralize(ts_rank(rp_css_assets, 70) * ts_delta(close, 6), sector) -ts_std_dev(ts_regression(close, ts_step(1), 30, 0, 1), 20) +ts_sum(if_else(ts_rank(vwap, 30) > ts_rank(volume, 30), ts_delta(close, 3), -ts_delta(close, 3)), 25) -ts_zscore(ts_regression(close, ts_step(1), 30, 0, 1), 20) +if_else(historical_volatility_150 > ts_mean(historical_volatility_150, 90), ts_rank(returns, 18), ts_rank(-returns, 18)) -ts_rank(ts_regression(close, ts_step(1), 30, 0, 1), 60) +ts_regression(returns, ts_delta(fscore_growth, 3), 40, 0, 0) -ts_scale(ts_regression(close, ts_step(1), 30, 0, 1), 20) +group_neutralize(ts_sum(signed_power(ts_delta(close, 2), sign(ts_delta(call_breakeven_270, 2))), 8), sector) -ts_quantile(ts_regression(close, ts_step(1), 30, 0, 1), 60) +ts_av_diff(implied_volatility_mean_360, 50) * ts_zscore(returns, 70) -ts_corr(ts_regression(close, ts_step(1), 30, 0, 1), ts_regression(close, ts_step(1), 30, 0, 1), 30) +if_else(ts_mean(volume, 25) > ts_mean(volume, 75), ts_rank(close, 20), -ts_rank(close, 30)) -ts_covariance(ts_regression(close, ts_step(1), 30, 0, 1), ts_regression(close, ts_step(1), 30, 0, 1), 30) +group_neutralize(ts_rank(ts_corr(forward_price_120, returns, 80), 10), sector) -ts_decay_linear(ts_regression(close, ts_step(1), 30, 0, 1), 30) +ts_sum(if_else(ts_delta(log(volume), 12) > 0, ts_delta(close, 4), -ts_delta(close, 4)), 20) -ts_delay(ts_regression(close, ts_step(1), 30, 0, 1), 1) +ts_corr(ts_rank(close, 15), ts_rank(pcr_oi_720, 50), 30) -ts_delta(ts_regression(close, ts_step(1), 30, 0, 1), 5) +group_neutralize(ts_rank(ts_delta(put_breakeven_150, 12), 35) * ts_std_dev(returns, 40), sector) -ts_av_diff(ts_regression(close, ts_step(1), 30, 0, 1), 60) +if_else(pcr_vol_30 > 1, ts_rank(returns, 18), -ts_rank(returns, 18)) -ts_backfill(ts_regression(close, ts_step(1), 30, 0, 1), lookback=30, k=1) +ts_av_diff(fscore_bfl_total, 40) * ts_zscore(ts_delta(close, 6), 90) -ts_count_nans(ts_regression(close, ts_step(1), 30, 0, 1), 60) -ts_arg_max(ts_regression(close, ts_step(1), 30, 0, 1), 60) +ts_rank(volume, 20) * ts_rank(returns, 20) -ts_arg_min(ts_regression(close, ts_step(1), 30, 0, 1), 60) +ts_delta(volume, 5) / ts_mean(volume, 20) -winsorize(ts_regression(close, ts_step(1), 30, 0, 1), std=4) +log(volume) * ts_rank(close, 10) -hump(ts_regression(close, ts_step(1), 30, 0, 1), hump=0.01) +ts_rank(adv20, 60) - ts_rank(returns, 60) -normalize(ts_regression(close, ts_step(1), 30, 0, 1), useStd=true, limit=0.0) +ts_corr(volume, returns, 20) -quantile(ts_regression(close, ts_step(1), 30, 0, 1), driver="gaussian", sigma=1.0) +ts_rank(multiply(volume, returns), 20) -rank(ts_regression(close, ts_step(1), 30, 0, 1), rate=2) +sign(ts_delta(volume, 10)) * (-1 * ts_rank(returns, 10)) -scale(ts_regression(close, ts_step(1), 30, 0, 1), scale=1, longscale=1, shortscale=1) +ts_rank(low, 5) - ts_rank(volume, 5) -zscore(ts_regression(close, ts_step(1), 30, 0, 1)) +ts_mean(volume, 5) / ts_mean(volume, 60) -vec_avg(ts_regression(close, ts_step(1), 30, 0, 1)) +rank(volume) - rank(returns) -vec_sum(ts_regression(close, ts_step(1), 30, 0, 1)) +ts_delta(log(volume), 5) -bucket(rank(ts_regression(close, ts_step(1), 30, 0, 1)), range="0,3,0.4") +multiply(ts_rank(volume, 20), ts_delta(close, 20)) -trade_when(ts_regression(close, ts_step(1), 30, 0, 1), ts_std_dev(returns, 20) > 0.02, ts_regression(close, ts_step(1), 10, 0, 1)) +ts_mean(returns, 20) * ts_std_dev(volume, 20) +divide(ts_sum(volume, 5), ts_sum(volume, 20)) -group_neutralize(multiply(ts_corr(ts_delta(close, 10), ts_delta(close, 60), 30), ts_zscore(volume, 20)), sector) +ts_rank(close, 20) / ts_rank(volume, 20) -multiply(if_else(ts_rank(divide(volume, ts_mean(volume, 20)), 60) > 0.8, ts_delta(close, 5), divide(ts_delta(close, 10), ts_mean(abs(returns), 10))), group_rank(ts_corr(group_mean(returns, 1, industry), returns, 20), sector)) +ts_corr(ts_delta(close, 1), ts_delta(volume, 1), 5) -multiply(ts_rank(divide(volume, ts_mean(volume, 20)), 30), group_neutralize(ts_corr(ts_delay(group_mean(returns, 1, industry), 3), returns, 20), industry)) +rank(ts_delta(close, 5)) * rank(volume) -multiply(ts_rank(ts_std_dev(returns, 20), 60), if_else(ts_corr(ts_mean(close, 5), ts_mean(close, 60), 30) > 0.7, ts_delta(close, 10), reverse(ts_delta(close, 10)))) +ts_mean(divide(ts_delta(high, 1), close), 10) * rank(volume) -multiply(group_neutralize(divide(ts_delta(close, 10), ts_std_dev(returns, 20)), industry), ts_rank(ts_zscore(volume, 20), 60)) +multiply(rank(volume), rank(close)) -if_else(ts_rank(ts_mean(divide(volume, ts_mean(volume, 20)), 30), 120) > 0.7, ts_corr(ts_delay(group_mean(returns, 1, sector), 2), returns, 20), reverse(ts_delta(close, 20))) +ts_rank(volume, 10) * ts_std_dev(returns, 10) -group_neutralize(multiply(ts_regression(close, ts_step(1), 30, 0, 1), divide(volume, ts_mean(volume, 60))), subindustry) +ts_zscore(volume, 60) * ts_rank(returns, 20) -multiply(ts_rank(ts_corr(close, ts_mean(close, 60), 20), 60), divide(group_neutralize(ts_delta(close, 20), industry), ts_std_dev(returns, 20))) +ts_mean(rank(volume), 10) * sign(ts_delta(close, 10)) -multiply(if_else(rank(volume) > 0.7, group_mean(ts_delta(close, 10), 1, bucket(rank(volume), range="0,3,0.4")), ts_delta(close, 5)), ts_zscore(volume, 30)) +ts_delta(rank(volume), 20) * rank(returns) -multiply(group_neutralize(ts_corr(ts_delta(close, 20), ts_delay(group_mean(returns, 1, industry), 1), 30), industry), ts_rank(divide(volume, ts_mean(volume, 10)), 60)) +inverse(rank(volume)) * ts_rank(returns, 5) -if_else(ts_rank(ts_std_dev(returns, 20), 120) > 0.8, ts_rank(ts_delta(close, 5), 30), divide(ts_delta(close, 30), ts_mean(abs(returns), 30))) +ts_mean(ts_delta(close, 1), 10) * rank(volume) -group_neutralize(multiply(ts_zscore(volume, 20), sign(ts_corr(ts_mean(close, 5), ts_mean(close, 20), 20))), sector) +multiply(sign(ts_delta(close, 10)), ts_rank(volume, 20)) -multiply(ts_rank(ts_corrrank(close, ts_mean(close, 60), 30), 60), reverse(divide(volume, ts_mean(volume, 10)))) +ts_coeff(returns, ts_mean(volume, 20), 10) -divide(multiply(ts_regression(close, ts_step(1), 30, 0, 1), ts_zscore(volume, 20)), ts_std_dev(returns, 60)) +divide(ts_rank(volume, 10), ts_rank(volume, 60)) -group_neutralize(multiply(ts_corr(group_mean(returns, 1, industry), returns, 20), if_else(ts_rank(volume, 30) > 0.8, ts_delta(close, 5), ts_delta(close, 20))), industry) +rank(multiply(volume, returns)) -multiply(ts_rank(divide(volume, ts_mean(volume, 60)), 60), group_rank(ts_delta(close, 20), industry)) +ts_mean(volume, 3) - ts_mean(volume, 20) -multiply(if_else(ts_corr(ts_mean(close, 5), ts_mean(close, 30), 20) > 0.5, 1, -1), divide(ts_delta(close, 10), ts_std_dev(returns, 20))) +multiply(ts_rank(volume, 20), ts_rank(ts_delta(close, 20), 20)) -group_neutralize(multiply(ts_rank(ts_zscore(volume, 20), 60), ts_delta(close, 10)), sector) +ts_corr(rank(volume), rank(close), 20) -multiply(ts_corr(ts_delta(close, 10), ts_delay(ts_delta(close, 10), 5), 60), rank(volume)) +ts_mean(returns, 20) / ts_mean(volume, 20) -multiply(if_else(ts_rank(ts_std_dev(returns, 30), 60) > 0.7, ts_delta(close, 10), ts_delta(close, 60)), group_zscore(volume, subindustry)) +ts_rank(volume, 20) - ts_rank(volume, 60) -multiply(ts_rank(group_mean(ts_delta(close, 10), 1, sector), 30), ts_corr(close, ts_delay(close, 30), 60)) +rank(volume) * rank(ts_delta(close, 10)) -group_neutralize(multiply(ts_rank(ts_mean(divide(volume, ts_mean(volume, 20)), 30), 60), ts_regression(close, ts_step(1), 20, 0, 1)), industry) +multiply(ts_rank(volume, 20), ts_corr(close, volume, 20)) -multiply(reverse(ts_rank(divide(volume, ts_mean(volume, 20)), 30)), divide(ts_delta(close, 10), group_mean(abs(ts_delta(close, 10)), 1, industry))) +divide(ts_sum(volume, 20), cap) -ts_delta(close, 20) * bucket(rank(volume), range="0,3,0.4") +ts_mean(returns, 20) * ts_mean(volume, 20) -group_mean(ts_delta(close, 10), 1, industry) * ts_rank(ts_std_dev(returns, 20), 60) +rank(returns) - rank(volume) -ts_corr(group_mean(returns, 1, industry_A), group_mean(returns, 1, industry_B), 30) * ts_delta(close, 10) +ts_delta(log(volume), 10) * rank(returns) -multiply(reverse(ts_rank(divide(volume, ts_mean(volume, 20)), 10)), ts_delta(close, 20)) +ts_mean(rank(volume), 20) * rank(close) -ts_regression(close, ts_step(1), 60, 0, 1) * group_zscore(ts_delta(close, 5), industry) +multiply(ts_std_dev(returns, 20), ts_std_dev(volume, 20)) -hump(ts_delta(ts_delta(close, 5), 5), hump=0.01) * group_neutralize(ts_rank(volume, 20), industry) +ts_rank(volume, 20) * ts_mean(ts_delta(close, 1), 10) -winsorize(ts_delta(close, 10) / ts_std_dev(returns, 10), std=4) * bucket(rank(ts_std_dev(returns, 60)), range="0,5,0.25") +divide(ts_mean(volume, 20), adv20) -if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.7, ts_delta(close, 5), ts_delta(close, 60)) * group_scale(close, industry) +rank(volume) + rank(returns) -ts_delay(group_mean(returns, 1, sector), 10) * ts_zscore(volume, 20) +ts_delta(volume, 20) * ts_std_dev(returns, 20) -ts_delta(group_mean(close, 1, subindustry), 5) * ts_corr(close, ts_mean(close, 60), 30) +multiply(rank(close), rank(volume)) -hump(multiply(ts_delta(close, 20), group_rank(volume, industry)), hump=0.01) * ts_rank(ts_std_dev(returns, 20), 60) +ts_rank(returns, 20) / ts_rank(volume, 20) -bucket(ts_rank(ts_delta(close, 10), 30), range="0,4,0.25") * group_neutralize(ts_regression(close, ts_step(1), 20, 0, 1), sector) +ts_mean(ts_corr(close, volume, 10), 20) -ts_product(ts_delta(close, 5), 5) * group_zscore(divide(volume, adv20), subindustry) +ts_rank(volume, 20) * ts_rank(ts_delta(close, 5), 10) -ts_mean(ts_delta(close, 20), 30) * if_else(rank(volume) > 0.8, 1, -1) +rank(multiply(returns, volume)) -winsorize(group_mean(ts_delta(close, 10), 1, industry), std=3) * ts_rank(ts_std_dev(returns, 60), 120) +ts_mean(returns, 20) * rank(volume) -ts_corr(ts_delay(close, 10), group_mean(close, 1, sector), 30) * group_zscore(ts_delta(close, 5), subindustry) +ts_rank(volume, 60) - ts_rank(returns, 20) -hump(group_mean(ts_delta(close, 20), 1, industry) - ts_delta(close, 20), hump=0.01) * ts_rank(volume, 20) +multiply(ts_rank(volume, 20), ts_mean(ts_delta(close, 1), 5)) -bucket(group_rank(returns, sector), range="0,5,0.2") * multiply(ts_delta(close, 10), ts_std_dev(returns, 10)) +ts_corr(rank(volume), rank(returns), 20) -ts_delay(group_mean(returns, 1, industry_A), 5) * ts_corr(group_mean(returns, 1, industry_B), close, 20) +divide(ts_delta(volume, 10), ts_mean(volume, 60)) -hump(ts_rank(ts_delta(close, 5), 10) * group_scale(ts_std_dev(returns, 60), industry), hump=0.01) * ts_mean(volume, 20) +rank(volume) * rank(ts_delta(close, 20)) -group_zscore(ts_delta(close, 20), sector) * if_else(ts_std_dev(returns, 20) > 0.02, ts_delta(close, 5), ts_delta(close, 60)) +multiply(ts_std_dev(volume, 20), ts_rank(returns, 20)) -ts_regression(group_mean(close, 1, subindustry), ts_step(1), 60, 0, 1) * bucket(rank(ts_std_dev(returns, 20)), range="0,4,1") +ts_mean(rank(volume), 20) * rank(returns) -ts_delta(group_mean(close, 1, sector), 10) * winsorize(ts_rank(volume, 30), std=3) +ts_rank(volume, 20) - ts_rank(close, 20) -multiply(ts_corr(close, ts_mean(close, 60), 30), ts_delta(close, 20)) * group_neutralize(ts_delta(close, 5), industry) +rank(volume) * ts_std_dev(returns, 20) -hump(group_mean(ts_delta(close, 5), 1, industry) * ts_rank(ts_std_dev(returns, 20), 60), hump=0.01) * bucket(rank(volume), range="0,3,0.3") +ts_rank(multiply(volume, ts_delta(close, 10)), 20) -ts_delay(group_mean(returns, 1, industry), 5) * group_scale(ts_delta(close, 10), subindustry) +ts_mean(returns, 20) / rank(volume) -ts_delta(ts_regression(close, ts_step(1), 30, 0, 1), 5) * bucket(rank(ts_std_dev(returns, 60)), range="0,5,1") +multiply(ts_rank(volume, 20), ts_corr(ts_delta(close, 1), ts_delta(volume, 1), 20)) -group_mean(ts_delta(close, 10), 1, sector) * if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.8, ts_delta(close, 5), ts_delta(close, 20)) +divide(ts_sum(volume, 20), ts_sum(volume, 60)) -hump(multiply(ts_delta(close, 20), ts_rank(volume, 30)), hump=0.01) * group_rank(ts_std_dev(returns, 20), industry) +rank(volume) * rank(returns) * -1 -ts_corr(ts_delay(group_mean(returns, 1, industry_A), 5), group_mean(returns, 1, industry_B), 30) * ts_delta(close, 10) +ts_delta(volume, 20) * ts_rank(close, 20) -bucket(group_rank(ts_delta(close, 20), subindustry), range="0,5,0.25") * group_neutralize(ts_zscore(volume, 20), sector) +ts_mean(rank(volume), 20) - rank(close) -ts_delay(group_mean(close, 1, sector), 10) * multiply(ts_delta(close, 5), ts_std_dev(returns, 5)) +multiply(ts_corr(close, volume, 20), ts_rank(returns, 20)) -group_neutralize(hump(ts_delta(close, 30), hump=0.01), industry) * bucket(rank(ts_mean(volume, 60)), range="0,4,0.25") +divide(ts_std_dev(volume, 20), ts_mean(volume, 20)) -ts_corr(group_mean(returns, 1, industry), close, 20) * if_else(ts_std_dev(returns, 20) > 0.03, ts_delta(close, 5), ts_delta(close, 20)) +ts_rank(volume, 20) * ts_zscore(returns, 20) -winsorize(hump(ts_delta(close, 10), hump=0.01) * ts_rank(volume, 30), std=4) * group_scale(ts_std_dev(returns, 60), subindustry) +multiply(rank(volume), rank(ts_delta(close, 5))) -ts_delay(group_mean(close, 1, subindustry), 5) * ts_corr(close, ts_mean(close, 60), 30) +ts_mean(ts_corr(close, volume, 10), 20) * rank(returns) -bucket(group_zscore(ts_delta(close, 10), sector), range="0,5,0.2") * multiply(reverse(ts_rank(volume, 20)), ts_delta(close, 20)) +ts_rank(volume, 60) / ts_rank(close, 20) -ts_regression(group_mean(close, 1, industry), ts_step(1), 60, 0, 1) * if_else(ts_rank(ts_std_dev(returns, 60), 120) > 0.7, ts_delta(close, 5), ts_delta(close, 60)) +(rank(volume) > rank(returns)) * (-1) -group_mean(winsorize(ts_delta(close, 20), std=3), 1, sector) * ts_rank(ts_std_dev(returns, 20), 60) +ts_delta(volume, 10) * ts_corr(close, volume, 20) -ts_corr(group_mean(returns, 1, industry_A), group_mean(returns, 1, industry_B), 30) * ts_delta(close, 10) +divide(ts_mean(volume, 10), adv20) * -1 -hump(group_mean(ts_delta(close, 5), 1, industry) * ts_rank(ts_std_dev(returns, 60), 120), hump=0.01) * bucket(rank(volume), range="0,3,0.4") \ No newline at end of file +multiply(rank(volume), rank(ts_delta(close, 20))) + +ts_std_dev(returns, 20) * ts_rank(volume, 20) + +rank(volume) - rank(close) * -1 + +multiply(ts_mean(ts_delta(close, 1), 10), rank(volume)) + +ts_corr(rank(returns), rank(volume), 20) + +ts_rank(volume, 20) * ts_mean(rank(close), 20) + +divide(ts_sum(volume, 10), ts_sum(volume, 20)) + +rank(volume) * rank(ts_delta(close, 10)) * -1 + +ts_delta(volume, 20) * ts_mean(returns, 20) + +multiply(rank(volume), rank(returns)) + +ts_rank(volume, 20) * ts_rank(ts_delta(close, 20), 20) * -1 + +divide(ts_std_dev(volume, 20), ts_std_dev(returns, 20)) + +rank(volume) + rank(ts_delta(close, 20)) + +multiply(ts_corr(close, volume, 20), rank(volume)) + +ts_mean(returns, 20) * ts_mean(rank(volume), 20) + +ts_rank(volume, 20) - ts_delta(close, 20) + +rank(volume) * ts_zscore(returns, 20) + +multiply(ts_rank(volume, 20), ts_corr(rank(close), rank(volume), 20)) + +divide(ts_delta(volume, 20), ts_mean(volume, 20)) + +rank(volume) * ts_rank(returns, 20) * -1 + +ts_delta(volume, 10) * ts_mean(ts_delta(close, 1), 10) + +multiply(rank(volume), rank(ts_delta(close, 20))) * -1 + +ts_std_dev(returns, 20) / ts_std_dev(volume, 20) + +rank(ts_delta(close, 5) / ts_std_dev(close, 30), 2) * sign(ts_delta(close, 10)) + +scale(ts_mean(volume, 20) / ts_mean(volume, 60), 1) - ts_delta(cap, 21) / cap + +rank(ts_corr(ts_delta(close, 1), volume, 20), 2) * (ts_mean(close, 5) > ts_mean(close, 20)) + +ts_zscore(close, 30) * (1 - ts_count_nans(close, 5)) + +ts_decay_linear(close, 20) * (ts_mean(volume, 10) > ts_mean(volume, 40)) + +(ts_mean(close, 10) - ts_mean(close, 40)) / ts_std_dev(close, 90) * (volume > ts_mean(volume, 20)) + +rank(ts_arg_max(close, 30), 2) * -sign(ts_delta(close, 5)) + +(ts_delay(close, 5) - ts_delay(close, 20)) / ts_delay(close, 20) * ts_mean(volume, 10) + +rank(ts_corr(returns, ts_mean(returns, 10), 20), 2) * (ts_std_dev(returns, 10) < 0.02) + +ts_scale(ts_delta(close, 1), 1) * (ts_mean(volume, 5) > ts_mean(volume, 25)) + +(ts_delta(close, 5) / ts_std_dev(close, 30)) * ts_decay_linear(volume, 20) + +rank(ts_backfill(fclose, 20, 1), 2) * sign(ts_delta(close, 1)) + +(ts_mean(close, 60) - ts_mean(close, 120)) / ts_std_dev(close, 180) * (ts_mean(volume, 60) > ts_mean(volume, 120)) + +(1 - ts_rank(close, 20)) * (ts_delay(close, 1) < ts_mean(close, 30)) + +ts_delta(ts_mean(close, 10), 30) * ts_std_dev(returns, 10) + +rank(ts_delta(close, 10), 2) * (volume > ts_mean(volume, 20)) + +(ts_delay(close, 30) - ts_delay(close, 90)) / ts_delay(close, 90) * ts_std_dev(volume, 10) + +ts_zscore(ts_delta(close, 5), 10) * (ts_mean(close, 5) < ts_mean(close, 20)) + +rank(ts_corr(close, ts_mean(close, 20), 60), 2) * ts_delay(volume, 1) + +(ts_mean(close, 20) < ts_mean(close, 100)) * (ts_delta(close, 5) > 0.02) + +rank(ts_delay(close, 5), 2) * (ts_delta(close, 15) / ts_std_dev(close, 30)) + +scale(ts_delta(volume, 10), 1) * (ts_corr(close, ts_mean(close, 30), 20) < 0.5) + +ts_decay_linear(ts_delta(close, 1), 20) * (ts_rank(volume, 10) > 0.8) + +rank(ts_corr(ts_delay(close, 5), ts_delay(close, 20), 30), 2) * (ts_std_dev(returns, 5) > 0.03) + +(ts_delta(close, 20) / ts_std_dev(close, 60)) * (ts_mean(volume, 20) < ts_mean(volume, 100)) + +(1 - ts_rank(close, 30)) * (ts_delta(close, 10) < -0.01) + +rank(ts_delta(ts_mean(high, 5), 10), 2) * (volume > ts_mean(volume, 20)) + +ts_zscore(ts_delta(ts_mean(close, 5), 20), 60) * (ts_rank(volume, 20) > 0.7) + +(ts_corr(close, ts_mean(close, 10), 30) < 0.3) * ts_delta(close, 20) + +rank(ts_backfill(close, 10, 1), 2) * sign(ts_delta(close, 5)) + +(ts_mean(high, 10) - ts_mean(low, 10)) / ts_mean(close, 10) * ts_volume(10) + +rank(ts_arg_min(close, 30), 2) * (ts_delta(close, 5) < 0) + +(ts_delta(close, 5) / ts_delay(close, 5)) * ts_decay_linear(volume, 20) + +rank(ts_corr(returns, volume, 20), 2) * (ts_std_dev(returns, 20) > 0.025) + +(ts_delay(close, 20) - ts_delay(close, 60)) / ts_delay(close, 60) * ts_mean(volume, 20) + +ts_zscore(ts_delta(ts_mean(close, 20), 60), 90) * (ts_rank(close, 30) < 0.3) + +(ts_delta(close, 10) > 0.02) * (ts_mean(volume, 5) / ts_mean(volume, 60) > 1.5) + +rank(ts_corr(ts_delay(close, 10), ts_delay(close, 40), 60), 2) * (ts_std_dev(volume, 10) > 0.01) + +ts_scale(ts_delta(close, 20), 1) * (ts_mean(close, 20) < ts_mean(close, 100)) + +(1 - ts_rank(close, 60)) * (ts_delta(close, 15) > 0) + +ts_delta(ts_mean(close, 30), 90) * ts_std_dev(returns, 30) + +rank(ts_arg_max(close, 90), 2) * sign(ts_delta(close, 10)) + +(ts_delay(close, 10) - ts_delay(close, 30)) / ts_delay(close, 30) * ts_mean(volume, 10) + +ts_zscore(ts_delta(ts_mean(close, 10), 30), 60) * (ts_rank(volume, 30) > 0.8) + +(ts_corr(close, ts_mean(close, 60), 120) < 0.4) * ts_delta(close, 30) + +rank(ts_backfill(close, 30, 1), 2) * sign(ts_delta(close, 10)) + +(ts_mean(high, 20) - ts_mean(low, 20)) / ts_mean(close, 20) * ts_volume(20) + +rank(ts_arg_min(close, 60), 2) * (ts_delta(close, 5) < 0) + +(ts_delta(close, 5) / ts_delay(close, 5)) * ts_decay_linear(volume, 30) + +rank(ts_corr(returns, volume, 30), 2) * (ts_std_dev(returns, 30) > 0.03) + +(ts_delay(close, 30) - ts_delay(close, 90)) / ts_delay(close, 90) * ts_mean(volume, 30) + +ts_zscore(ts_delta(ts_mean(close, 60), 120), 180) * (ts_rank(close, 60) < 0.2) + +(ts_delta(close, 20) > 0.02) * (ts_mean(volume, 10) / ts_mean(volume, 120) > 1.5) + +rank(ts_corr(ts_delay(close, 20), ts_delay(close, 80), 120), 2) * (ts_std_dev(volume, 20) > 0.02) + +ts_scale(ts_delta(close, 40), 1) * (ts_mean(close, 40) < ts_mean(close, 160)) + +(1 - ts_rank(close, 90)) * (ts_delta(close, 30) > 0) + +ts_delta(ts_mean(close, 60), 180) * ts_std_dev(returns, 60) + +rank(ts_arg_max(close, 180), 2) * sign(ts_delta(close, 20)) + +(ts_delay(close, 20) - ts_delay(close, 60)) / ts_delay(close, 60) * ts_mean(volume, 20) + +ts_zscore(ts_delta(ts_mean(close, 20), 60), 120) * (ts_rank(volume, 60) > 0.7) + +(ts_corr(close, ts_mean(close, 120), 250) < 0.5) * ts_delta(close, 60) + +rank(ts_backfill(close, 60, 1), 2) * sign(ts_delta(close, 20)) + +(ts_mean(high, 60) - ts_mean(low, 60)) / ts_mean(close, 60) * ts_volume(60) + +rank(ts_arg_min(close, 120), 2) * (ts_delta(close, 10) < 0) + +(ts_delta(close, 10) / ts_delay(close, 10)) * ts_decay_linear(volume, 60) + +rank(ts_corr(returns, volume, 60), 2) * (ts_std_dev(returns, 60) > 0.04) + +(ts_delay(close, 60) - ts_delay(close, 180)) / ts_delay(close, 180) * ts_mean(volume, 60) + +ts_zscore(ts_delta(ts_mean(close, 120), 360), 720) * (ts_rank(close, 120) < 0.1) + +(ts_delta(close, 30) > 0.03) * (ts_mean(volume, 20) / ts_mean(volume, 240) > 2.0) + +rank(ts_corr(ts_delay(close, 30), ts_delay(close, 120), 180), 2) * (ts_std_dev(volume, 30) > 0.03) + +ts_scale(ts_delta(close, 80), 1) * (ts_mean(close, 80) < ts_mean(close, 320)) + +(1 - ts_rank(close, 180)) * (ts_delta(close, 90) > 0) + +ts_delta(ts_mean(close, 120), 360) * ts_std_dev(returns, 120) + +rank(ts_arg_max(close, 360), 2) * sign(ts_delta(close, 30)) + +(ts_delay(close, 30) - ts_delay(close, 90)) / ts_delay(close, 90) * ts_mean(volume, 30) + +ts_zscore(ts_delta(ts_mean(close, 40), 120), 240) * (ts_rank(volume, 120) > 0.75) + +(ts_corr(close, ts_mean(close, 240), 500) < 0.6) * ts_delta(close, 90) + +rank(ts_backfill(close, 90, 1), 2) * sign(ts_delta(close, 30)) + +(ts_mean(high, 120) - ts_mean(low, 120)) / ts_mean(close, 120) * ts_volume(120) + +rank(ts_arg_min(close, 240), 2) * (ts_delta(close, 20) < 0) + +(ts_delta(close, 20) / ts_delay(close, 20)) * ts_decay_linear(volume, 120) + +rank(ts_corr(returns, volume, 120), 2) * (ts_std_dev(returns, 120) > 0.05) + +(ts_delay(close, 120) - ts_delay(close, 360)) / ts_delay(close, 360) * ts_mean(volume, 120) + +ts_zscore(ts_delta(ts_mean(close, 240), 720), 1440) * (ts_rank(close, 240) < 0.05) + +(ts_delta(close, 60) > 0.04) * (ts_mean(volume, 40) / ts_mean(volume, 480) > 2.5) + +rank(ts_corr(ts_delay(close, 60), ts_delay(close, 240), 360), 2) * (ts_std_dev(volume, 60) > 0.04) + +ts_scale(ts_delta(close, 160), 1) * (ts_mean(close, 160) < ts_mean(close, 640)) + +(1 - ts_rank(close, 360)) * (ts_delta(close, 180) > 0) + +ts_delta(ts_mean(close, 180), 540) * ts_std_dev(returns, 180) + +rank(ts_arg_max(close, 540), 2) * sign(ts_delta(close, 60)) + +(ts_delay(close, 60) - ts_delay(close, 180)) / ts_delay(close, 180) * ts_mean(volume, 60) + +ts_zscore(ts_delta(ts_mean(close, 60), 180), 360) * (ts_rank(volume, 180) > 0.8) + +(ts_corr(close, ts_mean(close, 360), 720) < 0.7) * ts_delta(close, 180) + +rank(ts_backfill(close, 180, 1), 2) * sign(ts_delta(close, 60)) + +(ts_mean(high, 180) - ts_mean(low, 180)) / ts_mean(close, 180) * ts_volume(180) + +rank(ts_arg_min(close, 360), 2) * (ts_delta(close, 40) < 0) + +(ts_delta(close, 40) / ts_delay(close, 40)) * ts_decay_linear(volume, 180) + +rank(ts_corr(returns, volume, 180), 2) * (ts_std_dev(returns, 180) > 0.06) + +(ts_delay(close, 180) - ts_delay(close, 540)) / ts_delay(close, 540) * ts_mean(volume, 180) + +ts_zscore(ts_delta(ts_mean(close, 360), 1080), 2160) * (ts_rank(close, 360) < 0.03) + +(ts_delta(close, 90) > 0.05) * (ts_mean(volume, 60) / ts_mean(volume, 720) > 3.0) + +rank(ts_corr(ts_delay(close, 90), ts_delay(close, 360), 540), 2) * (ts_std_dev(volume, 90) > 0.05) + +ts_scale(ts_delta(close, 240), 1) * (ts_mean(close, 240) < ts_mean(close, 960)) + +(1 - ts_rank(close, 540)) * (ts_delta(close, 270) > 0) + +ts_delta(ts_mean(close, 270), 810) * ts_std_dev(returns, 270) + +rank(ts_arg_max(close, 810), 2) * sign(ts_delta(close, 90)) + +(ts_delay(close, 90) - ts_delay(close, 270)) / ts_delay(close, 270) * ts_mean(volume, 90) + +ts_zscore(ts_delta(ts_mean(close, 90), 270), 540) * (ts_rank(volume, 270) > 0.85) + +(ts_corr(close, ts_mean(close, 540), 1080) < 0.75) * ts_delta(close + + + +add(returns, ts_delay(returns,1)) + +multiply(returns, inverse(volume)) + +divide(multiply(returns, vwap), cap) + +group_zscore(returns, sector) + +ts_mean(multiply(returns, volume),5) + +if_else(volume > ts_mean(volume,30), 1, 0) + +scale(returns,1,0) + +winsorize(returns) + +add(zscore(returns), zscore(adv20)) + +multiply(zscore(returns), ts_mean(returns,20)) + +group_neutralize(returns, sector) + +group_backfill(returns, sector,30) + +divide(returns, beta_last_30_days_spy) + +multiply(returns, fscore_surface) + +ts_corr(close, adv20,20) + +add(ts_delay(returns,1), ts_delay(returns,2)) + +multiply( adv20, 0.01 ) + +subtract( ts_mean(returns,20), multiply(adv20,0.001)) + +add(zscore(adv20), zscore(volume)) + +ts_zscore(multiply(returns, volume),60) + +if_else( snt_value > 0.7, -1, 1 ) * returns + +divide( nws12_allz_result1, close ) + +ts_delay( snt_value, 1) * returns + +add( normalize(returns), group_neutralize(beta_last_30_days_spy, sector) ) + +multiply( group_zscore(fscore_momentum, sector), returns ) + +group_zscore(fscore_surface, sector) + +group_zscore(fscore_value, sector) + +scale( fscore_value, 1, 0 ) + +ts_corr( close, snt_value,30 ) + +multiply( snt_value, ts_delay(returns,5) ) + +add( ts_delay(snt_value,1), ts_delay(snt_value,2) ) + +divide( call_breakeven_20, put_breakeven_20 ) + +ts_mean( divide( call_breakeven_30, put_breakeven_30 ),10) + +if_else( pcr_vol_20 > 1.2, 1, -1 ) * returns + +multiply( pcr_oi_60, returns ) + +group_zscore( pcr_oi_60, sector ) + +add( zscore( pcr_oi_60 ), zscore( adv20 ) ) + +ts_delay( pcr_oi_60,1) * returns + +group_mean( sales, pv13_revere_company ) + +divide( group_mean(sales, pv13_revere_company), group_mean(market_cap, pv13_revere_company) ) + +multiply( fscore_surface, fscore_momentum ) + +if_else( fscore_surface > 50, 1, 0 ) * returns + +normalize( fscore_surface ) + +ts_rank( fscore_surface,60 ) + +ts_delay( fscore_surface,30 ) + +multiply( ts_delay(returns,10), ts_rank( fscore_bfl_total,60 ) ) + +add( ts_delay(fscore_total,30), returns ) + +divide( fscore_value, fscore_growth ) + +group_scale(adv20, sector) + +multiply( group_zscore(adv20, sector), returns ) + +ts_corr( adv20, snt_value,60 ) + +ts_covariance( adv20, returns,60 ) + +add( returns, multiply( adv20, 0.001 ) ) + +add( multiply(returns, volume), ts_delay(returns,1) ) + +multiply( adv20, beta_last_30_days_spy ) + +group_zscore( beta_last_30_days_spy, sector ) + +scale(div ide(returns, adv20),1,0 ) + +winsorize(multiply(returns, volume)) + +if_else( volume > adv20 * 2, 1, -1 ) * returns + +add( snt_value, ts_delay(snt_value,1) ) + +scale( snt_social_volume, 1, 0 ) + +if_else( is_nan(close), group_mean(close, sector ), close ) + +group_backfill(close, sector,30) + +ad d( ts_mean(returns,5), ts_mean(returns,10) ) + +add( ts_mean(returns,5), ts_mean(returns,10) ) + +scale(returns, longscale=1, shortscale=1 ) + +winsorize(group_zscore(returns, pv13_revere_key_sector)) + +ts_delay( volume,1 ) + +ts_mean( volume,10 ) + +if_else( ts_std_dev(returns,30) > 0.15, ts_delta(close,5), ts_delta(close,30)) + +divide( fscore_bfl_tota, fscore_bfl_value ) + +add( normalize(returns), group_neutralize(beta_last_30_days_spy, sector) ) + +multiply( group_zscore(returns, pv13_revere_company ), returns ) + +add( ts_delta(close, 5), ts_delta(close,10) ) + +multiply( snt_social_volume, 10 ) + +normalize( snt_social_value ) + +scale( snt_social_value, 1, 0 ) + +if_else( nws12_prez_02l > 0, 1, -1 ) * returns + +ts_corr( close, volume,20 ) + +add( zscore(adv20), zscore(volume) ) + +group_mean( fscore_surface, pv13_revere_company ) + +divide( group_mean(sales, pv13_revere_company), group_mean(market_cap, pv13_revere_company) ) + +multiply( group_zscore(returns, pv13_revere_company), fscore_surface ) + +if_else( group_zscore(fscore_surface, sector) > 0.5, 1, -1 ) * returns + +ts_mean( divide( group_mean(sales, pv13_revere_company), group_mean(market_cap, pv13_revere_company) ),5) + +add( normalize( fscore_surface ), normalize( fscore_momentum ) ) + +multiply( snt_value, ts_delay(returns,1) ) + +add( ts_delay(snt_value,1), ts_delay(snt_value,2) ) + +if_else( pcr_oi_60 > 0.5, 1, -1) * returns + +ts_delay( pcr_oi_60,1) * returns + +divide( call_breakeven_10, put_breakeven_10 ) + +ts_mean( divide( call_breakeven_30, put_breakeven_30 ),10) + +group_zscore( volume, pv13_revere_key_sector ) + +multiply( group_zscore(returns, sector), volume ) + +if_else( adv20 < 100000, 1, 0 ) * returns + +add( zscore( adv20 ), zscore( fscore_surface ) ) + +multiply( ts_delta(close,5), ts_std_dev(returns,60) ) + +winsorize(group_scale(returns, sector)) + +divide( market_cap, ts_mean(market_cap,90) ) + +scale( divide(returns, market_cap), 1,0 ) + +group_backfill(returns, pv13_revere_company,30) + +add( returns, multiply( beta_last_30_days_spy, 0.05 ) ) + +multiply( group_zscore(fscore_surface, pv13_revere_sector), group_zscore(returns, pv13_revere_sector) ) + +if_else( ts_mean(returns,10) > 0, 1, -1 ) * snt_value + +add( normalize( returns ), normalize( group_zscore(returns, pv13_revere_company) ) ) + +multiply( adv20, ts_delta(volume,5) ) + +ts_corr( close, adv20,30 ) + +add( ts_delay(close,5), multiply( adv20, 0.001 ) ) + +scale( snt_value, 1, 0 ) + +multiply( snt_value, 10 ) + +if_else( snt_value > 0.6, zscore(returns), 0 ) + +divide( nws12_prez_02l, close ) + +ts_delay( nws12_allz_result1,1) * returns + +group_mean( fscore_surface, sector ) + +divide( group_mean(eps_estimate, pv13_revere_company), group_mean(earnings_actual, pv13_revere_company) ) + +add( normalize( fscore_surface ), normalize( fscore_momentum ) ) + +multiply( fscore_surface, ts_delay(returns,5) ) + +ts_corr( fscore_surface, close,30 ) + +add( ts_delay(returns,1), ts_delay(returns,2) ) + +multiply( snt_value, ts_delay(returns,5) ) + +add( ts_delay(snt_value,1), ts_delay(snt_value,2) ) + +scale( group_zscore(returns, sector), 1, 0 ) + +if_else( snt_value > 0.5, -ts_delta(close,5), ts_delta(close,5) ) + +ts_mean( divide( group_mean(eps_estimate, pv13_revere_company), group_mean(earnings_actual, pv13_revere_company) ),20) + +add( normalize( bffl_surface ), normalize( fscore_momentum ) ) + +multiply( group_zscore(returns, pv13_revere_company), multiplier( adv20, 0.01 ) ) + +scale( snt_social_volume, 1, 0 ) + +divide( call_breakeven_60, put_breakeven_60 ) + +ts_scale( divide(returns, adv20), 30,1 ) + +if_else( group_zscore(returns, sector) < 0.2, 1, 0 ) \ No newline at end of file