规划
回顾:
上周在本地的 vnpy 环境下跑通高股息低估值策略(基本面)以及回测。
在执行的过程发现难点在于基本面的策略往往需要下载大量的数据,想要执行这种策略的回测,虽然跑通了并行数据下载脚本,但是任然需要的大量的时间成本。300 支股票,3 年数据下载时间平均下来需要 15min。并且存在未来函数的问题(沪深 300 是现在已经活下来相对好的股票,没有将过去效益不好退市的股票。)
前两周跑通了两种策略,一个是双均线策略(技术面)&高股息低估值策略(基本面)。但是仍然还没有涉及因子相关的知识和实践。
这周的学习思路是:
知识:
单因子:搞懂什么是因子、因子是如何设计出来的,因子是如何在量化交易中应用的,其中体现了什么思想,涉及到什么知识领域。
多因子:多个因子是怎么评价和分配权重的。
实践:
在 qlib 上跑通单因子回测脚本。直观的感受因子效果和弊端。
前备知识回顾总结
什么是因子:
【自总结】
按照我现在的了解,因子是将一种和时间趋势相关的现象,转换成统一标准衡量数值的数学计算算法,输入是一个信号,输出是一个标准化的数值。是交易员经过无数实战经验后将交易直觉转换成数值的方法。 【AI 纠正】
因子是用明确的数学公式,从原始数据中提取出一个可数值化、可系统计算、有预测或解释能力的指标。
它把交易员模糊的直觉("这只股票涨太猛了该歇歇"、"这家公司盈利能力在改善")变成一个可以做回测、做统计检验的数字。它覆盖的不只是趋势,还包括反转、风险、质量、流动性等各种维度的信号
因子是如何设计出来的:
【自总结】
首先你得有足够的股市交易经验,并且有丰富的社会阅历。当你有这些经验的时候,就能够判断出什么样的信号配合什么样的交易时机组成的策略,才能让你获取到收益。关于因子是如何设计出来的,这个是前提。另外,还需要数学统计知识的敏感度,很多的算法,包括 AI 大模型的算法,都需要极强的想象力和数学敏感度,这样才能了解到数据中包含哪些信息,环境中存在哪些数据。由此,最终我的结论是,因子的构建过程,其实就是输入经验洞察,通过数学转化,最终生成数学公式和代码的过程。
【AI 纠正】
因子不是纯靠"灵感"一个一个想的实际上因子发现已经形成了两条路径并存的格局:
-
路径一:经验驱动
-
交易员有直觉 → 用数学语言表达 → 回测验证
- Alpha101 大部分因子属于这类
- 优点:每个因子都有清晰的金融直觉,你知道它"为什么有效"
-
缺点:受限于个人经验的天花板
-
路径二:数据驱动
-
根本不预设交易逻辑,直接让算法在海量数据里搜索有预测力的数学组合
- 典型方法:遗传编程(Genetic Programming)、符号回归、深度学习
- 优点:能发现人想不到的非线性组合
- 缺点:黑箱——找到的因子你解释不了"为什么有效",而且过拟合风险极高
现实中的顶尖量化团队两条路都走:经验驱动保证可解释性,数据驱动拓展边界。
"足够的股市交易经验和丰富的社会阅历"是充分条件,但不是必要条件。比如:
- 统计套利因子(配对交易的协整关系)更依赖统计学功底
- 高频因子(微秒级行为模式)靠的是对订单簿微观结构的理解
- NLP 因子靠的是自然语言处理能力
这些因子设计者的核心竞争力不是"炒股经验",而是数学/统计/计算机能力。当然经验能帮他们更快找到方向,但不是唯一入口。
所以更完整的总结是:
因子构建 = 领域知识(交易经验、市场直觉、金融理论)+ 数学能力(统计敏感度、建模能力)+ 工程能力(代码实现、大规模回测)
三者可以有不同的权重配比,但缺任何一个都产不出好因子。
因子是如何在量化交易中应用的:
【自总结】
在量化交易中,如何判定交易时机是关键。如果没有因子,则只能进行直接的逻辑判断,或者将应对复杂的计算。
可以说因子是一种将信号分类压缩的方法,将混沌的交易市场中的复杂因素进行拆离,并且进行单独优化,根据有效的条件进行合理的权重分配。最终让最后交易策略的执行变得可以更加灵活、并且增加了可解释性。
现在因为 AI 技术的爆发,因子的效用更加被凸显了出来,不仅仅是可以让机器自动挖掘潜在的非人脑可以判定的因子,还可以通过 RL 优化各种因子组合对抗的策略。
【AI 纠正】
"将混沌交易市场中的复杂因素拆离,单独优化,再组合"——这就是因子投资的正交分解思想,是量化交易区别于主观交易的核心方法论之一。
实际上因子组合的权重分配不是按直觉"合理"地分配的,而是有明确的数学方法:
- 等权:最简单,所有因子等权重相加
- IC 加权:按每个因子的历史预测能力(IC 均值)分配权重,IC 高的因子权重大
- 优化器法:用均值-方差优化(Markowitz 框架),在给定目标收益下最小化组合波动
- 机器学习:XGBoost、神经网络等自动学习因子之间的非线性组合方式
因子是量化交易中将复杂市场信号进行正交分解的方法——把混沌拆成独立维度,单独验证有效性,再用数学方法(而非直觉)分配权重进行组合。AI 在两端拓展了边界:一端自动挖掘人类想不到的因子,另一端优化组合方式,但目前因子发现和组合的主流方法仍然是统计驱动的,不是纯 AI 驱动。
因子&多因子是如何进行评价的 :

