Alpha-Online
基础概念

WorldQuant 算子词典

Alpha101 因子公式的基础构件:rank / delay / correlation / decay_linear / ts_rank / indneutralize 等算子的定义与输入数据字段说明。

每个 Alpha101 因子都是若干算子的嵌套组合。掌握本章的算子定义,即可拆解任意因子公式。以下定义直接对照 WorldQuant 原文({ } 表示占位符;表达式大小写不敏感)。

基础与截面算子

算子定义
abs(x) log(x) sign(x)标准定义;+ - * / > < == || x?y:z 同标准
rank(x)截面 rank——在同一天对全市场标的排序。Alpha101 的核心。
scale(x, a)缩放 x 使 sum(abs(x)) = a(默认 a = 1)
signedpower(x, a)x^a(保留符号)
indneutralize(x, g)把 x 在每个分组 g(行业 / 板块)内做截面去均值——即行业中性化

时序算子(基于过去 d 天)

算子定义
delay(x, d)x 在 d 天前的值
delta(x, d)今天的 x 减去 d 天前的 x
correlation(x, y, d)x 与 y 过去 d 天的时序相关系数
covariance(x, y, d)x 与 y 过去 d 天的时序协方差
decay_linear(x, d)过去 d 天的线性衰减加权移动平均(权重 d, d−1, …, 1,归一化到和为 1)
ts_rank(x, d)x 在过去 d 天内的时序 rank
ts_min / ts_max(x, d)过去 d 天的时序最小 / 最大值(min/max 为别名)
ts_argmin / ts_argmax(x, d)过去 d 天最小 / 最大值出现在第几天
sum / product(x, d)过去 d 天的时序求和 / 求积
stddev(x, d)过去 d 天的移动时序标准差
ts_{O}(x, d)通用形式:把算子 O 作用于过去 d 天的时序(非整数 d 取 floor(d)

截面 vs 时序,一眼区分

ts_ 前缀、或显式写了天数 d 的,多是时序算子(沿单只标的的历史方向);rank / scale / indneutralize截面算子(沿同一天的全市场方向)。这条区分贯穿整套系统,详见 核心概念

输入数据

字段含义
returns日收盘到收盘收益
open / close / high / low / volume标准日频价量
vwap日成交量加权均价
cap市值
adv{d}过去 d 天平均成交金额(dollar volume,不是成交股数——见 adv 的语义背叛
IndClass行业分类占位符(GICS / BICS / SIC 等),用于 indneutralize(x, IndClass.level),level = sector / industry / subindustry

在代码里

这些算子在 src/factors/operators.py 中以 Pandas / NumPy 向量化实现,再由 alpha_factors.py 组合成 101 个因子。实现中最易出错的是语义细节(如 adv 是金额还是股数、rank 的并列处理方式),相关问题记录在因子与信号手册问题复盘中。

On this page