Skip to content

为什么说每年6月底是罗素2000最干净的套利窗口?

作 者:老余捞鱼

原创不易,转载请标明出处及原作者。

文中示例仅用于技术讨论,不构成任何操作建议。
量化策略开发应以学习和技术交流为目的。
本号不荐股、不卖课、不承诺收益。
市场有风险,请合法合规投资。

本文约 3000 字 | 预计阅读 7-10 分钟,建议先收藏。

· · ·

每年6月23日收盘进场,7月1日收盘拿钱走人。

这个规则看着像段子。但把它扔进26年数据(2000-2026)里跑一遍, 结果是这样:总收益 +45.57%, 夏普 0.60, 最大回撤 6.17%, 胜率 70.37%。

这不是玄学,本文将把底层逻辑拆开给你看,而且这东西还有论文撑腰,有指数规则背书, 而且逻辑链比大多数”技术形态”干净得多。

▲ 入场(首日收盘后)、▼ 离场(7月首个交易日收盘)

情绪驱动 or 规则驱动

市面上有很多”日历效应”:圣诞老人集会、月末效应、节前节后反弹。听着热闹,内核都是同一件事,散户在那几天心情比较好。

罗素2000年度再平衡(Annual Reconstitution)跟这些不是一类东西。

每年6月,FTSE Russell 按各公司的市值变化重新筛一遍成分股名单。 够格进罗素2000的,放进;市值缩水太多的,踢出。 规则本身平平无奇,但它制造了一个非常干净的价格效应,干净到你可以提前算出哪些票会被推上去。

指数基金跟踪的是”按规则必须发生的交易”,不是”觉得价格会涨才买的交易”。这两句话的区别,是你理解这个策略的前提。

② 行情背后:三方玩家,各怀鬼胎

Rebalance 前后,市场上有三拨人:

第一拨:被动指数基金。 拿到新的成分股名单之后,必须照单全收地调整持仓。纳入的买,剔除的卖。 价格高低?无所谓。规则写了多少量就必须执行。这是整个效应最底层的推力。

第二拨:主动基金和套利者。 他们知道指数基金会来的,所以提前动手:在再编制生效前几天买入可能被纳入的小票, 等着指数基金接盘。这个操作叫”抢跑”(front-running),合法的,而且每年到这个时候都是固定节目。

第三拨:散户。 绝大多数人对上面这件事毫无概念。

三条线合起来的效果:生效前几天,小票被抢跑推上去; 生效当天,指数基金继续在高位买入; 生效之后,套利者开始出清,价格回落。 这个短暂的涨跌脉冲,差不多就集中在6月底那5-7个交易日。

为什么小盘股特别吃这套?
纳入罗素2000后,指数基金按市值比例配仓位。一只日成交1000万的小盘股, 光指数基金可能就要买500万。几天的买压直接就能把价格拱上去一块。 同样的逻辑放在苹果(AAPL)上,水花都看不到。这个效应在标普500上几乎销声匿迹, 在罗素2000上一直有,原因就在这里。

③ 策略参数和回测设计

 回测用 pandas + yfinance + vectorbt , 参数设计简洁些就好:

  • 标的:IWM(iShares 罗素2000 ETF)
  • 数据区间:2000年5月26日 ~ 2026年7月10日
  • 入场:每年6月23日之后第一个交易日收盘买入
  • 出场:每年7月第一个交易日收盘卖出
  • 持仓周期:每年约5~7个交易日
  • 初始资金:$100,000

这里大家可能要问,为啥用 IWM 而不是直接回测罗素2000指数?因为指数本身没法交易,ETF 是最接近的标的。代价是 IWM 从2000年才开始有数据,Madhavan 2003年那篇论文里记录的1980年代的效果,这里目前测不到,只能看2000年之后这段。

④ 26年回测:看几个关键数就行

回测绩效汇总,2026年

关键指标看下表,大家一眼扫完:

指标数值备注
总收益率+45.57%26年累计,10万→14.5万
同期Buy & Hold+808.21%持有IWM不动的总回报
年化(CAGR)1.45%持仓仅占2.1%交易日
夏普(Sharpe)0.60四个假期策略里最高
最大回撤6.17%2010-2011年
交易笔数27笔每年1轮
胜率70.37%27笔里19笔盈利
平均盈利+2.80%单笔持仓约5天
平均亏损-1.82%盈亏比 3.60
空仓比例97.9%365天里不到7天有仓位

总收益 +45.57%,同期 Buy & Hold 是 +808%。差距很明显。 2000年买进去不动的回报是8倍没错,但这是拿全年100%仓位和6%以上的最大回撤换的。