【自总结】
单因子需要进行中性化预处理,这个可以避免局部最优化的问题(比如说某因子和单独行业高度协同的问题)。
标准化和去极值使用在多因的评价中,首先标准化是让不同因子的效果有一个共同的尺子进行 rank,去极值,可以避免某因子突出的信号,拉高或者拉低整体评价。
接下来则是需要挑出,这些因子在需要交易的环境周期中,谁的信号更有效更强劲,以及排除噪音过大的因子(不稳定的信号会可能会造成假信号和过大的损失)。
初筛后,进行五分位的实战,在真实的股市根据因子信号 rank 排名平均顺序拆分成五组。通过不同分层的战果关系分析,通过 rank 分是否真的反应收益,从而判断这个因子是否具有普适性,并且通过最高和最底层的差距来判断这个因子真实的赚钱能力。 最后,通过筛选出共线(具有高度相关性的因子)因子中信号最强的,组合成最终的因子队伍。
【AI 纠正】
把去极值和标准化放在一起说,但标准顺序是去极值在最前面:
去极值 → 标准化 → 中性化 → IC/IR → 五分位分层 → 共线性筛选 → 组合
原因:极端值如果先参与标准化会严重拉偏均值和标准差,进而污染中性化回归的结果。
"按因子信号 rank 排名平均顺序拆分成五组",方向对但不够精确。正确做法是每个时间截面独立排名分组。
总结成完整流程:
- 去极值 → 去掉极端值
- 标准化 → 统一量尺(通常是 Z-score)
- 中性化 → 剥离行业/市值等已知因素
- IC + IC_IR → 量化预测能力和稳定性
- 五分位分层 → 验证单调性和实际收益差距
- 共线性筛选 → 高相关因子中保留最强信号
- 加权组合 → 用数学方法(IC 加权/优化器)组合
实践
关于 qlib 的部署思路:
关键词:脚手架

因子回测
在 Alpha101 中,取用 3 种不同类型的因子,进行回测。并且看懂图表,对因子的评价有一个直观的感受。
| 因子 | 投资逻辑 | 代表什么 | 和另外两个的关键区别 |
|---|---|---|---|
| #1 | 波动率反转 | 混合构造的标准范本 | 看波动的时序位置,不看量和趋势方向 |
| #6 | 量价背离 | 成交量维度信息 | 唯一引入成交量,不看波动和涨跌方向 |
| #9 | 条件均值回归 | 趋势/噪音识别 | 唯一有条件分支,区分趋势和震荡 |
回测时间范围:"2018-01-01"→"2024-12-31"
排序:Alpha# 1→Alpha# 6→Alpha# 9






