继续分享量化因子alpha002,前面分析了alpha001的量化因子的思路
因子检验---alpha001因子有效分析研究科普
今天在把算法迁移到ptrade,感觉不同的平台接口不一样,还是比较考验代码能力

先了解一下因子的建立


python计算原理代码
def alpha002(data, dependencies=['closePrice','lowestPrice','highestPrice'], max_window=2):
# -1*delta(((close-low)-(high-close))/(high-low),1)
win_ratio = (2*data['closePrice']-data['lowestPrice']-data['highestPrice'])/(data['highestPrice']-data['lowestPrice'])
return win_ratio.diff(1) * (-1) # 注意:删除了 .iloc[-1]
Alpha002 = - [ R(t) - R(t-1) ]

数据原理

R 的几何意义在一根 K 线(最高价 H,最低价 L,收盘价 C)中:
close - low:收盘价距离最低点的幅度(下影线 + 实体下方)
high - close:收盘价距离最高点的幅度(上影线 + 实体上方)
相减:衡量 收盘价在 K 线中的偏移方向与程度。
若 C 接近 H:close-low 大,high-close 小 → R 接近 +1
若 C 接近 L:close-low 小,high-close 大 → R 接近 -1
若 C 接近中点:R 接近 0
所以 R ∈ [-1, 1],可视为归一化的收盘偏移强度。
Delta 与负号的作用
delta(R, 1):R 的变化趋势(上升 / 下降)
取负号:反转变化方向
因此 Alpha002 高 → R 快速下降;Alpha002 低 → R 快速上升。
因子的交易逻辑与思路

该因子捕捉 K 线内部收盘价偏移方向的短期反转,而非趋势延续。当 R 快速上升时(收盘价持续走强),因子产生负值,提示卖出或减仓;当 R 快速下降时,因子正值,提示买入。这是一种 均值回归 / 反转型因子,尤其适合震荡市场。
Alpha002 是一个典型的日内收盘偏移反转因子,通过测量收盘价在 K 线中的相对位置的变化速度,捕捉极短期的价格回归行为。它在量化交易中常用于构建高频或日内的均值回归策略,尤其适合与趋势因子搭配使用。
流程图

我利用因子分析框架,利用全市场的etf数据分析这个因子,计算全部的因子数据

因子的分组检验

分组统计


ic分析


IC 衰减分析

分层收益绩效



不懂的问我就可以,加我备注入群可以加入量化研究群

