Alpha101:101 个公式化量价因子深度解析(一)
  我是宽客 2025年06月09日 441 1

一、背景

Alpha101


Very coarsely, one can think of alpha signals as based on mean-reversion or momentum.

大致来说,Alpha 信号可基于均值回归或动量来理解

alpha150_proc.jpg

量化交易作为金融市场的重要组成部分,在过去几十年中经历了显著的发展与演变。在这一领域,Alpha 因子是量化策略的核心要素,其通过数学建模预测资产未来表现,为投资决策提供关键依据。2015 年,Zura Kakushadze 在《101 Formulaic Alphas》论文中公开了 101 个实际应用的量化交易 Alpha 因子,这一成果为量化金融领域提供了宝贵的研究素材与实践参考。

我在尝试复现 Alpha101 因子的过程中,发现因子合成知识的重要性。尽管米筐、聚宽等量化平台可直接获取相关数据字段,但仅有公式而缺乏深度解析,也没有做行业中性化步骤,难以满足自主构建因子值与算子合成式的需求。为实现独立计算 Alpha101 因子的目标,需对每个因子展开系统性分析,通过拆解因子合成逻辑深入学习特征工程。我认为,每个因子的合成方式均蕴含特定的市场逻辑与设计意图,只有先理解其核心策略逻辑与适用场景,才能有效进行代码复现与策略优化。


二、《101 Formulaic Alphas》论文精简总结

​​根据 Zura Kakushadze等人(2015)的《101 Formulaic Alphas》的总结如下:​
参考文献:https://arxiv.org/pdf/1601.00991

2.1 Alpha101 因子核心概况

101 个真实量化交易因子的公式集合,兼具数学表达式与计算机代码属性,可直接用于策略开发。
平均持有期 0.6-6.4 天,属于中高频策略,适配短期市场波动捕捉。
因子间平均相关性仅 15.9%(中位数 14.3%),低相关性降低组合风险,支持多策略分散配置。
截至论文发布,80 个因子已投入实际交易,验证其市场有效性。

2.2 因子分类与逻辑基础

策略逻辑分类
均值回归:信号与收益方向相反(如开盘价偏离均价后预期价格回归)。
动量趋势:信号与收益方向一致(如昨日上涨预期今日延续)。
时间维度分类
延迟 - 0:数据与交易同步(如收盘前捕捉日内偏离)。
延迟 - 1/2:数据滞后 1-2 天交易(如基于历史数据预测次日趋势)。
复杂性:部分因子混合两类逻辑(如量价背离 + 趋势确认),需结合多维度数据判断。

2.3.实证关键结论

收益驱动:收益与波动率强正相关(R∼V0.76),高波动环境更易获利。
换手率影响:收益与换手率无显著关联,且换手率对因子相关性解释力弱(仅 1.27%),但波动率与换手率存在弱正相关(22.8%)。
数据启示:单一因子收益依赖市场波动,组合配置需侧重低相关因子对冲风险。

2.4 量化交易趋势与挑战

(1) 行业矛盾趋势:
因子挖掘精细化:技术门槛提升,因子有效性碎片化,依赖高频或组合策略。
生产自动化:因子数量爆发式增长(从数万至数十亿),通过 “超级 Alpha” 整合提升收益。
(2)组合优势:
成本优化:内部交叉交易降低摩擦成本。
风险分散:多因子组合对冲单一策略失效风险。
核心挑战:高维因子导致协方差矩阵奇异,需依赖因子模型或降维技术处理。

2.5 数据与技术特征

(1)数据基础:
核心数据:价量数据(开盘 / 收盘 / 高低价、成交量、VWAP)。
扩展数据:市值、行业分类(用于行业中性化,消除板块影响)。
(2)关键算子:排名(rank)、延迟(delay)、相关性(correlation)、线性衰减(decay_linear)等,实现趋势捕捉与噪声过滤。

2.6 研究价值与启示

突破性:首次大规模公开真实交易因子,打破量化策略神秘感。
实用性:支持读者复现测试,探索因子有效性边界(如不同市场阶段表现差异)。
创新性:启发新因子开发思路(如混合逻辑、行业中性化设计),推动量化研究民主化。

三、 Alpha101 核心逻辑与应用场景解析

接下来我们分析前 50 个 Alpha 因子的核心逻辑和应用场景。由于共有 101 个因子,我将通过分两部分拆解和一部分总结的结构完成理论解析。

Alpha 1

(rank(Ts_ArgMax(SignedPower(((returns < 0) ? stddev(returns, 20) : close), 2.), 5)) - 0.5)

核心步骤如下:
1、若收益率(returns)为负,取过去 20 天收益率的标准差(stddev(returns, 20)),若收益率为正,取收盘价(close)。
逻辑本质:区分多空趋势,负收益时关注波动风险,正收益时关注价格水平。
2、平方与符号保留:
对条件结果进行平方运算(SignedPower(…, 2)),保留原始符号
作用:强化大幅波动(负收益时)或高收盘价(正收益时)的影响,平方运算放大极值差异
3、时序极值定位:
找出过去 5 天内上述结果的最大值位置(Ts_ArgMax(…, 5))。
目标:识别近期(5 天内)负收益波动最大或收盘价最高的日期,捕捉极端事件时点。
4、横截面标准化:
对极值位置结果进行横截面排名(rank(…)),并减去 0.5,将值域压缩至 [-0.5, 0.5]。
效果:消除个股量纲差异,使信号具备横向可比性,便于组合配置。

当股票在负收益期间经历高波动性时,这可能表明市场恐慌或不确定性,而这种情况往往会导致价格超调,随后可能出现反弹。相反,在正收益期间达到高价位的股票可能面临回调压力。
通过寻找过去5天内这种模式最强的一天,并进行横截面比较,该因子试图捕捉可能的反转机会。

Alpha#1是一个结合了波动性和价格水平的动量反转型因子。它通过不同方式处理上涨和下跌市场,在下跌市场中关注波动性(可能寻找超卖机会),在上涨市场中关注价格水平(可能寻找回调机会)。最终,它对股票进行排序,形成一个相对中性的信号(-0.5到0.5之间),可用于构建多空策略。这是一个典型的中短期择时因子,平均持有期可能在几天左右。

Alpha 2

(-1 * correlation(rank(delta(log(volume), 2)), rank(((close - open) / open)), 6))

核心步骤如下:
1、交易量变化率:通过delta(log(volume), 2)计算交易量对数的 2 日变化,衡量交易量的相对增速(如放量或缩量的幅度)。
2、日内收益率:利用(close - open)/open计算开盘至收盘的收益率,反映日内价格变动的方向(涨 / 跌)与强度(幅度)。
3、横截面排名标准化:对交易量变化率和收益率分别进行横截面排名(rank(…)),将原始值转换为 0-1 区间的相对排名,降低个股极值干扰,便于横向比较。
4、相关性计算:通过correlation(…, 6)计算过去 6 天两排名序列的相关性,正值表示量价同向(如放量上涨),负值表示量价背离(如放量下跌)。
5、信号方向反转:对相关系数取反(-1 * …),使正相关(量价协同)对应负值信号,负相关(量价背离)对应正值信号,可能用于捕捉量价背离的反转机会。

