Skip to content

Latest commit

 

History

History
362 lines (306 loc) · 33.9 KB

File metadata and controls

362 lines (306 loc) · 33.9 KB

因子手册 (Factor Handbook)

本手册详细描述了 mlquant.features.legacy_factors 中所有 204 个手工量化因子的设计思想、动机和原理。 结合 mlquant.features.alpha101 中的 9 个精选 Alpha101 因子,系统共提供 213 维特征。 用户可根据自身策略需求选择合适的因子子集。


使用方式

from mlquant.features import compute_legacy_set, LEGACY_REGISTRY

# 计算全部 204 个因子
factors, mask, names = compute_legacy_set(panel)

# 选择特定因子子集
factors, mask, names = compute_legacy_set(
    panel, names=("best_001", "old_027", "better_003")
)

# 查看所有可用因子名
print(list(LEGACY_REGISTRY.keys()))

因子总览

家族 数量 核心思想 模块
better_* 28 VWAP 偏离 + 成交量加权动量 _factors_better.py
best_* 21 日内收盘位置动量 _factors_best.py
old_* 50 经典 Alpha 信号 _factors_old.py
stock_* 22 个股衍生序列 _factors_stock.py
extra_* 14 换手率与成交额特征 _factors_extra.py
add_* 30 补充因子变体 _factors_add.py
change_* 5 短窗口速度变化 _factors_change.py
original_* 28 基础价量统计 _factors_original.py
cs_rank_* 6 市场广度信号 _factors_market.py

better 家族(28 个)

VWAP(成交量加权平均价)是机构交易的核心基准价格。该家族围绕 VWAP 与收盘价的偏离、 成交量异动、日内波动等维度构建因子,捕捉机构资金流向和短期定价偏差。

