← 返回博客列表

量化投资从入门到精通

【量化投资从入门到精通 #33】因子是什么把好公司翻译成一个能排序的数

2026年08月22日 17:03 · 麦蕊智数 MyData

进入因子层。前面所有策略都在"择时"(什么时候买),从这篇开始学"选股"(买哪一个)。

一、这个方法解决什么投资问题

"我要买好公司。"——这句话没法执行,因为"好"不能排序。

因子做的事情,就是把一句主观形容词,翻译成每只股票都能算出来的一个数字,从而可以:排序 → 分组 → 检验 → 组合。

  • "涨得猛" → 过去 20 日涨幅
  • "便宜" → PE、PB
  • "赚钱能力强" → ROE
  • "有人在买" → 成交额、换手率

只要能算成数,就能被检验;能被检验,就能知道它到底有没有用。

二、核心思想:横截面排序 + 分组检验

择时看的是同一只股票的时间序列,选股看的是同一天所有股票的横截面。这是思维方式的根本切换。

因子有效性的标准检验流程只有四步:

  1. 打分:在某一天 T,给每只股票算出因子值
  2. 排序分组:按因子值从高到低排,分成高分组 / 低分组
  3. 观察未来:看 T 之后 N 天,两组的平均收益
  4. 看多空价差:高分组 − 低分组。持续为正 = 因子正向有效;持续为负 = 反向有效;在 0 附近乱跳 = 无效

关键铁律:打分只能用 T 及之前的数据,观察只能用 T 之后的数据。 这条线一旦模糊,就是前视偏差(#04)。

三、实操演示

cut = n - HOLD                                            # 打分时点
f   = v[cut-1]["close"] / v[cut-1-LOOK]["close"] - 1      # 因子:过去20日涨幅
fwd = v[-1]["close"]    / v[cut-1]["close"]    - 1        # 未来20日收益
rows.sort(key=lambda r: -r[2])                            # 横截面按因子排序

真实输出(2026-08-06,8 只标的,因子 = 过去 20 日涨幅,观察 = 之后 20 日收益):

排名 标的 因子值(过去 20 日) 后续 20 日收益
1 京东方A +35.16% −27.36%
2 长江电力 +0.29% −0.54%
3 宁德时代 −3.35% +3.25%
4 招商银行 −3.47% +2.98%
5 美的集团 −5.45% +7.53%
6 中国平安 −7.01% +7.82%
7 平安银行 −7.33% +6.48%
8 贵州茅台 −7.34% +10.71%
  • 高因子组(前 4 只)后续平均 −5.42%
  • 低因子组(后 4 只)后续平均 +8.13%
  • 多空价差 −13.55% → 该样本期动量因子反向(反转占优)

四、结果解读

这张表的排序几乎是完美单调的——只不过方向是反的。

从第 1 名到第 8 名,因子值单调下降(+35.16% → −7.34%),而后续收益基本单调上升(−27.36% → +10.71%)。8 只里有 6 只符合"过去跌得多、后面涨得多"。

这说明两件事:

第一,这个因子在这段样本上是有信息量的,只是方向为负。#17 讲过动量与反转是同一枚硬币的两面:在趋势市里动量有效,在震荡/均值回归市里反转有效。当前样本期显然是后者——这也和 #06 测出的"滞后一阶自相关全部 ≤ 0"、#21 均值回归策略的表现相互印证。

第二,"因子有效"和"因子方向"是两个独立的问题。 一个多空价差 −13.55% 的因子,比一个价差 +0.5% 的因子有用得多——前者至少在告诉你市场结构,后者只是噪声。

但必须泼一盆冷水:8 只股票 × 1 个时间点,这不是统计证据,只是教学示例。而且 −5.42% 这个高分组均值里,京东方A 一只的 −27.36% 就贡献了大部分——单只样本主导结论是横截面研究的头号大忌。

要让这个结论站得住,至少需要: - 样本数量:几百只而非 8 只(麦蕊全市场快照单次可取 5000+ 只) - 时间维度:滚动几十个截面期,而非 1 期 - 分组方式:按分位数分 5 组,看是否单调,而不只是比较两端 - 统计量:算 IC(因子值与未来收益的秩相关)序列,看它的均值和稳定性

这些正是 #36(技术因子)和 #38(因子陷阱)要做的事。

五、常见陷阱

  • 样本太小就下结论:8 只 × 1 期得出的任何结论都不可外推(本文已明确标注)。
  • 单只样本主导:一只极端值就能翻转组均值,必须看中位数或剔除极值。
  • 打分与观察窗口重叠:因子用了 T 之后的数据,就是前视。
  • 只比两端不看单调性:高低两组差很大,中间乱七八糟,往往是运气。
  • 忘了因子会变方向:动量和反转会周期性切换,把某一期的方向当永恒规律最危险。

六、小结 + 下篇预告

因子 = 把主观判断翻译成可排序的数字。检验四步:打分 → 分组 → 看未来 → 算多空价差。实测 8 只样本上动量因子反向(价差 −13.55%),提示当前样本期反转占优;但样本太小,只作演示。

下篇 #34/#35 是价值/成长/规模质量/动量风格因子,依赖财报基本面数据(已作为需求 R1 提交数据团队,详见 #11);数据补全前,#36 会先用麦蕊历史 K 线可直接计算的技术因子(动量/波动/换手)把因子检验流程完整跑一遍。

免责声明

本文为量化方法教学,标的为示例,不构成投资建议,不承诺收益。投资有风险,入市需谨慎。

标签: 因子数据
QQ 客服 3826425416 咨询时请提供证书号或订单号,便于快速处理
咨询