Alpha#2是一个基于价量关系的短期反转型因子。它通过分析交易量变化与日内价格变动之间的相关性,寻找可能的价格反转机会。当交易量增加伴随价格大幅上涨时,该因子可能预期短期内出现回调;当交易量增加伴随价格大幅下跌时,该因子可能预期短期内出现反弹。这种策略特别适用于短期交易,可能对市场微观结构变化较为敏感,平均持有期可能在1-3天左右。

Alpha 3

(-1 * correlation(rank(open), rank(volume), 10))

核心步骤如下:
1、横截面排名标准化:通过rank(open)和rank(volume)分别对开盘价和交易量进行横截面排名(0-1 区间),消除个股量纲差异,降低极端值对信号的干扰。
2、相关性分析:利用correlation(…, 10)计算过去 10 天两排名序列的相关性,正值表示开盘价与交易量同向变化(如高开高量),负值表示反向变化(如高开低量)。
3、信号方向反转:对相关系数取反(-1 * …),使正相关(量价协同)对应负值信号,负相关(量价背离)对应正值信号,可能用于做多量价背离(如开盘价高但交易量低)或做空量价协同(如开盘价高且交易量大)的场景。

这个因子探索了开盘价水平与交易量之间的关系。与Alpha#2不同,这里关注的是价格水平(而非变化率)与交易量的关系。

Alpha#3是一个基于价量关系的中期反转型因子。它通过分析开盘价水平与交易量之间的相关性,寻找可能被错误定价的股票。该因子特别关注那些价格与交易量行为不一致的股票,这可能表明市场参与者对这些股票的估值存在分歧。这种策略适用于寻找可能的价值投资机会或短期错误定价,平均持有期可能在3-7天左右。

Alpha 4

(-1 * Ts_Rank(rank(low), 9))

核心步骤如下:
1、通过rank(low)对个股最低价进行横截面排名(0-1 区间),排名越低表示个股价格在全市场中相对越低。
2、时序趋势分析:利用Ts_Rank(…, 9)计算过去 9 天最低价排名的时间序列排名,反映该股票低价排名的历史分位数(如排名上升表示股价相对走弱,排名下降表示股价相对走强)。
3、信号方向反转:对时序排名结果取反(-1 * …),使原高排名(股价持续弱势)转为负值信号,低排名(股价相对走强)转为正值信号,策略逻辑为做多长期处于低价且短期排名下降(股价相对走强)的股票,做空高价且短期排名上升(股价相对走弱)的股票。

Alpha#4是一个基于价格支撑水平的短期动量型因子。它通过分析股票最低价的相对排名变化,识别可能具有强支撑或弱支撑的股票。该因子特别适用于风险管理和择时交易,可以帮助识别具有较低下行风险的股票。这种策略在市场波动较大时可能更有效,平均持有期可能在2-5天左右。

Alpha 5

(rank((open - (sum(vwap, 10) / 10))) * (-1 * abs(rank((close - vwap)))))

核心步骤如下:
1、rank((open - (sum(vwap, 10) / 10)))识别了开盘价相对于中期趋势的偏离程度。高排名表示开盘价远高于中期趋势,低排名表示开盘价远低于中期趋势。
2、-1 * abs(rank((close - vwap)))对收盘价与当日VWAP的偏离取负值。无论收盘价高于还是低于VWAP,排名越极端,这一部分的值越接近负无穷。
由于第二部分始终为负或零,最终因子值的符号取决于第一部分,即开盘价相对中期趋势的偏离方向。
Alpha#5是一个结合中期趋势和日内价格行为的复合型因子。它寻找那些开盘价相对中期趋势有显著偏离,且日内价格行为异常(收盘价与VWAP显著偏离)的股票。这种组合可能识别出正在经历趋势转变或异常价格行为的股票。该因子适用于寻找可能的反转或趋势延续机会,特别是在价格出现异常偏离时。平均持有期可能在3-7天左右。

Alpha 6

(-1 * correlation(open, volume, 10))

核心步骤如下:
这个因子与Alpha#3非常相似,但直接使用原始开盘价和交易量,而不是它们的排名。它探索了开盘价水平与交易量之间的直接关系。

Alpha#6是一个基于价量关系的短期反转型因子。它通过分析开盘价与交易量之间的直接相关性,寻找可能的价格反转机会。该因子特别关注那些价格与交易量行为不一致的股票,这可能表明市场参与者对这些股票的估值存在分歧。这种策略适用于寻找可能的价值投资机会或短期错误定价,平均持有期可能在3-5天左右。

Alpha 7

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

核心步骤如下:
1、通过(adv20 < volume)判断当前交易量是否突破 20 日均量,识别交易量异常增加的股票(放量场景)。
2、放量时的信号构建:

  • 计算 7 日价格变化的绝对值abs(delta(close, 7)),衡量短期波动幅度。
  • 对该波动幅度进行 60 天时间序列排名ts_rank(…, 60),排名越高表示波动越剧烈。
  • 对排名取反(-1 * …)并乘以价格变化符号sign(delta(close, 7)),形成 “高波动 + 趋势方向” 信号:
  • 若股价上涨(sign=1)且波动排名高,信号为负(可能做空,认为短期超涨);
  • 若股价下跌(sign=-1)且波动排名高,信号为正(可能做多,认为超跌反弹)。

3、缩量或正常量时的信号:直接返回 - 1(默认做空或看跌)。

Alpha#7是一个基于交易量和价格变化的反转型因子。它特别关注那些交易量突然增加的股票,并根据其近期价格走势判断可能的反转机会。该因子假设,在交易量激增的情况下,大幅价格变动可能会导致短期内的反转。这种策略特别适用于捕捉市场过度反应后的反弹或回调机会,平均持有期可能在5-10天左右。

Alpha 8

(-1 * rank(((sum(open, 5) * sum(returns, 5)) - delay((sum(open, 5) * sum(returns, 5)), 10))))

核心步骤如下:
1、通过sum(open, 5)计算 5 日开盘价总和,反映短期价格水平;通过sum(returns, 5)计算 5 日收益率总和,衡量短期动量(上涨 / 下跌趋势强度)。
将两者相乘(sum(open, 5) * sum(returns, 5)),结合价格水平与动量方向(如高价 + 正收益为强多头信号,低价 + 负收益为强空头信号)。
2、历史基准对比:用delay(…, 10)获取 10 天前的组合信号值,作为历史参考基准;计算当前值与历史值的差异(… - delay(…, 10)),识别信号的趋势变化(如差异为正表示当前组合信号强于历史)。
3、横截面标准化与信号反转:
对差异值进行横截面排名(rank(…)),转换为 0-1 区间的相对强度;
对排名取反(-1 * …),使高排名(当前信号显著强于历史)对应负值信号,低排名(当前信号弱于历史)对应正值信号,可能用于做空短期过热(高排名)或做多短期超跌(低排名)。

