KB / ARTICLE

单因子分析

因子分析修订 R1发布于 2026-11-12

单因子分析回答一个核心问题:这个因子有没有预测力。系统自动计算 IC、分位组收益、换手率等指标并输出完整报告。


新建任务:五组参数详解

新建任务弹窗分两个页签:基础参数 与 因子参数。基础参数按作用分为五组——前两组决定"检验谁、指标怎么算",后三组决定"拿什么数据算、哪些样本算数、截面怎么切"。

因子分析图二

因子与区间(检验对象)

参数 含义与影响
任务名称 必填,同一因子多组参数对照时用于区分
绑定因子 可跨文件切换,便于在相同区间与品种下横向比较不同因子
因子类 读取因子文件元信息(类名 + 逻辑说明),决定分组方向:因子值最高组为多头、最低组为空头
开始 / 结束日期 决定样本长度。区间过短则有效截面不足(估算见下文),结论不稳
采样频率 决定"一步"的物理长度(分钟 / 日 / 周)。持有期、执行延迟都按它计步,不是自然日
品种池 决定截面宽度。宽度不足会触发最少有效资产数下调,IC 的统计功效随之下降

评估设置(指标怎么算)

参数 默认 理论含义
持有期 Horizons 1,5,20 因子值对未来第几步收益的解释力。h>1 时相邻截面收益区间重叠,朴素 t 值会虚高
分位组数 5(2–20) 把截面按因子值等分,用于检验分层单调性。组数越多每组越薄,对品种数要求越高
截面最少有效资产数 留空 = 组数 × 5 截面有效资产低于该值的整段剔除,避免小样本相关产生虚假 IC
IC 计算方法 Rank IC(Spearman) 用排名算相关,抗极端值;切换 Pearson 用原始值,受量纲与异常值影响
组合加权方式 等权 组内简单平均;市值加权目前不可用
分箱方式 等频(每组资产数相同) 等频保证各组样本量可比;等距按取值区间切,分布偏斜时会出现人数悬殊的组

数据设置(输入什么行情)

  • 复权方式:默认不复权。复权口径改变整条价格序列,动量、波动等一切基于价格的因子值随之改变,收益口径也一并改变——跨除权日必须前后一致;
  • 价格字段:决定传给 compute 的 value 取开盘价 / 最高价 / 最低价 / 收盘价 / 成交量,默认收盘价。只影响因子输入,前向收益固定用收盘价计算,所以用成交量算的量价因子,IC 仍是对收盘价收益做的检验。

执行与数据有效性(哪些样本算数)

  • 执行延迟:默认 1 步。t 时点算出的因子下一步才成交,因此平台 IC 通常低于"当步成交"的乐观估计,这是贴近实盘的口径;
  • 数据陈旧容差:默认 3d,按日历时长计。因子值或价格过期超过该时长即视为缺失,而不是拿旧值凑数。日线下 3d 可跨周末;分钟级任务应调小,否则停牌个股会拿几天后的价格当平仓价,收益失真。

分组设置(截面再切分)

  • 分组字段:按类别型协变量(如行业)把每个截面拆成多个子截面分别检验,用于确认因子不是只在某一行业有效;留空即不分组;
  • 组内分箱:在分组内部再做分位切分,检验组内是否仍有区分度;
  • 组内最少有效资产数:留空 = 分位组数。某截面某组有效资产少于该值,该组整体不参与,防止单个标的代表一组;
  • 正负值分开分组:因子值正负含义不同时(如净流入 / 净流出)先按符号切开再各自分组,避免正负混在一组互相抵消。

预处理步骤

按列表顺序依次执行,顺序不同结果也不同;不添加任何步骤即直接分析原始因子。

步骤 参数 作用与适用
MAD 去极值 winsorize_mad MAD 倍数 k,默认 3 以中位数 ± k×MAD 截断两端极值,对厚尾分布比标准差稳健,几乎总要勾
分位数去极值 1% / 99% 按分位截断,与 MAD 去极值二选一
截面标准化 zscore 标准差自由度,默认 0 每截面减均值除标准差,消除量纲与水平差异;某截面标准差为 0 时输出全 0
秩归一化 — 只保留排序信息,分布怪异或并列值多时替代标准化

协变量声明

中性化、分组分析、市值加权、成本容量等都要用到"因子以外、每只标的每个时点的属性"(行业、市值、成交额、是否可交易)。真实行情默认不带,未声明时界面显示"未声明协变量",依赖它的分析与分组会直接报错。

预处理与分组都依赖协变量,真实行情暂无协变量来源时,界面会提示"历史中性化步骤保留显示,请主动移除后再修改计算配置""不能新增分组,请选择不分组后再修改"——沿用的旧配置若含中性化或分组,必须先移除才能运行。

