AI时代,还记得古法手搓因子是怎么样的吗?

无论是量化机构研究员,还是个人宽客,开发策略时难免会涉及到因子开发。
不过放在2026年的今天,很多Quant的日常基本变成了这样:端上一杯美式,打开电脑,熟练地给本地/云端Agent敲下一行Prompt,例如“帮我用遗传算法生成1000个高IC、低相关的A股日内量价因子,并自动跑完测试流程。”一段时间之后,Agent精准地吐出了一堆由各种 Abs、Ts_Max、Delay 相互嵌套、长达数行的复杂数学公式。甚至不需要理解这些公式背后的逻辑意义,只需要把它丢进多因子模型里,看着那条被AI暴力挖掘出来的净值曲线,点点头,齐活儿。
这就是全民AI时代的“炼金术”,Quant们更是玩得风生水起。
很多人似乎已经记不清了,在那个刘华强还没有各种买瓜萨日朗,许伟生也没有各种对对子怼乾隆的年月里,Quant们是如何靠着一颗肉头、一张草稿纸、一页页翻看金融工程论文,古法手搓因子的。
那时候的因子开发,还不能靠算力暴力堆砌,而是靠对市场微观结构敏锐的洞察,以及从无效到有效、从拉到夯、从耷拉脑袋到勃然昂首的手艺活儿。
大伙儿都不喜欢听宏大的叙事,恰巧我最近翻箱倒底,找到了一个古法手搓因子并改进的历史故事,带大伙儿重温一下那段纯手工的小农时代。姑且言之,姑且听之,一笑了之。
在那个有些遥远的2024年,在天朝的某家私募里,有一个量化研究员,名字叫做阿Q,为了完成这个月的因子开发KPI,还待在工位上挑灯夜战。
话说阿Q前两日看了一篇漂亮国金融工程论文《Overnight returns, daytime reversals, and future stock returns》,get到了一个新因子idea。

在证券市场里,有这样一种现象: 个股隔夜上涨,但是到了日内,隔夜的涨幅并没能维持下去,还可能转为下跌。这种隔夜与日内时段上的不一致性,是否隐含着某些未被发掘的信息?
于是那篇论文的作者就构造了一个『异常负反转频率因子』,因子数值从小到大等分为10组后,因子收益单调性良好,多空收益率显著为正。

阿Q就照着论文的步骤,先是计算隔夜收益率和日内收益率。
隔夜收益率 = 今日开盘价 / 昨日收盘价 - 1.0
日内收益率 = 今日收盘价 / 今日开盘价 - 1.0
对于每支个股,如果隔夜收益率为正但日内收益率为负,那么则记为个股发生了一次负反转。然后统计这支个股在一个月里面发生了多少次负反转,将负反转次数除以当月交易日数,那么这个就是负反转频率。
负反转频率 = count(隔夜收益率>0 and 日内收益率<0) / count(交易日)
进一步地,为了保证因子数值在不同个票间横截面可比,将每支股票当月的负反转频率除以前12个月的负反转频率的均值,便最终得到了『异常负反转频率因子』。
这个因子的底层逻辑是,论文作者认为,隔夜交易主要来自于噪声交易者和信息优势者,而日内交易则套利者更多。如果异常负反因子数值较高,则代表在当月,日内交易的套利者高估了隔夜的噪声或是不认可信息优势者的事件冲击,从而多次且过度修正价格,拉低了股价,产生了较大的偏离,矫枉过正,物极必反,被拉低的股价会向价值靠拢,次月股价上涨的概率较大。
这个因子有计算细节,有逻辑支撑,测试效果良好,正好是下手的优质对象。然而,阿Q把因子复现出来,用A股数据一测,傻眼了,这也没有想象当中好哇。


虽说A股里面异常负反转因子总体来说还是与次月收益呈正相关的,但是预测能力并不强,IC值也仅有0.02,并且因子收益最佳组别也不是Top组,多空净值曲线近两年也未呈现上升趋势。
阿Q心想,难道这个因子凉凉啦?这个月绩效不能再继续打C了,不然年终奖就泡汤了,就算有,也超不过纯洁心灵逐梦演艺圈的豆瓣评分。鬼叫你穷,顶硬上啊~~~
阿Q静下心来,思索这可能是什么原因导致的,对比着A股与美股交易制度的不同,默默在笔记本上写下这3条。
(1)美股盘前交易时间是4:009:30(连续竞价),A股的是9:159:25(集合竞价),A股的开盘价可能未充分反映隔夜力量。
(2)仅使用反转现象出现的频率构建因子,可能信息量不足,未能完全展示不同投资者间的力量对比。
(3)负反转的定义可能较为严格,导致满足的样本占比仅有20%左右,数据量较小可能会影响因子的有效性。
对照着这些可能的原因,一条一条进行改进。
既然A股开盘价可能无法反映隔夜力量,那就把时间往后推一些,给隔夜力量更多时间,可以使用上午10点钟的价格替代开盘价,那么隔夜收益率和日内收益率就变为:
隔夜收益率 = 今日10点钟价格 / 昨日收盘价 - 1.0
日内收益率 = 今日收盘价 / 今日10点钟价格 - 1.0
阿Q再重新计算一遍异常负反转频率因子,再测试一遍,这都是什么鬼,因子分组收益和多空净值曲线看上去还不如原来。