Alpha#8是一个基于价格水平和动量变化的中期反转型因子。它通过比较当前价格水平与动量的组合与历史值的差异,寻找可能的反转机会。该因子特别关注那些价格水平和动量关系发生显著变化的股票,这可能表明市场情绪正在转变。这种策略适用于捕捉市场过度反应后的反弹或回调机会,平均持有期可能在7-14天左右。

Alpha 9

((0 < ts_min(delta(close, 1), 5)) ? delta(close, 1) : ((ts_max(delta(close, 1), 5) < 0) ? delta(close, 1) : (-1 * delta(close, 1))))

核心步骤如下:
1、当市场处于强势上涨趋势(过去5天都是正收益)时,因子跟随趋势,返回当日收益,正收益给出看涨信号,负收益给出看跌信号。
2、当市场处于强势下跌趋势(过去5天都是负收益)时,因子同样跟随趋势,返回当日收益。
3、当市场没有明确趋势(既有上涨日又有下跌日)时,因子采取反转策略,返回当日收益的相反数,正收益给出看跌信号,负收益给出看涨信号。
这种设计反映了一种市场假设:在强趋势中,动量策略更有效;在混合或横盘市场中,反转策略更有效。

Alpha#9是一个自适应型因子,根据市场条件在动量策略和反转策略之间切换。它通过分析近期价格走势的一致性,判断当前市场环境,并采用相应的策略。在强趋势市场中,它跟随趋势;在混合市场中,它寻找反转机会。这种灵活的策略设计使得因子可以适应不同的市场环境,平均持有期可能在1-3天左右,属于短期交易策略。

Alpha 10

rank(((0 < ts_min(delta(close, 1), 4)) ? delta(close, 1) : ((ts_max(delta(close, 1), 4) < 0) ? delta(close, 1) : (-1 * delta(close, 1)))))

核心步骤如下:
1、内部逻辑与Alpha#9几乎相同,但使用4天而非5天窗口:

  • 如果过去4天内所有日收益都为正,返回当日收益
  • 如果过去4天内所有日收益都为负,返回当日收益
  • 否则,返回当日收益的相反数

2、对上述结果进行横截面排名,这将原始值转换为相对排名。

Alpha#10是Alpha#9的改进版本,同样是一个自适应型因子,但增加了横截面排名操作。它根据市场条件在动量策略和反转策略之间切换,并通过排名强调股票之间的相对表现。这种设计使得因子不仅能适应不同的市场环境,还能更好地用于构建多空组合。平均持有期可能在1-3天左右,属于短期交易策略,特别适合相对价值策略和市场中性策略。

Alpha 11

((rank(ts_max((vwap - close), 3)) + rank(ts_min((vwap - close), 3))) * rank(delta(volume, 3)))

核心步骤如下:
1、(vwap - close),正值表示收盘价低于日内平均价格,负值表示收盘价高于日内平均价格。
2、(rank(ts_max((vwap - close), 3)) + rank(ts_min((vwap - close), 3)))这一部分高值通常出现在以下情况:

  • 股票在过去3天内既有显著的正偏离(收盘价远低于VWAP)又有显著的负偏离(收盘价远高于VWAP)
  • 这可能表明价格波动性增加或日内价格行为不稳定
  • 对最大值和最小值分别进行横截面排名,将两个排名相加,这结合了正向和负向极端偏离的信息

3、 delta(volume, 3)计算交易量的3天变化,这衡量了交易量的短期趋势,然后对交易量变化进行横截面排名
4、... * ...:将价格偏离排名和交易量变化排名相乘,这结合了价格行为和交易量变化的信息

Alpha#11是一个基于价格偏离和交易量变化的复合型因子。它寻找那些日内价格行为异常(相对于VWAP)且交易量显著变化的股票。这种组合可能识别出正在经历市场情绪变化或异常交易活动的股票。该因子特别适用于捕捉可能的趋势形成或转变,平均持有期可能在3-5天左右,适合短期交易策略。

Alpha 12

(sign(delta(volume, 1)) * (-1 * delta(close, 1)))

核心步骤如下:
1、当交易量增加(sign(delta(volume, 1)) = 1)时:

  • 如果价格上涨(delta(close, 1) > 0),因子值为负,给出看跌信号
  • 如果价格下跌(delta(close, 1) < 0),因子值为正,给出看涨信号

2、当交易量减少(sign(delta(volume, 1)) = -1)时:

  • 如果价格上涨(delta(close, 1) > 0),因子值为正,给出看涨信号
  • 如果价格下跌(delta(close, 1) < 0),因子值为负,给出看跌信号

Alpha#12是一个基于价量关系的短期反转/动量混合型因子。它根据交易量变化的方向,对价格变动采取不同的策略:在交易量增加时采用反转策略,在交易量减少时采用动量策略。这种设计使得因子能够适应不同的市场微观结构条件,平均持有期可能在1-2天左右,属于超短期交易策略。

Alpha 13

(-1 * rank(covariance(rank(close), rank(volume), 5)))

核心步骤如下:
1、这个因子探索了收盘价排名与交易量排名之间的关系。与直接使用价格和交易量相比,使用排名可以减少异常值的影响,并关注相对位置而非绝对值。
2、协方差高值通常出现在以下情况:

  • 收盘价排名与交易量排名同向变动(高价格排名伴随高交易量排名,低价格排名伴随低交易量排名)
  • 这可能表明市场对这些股票的兴趣与其价格水平一致

3、通过对协方差排名取反,因子给出以下信号:

  • 当收盘价排名与交易量排名高度正相关时,因子值为负,给出看跌信号
  • 当收盘价排名与交易量排名不相关或负相关时,因子值为正,给出看涨信号

Alpha#13是一个基于量价关系的短期反转型因子。它通过分析收盘价排名与交易量排名之间的协方差,寻找可能的价格反转机会。该因子特别关注那些价格与交易量排名关系异常的股票,这可能表明市场参与者对这些股票的估值存在分歧。这种策略适用于寻找可能的短期错误定价,平均持有期可能在3-5天左右。

Alpha 14

((-1 * rank(delta(returns, 3))) * correlation(open, volume, 10))

核心步骤如下:
1、-1 * rank(delta(returns, 3))这一部分高值通常出现在收益率趋势显著下降的股票中,低值出现在收益率趋势显著上升的股票中。
2、correlation(open, volume, 10)这一部分衡量了开盘价与交易量之间的关系。正相关表明高开盘价伴随高交易量,负相关表明高开盘价伴随低交易量。
3、两部分相乘,因子在以下情况下给出强烈信号:

  • 若短期收益率高(排名负值)且价量正相关(协同),信号为负值(可能做空,认为短期过热);
  • 若短期收益率低(排名正值)且价量负相关(背离),信号为正值(可能做多,认为超跌反弹)。

Alpha#14是一个结合收益率趋势和价量关系的复合型因子。它寻找那些收益率趋势发生显著变化,且开盘价与交易量关系特定的股票。这种组合可能识别出正在经历市场情绪变化或交易模式转变的股票。该因子适用于捕捉可能的趋势转变或延续,平均持有期可能在5-7天左右,适合中短期交易策略。