样本量怎么估算

有效截面数决定"能不能出结果":

N = 网格点数(区间 × 频率)− 因子预热期数 − 执行延迟(默认 1)− 持有期 h

例如日线 250 个交易日、因子回看窗口 14、持有期 20:N ≈ 250 − 14 − 1 − 20 = 215 个截面,足够稳定;而 5 天 × 1 小时 = 20 根 K 线的任务,扣完可能只剩几个截面甚至为 0。结论的可信度由 N 和品种数共同决定,样本不足时指标再好看也只是噪声。

其他选项

勾选"生成 HTML 报告"额外输出官方 tear sheet(约 4.7 MB,可离线查看),不勾选只在前端渲染图表;"因子参数"页签由绑定文件动态决定参数个数(如 RSI 的 Window = 14、Center = 50),改动直接影响因子取值,建议先定品种与区间,再用它做参数敏感性对比。

任务管理

  • 顶部"单任务 / 多因子 / 运行历史"三个页签;任务列表展示名称、状态、因子类、标的数量、频率、Horizons、分位组、IC 均值、完成时间与操作;
  • 点击记录右侧绿色三角运行任务;其他操作有重跑、编辑参数、查看日志、删除。

分析结果(任务详情)

任务完成后点击任务名称进入详情页。页面自上而下是四层:结论横幅(系统直接给判断)→ KPI 区(可切换持有期)→ 七个页签 → 各页签下的明细。前两层回答"这个因子有没有用",后五层回答"数据可不可靠、结论从哪来、能不能赚钱"。

因子分析图六

结论横幅

标题直接给判断,并把依据的数值与口径一起写出来,如"有预测力但不稳定:持有期 1 的 Rank IC 均值 +0.0877,ICIR +0.09"。判定口径:

判定 阈值
较强 IC 均值 ≥ 0.03 且 ICIR ≥ 0.5
有一定预测力 IC 均值 ≥ 0.02 且 ICIR ≥ 0.3
不稳定 IC 均值达标但 ICIR 明显偏低

右侧"下一步建议"是可点击的跳转入口(IC 显著性检验、信号半衰期),点一下直接进入深度分析对应模块——这两项恰好回答"结论是否可信、信号能撑多久"。横幅底部注明:不同频率与标的池下结论可能变化,需结合深度分析确认,不构成投资建议。

KPI 区

顶部可在 1 步 / 5 步 / 20 步之间切换持有期,切换后整页指标同步刷新。

指标 定义 判读
IC 均值 全部有效截面 Rank IC 的平均 方向与强度。A 股日频经验值: IC 0.02~0.03 算有点用,0.05 以上算强
ICIR IC 均值 ÷ IC 标准差 稳定性。0.3 以上较稳、0.5 以上很稳;跨持有期比较看它,不看 t 值
IC>0 占比 IC 为正的截面占比 50% 附近说明方向不稳;反向因子应明显低于 50%
有效截面 参与统计的截面数 远少于网格数时去诊断页查被剔除原因
主持有期补充指标 固定 h=1 的多空累计与平均换手 跨持有期切换时保留一个基准口径

七个页签详解

页签一:图表

由两张主图、一张多持有期汇总表和四张补充图组成:

  1. IC 时序(h=1):逐期 Rank IC 柱 + 20 期滚动均值线 + 均值线。看方向是否长期在同一侧、有没有阶段性失效;样本不足 20 期时滚动均值参考意义有限,以柱和指标卡为准;
  2. 各分位组平均收益(h=1):G1(因子值最低组)到 Gn(最高组)的单期平均收益柱。有效因子应呈单调阶梯——G1 最差、Gn 最好(或反向因子完全颠倒)。注意柱高是"平均单期收益",不是累计收益;
  3. 各持有期收益汇总表:把 h=1/5/20 的 IC 均值、ICIR、IC>0 占比、有效截面、多空累计收益、平均换手并列。同一因子在不同持有期上的强度差异本身就是信息,用来判断它是短周期信号还是长周期信号;
  4. 补充图表(可展开):IC 分布(直方图)、分位组累计收益、多空累计收益、分位组换手率、因子秩自相关。

读图时三种"看起来像故障"的现象,其实是数学必然:

现象 原因
IC 分布只在 ±1 两处有柱 截面只有 2 个标的时,秩相关只能取 +1 或 −1,直方图必然两峰;标的数 ≥ 5 才会出现连续分布
只画出 G1、G2,多空累计显示"暂无数据" 分 5 组要求每截面至少 5 个有效标的;2 个标的填不满,多空组合凑不齐就不计算。属保护逻辑
因子秩自相关在 ±1 之间跳变 2 个标的时两期排名要么完全一致(+1)要么完全颠倒(−1);3 个以上标的才会出现中间值