因子 思想与原理
better_001 跳空缺口 × 成交量对数。隔夜跳空(open/prev_close - 1)反映信息冲击,乘以 log₂(volume) 放大高成交量时的信号强度。高成交量下的跳空更可能是真实信息驱动而非噪声。
better_002 跳空缺口 × 相对成交量。与 better_001 类似,但用当日成交量相对于 5 日均量的比值作为权重。成交量放大时的跳空信号更可信。
better_003 跳空 × VWAP 偏离 × 日内振幅。三重交互项:隔夜跳空方向、VWAP 与收盘的偏离(机构买卖压力)、日内振幅(波动性)。捕捉高波动环境下机构资金的方向性。
better_004 VWAP 位置 1 日变化。VWAP 在日内高低价区间中的位置变化,反映机构交易重心的短期漂移。取负号使得 VWAP 位置下移(卖压增加)为正信号。
better_005 VWAP 位置 5 日变化。与 better_004 相同逻辑但窗口更长,捕捉中期机构行为趋势。
better_006 VWAP 位置 5 日均值。VWAP 在日内区间的平均位置,持续偏高说明机构持续在高位成交(买入压力),偏低则相反。
better_007 日内振幅 × 成交量变化。(high-low)/close 衡量波动率,乘以成交量变化。波动放大且成交量增加通常预示趋势延续。
better_008 日内振幅 / 成交量对数。波动率除以成交量的对数,衡量"每单位流动性的波动"——即 Amihud 流动性的变体。高值意味着流动性差、价格冲击大。
better_009 条件下跌累积(20日)。仅在 VWAP 下跌日累积
better_010 条件下跌累积(10日)。与 better_009 相同逻辑但窗口更短,对近期下跌更敏感。
better_011 多周期支撑阻力位。用前一日高低价扩展当日区间,计算收盘在扩展区间中的位置,在 6/12/24 日窗口求和取均值。综合多时间尺度的支撑阻力强度。
better_012 VWAP 基准支撑阻力。与 better_011 类似,但用 VWAP 替代收盘价作为参考点,更贴近机构的实际成交成本。
better_013 VWAP 偏离 × 成交额对数。(vwap/close - 1) 衡量机构成交价相对收盘的溢价/折价,乘以成交额对数放大大单信号。
better_014 VWAP 偏离 4 日均值。better_013 的平滑版本,降低单日噪声,捕捉持续性的机构溢价/折价。
better_015 VWAP 偏离加速度(EMA平滑)。先计算 VWAP 相对 10 日均值的偏离,再取 5 日差分(加速度),最后用 EMA(1/20) 平滑。捕捉 VWAP 偏离趋势的拐点。
better_016 VWAP 偏离加速度(短窗口)。与 better_015 相同逻辑但参数更短(6日均值、3日差分、EMA 1/12),对短期变化更敏感。
better_017 成交额偏离加速度(短窗口)。成交额相对 6 日均值的偏离的 3 日差分,EMA 平滑。捕捉资金流入/流出的加速。
better_018 成交额偏离加速度(长窗口)。与 better_017 相同但用 10 日均值和 5 日差分,捕捉更持久的资金流变化。
better_019 三重 EMA 成交量变化率。对 log(volume) 做三次 EMA 平滑后取变化率,类似 TRIX 指标。三重平滑有效过滤噪声,捕捉成交量的趋势性变化。
better_020 Amihud 非流动性变异系数
better_021 VWAP/前收盘比。直接衡量当日机构成交均价相对前收盘的溢价程度。大于 1 说明机构在高于前收盘的价位成交(买入主导)。
better_022 VWAP 溢价 × 成交额对数。(vwap/prev_close - 1) × log₂(amount),将 VWAP 溢价信号用成交额加权,大额交易的溢价信号更有意义。
better_023 VWAP 溢价 4 日均值。better_022 的平滑版本,降低日间波动噪声。
better_024 VWAP-收盘价差极值 × 成交量变化。5 日内 (vwap-close) 的最大值加最小值,乘以 5 日成交量变化。极值之和反映偏离的对称性,成交量变化反映确认程度。
better_025 VWAP-收盘价差极值 × 成交量偏离。与 better_024 类似,但用成交量相对均值的偏离替代成交量变化。
better_026 波动率扩张比。短期 EMA(振幅) / 长期 EMA(振幅),类似布林带宽度的动态版本。比值 > 1 说明波动正在扩张,可能预示趋势启动。
better_027 条件下跌累积(VWAP vs 前收盘)。仅在 VWAP < 前收盘日累积信号,衡量机构在低于前收盘价位成交的频率和强度。
better_028 条件下跌累积(VWAP vs 当日收盘)。仅在 VWAP < 收盘价日累积信号,说明日内早期成交偏低、尾盘拉升,可能是散户追涨行为。

best 家族(21 个)

该家族围绕"收盘位置"(close location)构建因子。收盘位置定义为收盘价在日内高低价 区间中的相对位置:(2C - H - L) / (H - L)。接近 +1 表示收盘在最高价附近(多头控制), 接近 -1 表示收盘在最低价附近(空头控制)。