Alpha 15

(-1 * sum(rank(correlation(rank(high), rank(volume), 3)), 3))

核心步骤如下:
1、 rank(high), rank(volume),对最高价和交易量分别进行横截面排名, 这将原始值转换为相对排名,减少异常值影响
2、 correlation(..., ..., 3)rank(...):计算过去3天这两个排名序列的相关性,对相关性进行横截面排名
3、 sum(..., 3):计算上述排名的3天总和,这累积了短期内的相关性排名信息
4、对总和取反,这将高总和转为负值,低总和转为正值

Alpha#15是一个基于价量关系持续性的短期反转型因子。它通过分析最高价排名与交易量排名之间的相关性排名的累积,寻找可能的价格反转机会。该因子特别关注那些价格与交易量排名关系异常且持续的股票,这可能表明市场参与者对这些股票的估值存在持续分歧。这种策略适用于寻找可能的短期错误定价,平均持有期可能在3-5天左右。

Alpha 16

(-1 * rank(covariance(rank(high), rank(volume), 5)))

核心步骤如下:
这个因子与Alpha#13非常相似,但关注的是最高价而非收盘价。它探索了最高价排名与交易量排名之间的关系。

Alpha#16是一个基于价量关系的短期反转型因子。它通过分析最高价排名与交易量排名之间的协方差,寻找可能的价格反转机会。该因子特别关注那些价格高点与交易量排名关系异常的股票,这可能表明市场参与者对这些股票的估值存在分歧或投机活动。这种策略适用于寻找可能的短期错误定价或投机泡沫,平均持有期可能在3-5天左右。

Alpha 17

(((-1 * rank(ts_rank(close, 10))) * rank(delta(delta(close, 1), 1))) * rank(ts_rank((volume / adv20), 5)))

核心步骤如下:
1、-1 * rank(ts_rank(close, 10))这一部分高值通常出现在收盘价相对历史较低的股票中,低值出现在收盘价相对历史较高的股票中。
2、rank(delta(delta(close, 1), 1))delta(delta(close, 1), 1)部分计算收盘价的二阶差分(价格加速度);这一部分高值通常出现在价格加速度较高的股票中,低值出现在价格加速度较低或为负的股票中。
3、rank(ts_rank((volume / adv20), 5))这一部分高值通常出现在近期交易量相对强度较高的股票中,低值出现在近期交易量相对强度较低的股票中。
这个因子结合了价格强度、价格加速度和交易量强度三个方面的信息。

Alpha#17是一个结合价格强度、价格加速度和交易量强度的复合型因子。它寻找那些价格、价格变化速度和交易量表现特定的股票。这种复杂组合可能识别出正在经历特定市场条件或交易模式的股票。该因子适用于捕捉可能的趋势转变或加速,平均持有期可能在5-10天左右,适合中短期交易策略。

Alpha 18

(-1 * rank(((stddev(abs((close - open)), 5) + (close - open)) + correlation(close, open, 10))))

核心步骤如下:
1、stddev(abs((close - open)), 5) + (close - open)这一部分高值通常出现在以下情况:

  • 日内波动性不稳定,且当前日内收益为正
  • 日内波动性稳定,但当前日内收益大幅为正

2、correlation(close, open, 10)这一部分高值通常出现在收盘价和开盘价高度正相关的股票中,这可能表明日间价格变动(隔夜效应)较为一致。
这个因子结合了日内波动性的稳定性、当前日内收益和价格关系三个方面的信息。

Alpha#18是一个基于日内波动性和价格关系的复合型因子。它通过分析日内波动性的稳定性、当前日内收益和收盘价与开盘价的相关性,寻找可能的交易机会。该因子特别关注那些日内价格行为特定且与历史模式关系特定的股票。这种策略适用于捕捉可能的日内模式变化或异常,平均持有期可能在3-7天左右,适合短期交易策略。

Alpha 19

((-1 * sign(((close - delay(close, 7)) + delta(close, 7)))) * (1 + rank((1 + sum(returns, 250)))))

核心步骤如下:
1、-1 * sign(((close - delay(close, 7)) + delta(close, 7)))这一部分实际上是-1 * sign(2 * (close - delay(close, 7))),它给出以下信号:

  • 当7天价格变动为正(上涨)时,值为-1
  • 当7天价格变动为负(下跌)时,值为1
  • 当7天价格不变时,值为0

2、(1 + rank((1 + sum(returns, 250))))这一部分高值通常出现在长期累积收益较高的股票中,低值出现在长期累积收益较低的股票中。
3、两部分相乘,因子在以下情况下给出强烈信号:

  • 7天价格下跌且长期累积收益较高,因子值为正,给出看涨信号
  • 7天价格上涨且长期累积收益较高,因子值为负,给出看跌信号
  • 7天价格下跌且长期累积收益较低,因子值为正但较小
  • 7天价格上涨且长期累积收益较低,因子值为负但较小

Alpha#19是一个结合短期价格方向和长期累积收益的反转/动量混合型因子。它对短期价格采取反转策略(价格上涨给出看跌信号,价格下跌给出看涨信号),并根据长期累积收益调整信号强度。这种设计特别关注那些长期表现良好但短期出现回调的股票,可能寻找买入机会;或长期表现良好但短期继续上涨的股票,可能寻找卖出机会。平均持有期可能在7-14天左右,适合中期交易策略。

Alpha 20

(((-1 * rank((open - delay(high, 1)))) * rank((open - delay(close, 1)))) * rank((open - delay(low, 1))))

核心步骤如下:
1、-1 * rank((open - delay(high, 1)))这一部分高值通常出现在开盘价远低于前日高点的股票中,低值出现在开盘价接近或高于前日高点的股票中。
2、rank((open - delay(close, 1)))这一部分高值通常出现在开盘价远高于前日收盘价的股票中(大幅高开),低值出现在开盘价远低于前日收盘价的股票中(大幅低开)。
3、rank((open - delay(low, 1)))这一部分高值通常出现在开盘价远高于前日低点的股票中,低值出现在开盘价接近或低于前日低点的股票中。

Alpha#20是一个基于开盘价位置的复合型因子。它通过分析开盘价相对于前一交易日高、低、收价格的位置,寻找特定的价格模式。该因子特别关注那些开盘价位置特殊的股票,这可能表明市场对这些股票的估值发生变化或存在特定的交易机会。这种策略适用于捕捉可能的价格突破或反转,平均持有期可能在1-5天左右,适合短期交易策略。

Alpha 21

((((sum(close, 8) / 8) + stddev(close, 8)) < (sum(close, 2) / 2)) ? (-1 * 1) : (((sum(close, 2) / 2) < ((sum(close, 8) / 8) - stddev(close, 8))) ? 1 : (((1 < (volume / adv20)) || ((volume / adv20) == 1)) ? 1 : (-1 * 1))))