页签二:IC 汇总

左右两块"完整统计":左侧是当前持有期的 IC 均值、ICIR、t 值、IC>0 占比、有效截面;右侧是主口径补充指标(多空夏普、多空累计、平均换手)。下方多持有期对比表:持有期、IC 均值、IC 标准差、ICIR、t 值、IC>0 占比、有效截面、重叠步数。

"重叠步数"是这张表的重点:h>1 时相邻截面的前向收益共享同一段行情,序列自相关使朴素 t 值系统性偏高(h=5、h=20 的 t 值旁会标 ⚠)。所以跨持有期比较显著性,以深度分析里带 Newey-West 修正的 IC 显著性检验为准。

页签三:诊断

先确认数据没问题,再谈因子好坏。四块内容:

区块 内容 判读
数据概况 分析时点数、标的数、数据单元数(时点 × 标的)、因子缺失比例、因子陈旧或中断、因子尚未产生、价格缺失比例、各持有期未来收益缺失比例 陈旧/中断高→查因子代码或数据源;尚未产生高→回看窗口太长或标的上线太晚;未来收益缺失集中在尾部属正常
样本与剔除 每截面最少有效资产数、可分组的截面数、各持有期有效截面数与因样本不足被剔除的截面数 有效截面远小于网格数,说明门槛未满足,不代表因子无效
统计口径提醒 各持有期的持有期重叠步数 重叠步数 = 持有期;>1 时 t 值偏高
对齐报告 网格/资产/单元数、因子损失、价格缺失、各 horizon 前向收益缺失、重叠与显著性警告 这是库的对齐报告原文,用来核对"数据漏斗"具体扣在哪一步

因子分析图七

页签四:预处理

按实际执行顺序列出每步的落地情况:步骤编号与模块名(如 #0 winsorize_mad、#1 zscore)、参数(k=3、ddof=0)、统计摘要(裁剪数 n_clipped、零 MAD 跳过数 n_skipped_zero_mad、原始均值、有效截面与有效数值占比、中位数与 MAD)。下方柱状图按截面展示处理比例,可展开原始值逐条核对;只绘制非零区间,全部为 0 时仅给文字说明。

判读:n_skipped_zero_mad > 0 说明部分截面 MAD 为 0(大量重复值或样本太少),该步在这些截面实际未生效;n_zero_variance > 0 说明截面标准差为 0,标准化会输出全 0。

页签五:分析参数

只读展示本次任务的完整配置快照,用于复现与追溯,分四块:因子身份(名称、逻辑、类名、完成时间、文件与版本)、因子自带参数、数据区间(起止、频率、数据来源、复权方式、价格字段、基准标的、标的池清单)、评估设置(持有期、执行延迟、陈旧容差、分位组数、截面最少有效资产数、分组字段、组内分箱、组内最少有效资产数)。

页签六:深度分析

左侧 17 项清单,按四类问题归组:

问题 项目("推荐"为优先项)
是否有效 IC 显著性检验(推荐)、样本内外稳定性(推荐)、滚动 IC、市场状态拆分、分位统计表、汇总四表
能持续多久 信号衰减、信号半衰期(推荐)
能否赚钱 成本与容量(推荐)、纯多头组合、因子加权组合收益、事件研究(分位)、组合回测、组合归因
还不够 不含规模/风格(纯化)、Fama-MacBeth 因子收益、组内中性收益、双重排序(控制变量)

点选某项后,右侧出现该项参数与"运行分析"按钮,结果与"本次运行日志"一并留档。两个常用项:

  • IC 显著性检验:给出每个持有期的 IC 均值与 Newey-West t 值(同时给 naive_t 作对照)、p 值和正比例,判断"这个因子是不是噪声"。参数两项:滞后阶数(留空由内核按重叠比例自动选,范围 0–200)、分组维度(填类别型协变量后逐组检验);
  • 组合回测:把分析结果转成组合净值曲线(年化、波动、Sharpe、最大回撤、Calmar、净值与回撤)。参数:建仓方式(long_short 多空 / long_only 纯多 / factor 因子加权)、前 N 只(仅 long_only)、调仓间隔(网格步,默认 1)、单边成本(bp,默认 0)、可交易标的多变量。

因子分析图十

页签七:日志

本次任务的运行日志(平台结构化写入):配置快照、数据下载进度、有效截面与阈值下调、各阶段耗时。


相关阅读

已复制到剪贴板
因子分析修订 R1

返回因子分析板块

评论