因子的概括,需要结合其他因子优化完善
>>> Fama-MacBeth 回归 (因子溢价) <<<
Fama-MacBeth 因子溢价 (1D): 常数项=0.000224, 因子系数=0.000238
解释: 因子值每增加1单位,未来1D日收益变化 2.38 bps
------------------------------------------------------------
【1】信息系数 IC 均值(预测方向准确率)
IC = 因子值与未来收益的相关系数,范围 [-1, 1]。正值表示因子越大未来收益越高。
当前 IC 均值 = 0.0216
⚠️ 评价:一般(0.01~0.03),有一定预测作用但较弱。
------------------------------------------------------------
【2】ICIR(信息比率,IC均值 / IC标准差)
衡量因子预测的稳定性,越高说明每次预测的可靠性越一致。
当前 ICIR = 0.0883
❌ 评价:较差(<0.2),因子预测忽高忽低,不靠谱。
------------------------------------------------------------
【3】多空组合夏普比率(做多因子最大组,做空最小组)
衡量因子区分好坏股票后,多空对冲策略的风险调整收益。夏普 > 1 优秀。
当前多空夏普 = 1.1659
✅ 优秀(>1),因子能构造出高盈亏比的策略。
------------------------------------------------------------
【4】平均换手率(每日因子分组中股票变动比例)
换手率越低,交易成本越低,策略越容易实现。
当前平均换手率 = 1.8747(每日约 187.5% 的股票换出)
❌ 高换手(>60%),频繁交易会严重侵蚀收益。
------------------------------------------------------------
【5】因子自相关系数(一阶自相关,衡量因子值的稳定性)
数值越高,因子变化越慢,选股逻辑越连贯。
当前因子自相关 = -0.5061
❌ 低稳定性(<0.5),因子频繁反转,难以跟踪。
------------------------------------------------------------
【6】Fama-MacBeth 因子溢价(单位因子值带来的日度超额收益)
当前因子溢价 = 2.38 bps
✅ 溢价显著(>2 bps),经济意义强。
------------------------------------------------------------
【7】分组收益单调性检验(Spearman秩相关)
检验因子值越大,收益是否越高(单调递增)。相关系数接近1表示单调性好。
Spearman相关系数 = 0.4909,p值 = 0.1497
❌ 无显著单调性,因子区分度差。
------------------------------------------------------------
【8】极端值分析(因子值最高10% vs 最低10%)
比较极端组的平均收益,考察因子两端是否有明显区分。
最高10%因子值平均收益: 9.16 bps
最低10%因子值平均收益: -3.35 bps
极端多空收益差: 12.51 bps
✅ 极端组差异大,因子能有效捕捉极端机会。
------------------------------------------------------------
【9】月度IC稳定性(月度IC均值的标准差)
标准差越小,因子在不同月份的表现越稳定。
月度IC均值的标准差 = 0.0456
✅ 非常稳定,月度IC均值波动小。
------------------------------------------------------------
【10】多空组合最大回撤持续期
最长的连续亏损天数,反映策略的“痛苦期”。
最长回撤持续期 = 325 个交易日
❌ 回撤期过长,策略可能长时间失效。
------------------------------------------------------------
【11】分层收益夏普比率对比(最高组 vs 最低组)
因子值最高组夏普比率: 0.6731
因子值最低组夏普比率: -0.3142
✅ 最高组夏普显著优于最低组,因子区分度高。
------------------------------------------------------------
【12】因子值分布特征(偏度、峰度)
偏度接近0表示对称,峰度接近3表示正态分布。极端偏离可能影响分组稳定性。
偏度 = -0.0178,峰度 = -0.7210
------------------------------------------------------------
【13】最新20日IC趋势(滚动均值变化)
正值表示近期因子预测能力在增强,负值表示衰减。
最近20日IC均值变化: -0.0323
❌ 近期IC下降,因子可能正在失效。
------------------------------------------------------------
【14】多空组合卡玛比率(年化收益 / 最大回撤)
原理:衡量单位回撤风险带来的年化收益,数值越大越好。
当前卡玛比率 = 1.1298
✅ 优秀(>1),回撤控制好,收益风险比高。
------------------------------------------------------------
【15】多空组合回撤修复天数
原理:从最大回撤谷底回到前高所需的天数,越短越好。
当前修复天数 = 220 个交易日
❌ 修复极慢,可能策略失效期过长。
------------------------------------------------------------
【16】多空组合月度胜率
原理:每月正收益的比例,衡量策略月度表现的稳定性。
当前月度胜率 = 66.15%
⚠️ 胜率过半但仍有较多亏损月份。
------------------------------------------------------------
【17】多空组合与市场收益相关性
原理:衡量因子策略是否与市场走势相关,低相关有分散化价值。
当前相关系数 = 0.0163 (p=0.5613)
✅ 低相关,可作为市场中性策略。
------------------------------------------------------------
【18】IC序列的偏度与峰度
原理:偏度≠0表示IC分布不对称,峰度>3表示有厚尾风险。
偏度 = -0.0917,峰度 = -0.2720
⚠️ IC分布异常,可能存在极端预测值。
------------------------------------------------------------
【19】IC序列的自相关(滞后1天)
原理:衡量今日IC与明日IC的关系,高自相关表示预测能力持续。
当前IC自相关 = -0.0707
❌ IC自相关低,因子效果容易反转。
------------------------------------------------------------
【20】IC的滚动波动率(20天)
原理:IC波动越小,因子越稳定。
近期IC波动率 = 0.2414
❌ 高波动,因子预测忽强忽弱。
------------------------------------------------------------
【21】因子值极端值比例(超出±3σ)
原理:极端值过多可能导致分组不稳定。
当前极端值比例 = 0.00%
✅ 极端值很少,数据质量好。
------------------------------------------------------------
【22】因子值滚动标准差的稳定性
原理:因子截面离散度的变化程度,变化越小越稳定。
滚动标准差的标准差 = 0.0654
⚠️ 离散度变化大,因子区分能力时强时弱。
------------------------------------------------------------
【23】分组换手率的稳定性(各分位组换手率差异)
原理:各组换手率差异小,说明因子在不同分位组间切换频率一致。
换手率组间标准差 = 0.0972
⚠️ 不同组换手差异大,可能在某些组过度交易。
------------------------------------------------------------
【24】分组收益中位数差异(最高组 vs 最低组)
原理:中位数差异比均值更稳健,反映典型收益差。
中位数收益差 = 6.38 bps
✅ 中位数差异显著,因子稳健有效。
------------------------------------------------------------
【25】分组收益t检验(最高组与最低组)
原理:检验最高/最低组收益是否显著异于零。
最高组 p值 = 0.1298,最低组 p值 = 0.4793
❌ 最高组收益不显著异于零。
❌ 最低组收益不显著异于零。
------------------------------------------------------------
【26】各组最大回撤深度对比
原理:各组自身的最大回撤,反映极端风险。
最小组 (Q1.0) 最大回撤: -48.07%
最大组 (Q10.0) 最大回撤: -25.16%
✅ 最大组回撤小于最小组,因子抗跌性好。
------------------------------------------------------------
【27】最高组连续盈利/亏损天数
原理:反映策略的持续赚钱能力和风险暴露时长。
最长连续盈利天数: 13 天
最长连续亏损天数: 9 天
⚠️ 存在较长连续亏损期,需做好风控。
------------------------------------------------------------
【28】综合评级与最终建议
📊 因子综合评分 (越高越好): 3.27 / 40
各维度评分明细(括号内为满分):
IC均值 (0.0216) → 2.16/10
ICIR (0.0883) → 0.09/5
多空夏普 (1.1659) → 1.17/5
换手率惩罚 (1.8747) → 0.00/5
因子自相关 (-0.5061) → -2.53/5
因子溢价 (bps) (2.38) → 2.38/5
📝 因子诊断总结
综合评级: D (较差)
操作建议: 不建议单独使用,请重新审视因子定义或数据。
💡 针对性优化建议:
- IC波动大,可尝试对因子值进行平滑或使用滚动分位数。
- 换手率过高,可延长调仓周期(如5日或10日)或使用衰减权重。
- 因子稳定性差,可考虑加入动量约束或过滤噪声。
- 近期IC衰减,建议暂停使用,观察市场环境变化。