核心步骤如下:
1、 (sum(close, 8) / 8):计算过去8天收盘价的平均值,代表短期价格趋势
2、stddev(close, 8):计算过去8天收盘价的标准差,代表短期价格波动性
3、(sum(close, 2) / 2):计算过去2天收盘价的平均值,代表极短期价格趋势
4、(volume / adv20):当前交易量与过去20天平均交易量的比率,衡量交易活跃度

这是一个三层条件判断的复杂因子:

  • 第一层:如果8天均价+标准差 < 2天均价,返回-1(看跌)
  • 第二层:如果2天均价 < 8天均价-标准差,返回1(看涨)
  • 第三层:如果交易量比率≥1,返回1(看涨),否则返回-1(看跌)

Alpha#21是一个基于价格通道突破和交易量确认的自适应因子。它通过构建基于8天均价和标准差的价格通道,识别价格的超买超卖状态。当价格突破通道时,采用反转策略;当价格在通道内时,采用基于交易量的动量策略。这种设计使因子能够在不同市场环境下自适应调整策略,平均持有期约5-10天。

Alpha 22

(-1 * (delta(correlation(high, volume, 5), 5) * rank(stddev(close, 20))))

核心步骤如下:
1、 (delta(correlation(high, volume, 5), 5):监控最高价与交易量相关性的变化,捕捉市场情绪转变
2、 rank(stddev(close, 20)):使用波动性排名作为权重,高波动股票的信号更强
3、反向操作:通过取负值,当价量关系正向变化且波动性高时,给出看跌信号
当股票的最高价与交易量相关性增强(通常表明追涨情绪),且该股票波动性较高时,因子认为可能存在过度投机,给出看跌信号。

Alpha#22是一个基于价量关系变化和波动性的短期反转因子。它通过监控最高价与交易量相关性的变化,识别市场情绪的转变,特别关注高波动性股票的过度投机行为。当检测到追涨情绪增强时,预期短期回调,平均持有期约5-8天。

Alpha 23

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

核心步骤如下:

  1. 突破识别:当当前最高价超过20天最高价均值时,认为发生了向上突破
  2. 反转预期:对突破后的价格变化取负值,预期价格回调
  3. 选择性操作:只在突破时给出信号,其他时候保持中性

Alpha#23是一个基于价格突破的短期反转因子。它识别当前最高价超过20天均值的突破情况,并预期这种突破后会出现回调。因子只在检测到突破时给出看跌信号,其他时候保持中性,适用于捕捉假突破后的回调机会,平均持有期约2-5天。

Alpha 24

((((delta((sum(close, 100) / 100), 100) / delay(close, 100)) < 0.05) || ((delta((sum(close, 100) / 100), 100) / delay(close, 100)) == 0.05)) ? (-1 * (close - ts_min(close, 100))) : (-1 * delta(close, 3)))

核心步骤如下:
1、条件判断:delta(...) / delay(...):计算长期价格变化率;如果长期价格变化率≤5%,返回当前价格与100天最低价差异的负值;否则返回3天价格变化的负值。
2、长期趋势判断:通过100天价格变化率判断长期趋势强度
3、 策略切换:在不同趋势环境下采用不同策略

  • 弱趋势环境(变化率≤5%):基于价格相对位置的反转策略
  • 强趋势环境(变化率>5%):基于短期价格变化的反转策略

在弱趋势环境中,当价格接近100天最低点时给出看涨信号;在强趋势环境中,对短期价格上涨给出看跌信号。

Alpha#24是一个自适应的长短期结合因子。它根据长期价格趋势的强度选择不同的交易策略:在横盘或弱趋势市场中采用基于价格位置的反转策略,在强趋势市场中采用短期反转策略。这种设计使因子能够适应不同的市场环境,平均持有期约5-15天。

Alpha 25

rank(((((-1 * returns) * adv20) * vwap) * (high - close)))

核心步骤如下:

  1. 反向收益:使用收益率的负值,体现反转逻辑
  2. 流动性权重:高流动性股票的信号更可靠
  3. 价格水平:VWAP代表市场认可的价格水平
  4. 日内模式:最高价与收盘价的差异反映日内抛压
  5. 四个因子相乘后进行横截面排名

当股票收益率为负(下跌)、流动性高、价格水平高、且日内出现明显回调时,因子值较高,可能预示反弹机会。
Alpha#25是一个多维度复合因子,结合收益率、流动性、价格水平和日内模式进行综合评估。它特别关注那些在高流动性和高价格水平下出现下跌和日内回调的股票,预期这些股票可能出现反弹。因子通过横截面排名进行标准化,适用于相对价值策略,平均持有期约3-7天。

Alpha 26

(-1 * ts_max(correlation(ts_rank(volume, 5), ts_rank(high, 5), 5), 3))

核心步骤如下:

  1. 强度排名:correlation(ts_rank(volume, 5), ts_rank(high, 5),使用时间序列排名衡量交易量和价格的相对强度
  2. 相关性监控:监控交易量强度与价格强度的相关性
  3. 峰值识别:取3天内相关性的最大值,识别关系最强的时点
  4. 反向操作:当交易量与价格强度高度正相关时,给出看跌信号

Alpha#26是一个基于价量关系强度的短期反转因子。它通过分析交易量强度与价格强度的相关性,识别市场情绪过热的时点。当检测到交易量与价格强度高度正相关时,预期短期反转,适用于捕捉过度投机后的回调,平均持有期约2-5天。

Alpha 27

((0.5 < rank((sum(correlation(rank(volume), rank(vwap), 6), 2) / 2.0))) ? (-1 * 1) : 1)

核心步骤如下:

  1. 微观结构分析correlation(rank(volume), rank(vwap), 6),分析交易量排名与VWAP排名的关系
  2. 关系稳定性:使用2天平均相关性衡量关系的稳定性
  3. 相对比较:通过横截面排名进行相对比较
  4. 二元信号:给出简单的买入(1)或卖出(-1)信号

Alpha#27是一个基于市场微观结构的二元因子。它通过分析交易量与价格水平的关系稳定性,识别市场微观结构的异常。当检测到交易量与价格关系过于"正常"时,预期可能出现变化,给出相应的交易信号,平均持有期约3-6天。

Alpha 28

scale(((correlation(adv20, low, 5) + ((high + low) / 2)) - close))

核心步骤如下:

  1. correlation(adv20, low, 5):过去5天平均交易量与最低价的相关性
  2. (high + low) / 2:最高价与最低价的中点,代表日内价格中心
  3. + ... - close:将相关性与价格中心相加,再减去收盘价
  4. scale(...):对结果进行缩放标准化

当流动性与价格支撑关系良好,且收盘价低于理论价格时,可能存在低估,给出看涨信号。

Alpha#28是一个基于流动性与价格关系的均值回归因子。它通过分析平均交易量与最低价的相关性,结合日内价格中心,构建理论价格参考,然后衡量收盘价的偏离程度。当检测到价格被低估时,预期均值回归,平均持有期约3-7天。

Alpha 29

(min(product(rank(rank(scale(log(sum(ts_min(rank(rank((-1 * rank(delta((close - 1), 5))))), 2), 1))))), 1), 5) + ts_rank(delay((-1 * returns), 6), 5))

核心步骤如下:
这个因子的复杂性表明它试图捕捉非常精细的价格模式:
1、价格变化计算:通过delta((close - 1), 5)计算(收盘价 - 1)的 5 天变化,聚焦价格绝对变动趋势。
2、标准化处理:利用rank(…)进行横截面排名、ts_rank(…, 5)进行 5 天时间序列排名,通过双层排名消除量纲并提取相对强度。
3、极值与非线性变换:

  • ts_min(…, 2)取 2 天内最小值,捕捉短期价格低点;
  • log(…)对结果取对数,强化小值差异,弱化大值波动。

4、历史收益关联:通过delay((-1 * returns), 6)引入 6 天前收益率的负值,结合当前价格变化,挖掘历史反向收益对当前的影响。
信号合成:

  • sum(…, 1)(窗口 1 不改变值)与product(…, 1)(窗口 1 不改变值)完成基础运算;
  • scale(…)缩放标准化确保值域统一,最终两部分相加形成复合信号。

Alpha#29是一个高度复杂的非线性因子,通过多层数学变换试图捕捉精细的价格模式和历史收益的影响。其复杂的构造表明它可能针对特定的市场异常或模式进行优化。由于其复杂性,因子的解释性较低,但可能在特定市场条件下表现出色,平均持有期约5-10天。

Alpha 30

(((1.0 - rank(((sign((close - delay(close, 1))) + sign((delay(close, 1) - delay(close, 2)))) + sign((delay(close, 2) - delay(close, 3)))))) * sum(volume, 5)) / sum(volume, 20))

核心步骤如下:
1、 价格连续性:通过连续3天价格变化方向的总和衡量价格趋势的连续性
2、 反向逻辑1.0 - rank(...) 使用1减去排名,当价格连续性强时给出较低权重
3、 交易量确认:使用短期与长期交易量比率作为确认信号
4、反转预期:当价格连续变化且交易量活跃时,预期反转

当股票价格连续同向变化(强趋势)且短期交易量相对活跃时,因子预期趋势可能反转。

Alpha#30是一个基于价格连续性和交易量的反转因子。它通过分析连续3天的价格变化方向,识别强趋势状态,并结合交易量比率进行确认。当检测到价格连续变化且交易量活跃时,预期趋势反转,适用于捕捉过度趋势后的回调,平均持有期约3-7天。

Alpha 31

((rank(rank(rank(decay_linear((-1 * rank(rank(delta(close, 10)))), 10)))) + rank((-1 * delta(close, 3)))) + sign(scale(correlation(adv20, low, 12))))

核心步骤如下:
这个因子结合了多个时间维度的价格信息和流动性信息:

  1. 长期价格趋势decay_linear((-1 * rank(rank(delta(close, 10)))), 10),通过10天价格变化的衰减加权捕捉长期趋势
  2. 短期价格变化correlation(adv20, low, 12),使用3天价格变化捕捉短期动量
  3. 流动性与支撑关系correlation(adv20, low, 12),分析流动性与价格支撑的关系
  4. 多层处理:通过多层排名和变换提高信号稳健性

因子试图在长期趋势、短期动量和流动性分析之间找到平衡。

Alpha#31是一个多维度复合因子,结合长期趋势、短期动量和流动性分析。通过复杂的数学变换和多层排名,试图捕捉价格和流动性的复杂关系。其设计表明它可能适用于捕捉复杂的价格模式,平均持有期约5-10天。

Alpha 32

(scale(((sum(close, 7) / 7) - close)) + (20 * scale(correlation(vwap, delay(close, 5), 230))))

核心步骤如下:
1、短期均值回归:当收盘价偏离7天均价时,预期回归
2、长期价格关系:分析VWAP与历史价格的长期关系
3、权重分配:给长期关系分析更高权重(20倍)
4、标准化处理:通过scale函数确保两部分可比;当股票价格低于短期均值且长期价格关系良好时,给出看涨信号。

Alpha#32是一个结合短期均值回归和长期价格关系的复合因子。它通过分析价格相对于短期均值的偏离和长期价格关系的稳定性,寻找既有短期回归动力又有长期支撑的投资机会。因子设计平衡了短期和长期因素,平均持有期约5-10天。

Alpha 33

rank((-1 * ((1 - (open / close))^1)))

核心步骤如下:

  1. 日内动量:衡量日内价格变化的相对幅度
  2. 反向操作:通过取负值,等于(open - close) / close,当日内上涨时给出较低排名
  3. 相对比较:通过排名进行横截面比较;当股票日内上涨幅度较大时,因子给出较低排名,可能预期短期回调。

    Alpha#33是一个简单的日内反转因子。它通过分析开盘价与收盘价的关系,衡量日内价格变化,并预期日内强势股票可能在短期内出现回调。因子设计简洁,专注于日内动量的反转,平均持有期约1-3天。

Alpha 34

rank(((1 - rank((stddev(returns, 2) / stddev(returns, 5)))) + (1 - rank(delta(close, 1)))))

核心步骤如下:
1、波动率比较:比较短期(2天)与中期(5天)波动率,识别波动率变化
2、价格变化:分析最近的价格变化
3、反向逻辑:对两个指标都使用反向排名
4、综合评估:将两个维度的信息综合;当股票短期波动率相对较低且价格变化较小时,因子给出较高排名,可能预期后续波动增加。

Alpha#34是一个基于波动率变化和价格变化的因子。它通过比较不同时间窗口的波动率和分析价格变化,识别可能出现波动率扩张的股票。当检测到波动率和价格变化都相对较小时,预期后续可能出现更大的价格变动,平均持有期约2-5天。

Alpha 35

((Ts_Rank(volume, 32) * (1 - Ts_Rank(((close + high) - low), 16))) * (1 - Ts_Rank(returns, 32)))

核心步骤如下:
1、交易量强度Ts_Rank(volume, 32),高交易量排名表明当前交易活跃
2、价格强度反转1 - Ts_Rank(((close + high) - low), 16)),低价格强度排名可能表明价格相对较弱
3、收益率反转1 - Ts_Rank(returns, 32)),低收益率排名可能表明近期表现较差
4、多因子组合:三个因子相乘,寻找交易活跃但价格和收益表现较差的股票;当股票交易量活跃但价格强度和收益率表现相对较差时,可能存在反转机会。

