101个α因子#19
((-1 * sign(((close - delay(close, 7)) + delta(close, 7)))) * (1 + rank((1 + sum(returns, 250)))))
worldquant brain平台上调整后的语法:
((-1 * sign(((close - ts_delay(close, 7)) + ts_delta(close, 7)))) * (1 + rank((1 + ts_sum(returns, 250)))))
该alpha因子的逻辑分步解析:
1. 短期价格方向信号:-1 * sign(7日价格变化)
- 计算7日价格变化:
close - ts_delay(close, 7)
:当日收盘价与7天前收盘价的差值。ts_delta(close, 7)
:等价于上述计算,即7日价格变化量。- 合并结果:
(close - ts_delay(close,7)) + ts_delta(close,7)
=2 * 7日价格变化
。
- 符号函数(sign):提取价格变化方向:
- +1:若7日价格下跌(负变化),预示短期超卖,可能反弹。
- -1:若7日价格上涨(正变化),预示短期超买,可能回调。
- 反转符号(-1 * …):
- 短期上涨 → 信号为负(做空)。
- 短期下跌 → 信号为正(做多)。
2. 长期收益动量调整:1 + rank(1 + 250日累计收益)
- 计算长期收益:
ts_sum(returns, 250)
:过去250个交易日(约1年)的累计收益。1 + ts_sum(...)
:将累计收益转换为正值(避免负值干扰排名)。
- 横截面排名(rank):
- 对全市场股票的长期收益值进行分位数排序(0到1)。
- 高分位(接近1):长期表现优异的股票(动量强)。
- 低分位(接近0):长期表现疲弱的股票(反转潜力)。
- 加1调整:将排名结果从[0,1]映射到[1,2],作为权重系数。
3. 因子组合逻辑:短期信号 × 长期动量权重
Factor = ( − sign ( 7日价格方向 ) ) × ( 1 + Rank ( 长期收益动量 ) ) \text{Factor} = \left( -\text{sign}(\text{7日价格方向}) \right) \times \left( 1 + \text{Rank}(\text{长期收益动量}) \right) Factor=(−sign(7日价格方向))×(1+Rank(长期收益动量))
- 逻辑分解:
- 短期反转信号:
- 押注过去7天上涨的股票回调(做空),下跌的股票反弹(做多)。
- 长期动量加权:
- 若股票长期收益排名高(动量强),则放大短期反转信号的绝对值:
- 长期强势股短期超买 → 更强烈做空。
- 长期弱势股短期超卖 → 更强烈做多。
- 若股票长期收益排名高(动量强),则放大短期反转信号的绝对值:
- 短期反转信号:
- 因子值解释:
- 正值(做多):短期下跌且长期动量弱的股票。
- 负值(做空):短期上涨且长期动量强的股票。
核心逻辑解析
-
短期反转与长期动量的结合:
- 短期反转:假设价格在7日内的过度波动会向均值回归。
- 长期动量加权:通过长期收益排名调整仓位,避免在无趋势市场中过度交易。
- 长期强势股的短期超买可能反映过度乐观,回调风险更高。
- 长期弱势股的短期超卖可能反映过度悲观,反弹机会更大。
-
动态仓位管理:
- 长期动量排名作为风险调整因子,控制多空头寸的强度:
- 长期动量越强,短期反转信号的权重越大(如做空高动量股更坚决)。
- 长期动量排名作为风险调整因子,控制多空头寸的强度:
潜在策略意图
- 捕捉短期反转机会:利用7日价格波动的均值回归特性。
- 规避长期趋势风险:通过长期动量过滤,避免逆长期趋势操作。
- 多空组合优化:在短期反转框架下,根据长期表现差异化配置头寸。
示例说明
股票 | 7日价格变化 | 信号方向 | 250日累计收益 | 长期动量排名 | 长期权重 | 因子值 | 操作 |
---|---|---|---|---|---|---|---|
A | +5% | -1 | +30%(高动量) | 0.9 | 1.9 | -1.9 | 做空 |
B | -3% | +1 | -20%(低动量) | 0.2 | 1.2 | +1.2 | 做多 |
C | +2% | -1 | -15%(低动量) | 0.3 | 1.3 | -1.3 | 做空 |
- 股票A:短期上涨且长期动量强 → 因子值负,做空力度大(权重1.9)。
- 股票B:短期下跌且长期动量弱 → 因子值正,做多力度中等(权重1.2)。
- 股票C:短期上涨但长期动量弱 → 因子值负,但权重较低(1.3),做空力度较小。
关键公式总结
Factor = − sign ( Δ 7 d Close ) × ( 1 + Rank ( 1年累计收益 ) ) \text{Factor} = -\text{sign}(\Delta_{7d} \text{Close}) \times \left( 1 + \text{Rank}(\text{1年累计收益}) \right) Factor=−sign(Δ7dClose)×(1+Rank(1年累计收益))
逻辑链条:
短期价格反转 → 叠加长期动量调整 → 动态优化多空头
目前没有调整至可提交的状态。欢迎留言交流!