回测结果逐个分析(AI辅助生成)
🥇 Alpha#6(量价关系)—— 三个里唯一真正有效的
- IC 弱但一致:RIC +0.0111、RIC_IR +0.0887。ICIR 不到 0.3 的「可交易」门槛,单看 IC 偏弱。
- 但五分位完美单调:Q1(−5.8%)→ Q5(+10.6%)逐级递增,monotonic=True,多空 +16.4%/年。
- 结论:典型的「IC 弱、分位干净」型因子——这正是我之前在图怎么看里说的「IC 弱但分位单调的因子仍有选股价值」。方向也和逻辑吻合:因子 = −1×量价相关,因子值高(量价负相关、缩量上涨)→ 后续收益高,对应「抛压消失→看多」的论点。
- 可信度:三个里最高。如果要继续挖,这个值得做行业/市值中性化后复测——如果中性化后单调性还在,就是真 alpha。
🥈 Alpha#9(趋势/反转切换)—— 弱且非单调,不可用
- IC 近零:ICIR 0.024、RIC_IR 0.054,无预测力。
- 五分位倒 U 型:Q1(−3%)→ Q2/Q3(+5~6%,最高)→ Q4/Q5(+2%)。最高因子组(Q5)反而不如中间组,monotonic=False。
- 为什么:Alpha#9 输出的是原始涨跌额(没做截面 rank),跨股票量纲混乱——一只 ¥100 股票的因子值天然是 ¥5 股票的 20 倍。按它分位,Q5 主要堆的是「当天大涨的大盘股」,而这些股票次日倾向反转回落,所以 Q5
表现差。本质是因子被用错了场景——它本是个个股择时信号,硬拿来截面排序就不对了。 - 结论:不可直接用。要救它得先做截面标准化(或直接 rank),再评估。
🥉 Alpha#1(复合信号)—— 表面最唬人,实际是假信号
- IC 完全为零:ICIR 0.0009,IC 正率 49.5%(抛硬币),毫无线性预测力。
- 「+89.5% 多空年化」是假象:看 Q1→Q5 = 2%→4%→−10%→−21%→+156%。Q5 单组年化 +156% 极不合理,这是少数极端收益股票(如停牌复牌、连续涨停的 CSI300 成分股)恰好落在 Q5 把组均值拉爆的结果,不是因子选股选出来的。
- 为什么:内层 IdxMax(...,5) 只输出离散的 {0,1,2,3,4},再经截面 rank 后分布高度离散化,五分位分组几乎是随机的 → 噪声驱动。文档其实预告了「大概率不单调」,但这里的「极端差异」是噪声,不是信号。
- 结论:无效。这个例子恰恰说明了为什么需要去极值/中性化——不做的话,几只妖股就能伪造出一个「89% 多空」的假信号。
横向结论
- 三者 ICIR 都 < 0.3,没有达到「可交易」门槛。这符合预期:原始 101 alphas(2016 发表)在 A 股大盘股上早已大幅衰减/被套利,简单的几个尤其明显。
- 只有 Alpha# 6 有真实但微弱的 alpha,且方向和理论一致、分位单调。它是唯一值得深入(中性化复测、调参、换股票池)的。
-
Alpha # 1 的「89%」和 Alpha# 9 的倒 U 都印证了之前方法论里强调的两点:
-
不做去极值,极端股票会伪造假信号(Alpha# 1 的Q5=156%)- 因子的适用场景很重要(Alpha# 9 是择时因子,不适合截面排序)
和群友讨论精华记录:
群友说:
因子真的有效吗?我那个纯粹是股票选的好才50%的收益
我的回答:
那就不一定了 ,主要是这个方法论可以让组合策略更加灵活,能整合多种信号的影响。加上AI的能力,还能挖出来更多人脑直觉够不到的潜在信号,加上RL自动自动优化策略。 综合起来看比主观投资要更加稳定、效率更高。而且因子有那个啥拥挤度问题,自己去挖新的因子 整体难度就很高。
群友说:
我也不是很懂,但是我拿芒格的Skill加上实测,感觉选股的价值远大于因子
我的回答:
这个看方法论的适用范围吧,这种skill出来的东西也有局限,主要是不稳定,是否可靠非常依赖人的经验和直觉。
这个看方法论的适用范围吧,这种skill出来的东西也有局限,主要是不稳定,是否可靠非常依赖人的经验和直觉。【我觉得数据源可以区分一下,另类数据也进行分类一下:硬指标客观物理量可回测(稳定度高)\\依赖NLP模型(信号稳定度一般)\\ 然后哪些是AI生成的(信号稳定度较弱)。】我觉得,价值投资这个流派, 更加依赖人自己的品味和判断力,AI暂时只能起辅助作用。更何况需要长期且稳定的判断。