在上面改进的基础上,继续考虑第2个原因,“隔夜上涨,日内下跌”是由于不同类型交易者对信息观点认可度的差异,除了度量出现的频次和频率外,还可以度量各方力量的认可程度和信心强弱,在这方面,成交量是一个很好的指标。
举个栗子,如果隔夜上涨且日内反转下跌,并且伴随着成交量的放大,那么这就表示日内交易者对隔夜信息的强烈不认可。于是乎,阿Q又马上构建了一个因子,如下:
改进因子 = corr(隔夜收益率 - 日内收益率,日内成交量占比)
日内成交量占比 = 10~15点的成交量 / 当日成交量
corr(A,B)表示计算序列A和序列B之间的相关性,“隔夜收益率 - 日内收益率”使用“-”号的原因是,改进因子的计算只考虑隔夜收益率为正且日内收益率为负的交易日,隔夜涨幅越大且日内跌幅越大,对应的值就越大。
于是乎,改进因子反映的就是刚才说的那种现象“隔夜上涨,日内下跌,日内放量”,越符合这种现象,那么相关系数的值就越大,越接近1.0。
阿Q对改进因子测试一遍,发现因子分组收益单调性有所好转,多空净值曲线也是呈现出整体上升的曲线,仿佛看到胜利的曙光了。


对于第3个原因,能满足“隔夜上涨且日内下跌”的负反转现象样本数过少,占比在20%左右。可以考虑放宽对负反转的条件范围,比如说只要求隔夜上涨,但日内不需要一定下跌,只要没能维持相同的涨幅,也可以认为是负反转。于是乎,新的因子就诞生了,阿Q将其命名为“隔夜日内拉锯因子”(TOI,Tug of Overnight-Intraday)。
隔夜日内拉锯因子TOI = corr(隔夜收益率 - 日内收益率,日内成交量占比)
其实计算式子的形式跟上一个因子是一样的,只是考虑的交易日不一样, 改进因子考虑的是“ 隔夜收益率>0 且 日内收益率<0 ”的交易日,而TOI因子考虑的是“ 隔夜收益率>0 且 隔夜收益率>日内收益率 ”的交易日,后者涵盖的样本数明显比前者多。
话不多说,再来测试一遍,发现因子分组收益严格单调了,多空净值曲线也昂然向上,TOI因子的IC值也达到了0.035,ICIR值为2.75,算是勉强过关了。


根据惯例,阿Q还有两个手续要办,一个是参数敏感性测试,另一个就是跟常见因子的相关性分析。
阿Q是选了上午10点钟作为隔夜和日内的时间分割点,万一是运气太好恰巧选中参数孤岛过拟合了呢?
于是乎,阿Q将上午的交易时段以5分钟为间隔产生时间分界点,依次计算每个时间分界点上的因子表现。
不同分界点的因子IC值和ICIR值

不同分界点的因子多头超额收益与多空收益

从上面两个图看出,无论是对于因子IC值和ICIR值,还是因子多头超额收益率与多空收益率,10~11点都属于参数平原,没有剧烈的起伏和显眼的参数孤岛,选择这里面的时间分界点都是大差不差。
做因子相关性分析,是为了识别并剔除高度相关的因子,解决因子之间多重共线性问题,优化模型性能。阿Q已经入库了一些因子,如果新加进去的因子跟原来的因子相关度过高的话,那么也没有啥信息增量,即使表现优异也可能上不了实盘。
于是乎,阿Q还需要计算TOI因子与常见量价因子的相关性,相关性表格 (单位:%) 如下所示,对角线以上的单元格数值为Pearson相关系数(值vs值),对角线以下 的单元格数值 为秩相关系数(排名vs排名)。

总体而言,与常见量价因子的相关性都不高(第1行和第1列),其中与小市值的相关性仅有0.70%,相关性最高的是与反转因子,绝对值也只有13.88%.
看来,阿Q这一关是真的能过了。
以上历史故事情节纯属虚构,如有雷同, 说明你可能也是那个年代熬夜手搓因子的手艺人 !不过因子构建细节和测试结果都是真实的,皆出自西部证券金融工程团队的“手搓因子”系列的第一期研究报告《隔夜上涨和日内反转中的隐藏alpha》,依然墙裂推荐感兴趣的小伙伴去看原文。
回到2026年的今天,真的,AI让咱开发因子的效率10x+提升,但我仍然觉得, 无论是过去还是现在,无论是手搓还是Agent,一个优秀Quant最核心的能力,从来都不是写代码,而是提出问题、理解市场、构建逻辑,然后把一个模糊的想法,一点一点打磨成真正的Alpha。
我是量化君,下期见~
★
往期回顾
★
------量化社群------
------量化策略------
------心得杂谈------
_ Tip:点击关键字可以直接查看对应文章。 _
END
如果对本文有疑惑,或是想聊聊
亦或是围观朋友圈当点赞之交
戳我,让我们一路同行
吃瓜吐槽写代码
![]()
本文由量化君原创。转载时请注明作者及出处。
在微信公众号阅读原文 ↗