因子 思想与原理
best_001 收盘位置 5 日时序排名。近 5 天中今天的收盘位置排第几?排名高说明近期多头力量在增强。
best_002 收盘位置 10 日时序排名。更长窗口的版本,捕捉中期趋势。
best_003 收盘位置 20 日时序排名。月度级别的收盘位置趋势。
best_004 收盘位置 3 日变化。3 天内收盘位置的变化量,正值说明多头力量在短期内增强。
best_005 收盘位置 5 日变化。与 best_004 类似但窗口更长。
best_006 收盘位置 EMA。用指数移动平均(α=1/10)平滑收盘位置,过滤日间噪声,提取趋势。
best_007 收盘位置截面排名。当日所有股票中,该股收盘位置的相对排名。高排名说明该股当日多头控制力相对市场更强。
best_008 VWAP/收盘比 3 日均值。VWAP 持续高于收盘说明日内卖压较重(机构在高位出货),反之说明买入主导。
best_009 EMA(VWAP) / EMA(close)。用 EMA 平滑后的 VWAP 与收盘价之比,捕捉机构成交重心相对收盘的持续偏离。
best_010 (VWAP/close - 1) × volume。VWAP 溢价乘以成交量,衡量"机构溢价成交的总金额"。
best_011 隔夜跳空截面排名。open/prev_close - 1 的截面排名,衡量该股隔夜信息冲击相对市场的强度。
best_012 隔夜跳空 5 日均值。平滑后的跳空信号,持续正跳空说明持续有利好信息流入。
best_013 隔夜跳空 EMA。用 EMA 平滑跳空信号,对近期跳空赋予更高权重。
best_014 成交量排名与振幅排名相关性。成交量时序排名与振幅时序排名的 5 日相关性。高相关说明"放量伴随高波动",可能预示趋势延续。
best_015 日内振幅截面排名。(high-low)/close 的截面排名,衡量该股当日波动相对市场的活跃程度。
best_016 振幅/√成交量。波动率除以成交量平方根,衡量每单位交易量带来的价格波动——Kyle's lambda 的近似。
best_017 EMA(close) 1 日变化(α=1/5)。短期均线的日变化,类似 MACD 的快线斜率。
best_018 EMA(close) 1 日变化(α=1/10)。中期均线斜率。
best_019 EMA(close) 1 日变化(α=1/20)。长期均线斜率,捕捉慢趋势。
best_020 资金流 EMA。(close - vwap) × volume 的 EMA,正值说明收盘高于 VWAP 且成交量大——资金净流入。
best_021 VWAP 价差极值 × 成交量变化。(vwap-close)×vol 的 3 日最大值加最小值乘以成交量变化,捕捉极端偏离后的成交量确认。

old 家族(50 个)

经典量化 Alpha 信号,源自 WorldQuant Alpha101 及其变体。这些因子经过大量学术研究和 实盘验证,覆盖动量、反转、流动性、波动率等多个维度。

