20 日反转 + 成交额过滤”的可复现选股框架
  17685303588 15天前 88 0

一、研究背景与目标

很多研究发现,短期跌幅较大的股票,后续一段时间往往存在一定的“反弹”或“均值回归”特征。本文用一个非常简单的 20 日反转因子,做一个轻量级的小测试:

看看「近 20 日跌得最狠的股票」在接下来一段时间内是否有超额收益;

给出一套可复现的选股名单,方便大家在此基础上继续扩展、更严肃地回测。

二、数据与样本

市场:A 股(沪深),仅保留在市股票(status=1)

区间:2022-01-01 ~ 2025-01-01

频率:日线

使用字段:

收盘价 close

成交额 amount

数据源:panda_data.get_factor

代码片段(数据获取):截屏20260301 23.50.12.png

三、因子构造与选股逻辑

  1. 因子定义

1)20 日收益率(短期表现):

对每只股票,在日线收盘价基础上计算:

[ \text{ret_20d}(t) = \frac{P_t}{P_{t-20}} - 1 ]

2)流动性过滤:

计算近 20 日平均成交额:

[ \text{avg_amount_20d}(t) = \text{mean}_{i=t-19}^{t} (\text{amount}_i) ]

仅保留 avg_amount_20d > 1000 万 的股票参与排序,避免流动性过差的标的。

对应代码:截屏20260301 23.53.48.png
2. 调仓频率

调仓频率:每月最后一个交易日

做法:

把交易日转成 YYYYMM,

每个月取最大日期作为该月最后交易日。

截屏20260301 23.57.12.png
3. 横截面选股规则(反转思想)

在每一个调仓日 t:

1)在当日所有股票中,先做流动性过滤:

avg_amount_20d <= 1e7 的股票视为无效,不参与 ranking;

2)对剩余股票,按 ret_20d 从小到大排序,计算分位数 ret_rank_pct;

3)选股:

ret_rank_pct <= 20% 的股票认为是

近 20 日跌幅比较靠前的股票(短期超跌)

将这些股票打标 signal = 1,其余为 0。

截屏20260302 00.00.32.png

最后一次编辑于 15天前 0

暂无评论

推荐阅读
  元夕量化   15天前   52   0   0 学习资源