101个α因子#7

((adv20 < volume) ? ((-1 * ts_rank(abs(delta(close, 7)), 60)) * sign(delta(close, 7))) : (-1 * 1))

worldquant brain平台上调整后的语法:

((adv20 < volume) ? ((-1 * ts_rank(abs(ts_delta(close, 7)), 60)) * sign(ts_delta(close, 7))) : (-1 * 1))

这个alpha因子的逻辑可以拆解为条件判断下的两类信号生成机制,其核心是通过成交量筛选市场状态,并结合价格变化的幅度与方向构建反转策略。以下是逐步解析:


1. 整体结构:条件运算符

因子形式为:
(adv20 < volume) ? 表达式A : 表达式B

  • 条件adv20 < volume

    • adv20 代表过去20天的平均成交量(假设为简单移动平均)。
    • volume 为当日成交量。
    • 条件满足:当日成交量超过过去20日均量(放量)。
    • 条件不满足:当日成交量低于或等于20日均量(缩量或常态)。
  • 表达式A(放量时的逻辑):
    (-1 * ts_rank(abs(ts_delta(close, 7)), 60) * sign(ts_delta(close, 7)))

  • 表达式B(非放量时的逻辑):
    -1(固定值,直接看空)。


2. 放量时的信号生成(表达式A)

步骤拆解
  1. 计算价格变化方向与幅度

    • ts_delta(close, 7):过去7天的价格变化值(当前收盘价 - 7天前收盘价)。
    • sign(ts_delta(close, 7)):提取价格变化的方向(正值为上涨,负值为下跌)。
  2. 计算价格波动幅度的历史排名

    • abs(ts_delta(close, 7)):取价格变化的绝对值(仅关注波动幅度,忽略方向)。
    • ts_rank(..., 60):计算该绝对值在过去60天内的滚动排名(标准化为0到1之间的分位数,例如排名最高为1,最低为0)。
  3. 组合方向与排名

    • ts_rank(...) * sign(...):将价格方向(±1)与波动幅度的历史排名相乘。
      • 若过去7天上涨(sign=+1),则结果为 ts_rank值
      • 若过去7天下跌(sign=-1),则结果为 -ts_rank值
  4. 符号反转

    • 乘以 -1,最终表达式为 -1 * (ts_rank * sign)
    • 上涨时(sign=+1):结果为 -ts_rank(负值,看空信号);
    • 下跌时(sign=-1):结果为 +ts_rank(正值,看多信号)。
逻辑解释
  • 放量上涨
    • 价格涨幅越大(ts_rank高),因子值越负,认为短期超买,预期反转下跌。
  • 放量下跌
    • 价格跌幅越大(ts_rank高),因子值越正,认为短期超卖,预期反弹上涨。
  • 核心思想放量伴随极端价格波动时,押注均值回复

3. 非放量时的信号(表达式B)

  • 直接赋值-1(固定看空信号)。
  • 隐含假设
    • 成交量未超过20日均值时,市场缺乏动能,默认看空。
    • 可能认为缩量环境下趋势难以持续,或策略仅在放量时有效。

4. 综合逻辑总结

  • 放量场景volume > adv20):
    1. 若过去7天上涨,且涨幅在近期60天内处于高位(波动剧烈),因子值为负,看空
    2. 若过去7天下跌,且跌幅在近期60天内处于高位,因子值为正,看多
  • 非放量场景volume ≤ adv20):
    • 无条件看空(固定值-1)。

5. 策略设计意图

  1. 成交量筛选
    • 仅对放量交易日生成动态信号,认为放量是价格波动有效性的前提。
  2. 波动率与反转
    • 通过ts_rank捕捉价格波动的极端性(排名越高,波动越异常),押注反转。
  3. 非对称处理
    • 放量上涨时看空,放量下跌时看多,非放量时统一看空,体现策略对市场状态的敏感性。

6. 潜在应用与改进点

  • 适用市场
    • 震荡市或均值回复较强的市场(反转策略有效)。
    • 趋势市中可能失效(如放量上涨后继续上涨)。
  • 改进方向
    • 非放量时的固定看空可能过于武断,可引入其他条件(如结合价格位置或波动率)。
    • ts_rank窗口(60天)和价格变化窗口(7天)需根据市场节奏调整。
    • 可对放量下跌的信号进一步过滤(如结合超卖指标RSI)。

7. 示例验证

  • 案例1(放量上涨)
    • 过去7天上涨10%,涨幅在60天内排名前10%(ts_rank=0.9),因子值 = -1 * 0.9 * 1 = -0.9,强烈看空。
  • 案例2(放量下跌)
    • 过去7天下跌8%,跌幅在60天内排名前5%(ts_rank=0.95),因子值 = -1 * 0.95 * (-1) = +0.95,强烈看多。
  • 案例3(缩量震荡)
    • 成交量低于20日均值,因子值 = -1,直接看空。

总结

该因子通过成交量筛选+价格波动极端性排名+方向反转,构建了一个条件式反转策略:

  • 放量时:押注短期过度波动的价格向均值回归。
  • 非放量时:默认看空,规避低波动或无趋势市场。
    其核心假设是放量伴随的价格极端波动不可持续,适用于捕捉短期反转机会。

在这里插入图片描述
在这里插入图片描述
目前没有调整至可提交的状态。欢迎留言交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值