当前位置: 首页 > news >正文

101个α因子#23

 (((sum(high, 20) / 20) < high) ? (-1 * delta(high, 2)) : 0)

worldquant brain平台上调整后的语法:
为了降低Weight concentration,添加rank函数

 rank((((ts_sum(high, 20) / 20) < high) ? (-1 * ts_delta(high, 2)) : 0))

Alpha因子逻辑分步解析:


1. 条件判断:股价是否处于短期高位
  • 公式(ts_sum(high, 20)/20 < high)
    • 计算20日均线ts_sum(high, 20)/20 为过去20日最高价的移动平均,反映短期价格中枢。
    • 判断当前高价是否突破均线:若当前最高价(high)高于20日均线,视为股价处于短期强势区域。

2. 短期价格动量反转信号
  • 触发条件:当股价处于短期高位(条件为真)时,执行以下操作:
    • 计算两日高价变化ts_delta(high, 2) = 当前最高价 - 两天前最高价。
    • 反转符号-1 * ts_delta(high, 2)
      • 若两日高价上涨(delta为正),结果为负值;
      • 若两日高价下跌(delta为负),结果为正值。
  • 逻辑意图
    • 股价高位 + 短期下跌 → 正信号(押注回调后的反弹)。
    • 股价高位 + 短期上涨 → 负信号(押注超买后的反转)。

3. 非高位股票的信号屏蔽
  • 默认值:若股价未突破20日均线(条件为假),则信号值为 0
  • 目的:仅关注处于短期高位的股票,避免在震荡市中产生无效信号。

4. 横截面排名(Rank)
  • 操作:对全市场股票的信号值进行分位数排序(0到1)。
  • 排名逻辑
    • 高分位(接近1)
      • 股价处于高位且两日高价显著下跌(短期回调幅度大),预示反弹概率高。
    • 低分位(接近0)
      • 股价处于高位但两日高价继续上涨(超买),或股价未达高位(信号为0)。

核心策略逻辑

  1. 捕捉高位股的短期反转机会

    • 当股价处于20日高位时,若短期(两日)高价下跌,认为市场存在获利回吐或超买回调,押注反弹。
    • 若股价高位但短期继续上涨,视为风险累积,通过负信号提示做空(具体方向需结合因子值符号与策略定义)。
  2. 量价趋势过滤

    • 仅当股价突破均线时触发信号,避免在弱势股中盲目交易。

潜在策略意图

  • 均值回归策略
    通过20日均线识别短期超买状态,结合两日价格反转信号,押注价格向均线回归。
  • 横截面选股
    排名机制筛选出回调幅度大且处于高位的股票,增强反弹概率。
  • 风险控制
    屏蔽未达均线的股票,减少无效交易。

示例说明

股票20日均线当前高价两日高价变化条件是否触发信号值因子值(Rank)预期方向
A5055-3(下跌)是(55>50)+30.9(高分位)做多
B6065+2(上涨)是(65>60)-20.1(低分位)做空
C3028-1(下跌)否(28<30)00.3(中分位)忽略
  • 股票A:高位回调,信号值正且排名高 → 押注反弹。
  • 股票B:高位续涨,信号值负且排名低 → 押注反转。
  • 股票C:未达均线,不参与交易。

关键公式总结

Factor = Rank ( { − 1 × ( High t − High t − 2 ) if  High t > SMA 20 d ( High ) 0 otherwise ) \text{Factor} = \text{Rank} \left( \begin{cases} -1 \times (\text{High}_t - \text{High}_{t-2}) & \text{if } \text{High}_t > \text{SMA}_{20d}(\text{High}) \\ 0 & \text{otherwise} \end{cases} \right) Factor=Rank({1×(HightHight2)0if Hight>SMA20d(High)otherwise)
逻辑链条
股价短期高位 → 两日价格动量反转 → 横截面筛选高反弹概率标的。
在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/586657.html

相关文章:

  • 如何让 Agent 有计划地进行股票数据分析?——基于 DeepSeek 的实战应用
  • linux字符模式关闭光标
  • Linux操作系统:fork+exec进程创建
  • win11远程桌面设置60fps无效
  • 面试题 17.16. 按摩师
  • 软件开发的设计原则
  • 徐少春迎来AI的春天
  • spring中的BeanFactoryAware接口详解
  • 关于我对传统系统机构向大模型架构演进的认知
  • 无线网络优化配置:让你的Wi-Fi更快更稳
  • java: Can‘t generate mapping method with primitive return type
  • 高级SQL技巧:时序数据查询优化与性能调优实战
  • 天文数据处理:基于CUDA的射电望远镜图像实时去噪算法(开源FAST望远镜数据处理代码解析)
  • github cli主要用途,优势,和git的区别
  • PageHelper分页原理解析:从源码到MySQL方言实现
  • 基于开源AI大模型与智能硬件的零售场景服务创新研究——以AI智能名片与S2B2C商城小程序源码融合为例
  • [安全清单] Linux 服务器安全基线:一份可以照着做的加固 Checklist
  • 用Python和Backtrader库实现均值回归策略解析
  • 角度回归——八参数检测四边形RSDet
  • MIPI摄像头linux驱动开发步骤及说明
  • Python 数据分析基础
  • 差分探头匹配电容选择方法
  • [Linux]Linux多线程编程技术探讨(代码示例)
  • LeetCode[222]完全二叉树的节点个数
  • GraphPad Prism工作表的基本操作
  • python、R、shell兼容1
  • 深入解析Java泛型:从定义到实战应用
  • LangChain文档加载器实战:构建高效RAG数据流水线
  • 使用RUST在Arduino上进行编程(MacOS,mega板)
  • 记录Pycharm断点调试的一个BUG