量化研究 · 玉钺团队 · 37 次阅读

A股因子构建实践指南

A股因子构建实践指南

因子研究不是把几个财务指标放进公式,再挑一条最好看的收益曲线。一个可用因子要经历数据定义、时间对齐、异常处理、截面标准化、有效性检验、组合验证和持续监控。任何一个环节口径不一致,都可能把未来数据、幸存者偏差或行业暴露误当成有效信号。

先说明因子到底表达什么

因子应当对应可以解释的经济假设。例如估值因子试图刻画价格相对基本面的高低,质量因子关注盈利稳定性和资产负债结构,动量因子描述价格趋势延续,反转因子则观察短期过度交易后的修复。研究开始时应写下公式、方向、适用股票池、观察窗口和预期失效场景。没有明确假设的指标,即使历史表现很好,也很难判断它何时失效。

原始数据必须按当时可见信息对齐

A股因子常同时使用行情、财务、公司行为和行业分类数据。行情字段需要处理复权、停牌与涨跌停;财务字段必须使用公告日期,而不是报告期结束日期;指数成分和行业分类应保留历史版本,不能用今天的成分股回看十年前。上市、退市、风险警示和重大资产重组也会改变可交易范围。正确做法是先构建“某个交易日当时能看到什么”的数据快照,再计算因子。

预处理不是越复杂越好

常见流程包括去极值、缺失处理、标准化和中性化。去极值可采用分位数截断或稳健统计方法,但要保留原始值和处理标记;标准化通常在同一交易日的横截面内完成;行业、市值中性化用于区分选股能力和风格暴露。需要注意,中性化不是必选项。如果因子的经济含义本身就与规模相关,完全剥离市值可能同时删除有效信息,因此应同时比较原始版本和中性化版本。

用多维证据判断有效性

单日IC是因子值与下一期收益的截面相关性,长期研究更关注IC均值、标准差、正负比例和信息比率。分组测试则把股票按因子值分层,观察收益是否近似单调。还要检查不同年份、牛熊阶段、行业和市值区间是否稳定。若收益只来自极端一组,应进一步确认是否由少数小盘股、无法成交股票或异常事件驱动。

组合回测要贴近可执行条件

调仓频率、持仓数量、权重方法、成交价格、停牌处理和交易成本都会影响结果。研究中至少要提供基础成本、压力成本和延迟执行三种情景。对于高换手因子,还应估计冲击成本和容量上限。回测无法成交的股票不能假设按收盘价顺利买入;当日涨停买不到、跌停卖不出时,应把未成交状态延续到后续交易日。

因子库要像工程资产一样管理

每个因子应有唯一编码、中文名称、公式、数据依赖、更新时间、方向、版本、负责人和状态。候选、试运行、上线、观察和退役要有清晰生命周期。因子计算结果应记录数据日期与生成时间,避免新旧口径混用。上线后持续监测覆盖率、分布漂移、IC衰减和与其他因子的相关性,发现结构变化时先降权或停止使用,再分析原因。

一套可复核的研究流程

无论研究哪类因子,第一步都不是看收益曲线,而是固定研究口径。样本范围要写清是否包含北交所、ST、上市未满一定交易日的股票;价格要说明采用前复权、后复权还是不复权;财务数据必须按公告日对齐,不能把后来披露的数据提前放进历史截面。停牌、涨跌停、退市和交易状态也要进入可交易性判断。只有这些规则在研究开始前被固定,后续结果才具备可重复性。

第二步是把数据质量检查放在因子计算之前。研究者应检查主键是否重复、交易日是否连续、价格与成交量是否存在异常值、行业分类是否发生历史变更、财务字段是否存在单位变化。缺失值不能简单全部填零:有些缺失代表公司不适用该指标,有些缺失来自披露延迟,还有些是数据源问题。三种情况的经济含义不同,处理方式也应不同。

第三步是建立时间切片严格的验证框架。可采用滚动训练、样本外验证和多市场阶段检验,避免只在完整历史上反复调整参数。每次实验都应保存数据版本、因子公式、过滤条件、调仓规则、成本假设和代码版本。研究结论不应只报告年化收益,还应同时报告最大回撤、换手率、覆盖率、分组单调性、IC分布、不同年份表现以及对行业和市值暴露的敏感度。

第四步是让结果接受反证。可以改变股票池、延迟一个交易日执行、提高交易成本、缩短或延长样本区间、排除极端行情,再观察结论是否仍然成立。如果一个结论只在单一参数、单一时间段或少数股票上成立,它更可能是偶然拟合,而不是稳定规律。对不显著或失效的结果也应完整记录,因为失败实验能够防止团队重复踩坑。

从研究结论到实际使用

研究结果进入组合之前,应先以小规模、低频率和可回滚方式观察。线上计算需要监控数据到达时间、因子覆盖率、截面分布漂移和组合暴露;出现异常时应能追溯到具体数据批次和公式版本。策略容量、成交约束、资金规模和风险预算会改变理论信号的实际价值,因此不能把研究收益直接等同于可实现收益。

本文用于说明量化研究方法,不构成个股推荐、收益承诺或投资建议。因子表现会随市场结构、参与者行为和交易制度变化而变化。真正可靠的做法,是保留证据链、持续复核假设,并由使用者结合自身目标、风险承受能力和合规要求独立判断。

数学定义与检验指标

设股票 i 在交易日 t 的原始因子为 x(i,t),横截面中位数为 median(x,t),绝对中位差为 MAD(t)。稳健去极值后再做标准化:

x_clip(i,t) = min(max(x(i,t), median(x,t)-3·MAD(t)), median(x,t)+3·MAD(t))
z(i,t) = [x_clip(i,t) - mean(x_clip,t)] / std(x_clip,t)

如果需要剥离行业和市值影响,可在每个截面做回归,残差作为中性化因子:

z(i,t) = α(t) + β(t)·ln(MarketCap(i,t)) + Σ γ_k(t)·Industry_k(i,t) + ε(i,t)
FactorNeutral(i,t) = ε(i,t)

预测能力使用秩相关信息系数,避免极端收益过度影响:

IC(t) = SpearmanCorr(Factor(i,t), Return(i,t→t+h))
ICIR = mean(IC) / std(IC)

数据与实操

准备日行情、复权因子、交易状态、行业分类、市值以及带公告日期的财务数据。以每月最后一个交易日为截面,先过滤上市不足120日、停牌及风险警示股票;按公告日连接财务字段;完成去极值、标准化与可选中性化;计算未来20个交易日收益;最后输出IC时序、五分组净值、换手率和年度分解。实操验收不能只看平均IC,还要确认分组大体单调、不同年份方向一致,并在单边千分之三至千分之五的压力成本下重新计算。

IWA依瓦AI量化 —— 金融垂直人工智能平台,覆盖数据、大模型、智能Agent、交易终端全栈能力。

免费注册 更多资讯