feat: 新增 slope_r2_idm 和 slope_r2_ensemble 动量因子

- slope_r2_idm: slope_r2 × IDM(信息离散动量),惩罚靠少数大涨日撑起来的假动量
- slope_r2_ensemble: 多窗口(63/126/252天) slope_r2 等权融合,捕捉不同周期趋势信号
- 新增 info_dispersal_momentum() 计算正收益天数占比
- 新增 slope_r2_idm_score() 和 slope_r2_ensemble_score() 因子函数
- ensemble 因子需要更长预加载窗口(504天)和计算窗口(252天)
- crash filter 仍使用原始 n_days 窗口
This commit is contained in:
2026-06-12 12:37:29 +08:00
parent 49b623931b
commit 8c3ae2269a
3 changed files with 77 additions and 8 deletions

View File

@@ -35,6 +35,8 @@ class FactorType(str, Enum):
WEIGHTED_MOMENTUM = "weighted_momentum"
VOL_ADJUSTED_MOMENTUM = "vol_adjusted_momentum"
STANDARDIZED_SLOPE = "standardized_slope"
SLOPE_R2_IDM = "slope_r2_idm" # slope_r2 * IDM (信息离散动量融合)
SLOPE_R2_ENSEMBLE = "slope_r2_ensemble" # 多窗口融合 (63/126/252天)
class PremiumMode(str, Enum):