
因子字典
早在2025年,就有朋友提议,希望能有一个在线的文档,用来集中记录各种量化因子的历史表现数据和对应的分析文章链接。
这个想法一直在我心里酝酿。直到2025年12月31日,我终于为它想到了一个合适的名字——因子字典。顾名思义,它就像一个可以查询因子在过去一段时间内综合表现的“词典”。
那么,为什么这个工具直到现在才和大家见面呢?
主要原因在于,我一直在思考这个“字典”里究竟应该存放哪些内容才算有价值。按照传统的分层回测思路,似乎应该保存每一分位组的夏普比率、收益率等信息。但在读完《Active Equity Management》之后,我认为一个因子的评价不仅需要纵向(不同分组之间)比较,更应重视横向(同一分组在不同年份之间)的稳定性。
这样一来,要展示的数据维度就太多了,项目也因此一拖再拖。
直到后来,我在世坤(WorldQuant)的方法论中发现了一个不错的思路:根据因子值直接构建一个多空组合(因子值大于0做多,小于0做空),然后展示这个组合在数年间的关键绩效指标。如下图所示,这种方式能用一个简洁的表格概括因子的长期有效性。

这个因子字典我会持续更新,至少会将未来新文章中介绍的因子都收录进去。2026年计划全年免费提供(当然,如果你觉得内容有价值,愿意支持一下,我也非常感激)。至于2027年,现在还说不好,也许到时候我都已经断更了呢。
组合构建逻辑
不过,世坤那种多空组合的构建方式,对于普通A股投资者来说有一个现实问题:A股市场做空机制受限,这种理想化的投资组合大多只存在于理论中。
为了让评价方法更贴合A股的实际交易环境,我自作聪明地进行了一些本土化修改。
1. 只做多不做空
第一点改动就是只做多,不做空,通过精细调整每个标的的持仓权重来实现。
具体操作是:在每个交易日,用个股的因子值减去全市场所有标的的均值,再乘以该因子IC(信息系数)的方向(确保正向预测)。接着,将所有计算结果小于0的值置为0。最后,将处理后的值除以所有标的的因子值之和,就得到了每个标的在该日的理论持仓权重。
2. 涨跌停处理
A股特有的涨跌停机制也必须考虑。理论上,涨停时很难买入,跌停时很难卖出。
在这里的处理上我偷了个懒:无论涨停还是跌停,当天该标的的权重直接设为0,且其他标的的权重不做重新平衡调整。这就导致了交易日的实际持仓总额可能不足100%。同时,在卖出侧也未做任何限制,这算是一个已知的缺陷。
但考虑到这个投资组合通常会持有上千只标的,且我们的核心目的是横向比较不同因子的优劣,这个缺陷对对比结果的影响相对可控。
3. 买卖时机处理
由于因子的计算都依赖于收盘后的数据,所以实际的交易逻辑存在一天的滞后:基于T日收盘后计算的因子,只能在T+1日以收盘价执行买入,并在T+2日根据T+1日收盘后计算的新权重进行再平衡调仓。
举个例子,基于2017年12月28日收盘数据计算的因子权重,会在12月29日以收盘价执行买入;持仓将在2018年第一个交易日,根据12月29日收盘后计算的新权重进行再平衡。
字典字段计算公式说明
因子字典Excel文件包含8个工作表,分别是所有年份的汇总信息(“总计”),以及其他各个单一年份的数据。
各列含义如下:
- 第一列:因子名称。部分为中文名,部分为我代码中使用的英文标识名。
- 第二列:该因子对应的详细介绍文章链接。
- 第三列:因子作者。大部分沿用了原始研报的作者,部分由我自己“魔改”或创造的因子,我就厚着脸皮把自己列为作者了。
- 第四列:因子来源或参考的研报名称。
01 IC 相关指标
关于IC的信息共有三列:IC、IR 以及 IC>0 的概率。
- IC:因子值与次日收益率之间的斯皮尔曼秩相关系数。这里计算的是日频IC,其绝对值越大,通常代表因子预测能力越强。
- IR(信息比率):IC的均值除以IC的标准差。它衡量了IC序列的稳定性,同样,绝对值越大越好。
- IC>0的概率:用于判断IC方向的稳定性。这个概率值越偏离50%(无论是高于还是低于),表明因子的方向性越稳定。
02 常见绩效指标
这一部分展示了基于前述组合构建方法回测得到的关键绩效指标:
- Sharpe(夏普比率):年化收益率 / 年化波动率。
- Turnover(换手率):
abs(当日权重 - 前一日权重) 之和 / 2。
- Returns(年化收益率):回测区间内日收益率的平均值 × 252。
- DrawDown(最大回撤):回测区间内组合净值最低点 / 最高点 - 1。
03 Fitness 指标
在接触世坤之前,我从未听说过这个名为 Fitness 的指标。但了解之后发现,在世坤的量化因子评价体系中,它似乎是一个极其重要的核心指标,甚至可能直接影响到贡献因子的收益。
在世坤的兼职顾问提交的因子报告中,会根据Fitness值对因子进行分级:
- 小于1:Need Improve(需改进)
- 1 - 1.5:Average(一般)
- 1.5 - 2:Good(良好)
- 2 - 2.5:Excellent(优秀)
- 2.5以上:Spectacular(卓越)
它的计算公式如下:
Fitness = Sharpe * Sqrt( Abs( Returns ) / Max( Turnover, 0.125 ) )
这个公式综合权衡了收益(Returns)、风险调整后收益(Sharpe)以及交易成本(Turnover),可以说是一种更全面的数据科学评价视角。
04 字典访问地址
因子字典的访问地址如下:
https://my.feishu.cn/wiki/KwvtwSQgRi7muQkBf5Wcmcxenss?from=from_copylink
希望这个工具能为你的量化研究提供一些不一样的视角和便利。如果你在使用中有任何想法或建议,也欢迎来云栈社区交流分享。
