Alpha-Online
系统手册

3. 因子与信号 DWS

用向量化算子实现 Alpha101,批量计算落 alpha_results;再做因子筛选 → 组合 → 截面排序,产出目标持仓。物理隔离未来。

作用:用向量化算子实现 Alpha101,批量计算落 alpha_results;再做因子筛选 → 组合 → 截面排序,产出目标持仓。

源码地图

文件关键对象作用
src/factors/operators.pyrank delay correlation decay_linear ts_rank indneutralizeWorldQuant 算子(Pandas/NumPy 向量化)
src/factors/alpha_factors.pyAlphaFactors.alpha001…alpha101101 个因子公式实现
src/factors/engine.pyFactorEngine.calculate_alphas(n_jobs)多进程批量计算
_validate_factor_resultsNaN / Inf 体检拦截
src/models/factor_selector.pyevaluate_factors / select / _remove_redundantIC 均值 / ICIR / 方向一致性 / 去冗余
src/models/factor_combiner.pycombine(等权 / IC 加权 / ICIR 加权)多因子合成单一打分
src/models/signal_generator.pygenerate_rank_and_select截面排序取 Top N → 目标持仓

已知问题与修复

adv 语义错误(#33)

论文 adv{d} 定义为「平均成交金额(dollar volume)」,早期实现错误地使用了「平均成交股数」——程序不报异常,但因子值系统性偏差。详见 事故档案 · adv 语义错误

随机扰动导致不可复现(#33)

为防止 rank() / correlation() 分母为零而引入极小随机扰动,导致结果不可复现 → 最终用固定 seed 收口。见 事故档案 · 随机扰动与不可复现

其它

  • MultiIndex 索引对齐错位,导致下游数据被静默篡改。
  • 单进程 → 多进程并行计算(#15 / #10)。

量化要点

  • Alpha101 高度依赖截面 rank_validate_factor_results 自动拦截 NaN/Inf,防止单因子异常导致组合权重失控。
  • IC = 因子值与未来收益的截面秩相关;ICIR = IC 均值 / IC 标准差,是筛选与加权的核心依据。概念详解见 核心概念辨析

当前状态

101 个因子全部定义;行业中性化已补全(#39 + commit 3a46f0f)。早期 README「82 可运行」口径已过时,以 FactorEngine.get_available_alphas() 为准(见 指标口径)。

缺口 / TODO

  • 显式市值 / 行业中性化与因子正交化 / 特质动量(#22)。
  • 因子择时:拥挤度 / 离散度监控(#23,见 路线图)。

On this page