(rank(Ts_ArgMax(SignedPower(((returns < 0) ? stddev(returns, 20) : close), 2.), 5)) - 0.5)
worldquant brain平台上调整后的语法:
(rank(Ts_Arg_Max(Signed_Power(((returns < 0) ? ts_std_dev(returns, 20) : close), 2.), 5)) - 0.5)
这个alpha因子的逻辑可以分为以下几个步骤:
-
条件选择数值源:
- 当某天的收益率为负时,使用过去20天收益率的标准差(波动率)。
- 当收益率为非负时,使用当天的收盘价(close)。
-
符号保留的平方变换:
- 对上述选择的数值进行Signed_Power(保留符号的平方运算)。由于标准差和收盘价均为正数,此处等价于普通平方操作,结果均为正数。
-
寻找最大值位置:
- 计算过去5天内平方后的最大值出现的时间位置(
Ts_Arg_Max
)。该值越小,表示最大值越近(0为当天,4为5天前)。
- 计算过去5天内平方后的最大值出现的时间位置(
-
横截面排名:
- 对所有股票的“最大值位置”进行排名(rank),转化为0到1之间的分位数。
-
中性化处理:
- 将排名减去0.5,使因子值围绕0对称,正值表示近期出现极值,负值反之。
逻辑解析:
- 下跌时波动放大:当收益率为负时,使用波动率平方,捕捉恐慌或超卖信号。
- 上涨时价格动量:当收益率为正时,使用收盘价平方,追踪价格趋势强度。
- 时间敏感性:通过
Ts_Arg_Max
识别极值的新近程度,近期极值可能预示趋势延续或反转。 - 横截面比较:排名机制筛选近期表现突出的股票,做多强势股,做空弱势股。
潜在策略意图:
该因子试图结合波动率突变和价格动量,捕捉短期市场过度反应后的修正机会或趋势延续信号。近期出现极值的股票可能更具方向性动能,通过排名中性化处理构建多空组合。
目前没有调整至可提交的状态。欢迎留言交流!