这个策略的逻辑不是”跑赢指数”。一个每年只持仓6天的策略,年化1.45%, 你觉得低吗?不低了。你想想那些天天盯盘、全年满仓进出、还跑不赢指数的日内交易者。 这个策略97.9%的时间你都在睡觉,手里全是现金。

从上到下:资金曲线 / 回撤分布 / 价格与买卖信号 / 各笔盈亏

还有一个地方值得留意:平均盈利 +2.80%,平均亏损 -1.82%。盈亏比接近 1.5:1。 这是日历效应回测里很少见的。大多数情绪驱动的策略,胜率可能还行,但盈亏比往往不忍直视。

⑤ 6月23日这个日子很重要

量化和玄学之间的区别,在于你敢不敢扫参数。

这应该是多数人看到”6月23日入场”时的第一反应:该不会是把所有日期都回测了一遍,挑了最好看的那个吧? 这个毛病叫过度拟合,在量化策略里非常常见,也是这个策略最需要警惕的地方。

做个敏感性扫描,把6月入场阈值从15号一路推到29号,每次跑一遍全样本回测,看夏普和 CAGR 怎么变:

入场阈值CAGR夏普胜率年持仓天数
6月15日0.66%0.2270.37%~10天
6月21日1.15%0.4270.37%~6天
6月22日1.28%0.4970.37%~5天
6月23日 ★1.45%0.6070.37%~5天
6月24日1.21%0.5470.37%~4天
6月25日1.27%0.6166.67%~3天
6月27日0.68%0.4377.78%~2天
6月29日0.29%0.4278.95%~1天

看23号那行,CAGR 1.45% 和夏普 0.60 双双站在峰值。往前看,15号到22号指标一路爬升; 往后推,过了23号就开始往下掉,持仓也越来越短。25号的胜率虽然跳到66.67%,但年化只打了1.27%。 这说明再平衡效应的真正窗口,大概就挤在23号到25号那个区间,去早了是噪音,去晚了驱动因素已经消退了。

如果23号是硬挑出来的,”最优”应该是一个孤立的尖峰,而不是一个平滑爬到顶再滑下去的曲线。 这个形状本身,比单一数字更有说服力。

动手前这三件事需要搞搞清楚:

① 样本不大。26年27笔交易,在统计学上属于薄样本。70%胜率和0.60夏普看起来不错,但置信区间宽。别把回测结果当成铁律。

② ETF不等于指数。IWM有管理费、申购赎回摩擦、跟踪误差。这些在指数回测里看不到,实盘一定会打折扣。

③ 套利者在进化。这个效应是公开信息。FTSE Russell官网每年公布日程,所有量化基金都知道。理论上被动基金不关心价格,但抢跑者可能越来越提前,提前到把利润吃没。历史上每一个被发现的阿尔法,都是这个归宿。

⑥ 这东西到底怎么用?

不是让你每年6月23号买IWM 7月1号卖掉。 这个策略最大的用处,是当一个量化分析的框架案例。

它提醒了你三件事:

找那些有结构性逻辑支撑的效应。 不是”金叉死叉”、不是”神奇指标”,而是”某条规则导致了一笔必须发生的交易”。 这种效应的逻辑链条是透明的,你会清楚地知道它什么时候会失效。

用最少的参数描述一个假设。 入场日期、出场日期、标的。三个参数,就能覆盖整个策略。 参数越少,越不容易过拟合,也越容易判断这个假设到底行不行。

风险调整后收益,比绝对收益重要一万倍。 5天赚2%,剩下358天睡大觉,夏普0.60。这个数字放在任何主动管理基金池里都不丢人。 你拿它跟”全年满仓追涨杀跌年化-5%”比,高下立判。

下面是核心回测代码,Python 量化党可以直接跑:

import pandas as pd
import numpy as np
import yfinance as yf
import vectorbt as vbt
from datetime import timedelta

SYMBOL = "IWM"
START_DATE = "2000-01-01"
END_DATE = "2030-01-01"
INIT_CASH = 100_000

df = yf.download(SYMBOL, start=START_DATE, end=END_DATE,
                  interval="1d", multi_level_index=False, auto_adjust=True)
df.reset_index(inplace=True)
df["Date"] = pd.to_datetime(df["Date"])
df.set_index("Date", inplace=True)


# 入场:6月23日之后第一个交易日收盘买入
# 出场:7月第一个交易日收盘卖出
entries = (df.index.month == 6) & (df.index.day > 23)
exits   = (df.index.month == 7) & (df.index.day <= 7)

pf = vbt.Portfolio.from_signals(
    df["Close"], entries, exits, init_cash=INIT_CASH
)

stats = pf.stats()

#罗素2000 #小市值指数 #指数再平衡 #量化策略 #IWM #年度套利 #日历效应 #被动投资 #回测分析 # FTSERussell #小盘股

Published inAI&Invest专栏

Be First to Comment

    发表回复