Alpha#35是一个多维度时间序列因子,结合交易量、价格强度和收益率的时间序列排名。它寻找那些交易活跃但价格和收益表现相对较差的股票,预期这些股票可能出现反转。因子设计体现了"量价背离"的投资逻辑,平均持有期约5-10天。

Alpha 36

(((((2.21 * rank(correlation((close - open), delay(volume, 1), 15))) + (0.7 * rank((open - close)))) + (0.73 * rank(Ts_Rank(delay((-1 * returns), 6), 5)))) + rank(abs(correlation(vwap, adv20, 6)))) + (0.6 * rank((((sum(close, 200) / 200) - open) * (close - open)))))

核心步骤如下:
这个因子是一个精心设计的多因子模型,权重分别为 2.21, 0.7, 0.73, 1.0, 0.6。

  1. 日内模式与交易量关系correlation((close - open), delay(volume, 1), 15),分析日内收益与交易量的关系
  2. 日内反转(open - close),直接使用日内收益的反向信号
  3. 历史收益影响Ts_Rank(delay((-1 * returns), 6), 5),考虑历史收益对当前的影响
  4. 流动性分析abs(correlation(vwap, adv20, 6)),分析价格与流动性的关系稳定性
  5. 长期趋势与日内结合(((sum(close, 200) / 200) - open) * (close - open)),结合长期价格趋势和日内表现

