ARBR 微盘因子中的优缺点

这是一套结构很鲜明的周频选股策略:用ARBR排除情绪过热和过冷的股票,再从中选出EPS为正、流通市值最小的3只。它简单、可解释,历史收益也很抢眼;但高集中度和微盘风格,同样带来了非常明显的回撤代价。
回测告诉了我们什么
本次回测区间为2018年1月至2026年9月,初始资金100万元,并使用真实股票佣金和历史印花税。
| 指标 | 结果 |
|---|---|
| 累计收益 | 1157.85% |
| 年化收益 | 35.04% |
| 最大回撤 | 43.93% |
| 夏普比率 | 1.064 |
| 胜率 | 63.7% |
| 盈亏比 | 1.810 |
| 策略波动率 | 29.2% |

收益很高,但不能只看1157.85%。最大回撤43.93%,意味着净值在最坏阶段接近腰斩。2024年1月18日至2月7日出现最大回撤,恰好暴露了微盘持仓在流动性冲击下可能集体下跌的弱点。
代码在做什么
1. 建立基础股票池
策略首先剔除创业板、科创板、北交所、ST、停牌和上市不足252个交易日的股票,同时不买开盘即涨停或跌停的标的。这一步值得学习:先排除明显不可交易和数据不完整的样本,再谈因子。
2. 处理ARBR因子
代码对ARBR做了去极值、缺失值填补和横截面标准化,然后只保留标准分大约在-1至+1之间的股票。这里的ARBR不是“越高越好”,而是一道情绪过滤器:避开最过热和最过冷的两端。
3. 选出最小市值的3只
通过ARBR的股票还要求EPS大于0,最后按流通市值升序排列,买入最小的3只。因此,ARBR只决定“谁能进入候选区”,真正决定最终排名的是流通市值。
4. 每周调仓与特殊处理
策略每周第一个交易日调仓。昨日涨停的持仓不在开盘机械卖出,而是到14:00检查;若涨停打开才退出。此外,每年4月5日至30日空仓,用来规避年报密集披露期的风险。
值得学习的地方
- 逻辑可解释:ARBR负责情绪过滤,EPS负责初步盈利过滤,流通市值负责排名。
- 数据处理比较完整:因子使用前进行去极值、缺失值处理和标准化。
- 注意可交易性:主动剔除停牌、ST和开盘涨跌停股票。
- 涨停股单独管理:不因周度排名变化立即卖掉仍然强势的持仓。
- 考虑年报风险:4月空仓有清晰的风险规避意图。
主要缺陷
- 只持有3只股票:单只初始仓位约三分之一,个股跌停、停牌或财务风险都会明显冲击组合。
- 微盘风格暴露很强:50只候选和3只持仓不能阻止风格集体退潮,43.93%的最大回撤已经证明了这一点。
- ARBR可能只是弱过滤器:它不参与最终排名,应该用“删除ARBR”的对照回测判断是否真有贡献。
- 参数精度过高:ARBR上下限精确到小数点后十多位,经济含义很弱,容易引发过度拟合质疑。
- 4月日期窗口需要验证:4月5日到30日是否真比“整个4月”更好,需要稳定性测试。
- 滑点仍为0:佣金和印花税虽然已纳入,但微盘股的买卖价差、冲击成本和跌停无法成交尚未被完整模拟。
- 缺少市场级风控:除4月空仓外,没有趋势、市场宽度或流动性拥挤判断。
怎样正确看待这个结果
年化35.04%说明这套规则在历史样本中捕捉到了很强的收益来源;夏普1.064说明收益并非没有风险调整价值。但最大回撤43.93%同样说明,它不是“稳定地获得高收益”,而是“承受高波动和风格回撤,换取长期高回报”。
这套代码最值得学习的,是它把股票池过滤、因子预处理、排名、调仓和特殊状态管理连成了一个完整流程。最需要警惕的,则是不要把微盘风格收益全部当成ARBR的独立Alpha。
免责声明: 本文仅用于代码研究和量化方法讨论,不构成任何投资建议。历史回测不代表未来表现。