← Quant 101 总览
第 05 关 · 横截面

横截面思维与第一个因子Cross-Section & Factors

前面是“一只票,什么时候买卖”。这一关换个维度:同一天,在几千只票里挑谁更值得买——这才是现代量化的主流玩法。

1思维升级:横截面(cross-section)

“择时”是在时间轴上做决定;“选股”是在同一时刻、横向比较所有股票。后者叫横截面,是多因子投资的基础。三个核心工具一次学会。

2因子 = 一个能给股票排序的数

这里用经典的动量:过去 120 天到 20 天的涨幅(跳过最近 20 天,避开短期反转干扰)。因子值高 = 最近强势。

fac = px[i-20] / px[i-120] - 1     # 动量:过去120→20天涨幅

3分层回测 = 检验因子有没有用的标准动作

每个月末,把所有股票按因子分成 5 组(Q0 最低 → Q4 最高),各组等权持有,看下个月谁涨得多。如果“高分组长期跑赢低分组、且 Q0<Q1<…<Q4 单调”,因子就有用。

d["grp"] = pd.qcut(d["fac"].rank(method="first"), 5, labels=False)  # 分5组
group_ret = d.groupby("grp")["fwd"].mean()    # 各组下月平均收益

4多空 = 买最高分、卖最低分

Q4 减 Q0 的收益,剥离了大盘涨跌,是因子“纯度”的体现。

5真实结果:A 股动量是“反转”的

跑出来:动量最高组 Q4(+0.84%)反而 < 最低组 Q0(+1.04%),多空微负。动量在 A 股不灵,甚至反转——最近跌的下月反而涨,这是 A 股散户主导、爱抄底强反弹的真实特征。

别失望

这一关的目的是学方法,不是找赚钱因子。你掌握的“横截面打分 + 分层 + 多空”是评价任何因子的通用工具,下一关就用它玩转真正有效的因子。

⚠ 别把毛结果当真

这里是毛收益:没扣成本、没做市值/行业中性、没考虑涨跌停买不进。即使分层好看,离“能赚钱”还很远。

✍ 动手做

把动量取负号(fac = -动量)再跑——这其实就是“短期反转因子”,A 股反转有效的话多空应该转正。

小结

横截面=同一时刻比所有股票;因子=排序的数;分层回测+多空=检验因子的通用工具;A股动量弱、反转强。

左=按动量分5组的下月收益(Q0输家…Q4赢家);右=多空(Q4−Q0)累计。
← 上一关
回测的三大陷阱
下一关 →
因子好不好:IC 与 ICIR