因子 思想与原理
old_027 成交量排名 × VWAP偏离排名。成交量大且 VWAP 高于收盘(机构高位出货)的股票得分高。
old_028 开盘价排名与成交量排名 10 日相关性。开盘价高的股票是否伴随高成交量?正相关说明市场追逐高价股。
old_029 收盘-成交量相关性排名的 12 日最小值。价量相关性排名的极端低值,捕捉价量背离的极端情况。
old_030 价格变化方向 × (1 - 成交量变化排名)。价格上涨但成交量排名低(缩量上涨)的股票得分高——可能是供给收缩驱动。
old_031 价格变化排名 × 成交量变化率排名。价格和成交量同时大幅变化的股票,捕捉突破信号。
old_032 均线偏离 + VWAP 与延迟收盘的相关性。短期均线回归力加上长期价格记忆效应。
old_033 开盘/收盘比排名。open/close - 1 的排名,衡量日内方向性。开盘高于收盘(阴线)排名高。
old_034 波动率比率 + 价格变化排名。短期波动/长期波动的排名加上价格变化排名,捕捉波动率聚集效应。
old_035 成交量时序排名 × (1 - 价格+振幅时序排名)。高成交量排名但低价格排名的股票——放量下跌后的反转信号。
old_036 延迟(开盘-收盘)与收盘的相关性排名 + 开盘-收盘排名。昨日日内方向与今日收盘的关联性。
old_037 -rank(open-delay(high)) × rank(open-delay(close)) × rank(open-delay(low))。开盘相对前日高低收的三重偏离,捕捉跳空后的回归压力。
old_038 -(rank(open) ^ rank(close/vwap))。开盘价排名的幂次变换,非线性捕捉价格-VWAP 关系。
old_039 -rank(Δclose,7) × (1 - rank(EMA(volume×ret)))。中期动量反转 × 成交量加权收益的 EMA 排名。
old_040 -rank(std(high,10)) × corr(high,volume,10)。高价波动率高且高价与成交量正相关的股票——可能是投机过热。
old_041 (high×low)^0.5 - vwap。几何均价与 VWAP 的差异,衡量日内价格分布的偏斜。
old_042 rank(vwap-close) / rank(vwap+close)。VWAP 偏离的相对强度,标准化后的机构买卖压力。
old_043 相对成交量时序排名 × 负价格变化时序排名。成交量相对放大且价格下跌的股票——可能是恐慌性抛售后的超卖。
old_044 -corr(high, rank(volume), 5)。高价与成交量排名的负相关——高价不伴随高成交量,可能是虚假突破。
old_045 -rank(延迟收盘均值) × corr(close, volume, 2)。历史价格水平排名与短期价量相关性的交互。
old_046 多周期均线偏离。(MA3+MA6+MA12+MA24)/(4×close) - 1,综合多时间尺度的均线支撑/压力。
old_047 Williams %R(6日)。(最高价-收盘)/(最高价-最低价)×100,经典超买超卖指标。
old_048 -Δclose × volume / EMA(volume)。价格下跌伴随相对高成交量的信号,类似 OBV 的变体。
old_049 20 日累积下跌幅度。仅累加下跌日的跌幅,衡量近期"总痛苦"。
old_050 -max(rank(corr(rank(vol), rank(vwap), 5)), 5)。成交量排名与 VWAP 排名相关性的极值,捕捉流动性-价格关系的极端状态。
old_051 12 日累积下跌幅度。与 old_049 类似但窗口更短,对近期下跌更敏感。
old_052 上涨力度/下跌力度比(26日)。类似 RSI 的构造:累积上涨幅度除以累积下跌幅度。
old_053 12 日上涨天数占比。简单的动量指标:近 12 天中有多少天收盘上涨。
old_054 **-rank(
old_055 价格位置排名与成交量排名 6 日相关性。收盘在 12 日高低区间中的位置与成交量的关联。
old_056 -rank(累积收益) × rank(价量相关性) × rank(波动率)。三因子交互:动量、价量关系、波动率。
old_057 close / EMA(close, 1/30) - 1。收盘相对长期 EMA 的偏离,经典均线偏离率。
old_058 -volume × Δclose。成交量加权的价格变化取负——放量上涨为负信号(反转逻辑)。
old_059 **mean(volume ×
old_060 开盘相对 12 日低点排名 - 累积收益平方排名。价格位置与动量平方的对冲。
old_061 rank(vwap - 16日最低vwap)。VWAP 相对近期低点的距离排名,衡量 VWAP 的上行空间。
old_062 rank(corr(vwap, 累积均量, 5))。VWAP 与长期成交量趋势的相关性排名。
old_063 max(rank(corr(rank(vwap), rank(volume), 4)), 8)。VWAP 排名与成交量排名相关性的 8 日极值。
old_064 rank(corr(加权价格, 累积均量, 11))。价格与成交量长期趋势的相关性。
old_065 rank(corr(加权价格, 短期累积均量, 6))。与 old_064 类似但窗口更短。
old_066 rank(Δvwap, 4)。VWAP 4 日变化的截面排名,简单的 VWAP 动量。
old_067 (high - 6日最高) / 6日最高 × rank(corr(vwap, 均量, 4))。距离近期高点的回撤幅度 × 价量相关性。
old_068 rank(corr(high, 均量, 9)) × rank(corr(close, volume, 4))。高价-均量相关性与收盘-成交量相关性的交互。
old_069 sum(max(rank(corr(ts_rank(close), ts_rank(vol), 4)), 0), 3)。价格排名与成交量排名正相关的累积强度。
old_070 rank(Δvwap, 2)。VWAP 2 日变化排名,超短期 VWAP 动量。
old_071 ts_rank(corr(ts_rank(close,3), ts_rank(vol,3), 18), 4)。短期价量排名相关性的时序排名。
old_072 rank(EMA(corr(均量,low,4))) + rank(EMA(corr(rank(vwap),rank(vol),4)))。低价-成交量关系与 VWAP-成交量关系的 EMA 平滑排名之和。
old_073 -ts_rank(EMA(Δvwap,5), 3)。VWAP 变化的 EMA 平滑后取时序排名再取负——VWAP 动量反转。
old_074 rank(corr(close, 长期累积均量, 15))。收盘价与长期成交量趋势的相关性。
old_075 rank(corr(rank(vwap),rank(vol),5)) - rank(corr(rank(close),rank(vol),5))。VWAP-成交量关系与收盘-成交量关系的差异,捕捉日内定价偏差。
old_076 rank(Δ(corr(vwap, volume, 4), 3))。VWAP-成交量相关性的变化率排名,捕捉价量关系的结构性变化。

stock 家族(22 个)

围绕个股自身的价格-成交量衍生序列构建因子,侧重单只股票的微观结构特征,包括 流动性、动量加速度、技术形态等。

因子 思想与原理
stock_001 Δlog(成交量) 与日内收益 4 日相关性。成交量变化率与日内涨跌的短期相关性。正相关说明"放量涨、缩量跌"——健康趋势信号。
stock_002 Δlog(成交量) 与日内收益 6 日相关性。与 stock_001 相同但窗口更长,更稳定。
stock_003 rank(close - 15日最高vwap) ^ Δclose。收盘相对 VWAP 高点的距离排名,用价格变化作为幂次调制。非线性捕捉突破/回撤强度。
stock_004 价格偏离均值加速度 EMA。(close - MA6) / MA6 的 3 日变化率,EMA(1/12) 平滑。捕捉均值回归/偏离的加速拐点。
stock_005 6 日收益率 × (volume + 1)。中期动量乘以成交量,放量上涨的动量信号更强。
stock_006 (close - MA12) / MA12。经典 12 日均线偏离率,正值超买、负值超卖。
stock_007 延迟(5日最低) - 5日最低 × 动量排名 × 成交量排名。价格从底部反弹的幅度,乘以中长期动量排名和成交量排名。三重确认的底部反转信号。
stock_008 -(开盘×收益 5日和 - 延迟10日) 排名。开盘价加权的短期动量相对 10 日前的变化,取负——动量反转。
stock_009 多周期均线复合比。(MA3+MA6+MA12+MA24) / (4×close),综合多时间尺度均线的支撑/压力。值 > 1 说明价格在均线之下(超卖)。
stock_010 log(成交额) 6 日波动率。成交额对数的标准差,衡量资金流的稳定性。高波动说明资金进出不稳定。
stock_011 CCI 指标变体。(典型价格 - MA12(典型价格)) / (0.015 × MAD),经典商品通道指标,衡量价格偏离统计正常范围的程度。
stock_012 成交量 RSI 变体。EMA(max(Δvol,0)) / EMA(
stock_013 Δ(vwap-close) / Δ(vwap+close)。VWAP 偏离的变化率除以 VWAP+close 的变化率,标准化的机构行为变化指标。
stock_014 (close / delay(close,12) - 1) × volume。12 日动量乘以成交量,放量中期突破信号。
stock_015 条件下跌流动性(20日)。仅在下跌日累积
stock_016 Williams %R 多时间框架复合。结合 6/12/24 日三个时间窗口的 Williams %R,综合短中长期超买超卖状态。
stock_017 -ret × 均量 × vwap × (high-close)。收益率、均量、VWAP、上影线的四重交互取负。上涨日上影线长且成交量大——可能是出货信号。
stock_018 5日收益 - 20日收益。短期动量减去中期动量,捕捉动量的加速/减速。正值说明短期动量强于中期——趋势加速。
stock_019 (low-close) × open^5 / ((close-high) × close^5)。非线性价格位置指标,用高次幂放大极端情况。
stock_020 (close/prev_close - 1) × volume。日收益率乘以成交量——最简单的资金流指标。
stock_021 日内振幅偏离 EMA 百分比。(high-low - EMA(high-low)) / EMA(high-low) × 100,波动率相对其平滑趋势的偏离。高值说明当日异常高波动。
stock_022 corr(均量, low, 5) + (high+low)/2 - close。成交量与低价的相关性加上中间价偏离收盘。综合流动性和价格位置。

extra 家族(14 个)

专注于成交额(amount/turnover)相关特征,以及日内结构信号。成交额是最直接反映 市场参与度和流动性的指标。

因子 思想与原理
extra_001 收盘位置 1 日变化。日内多空力量对比的日间变化,正值说明多头控制力增强。
extra_002 VWAP 价差极值排名 + 最小值排名 × 成交量变化排名。综合 VWAP 偏离的上下限和成交量变化,多维度交互信号。
extra_003 隔夜跳空(原始值)。open/prev_close - 1,最基础的隔夜信息冲击度量。
extra_004 AD 振荡器变体。volume × close_loc 的快速 EMA 减慢速 EMA,类似 MACD 应用于资金流。快线穿越慢线上方为买入信号。
extra_005 成交额激增比。amount / MA20(amount) - 1,衡量当日成交额相对近 20 日均值的偏离。高值说明资金异常涌入。
extra_006 相对成交量截面排名。volume / MA20(volume) 的截面排名,衡量该股当日成交量相对市场的活跃程度。
extra_007 波动率扩张比。短期 EMA(振幅) / 长期 EMA(振幅),与 better_026 相同逻辑。比值 > 1 说明波动正在扩张。
extra_008 上涨力度/下跌力度比(不对称窗口)。5 日累积上涨幅度除以 10 日累积下跌幅度,不对称窗口设计使得短期上涨能更快反映在因子值中。
extra_009 条件波动率差。仅在下跌日计算波动率的 EMA,用短期 EMA 减长期 EMA。正值说明近期下跌日波动率在增加——风险在累积。
extra_010 5 日动量(price ratio)。close / delay(close, 5),最基础的 5 日价格比率动量。
extra_011 原始成交额。直接使用 amount 或 vwap × volume,作为流动性的基准度量。
extra_012 高价/开盘价比。high / open,衡量开盘后的上冲力度。高比值说明日内有较强买入推动。
extra_013 VWAP/收盘价比。vwap / close,大于 1 说明日内均价高于收盘(日内高位成交居多)。
extra_014 日内振幅(标准化)。(high - low) / close,最基础的日内波动率度量。

add 家族(30 个)

补充性因子变体,涵盖动量、波动率、价量关系、技术形态等多个维度的组合。 设计上与其他家族形成互补,增加因子库的多样性。

因子 思想与原理
add_001 价格变化排名 × 成交量变化排名。5 日价格变化和成交量变化的截面排名乘积——价量齐升信号。
add_002 -均线偏离 × 成交量排名。价格低于 10 日均线(超卖)且成交量排名高的股票得分高——放量超卖可能反弹。
add_003 **sign(Δclose) × (1+
add_004 成交量时序排名 × 收盘位置时序排名。近 20 日成交量排名最高且近 10 日收盘位置排名最高——放量上攻的股票。
add_005 12 日上涨天数 - 下跌天数。净上涨天数,简单的方向性持续度指标。正值说明近期上涨天数明显多于下跌天数。
add_006 短期动量EMA - 中期动量。EMA(日收益率, 1/12) - 12日收益率,短期动量超越中期说明趋势在加速。
add_007 rank(close) 与 rank(volume) 5 日相关性。截面价格排名与成交量排名的短期相关性,衡量市场是否在追逐高价高量股。
add_008 20 日收益率波动率。日收益率的 20 日标准差,经典已实现波动率度量。
add_009 中间价 3 日变化。(high+low)/2 的 3 日变化,使用中间价避免极端价格的噪声。
add_010 5 日高低价差/收盘。(5日最高 - 5日最低) / close,衡量近期价格振幅相对当前价格的比例——隐含波动率代理。
add_011 VWAP 与成交量 10 日相关性。正相关说明高 VWAP 伴随高成交量——机构积极买入的信号。
add_012 **rank(open偏离MA10) × rank(
add_013 (high×low)^0.5 - vwap。几何均价与 VWAP 的差异(与 old_041 相同),衡量日内价格分布偏斜。
add_014 5 日收益率(标准化)。(close - delay(close,5)) / delay(close,5),基础 5 日动量。
add_015 隔夜跳空截面排名。open/prev_close - 1 的截面排名(与 best_011 相同)。
add_016 ts_max(vwap,10) - vwap。VWAP 距离 10 日高点的距离——负动量/回撤深度。
add_017 vwap - ts_min(vwap,10)。VWAP 距离 10 日低点的距离——正动量/反弹幅度。
add_018 **
add_019 5 日阳线比率。近 5 天中收盘高于开盘的天数占比——短期看涨情绪度量。
add_020 变异系数(10日)。std(close,10) / mean(close,10),价格的相对波动——低 CV 说明价格稳定,高 CV 说明不确定性大。
add_021 rank(corr(close, volume, 20))。收盘与成交量 20 日相关性的截面排名。长期价量正相关可能是趋势确认。
add_022 成交量快/慢 EMA 比。EMA(volume, 2/6) / EMA(volume, 2/24)——类似 MACD 应用于成交量。比值 > 1 说明短期成交量在放大。
add_023 (close - MA5) / close。5 日均线偏离率,正值说明价格在 5 日均线之上。
add_024 (close - MA20) / close。20 日均线偏离率,正值说明价格在 20 日均线之上。
add_025 MA5 / MA20。短期均线/长期均线,金叉(>1)死叉(<1)的连续值版本。
add_026 成交量变异系数(5日)。std(volume,5) / mean(volume,5),成交量的稳定性。高 CV 说明成交量忽大忽小——可能有异常交易行为。
add_027 rank(-Δclose × Δvolume)。3 日价格变化取负乘以 3 日成交量变化的截面排名——缩量下跌(供给收缩)信号。
add_028 (close - open) / (high - low)。当日蜡烛图的"实体方向比"。+1 = 完美阳线,-1 = 完美阴线,0 = 十字星。
add_029 实体方向比 10 日均值。add_028 的平滑版本,衡量近期蜡烛图形态的一致性方向。
add_030 rank(5日累积收益) × rank(20日累积收益)。短期和中期动量排名的乘积——双时间尺度动量确认。

change 家族(5 个)

专注于价格/成交量变化的"变化"(二阶导数/加速度),捕捉动量拐点和regime变化。

因子 思想与原理
change_001 日收益 - 5日均收益(均值回归代理)。当日收益偏离近期平均收益的程度。高正值说明当日异常上涨,可能面临回归;高负值可能超卖反弹。
change_002 价格加速度(Δ²close)。收盘价的二阶差分除以价格标准化,衡量动量是在加速还是减速。从正转负可能是趋势见顶的早期信号。
change_003 成交量偏离均值排名。(volume - MA20(volume)) 的截面排名,衡量该股当日成交量相对其自身历史和全市场的异常程度。
change_004 振幅扩张比。(high-low) / MA20(high-low) - 1,当日振幅相对近期平均振幅的偏离。高值说明当日出现异常高波动——可能是突破或恐慌。
change_005 5 日方向累积。sign(Δclose) 的 5 日求和。+5 = 连续 5 天上涨,-5 = 连续 5 天下跌。极端值说明趋势非常强劲或即将反转。

original 家族(28 个)

最基础的价量统计因子,使用最少的变换直接从收盘价和成交量构建。这些因子构成 其他复杂因子的"原子组件",同时也是有效的独立信号。

因子 思想与原理
original_001 20 日波动率(截面z-score)。日收益率的 20 日标准差经截面标准化。高值说明该股波动显著高于市场平均——高风险/高期望收益。
original_002 距 20 日高点距离排名。close / 20日最高收盘 - 1 的截面排名。接近 0 说明在高点附近,大负值说明已大幅回撤。
original_003 距 20 日低点距离排名。close / 20日最低收盘 - 1 的截面排名。高值说明已从底部大幅反弹。
original_004 60 日收盘价时序排名。当前收盘在过去 60 天中的相对位置。高排名说明处于季度高位。
original_005 60 日成交量时序排名。当前成交量在过去 60 天中的相对位置。高排名说明当日成交异常活跃。
original_006 20 日价量相关性。收盘价与成交量的 20 日滚动相关系数。正相关说明价量同向(趋势确认)。
original_007 20 日收盘价时序排名。当前收盘在过去 20 天中的位置——月度动量。
original_008 20 日成交量时序排名。当前成交量在过去 20 天中的位置——月度成交活跃度。
original_009 10 日价量相关性。收盘与成交量的短期相关性。
original_010 5 日价量相关性。最短窗口的价量关系,对近期变化最敏感。
original_011 10 日收盘价时序排名。两周级别的价格位置。
original_012 10 日成交量时序排名。两周级别的成交量活跃度。
original_013 5 日收盘价时序排名。一周级别的价格位置。
original_014 5 日成交量时序排名。一周级别的成交量活跃度。
original_015 10 日波动率。日收益率的 10 日标准差——两周实现波动率。
original_016 5 日波动率。日收益率的 5 日标准差——一周实现波动率,对近期波动变化最敏感。
original_017 距 10 日高点距离。close / 10日最高 - 1,原始值(非排名),直接度量回撤深度。
original_018 距 10 日低点距离。close / 10日最低 - 1,直接度量反弹幅度。
original_019 距 5 日高点距离。close / 5日最高 - 1,一周内的回撤深度。
original_020 距 5 日低点距离。close / 5日最低 - 1,一周内的反弹幅度。
original_021 10 日动量。close / delay(close,10) - 1,两周价格变化率。
original_022 5 日动量。close / delay(close,5) - 1,一周价格变化率。
original_023 3 日动量。close / delay(close,3) - 1,超短期趋势。
original_024 1 日动量(日收益率)。close / delay(close,1) - 1,最基础的日收益率。
original_025 10 日动量截面排名。两周动量的截面相对位置——跑赢/跑输大盘。
original_026 5 日动量截面排名。一周动量的截面相对位置。
original_027 1 日动量截面排名。日涨跌幅的截面相对位置——今天在全市场排第几。
original_028 20 日动量截面排名。月度动量的截面相对位置——月度强弱排序。

cs_rank 家族(6 个)

市场广度信号(Market Breadth)。将每只股票的日变化(相对前收盘)做截面排名, 提供"在全市场中该股今日表现排第几"的标准化度量。

因子 思想与原理
cs_rank_close 收盘收益率截面排名。(close/prev_close - 1) 的截面排名——最直接的"今日相对强弱"度量。
cs_rank_open 跳空幅度截面排名。(open/prev_close - 1) 的截面排名——隔夜信息冲击的截面相对强度。
cs_rank_high 日内最高收益截面排名。(high/prev_close - 1) 的截面排名——日内上冲力度的截面排序。
cs_rank_low 日内最低收益截面排名。(low/prev_close - 1) 的截面排名——日内下探深度的截面排序。
cs_rank_avg VWAP 收益截面排名。(vwap/prev_close - 1) 的截面排名——机构成交均价相对前收盘的截面强弱。
cs_rank_amount 成交额截面排名。amount 的截面排名——当日市场关注度/流动性的截面相对度量。

因子选择建议

按策略类型选择

策略类型 推荐因子家族 理由
短期反转 change_*, best_001-005, old_049/051 捕捉超卖/超买极端
趋势跟踪 original_021-028, add_005/006, best_017-019 多时间尺度动量
价量关系 old_028-030, add_007/011/021, stock_001-002 价量同步性/背离
流动性 better_008/020, extra_005/006, stock_010/015 Amihud、成交额异动
波动率 original_001/015/016, add_008/020, change_004 已实现波动率全频谱
机构行为 better_*, best_008-010, cs_rank_avg VWAP 偏离系列

因子相关性提示

  • original_* 内部多数因子高度相关(同一指标不同窗口),建议每类选 1-2 个窗口
  • better_*best_* 部分重叠(都用到 VWAP),但视角不同,可共存
  • old_* 家族内部多样性最高,相关性最低,适合全量使用
  • add_* 是其他家族的"混搭",与已选因子去重后使用效果更好

本手册随因子库更新而更新。如需添加自定义因子,请参阅 docs/factors.md