# ETF 动量轮动策略:筛选框架与多持仓实验分析 ## 1. 系统概览 本系统从全市场 ETF 中,通过 **5 层漏斗** 筛选出低相关、高流动性、覆盖多资产类别的候选池,再以动量因子选出 Top-N 等权持仓。 ``` 全市场 ETF (~900+) │ Layer 0: 拉取全量基础信息 ▼ │ Layer 1: 上市≥1年 + 排除货币/杠杆 + 日均额≥5000万 ▼ (~200+) │ Layer 2: 同一跟踪指数去重 (保留流动性最优) ▼ (~220) │ Layer 3: 三级分类链 → 10 大类资产标签 ▼ │ Layer 4: 类内等比分配预筛 (ENB × 3 预算) ▼ (~36) │ Layer 5: 相关性矩阵 + ENB → 贪心最大分散选择 ▼ (9 只, ENB 驱动) 候选池 → 动量打分 → Top-3 等权持仓 ``` --- ## 2. 五层漏斗详解 ### 2.1 Layer 0 — 全量拉取 通过 Tushare `fund_basic` 获取全量上市 ETF,字段包括: | 字段 | 用途 | |------|------| | `ts_code`, `name` | 标识 | | `fund_type` | 一级分类 (股票型/债券型/商品型/REITs/货币市场型) | | `invest_type` | 二级分类 (黄金现货合约/白银期货型/被动指数型…) | | `benchmark` | 跟踪指数名称 (用于地域+行业判断) | | `list_date` | 上市日期 | ### 2.2 Layer 1 — 基础过滤 | 条件 | 阈值 | 目的 | |------|------|------| | 上市时间 | ≥ 365 天 | 排除新基金,确保有足够历史数据 | | 基金类型 | 排除货币型 | 不参与轮动 | | 名称过滤 | 排除杠杆/反向/分级 | 避免衍生品风险 | | 日均成交额 | ≥ 5000 万元 (60 日均值) | 保证流动性 | ### 2.3 Layer 2 — 同指数去重 从 ETF 名称提取核心指数名(去除基金公司前缀和 ETF/LOF/联接等后缀),同一指数只保留日均成交额最大的一只。 ### 2.4 Layer 3 — 三级分类链 **核心创新**:不依赖纯关键词匹配,而是利用官方字段构建优先级分类链,覆盖率 100%。 ``` classify(row): ┌─ 第1级: fund_type 硬判断 │ REITs → REITs │ 货币市场型 → 货币/现金 │ 商品型 → 商品 │ ├─ 第2级: invest_type 细分 │ 黄金现货合约 / 白银期货型 / 有色金属期货型 │ 能源化工期货型 / 豆粕期货型 / 原油主题基金 → 商品 │ (fund_type=债券型) → 债券 │ ├─ 第3级: 商品名称优先 (防止 QDII 油气被误分到美股) │ name/benchmark 含 油气/原油/石油/能源行业 → 商品 │ ├─ 第4级: 地域判断 (benchmark + name) │ 恒生/港股/H股 → 港股 │ 纳斯达克/标普500/道琼斯 → 美股 │ 日经/德国/越南/印度/全球 → 全球/其他 │ ├─ 第5级: A股内部细分 │ 沪深300/中证500/创业板… → A股宽基 │ 红利/央企/ESG/AI… → A股主题 │ 其余股票型/混合型 → A股行业 │ └─ 兜底: 货币/债券关键词 → 对应类别 其他 → 未分类 ``` **最终 10 大类**:A股宽基、A股行业、A股主题、港股、美股、全球/其他、商品、债券、REITs、货币/现金 ### 2.5 Layer 4 — 类内等比分配 不使用固定的 `INTRA_CLASS_LIMITS`,改为数据驱动的等比分配: $$ \text{budget} = \text{ENB}_{\text{fallback}} \times \text{candidate\_multiplier} $$ $$ \text{limit}_i = \min\bigl(n_i,\; \max(\text{min\_per\_class},\; \lfloor r_i \times \text{budget} \rceil)\bigr) $$ 其中 $r_i = n_i / \sum n_j$ 为第 $i$ 类在筛选后样本中的占比,$n_i$ 为该类可选 ETF 数量。 默认参数:`ENB_fallback=12, candidate_multiplier=3.0, min_per_class=2`,总预算约 36 只。 每类选取日均成交额最高的 `limit_i` 只。 ### 2.6 Layer 5 — ENB 驱动 + 贪心选择 1. **计算相关性矩阵**:使用 120 个交易日收益率 2. **确定目标池大小**: $$ \text{ENB} = \exp\!\Bigl(-\sum_{i=1}^{d} p_i \ln p_i\Bigr), \quad p_i = \frac{\lambda_i}{\sum_j \lambda_j} $$ 其中 $\lambda_i$ 为相关性矩阵的特征值 (Meucci 2009)。ENB 衡量的是候选池中**独立风险因子**的有效数量。 3. **贪心选择**: - Step A:每个大类先选入流动性最好的 1 只(确保覆盖) - Step B:从剩余候选中贪心选取与已选集合最大相关系数最小的 ETF - 约束:最大相关系数 ≤ 0.85;A股行业占比 ≤ 50% --- ## 3. 多持仓对比实验 ### 3.1 实验设计 从 Layer 5 输出的 9 只候选池(ENB 驱动版本)出发,使用动量策略打分,比较不同持仓数量和权重方案。 **动量打分**:自适应回看窗口 + 加权动量得分 + 崩溃过滤器 + 溢价率惩罚。得分在 (0, 6) 区间内视为有效正动量。 **6 组实验**: | 编号 | 持仓数 | 权重方案 | 说明 | |------|--------|---------|------| | A | 1 | — | 全仓 1 只(基准) | | B | 3 | 等权 (1/N) | 每只 33.3% | | C | 3 | 反波动率 | 权重 ∝ 1/σ | | D | 5 | 等权 | 每只 20% | | E | 5 | 反波动率 | 权重 ∝ 1/σ | | F | 全部正动量 | 等权 | 所有得分>0 的 ETF 等权 | **反波动率权重公式**: $$ w_i = \frac{1/\sigma_i}{\sum_{j=1}^{N} 1/\sigma_j} $$ $\sigma_i$ 为过去 20 个交易日的日收益率标准差。 ### 3.2 实验结果 | 实验 | CAGR | 夏普比率 | 最大回撤 | Calmar | 盈利年 | |------|------|---------|---------|--------|-------| | A: 全仓1只 | 20.41% | 1.01 | -29.65% | 0.69 | 8/12 | | **B: 等权3只** | **15.11%** | **1.23** | **-17.96%** | **0.84** | **10/12** | | C: 反波动率3只 | 10.03% | 1.09 | -12.37% | 0.81 | 9/12 | | D: 等权5只 | 11.41% | 1.14 | -19.66% | 0.58 | 10/12 | | E: 反波动率5只 | 2.68% | 0.53 | -8.68% | 0.31 | 8/12 | | F: 动量>0全选等权 | 10.73% | 1.13 | -18.19% | 0.59 | 10/12 | ### 3.3 关键发现 1. **等权 3 只 (B) 综合最优**:夏普 1.23(最高)、Calmar 0.84(最高)、盈利年 10/12(并列最高) 2. **全仓 1 只 (A) 收益最高但波动最大**:CAGR 20.41%,但最大回撤 -29.65% 3. **5 只持仓边际收益递减**:D 和 E 相比 B 和 C,CAGR 大幅下降但回撤未明显改善 4. **全选正动量 (F) ≈ 等权 5 只 (D)**:说明选优比全选更重要,动量 alpha 被稀释 5. **反波动率权重降低收益**:低波动资产权重更高,倾向持有债券/货币等低收益品种 --- ## 4. 等权选 3 只的理论基础 ### 4.1 从信息论角度:√N 经验法则 当从 $N$ 个候选中选取子集构建组合时,一个经典的经验法则是: $$ k^* = \lfloor \sqrt{N} \rceil $$ 对于 $N = 9$ 的候选池: $$ k^* = \sqrt{9} = 3 $$ **直觉**:$\sqrt{N}$ 是分散化收益与集中度损失之间的平衡点。少于 $\sqrt{N}$ 时分散不足,多于 $\sqrt{N}$ 时每增加一只带来的边际方差下降不抵 alpha 稀释。 ### 4.2 从动量文献角度:Top Decile / Top Tercile Jegadeesh & Titman (1993, 2001) 的经典动量策略将资产按动量排序后分为 3~10 组,持有**最强的一组**: $$ \text{Top Group Size} = \frac{N}{D} $$ 其中 $D$ 为分组数。当 $D = 3$(三分位法)时: $$ k = \frac{N}{3} = \frac{9}{3} = 3 $$ Top Tercile (前 1/3) 是动量文献中最常用的分组方式之一,在回测中稳健地跑赢其他分位。 ### 4.3 从等权理论角度:DeMiguel (2009) DeMiguel, Garlappi & Uppal (2009) 在 "Optimal Versus Naive Diversification: How Inefficient is the 1/N Portfolio?" 中证明: > 在估计误差存在的情况下,简单的 $1/N$ 等权组合在样本外表现优于大多数均值-方差优化模型,除非样本量 $T$ 满足: > > $$T > \frac{N(N+1)}{2} \cdot c$$ > > 其中 $c$ 依赖于资产的夏普比率差异。 对于 $N = 3$:$T > 6c$(很容易满足);对于 $N = 9$:$T > 45c$(需要更长数据)。 **结论**:在小池子(N=9 候选、k=3 持仓)的场景下,等权是理论最优的权重方案。 ### 4.4 从方差分解角度:边际分散效应递减 等权组合的方差为: $$ \sigma_p^2 = \frac{1}{k}\bar{\sigma}^2 + \frac{k-1}{k}\overline{\text{Cov}} $$ 其中 $\bar{\sigma}^2$ 为平均方差,$\overline{\text{Cov}}$ 为平均协方差。 对 $k$ 求导: $$ \frac{\partial \sigma_p^2}{\partial k} = -\frac{1}{k^2}(\bar{\sigma}^2 - \overline{\text{Cov}}) $$ 边际方差下降 $\propto 1/k^2$,呈二次递减: | k | 边际方差下降 (相对于 k=1) | |---|--------------------------| | 1 → 2 | $-25.0\%$ | | 2 → 3 | $-11.1\%$ | | 3 → 4 | $-6.3\%$ | | 4 → 5 | $-4.0\%$ | 从 k=1 到 k=3,方差下降约 $\frac{2}{3}(\bar{\sigma}^2 - \overline{\text{Cov}})$,覆盖了可分散风险的大部分;k>3 后边际效益显著递减。 ### 4.5 综合公式 给定候选池大小 $N$ 和目标风险调整收益最大化,推荐持仓数: $$ \boxed{k^* = \max\!\Big(2,\; \min\!\big(\lfloor\sqrt{N}\rceil,\; \lfloor N/3 \rfloor\big)\Big)} $$ | 候选池 N | √N | N/3 | k* | |----------|-----|------|-----| | 6 | 2.4 → 2 | 2 | 2 | | 9 | 3.0 → 3 | 3 | **3** | | 12 | 3.5 → 4 | 4 | 4 | | 16 | 4.0 → 4 | 5 | 4 | | 20 | 4.5 → 5 | 6 | 5 | --- ## 5. 完整策略流程总结 ``` ┌────────────────────────────────────────┐ │ Layer 0-5: 五层漏斗筛选 (~月频重建) │ │ 输出: N 只低相关候选池 (当前 N=9) │ └──────────────┬─────────────────────────┘ ▼ ┌────────────────────────────────────────┐ │ 动量打分 (日频/周频) │ │ 自适应回看 + 加权动量 + 崩溃过滤 │ │ 输出: 各 ETF 动量得分 │ └──────────────┬─────────────────────────┘ ▼ ┌────────────────────────────────────────┐ │ 选出 Top-k 持仓 │ │ k = min(√N, N/3) = 3 │ │ 仅选得分 > 0 的 ETF │ └──────────────┬─────────────────────────┘ ▼ ┌────────────────────────────────────────┐ │ 等权配置 (1/k) │ │ 每只 33.3%,换仓时计算换手成本 │ └────────────────────────────────────────┘ ``` --- ## 6. 参考文献 - **Meucci, A.** (2009). "Managing Diversification." *Risk*, 22(5). — ENB (Effective Number of Bets) 公式来源 - **Jegadeesh, N. & Titman, S.** (1993, 2001). "Returns to Buying Winners and Selling Losers." — 动量策略与 Top Tercile 方法 - **DeMiguel, V., Garlappi, L. & Uppal, R.** (2009). "Optimal Versus Naive Diversification." *Review of Financial Studies*. — 1/N 等权优于均值-方差优化 - **Faber, M.** (2007). "A Quantitative Approach to Tactical Asset Allocation." *SSRN:962461*. — GTAA 风险因子覆盖设计 - **Antonacci, G.** (2014). "Dual Momentum Investing." *SSRN:2042750*. — 跨资产动量分散化 - **López de Prado, M.** (2016). "Building Diversified Portfolios that Outperform." *SSRN:2708678*. — HRP 层次聚类相关性优化