## 核心设计理念 **因子经济学逻辑**: - 动量效应:价格趋势的持续性 - 均值回归:价格的回复特性 - 波动率特征:风险与收益的关系 - 流动性溢价:成交量蕴含的信息 - 市场情绪:价量关系的异常表现 Grammar Rules /* */ - Block comments for multiple lines ; - Statement separator (not needed for last line) Last statement is the Alpha expression for BRAIN simulator Alpha expression cannot be assigned to a variable No classes, objects, pointers, or functions allowed **统计有效性准则**: - 信息比率最大化:信号与噪声比 - 因子稳定性:在不同市场环境下保持有效 - 单调性:因子值与预期收益的单调关系 - 可解释性:基于扎实的金融逻辑 ## 技术实现要求 **智能参数匹配**: - 动量类:短周期[10,20,30]捕捉近期趋势 - 反转类:中周期[40,50,60]识别过度反应 - 波动类:长周期[120,250]确保统计稳定性 - 流动性类:多周期对比分析异常变化 **噪声处理技术**: - 移动平均线:平滑噪声,突出趋势 - 标准偏差:测量波动程度 - 归一化:将不同时间窗口的因子值调整到同一尺度 **嵌套结构逻辑**: - 单层:直接有效的原始信号 - 双层:信号提炼与降噪处理 - 三层:多维度特征融合与增强 **操作符汇总 **算术运算符 (Arithmetic): abs(x) - 绝对值 add(x, y, filter=false) - 加法 (x + y) densify(x) - 分组字段稠密化 divide(x, y) - 除法 (x / y) inverse(x) - 倒数 (1/x) log(x) - 自然对数 max(x, y, ..) - 最大值 min(x, y, ..) - 最小值 multiply(x, y, filter=false) - 乘法 (x * y) power(x, y) - 幂运算 (x^y) reverse(x) - 取反 (-x) sign(x) - 符号函数 signed_power(x, y) - 保留符号的幂运算 sqrt(x) - 平方根 subtract(x, y, filter=false) - 减法 (x - y) to_nan(x, value=0, reverse=false) - 值与NaN转换 **逻辑运算符 (Logical): and(input1, input2) - 逻辑与 if_else(input1, input2, input3) - 条件判断 input1 < input2 - 小于比较 input1 <= input2 - 小于等于 input1 == input2 - 等于比较 input1 > input2 - 大于比较 input1 >= input2 - 大于等于 input1 != input2 - 不等于 is_nan(input) - 是否为NaN not(x) - 逻辑非 or(input1, input2) - 逻辑或 **时间序列运算符 (Time Series): days_from_last_change(x) - 上次变化天数 hump(x, hump=0.01) - 限制变化幅度 jump_decay(x, d, sensitivity=0.5, force=0.1) - 跳跃衰减 kth_element(x, d, k) - 第K个值 last_diff_value(x, d) - 最后一个不同值 ts_arg_max(x, d) - 最大值相对索引 ts_arg_min(x, d) - 最小值相对索引 ts_av_diff(x, d) - 与均值的差 ts_backfill(x, lookback=d, k=1, ignore="NAN") - 回填 ts_corr(x, y, d) - 时间序列相关性 ts_count_nans(x, d) - NaN计数 ts_covariance(y, x, d) - 协方差 ts_decay_linear(x, d, dense=false) - 线性衰减 ts_delay(x, d) - 延迟值 ts_delta(x, d) - 差值 (x - 延迟值) ts_max(x, d) - 时间序列最大值 ts_mean(x, d) - 时间序列均值 ts_min(x, d) - 时间序列最小值 ts_product(x, d) - 时间序列乘积 ts_quantile(x, d, driver="gaussian") - 分位数 ts_rank(x, d, constant=0) - 时间序列排名 ts_regression(y, x, d, lag=0, rettype=0) - 回归分析 ts_scale(x, d, constant=0) - 时间序列缩放 ts_std_dev(x, d) - 时间序列标准差 ts_step(1) - 天数计数器 ts_sum(x, d) - 时间序列求和 ts_target_tvr_decay(x, lambda_min=0, lambda_max=1, target_tvr=0.1) - 目标换手率衰减 ts_target_tvr_delta_limit(x, y, lambda_min=0, lambda_max=1, target_tvr=0.1) - 目标换手率差值限制 ts_zscore(x, d) - 时间序列Z分数 **横截面运算符 (Cross Sectional): normalize(x, useStd=false, limit=0.0) - 标准化 quantile(x, driver=gaussian, sigma=1.0) - 分位数转换 rank(x, rate=2) - 排名 scale(x, scale=1, longscale=1, shortscale=1) - 缩放 scale_down(x, constant=0) - 按比例缩放 vector_neut(x, y) - 向量中性化 winsorize(x, std=4) - 缩尾处理 zscore(x) - Z分数 **向量运算符 (Vector): vec_avg(x) - 向量均值 vec_max(x) - 向量最大值 vec_min(x) - 向量最小值 vec_sum(x) - 向量求和 **变换运算符 (Transformational): bucket(rank(x), range="0,1,0.1" or buckets="2,5,6,7,10") - 分桶 generate_stats(alpha) - 生成统计量 trade_when(x, y, z) - 条件交易 **分组运算符 (Group): combo_a(alpha, nlength=250, mode='algo1') - 组合Alpha group_backfill(x, group, d, std=4.0) - 分组回填 group_cartesian_product(g1, g2) - 笛卡尔积分组 group_max(x, group) - 分组最大值 group_mean(x, weight, group) - 分组均值 group_min(x, group) - 分组最小值 group_neutralize(x, group) - 分组中性化 group_rank(x, group) - 分组排名 group_scale(x, group) - 分组缩放 group_zscore(x, group) - 分组Z分数 **特殊运算符 (Special): in - 包含判断 self_corr(input) - 自相关性 universe_size - 宇宙大小 **归约运算符 (Reduce): reduce_avg(input, threshold=0) - 平均值归约 reduce_choose(input, nth, ignoreNan=true) - 选择归约 reduce_count(input, threshold) - 计数归约 reduce_ir(input) - IR归约 reduce_kurtosis(input) - 峰度归约 reduce_max(input) - 最大值归约 reduce_min(input) - 最小值归约 reduce_norm(input) - 范数归约 reduce_percentage(input, percentage=0.5) - 百分比归约 reduce_powersum(input, constant=2, precise=false) - 幂和归约 reduce_range(input) - 范围归约 reduce_skewness(input) - 偏度归约 reduce_stddev(input, threshold=0) - 标准差归约 reduce_sum(input) - 求和归约 ## 卓越因子特征 每个表达式应体现: 1. **经济学直觉**:基于公认的市场异象 2. **计算鲁棒性**:避免过拟合和极端值敏感 3. **交易可行性**:考虑实际执行成本 4. **创新性**:在经典因子上进行合理改进 ## 终极Alpha标准(第18个) - 多因子融合:结合动量、价值、质量、情绪等多个维度 - 多时间尺度:协调使用短、中、长期窗口 - 风险调整:隐含波动率控制或标准化处理 - 市场状态适应:能够适应不同市场环境 - 因子组合优化:考虑因子之间的相关性和组合风险 - 动态调整:能够根据市场条件实时调整参数 - 表达式不要太复杂 **表达式不要太复杂 可用字段:{fields_formatted} 可用运算符:{operators_formatted} **重要规则(必须严格遵守):** 1. **CRITICAL:必须使用提供的「可用字段」列表中的完整字段ID,如 anl10_cpsff_2371、anl10_cpsfq1_consensus_2351 等** 2. **CRITICAL:绝对禁止使用 close、volume、high、low、open 等不完整的字段名** 3. **必须使用提供的「可用运算符」列表中的运算符** 4. **每个表达式必须是独立的,不能有赋值或其他语法结构** 5. **请严格按照 operator(field_id, numeric_parameter) 的格式编写** 6. **如果违反以上规则,生成的表达式将被系统拒绝!** **错误示例(禁止使用):** - ts_corr(rank(close), rank(volume), 10) - ts_sum(returns, 20) / ts_std_dev(returns, 20) - close - open **正确示例(使用格式):** - ts_corr(rank(fnd72_pit_or_cr_q_oper_inc_to_tot_debt), rank(fnd72_pit_or_cr_q_oper_inc_to_tot_debt), 10) - divide(ts_sum(fnd72_pit_or_cr_q_oper_inc_to_tot_debt, 20), ts_std_dev(fnd72_pit_or_cr_q_oper_inc_to_tot_debt, 20)) *=========================================================================================* 输出格式: 输出必须是且仅是纯文本。 每一行是一个完整、独立、语法正确的WebSim表达式。 严禁任何形式的解释、编号、标点包裹(如引号)、Markdown格式或额外文本。 ===================== !!! 重点(输出方式) !!! ===================== 现在,请严格遵守以上所有规则,开始生成可立即在WebSim中运行的复合因子表达式。 不要自行假设, 你需要用到的操作符 和 数据集, 必须从我提供给你的里面查找, 并严格按照里面的使用方法进行组合 **输出格式**(一行一个表达式, 每个表达式中间需要添加一个空行, 只要表达式本身, 不需要赋值, 不要解释, 不需要序号, 也不要输出多余的东西): 表达式 表达式 表达式 ... 表达式 ================================================================= 重申:请确保所有表达式都使用WorldQuant WebSim平台函数,不要使用pandas、numpy或其他Python库函数。输出必须是一行有效的WQ表达式。 以下是我的账号有权限使用的操作符, 请严格按照操作符, 以及我提供的数据集, 进行生成,组合 100 个 alpha: 不要自行假设, 你需要用到的操作符 和 数据集, 必须从我提供给你的里面查找, 并严格按照里面的使用方法进行组合 ================================================================= ts_product ts_zscore ts_mean ts_scale add sign subtract ts_delta ts_rank greater ts_av_diff ts_quantile ts_count_nans ts_covariance ts_arg_min divide ts_corr multiply if_else ts_sum ts_delay group_zscore ts_arg_max ts_std_de ts_backfill 以上这些操作符不能传入事件类型的数据集, 只能传入时间序列数据集, 不能传入事件数据,不能传入事件数据,不能传入事件数据