不同权重反映了各因子的重要性,其中日内模式与交易量关系权重最高。

Alpha#36是一个复杂的多因子线性组合模型,综合考虑了日内模式、交易量关系、历史收益、流动性分析和长期趋势等多个维度。通过精心设计的权重分配,试图捕捉多种市场异常和机会。这种设计表明它是一个成熟的量化模型,适用于多因素选股,平均持有期约5-15天。

Alpha 37

(rank(correlation(delay((open - close), 1), close, 200)) + rank((open - close)))

核心步骤如下:
1、历史模式分析:通过200天相关性分析历史日内模式与价格的关系
2、当前表现:直接评估当日日内表现
3、模式延续:假设历史模式对当前有预测价值
4、综合评估:结合历史模式和当前表现;当股票历史日内模式与价格关系良好,且当日日内表现符合预期时,给出较高评分。

Alpha#37是一个基于日内模式持续性的因子。它通过分析历史日内收益模式与价格的长期关系,结合当前日内表现,预测价格走势。因子假设历史日内模式具有预测价值,适用于捕捉日内模式的延续,平均持有期约3-7天。

Alpha 38

((-1 * rank(Ts_Rank(close, 10))) * rank((close / open)))

核心步骤如下:
1、价格强度反转:收盘价时间序列排名高的股票给出负权重
2、日内动量:日内表现好的股票给出正权重
3、交互效应:两者相乘产生交互效应;当股票收盘价相对较低(时间序列排名低)但日内表现较好时,因子给出正值,可能预期反转。

Alpha#38是一个结合价格强度和日内表现的交互因子。它寻找那些近期价格相对较低但日内表现较好的股票,预期这些股票可能出现反转。因子设计体现了"低位反弹"的投资逻辑,平均持有期约1-3天。

Alpha 39

((-1 * rank((delta(close, 7) * (1 - rank(decay_linear((volume / adv20), 9)))))) * (1 + rank(sum(returns, 250))))

核心步骤如下:
1、短期动量分析:7天价格变化衡量短期趋势
2、交易量确认:使用交易量比率的反向排名作为确认
3、长期收益权重:长期表现好的股票给予更高权重
4、反向操作:对短期动量采用反向策略;当股票短期上涨但交易量相对较低,且长期表现较好时,因子可能预期短期回调。

Alpha#39是一个复杂的多时间维度因子,结合短期价格动量、交易量分析和长期收益表现。它通过分析短期动量与交易量的关系,并结合长期表现进行权重调整,寻找可能的短期反转机会。因子设计体现了多时间框架的综合分析,平均持有期约5-10天。

Alpha 40

((-1 * rank(stddev(high, 10))) * correlation(high, volume, 10))

核心步骤如下:
1、波动性偏好:偏好低波动性股票(通过负号实现)
2、价量关系:分析最高价与交易量的相关性
3、交互效应:低波动性且价量关系良好的股票得到正评分;当股票波动性较低且最高价与交易量正相关时,可能表明价格上涨得到交易量支持,给出看涨信号。

Alpha#40是一个基于波动性和价量关系的因子。它偏好那些波动性较低但价量关系良好的股票,认为这些股票的价格上涨更可持续。因子设计体现了"稳健上涨"的投资逻辑,适用于寻找低风险的上涨机会,平均持有期约3-7天。

Alpha 41

(((high * low)^0.5) - vwap)

核心步骤如下:
1、几何平均价格:最高价与最低价的几何平均,代表理论中点价格
2、实际交易价格:VWAP代表实际交易的平均价格
3、偏离分析:当几何平均价格高于VWAP时,可能表明交易偏向低价区间,;当股票的理论中点价格高于实际交易价格时,可能存在低估,给出看涨信号。

Alpha#41是一个基于价格几何关系的简单因子。它通过比较理论几何平均价格与实际交易价格,识别价格偏离。当理论价格高于实际价格时,预期价格向理论价格回归,体现了价格均值回归的投资逻辑,平均持有期约1-3天。

Alpha 42

(rank((vwap - close)) / rank((vwap + close)))

核心步骤如下:
1、价格偏离:VWAP-close衡量收盘价相对于平均交易价格的偏离
2、价格水平:VWAP+close衡量整体价格水平
3、相对分析:通过排名比值进行相对分析,当收盘价显著低于VWAP(分子大)且整体价格水平不高(分母小)时,因子值较大,可能预期价格上涨。

Alpha#42是一个基于VWAP关系的相对价值因子。它通过分析收盘价与VWAP的偏离程度,结合整体价格水平,寻找相对低估的股票。当检测到收盘价显著低于VWAP且价格水平合理时,预期价格回归,平均持有期约1-3天。

Alpha 43

(ts_rank((volume / adv20), 20) * ts_rank((-1 * delta(close, 7)), 8))

核心步骤如下:
1、ts_rank((volume / adv20), 20):过去20天该交易量比率的时间序列排名
2、ts_rank((-1 * delta(close, 7)), 8):过去8天价格变化负值的时间序列排名
3、两个时间序列排名相乘,当股票交易量相对活跃且价格出现下跌时,可能存在反转机会。

Alpha#43是一个基于量价配合的反转因子。它寻找那些交易量相对活跃但价格出现下跌的股票,预期在交易量支持下可能出现价格反转。因子设计体现了"放量下跌后反弹"的投资逻辑,平均持有期约3-7天。

Alpha 44

(-1 * correlation(high, rank(volume), 5))

核心步骤如下:
1、价量关系:分析最高价与交易量排名的相关性
2、反向操作:通过取负值,当正相关性强时给出看跌信号
3、短期分析:使用5天窗口捕捉短期关系

当最高价与交易量排名正相关性强时,可能表明追涨情绪过热,预期回调。

Alpha#44是一个基于价量关系的短期反转因子。它通过分析最高价与交易量排名的相关性,识别追涨情绪。当检测到强正相关时,预期短期回调,适用于捕捉过度投机后的调整,平均持有期约2-5天。

Alpha 45

(-1 * ((rank((sum(delay(close, 5), 20) / 20)) * correlation(close, volume, 2)) * rank(correlation(sum(close, 5), sum(close, 20), 2))))

核心步骤如下:
1、中期价格趋势基准:通过delay(close, 5)获取 5 天前收盘价,作为中期趋势的时间锚点。计算从 5 天前开始的 20 天收盘价均值(sum(…, 20)/20),反映过去 20 天(约 1 个月)的价格中枢,再通过rank(…)进行横截面排名,排名越高表示中期价格相对市场越强。
2、短期量价相关性:利用correlation(close, volume, 2)计算过去 2 天收盘价与交易量的相关性,正值表示量价同向(如放量上涨),负值表示量价背离(如缩量上涨)。
3、多周期价格相关性:计算 5 天收盘价总和(短期)与 20 天收盘价总和(中期),反映不同周期的价格动量。通过correlation(…, 2)计算近两日短中长期总和的相关性,正值表示短中期趋势一致(如短期上涨强化中期多头),负值表示趋势背离(如短期下跌背离中期上涨)。对上述相关性结果进行rank(…)横截面排名,排名越高表示短中期趋势协同性越强。
4、信号合成与方向反转:将中期均价排名、近两日量价相关性、短中长期价格相关性三者相乘,形成 “趋势强度 × 量价协同 × 周期联动” 的复合信号。乘积为正值,可能预示趋势延续,乘积为负值,可能预示反转。

Alpha#45是一个复杂的多维度因子,结合历史价格水平、短期价量关系和价格趋势分析。它通过复合多个信号,识别可能的价格调整机会。当多个维度都显示强势时,预期可能出现回调,平均持有期约3-7天。

Alpha 46

((0.25 < (((delay(close, 20) - delay(close, 10)) / 10) - ((delay(close, 10) - close) / 10))) ? (-1 * 1) : (((((delay(close, 20) - delay(close, 10)) / 10) - ((delay(close, 10) - close) / 10)) < 0) ? 1 : ((-1 * 1) * (close - delay(close, 1)))))

核心步骤如下:
1、(delay(close, 20) - delay(close, 10)) / 10:20天前到10天前的日均价格变化
2、(delay(close, 10) - close) / 10:10天前到现在的日均价格变化
3、两者相减:衡量价格变化趋势的变化
4、三层条件判断:

  • 如果趋势变化 > 0.25,返回-1
  • 如果趋势变化 < 0,返回1
  • 否则返回昨日收益的负值

Alpha#46是一个基于价格趋势变化的自适应因子。它通过分析价格变化的加速度,识别趋势的转折点。当检测到价格加速上涨时预期回调,当检测到趋势转为下跌时预期反弹,体现了趋势转折的投资逻辑,平均持有期约5-10天。

Alpha 47

((((rank((1 / close)) * volume) / adv20) * ((high * rank((high - close))) / (sum(high, 5) / 5))) - rank((vwap - delay(vwap, 5))))

核心步骤如下:
1、低价股与成交量异常识别:通过rank((1 / close))对收盘价倒数进行横截面排名,聚焦低价股群体。
成交量比率加权:将低价股排名乘以volume / adv20(当前交易量与 20 日均量的比率),放量的低价股信号更强。
2、日内价格强度与趋势分析:计算(high - close),衡量日内冲高回落幅度,差值越大表示多头力量衰退越明显(如涨停后开板回落)。对(high - close)进行横截面排名,用high * rank(…)将高价股与高回落排名结合,高价股的大幅回落信号更敏感。
通过(sum(high, 5) / 5)计算 5 天最高价均值,反映短期价格中枢,用于标准化处理(如当前高价与均值的偏离)。
3、计算vwap - delay(vwap, 5)(当前 VWAP 与 5 天前的差值),衡量中期资金成本变化,正值表示资金成本上移(可能支撑股价)。对 VWAP 变化进行rank(…)排名,转换为相对市场的资金流强度。
4、前两部分相乘减去第三部分,形成 “反转信号 - 趋势信号” 的对冲结构,若乘积大于 VWAP 排名,可能预示趋势反转(如短期回落压制中期资金流入趋势)。

该因子通过 “低价股放量→高价回落强度→资金成本趋势” 的三层逻辑,捕捉低价股在放量上涨过程中的短期反转机会,尤其关注高价股的冲高回落与资金流背离现象。

Alpha#47是一个复杂的多因素复合因子,特别关注低价股的交易机会。它通过综合考虑价格水平、流动性、日内模式和价格趋势,寻找具有反转潜力的低价股。因子设计体现了对低价股特殊交易模式的理解,平均持有期约3-7天。

Alpha 48

(indneutralize(((correlation(delta(close, 1), delta(delay(close, 1), 1), 250) * delta(close, 1)) / close), IndClass.subindustry) / sum(((delta(close, 1) / delay(close, 1))^2), 250))

核心步骤如下:
这个因子基于收益率序列相关性和行业中性化;
1、序列相关性:分析今日收益与昨日收益的250天长期自相关性
2、收益率调整:使用相关性调整今日收益率
3、行业中性化:消除行业因素影响
3、波动率标准化:使用收益率平方和进行标准化
这是一个高度技术化的因子,试图捕捉收益率序列的微观结构特征。

Alpha#48是一个基于收益率序列相关性的高级技术因子。它通过分析收益率的时间序列特征,结合行业中性化和波动率调整,试图捕捉微观市场结构的异常。这种设计表明它针对特定的市场微观结构效应进行优化,平均持有期约1-3天。

Alpha 49

(((((delay(close, 20) - delay(close, 10)) / 10) - ((delay(close, 10) - close) / 10)) < (-1 * 0.1)) ? 1 : ((-1 * 1) * (close - delay(close, 1))))

核心步骤如下:
1、 (delay(close, 20) - delay(close, 10)) / 10:20天前到10天前的日均价格变化
2、 (delay(close, 10) - close) / 10:10天前到现在的日均价格变化
3、 两者相减:价格变化趋势的变化
4、 条件判断:如果趋势变化 < -0.1,返回1;否则返回昨日收益的负值

当价格上涨趋势显著减速时,可能预示趋势即将反转,给出看涨信号。

Alpha#49是一个基于趋势减速的因子,与Alpha#46形成系列。它专注于识别价格上涨趋势的显著减速,当检测到减速超过阈值时预期反转。这种设计体现了对趋势转折点的精确捕捉,平均持有期约5-10天。

Alpha 50

(-1 * ts_max(rank(correlation(rank(volume), rank(vwap), 5)), 5))

核心步骤如下:
这个因子分析交易量与价格水平排名的关系:
1、排名相关性:分析交易量排名与VWAP排名的关系
2、峰值识别:取5天内相关性排名的最大值
3、反向操作:当相关性排名达到峰值时给出看跌信号

当交易量排名与VWAP排名的相关性在市场中达到相对高点时,可能表明市场过热。

Alpha#50是一个基于市场微观结构的反转因子。它通过分析交易量与价格水平排名的相关性峰值,识别市场过热状态。当检测到相关性达到相对高点时,预期市场调整,适用于捕捉市场情绪过度后的回调,平均持有期约2-5天。


下一篇会继续做深度解析剩下的51个因子。

最后一次编辑于 9天前 5

普洱咖啡

厉害

2025-06-09 20:44:10      回复

推荐阅读