diff --git a/docs/etf_rotation_deep_analysis.md b/docs/etf_rotation_deep_analysis.md new file mode 100644 index 0000000..88c8192 --- /dev/null +++ b/docs/etf_rotation_deep_analysis.md @@ -0,0 +1,289 @@ +# ETF轮动策略深度分析报告 + +> 生成日期:2025年4月 +> 分析范围:全球市场.py(聚宽移植版)与原始4只ETF对比实验 + +--- + +## 一、为什么收益这么高? + +### 1.1 回测结果 + +| 指标 | 策略 | 沪深300基准 | +|---|---|---| +| 累计收益 | **1367.24%** | 61.99% | +| CAGR | **44.3%** | 6.8% | +| Sharpe | **1.50** | - | +| 最大回撤 | **-16.9%** | - | +| Calmar | **2.62** | - | +| 盈利年份 | 8/8 | - | + +### 1.2 各ETF买入持有收益对比 + +| ETF | 代码 | 累计收益 | CAGR | 最大回撤 | +|---|---|---|---|---| +| 黄金ETF | 518880.SH | 239.7% | 18.2% | -24.9% | +| 创业板ETF | 159915.SZ | 213.6% | 16.9% | -56.6% | +| 原油LOF | 501018.SH | 143.6% | 12.9% | -62.5% | +| 有色金属ETF | 159980.SZ | 106.8% | 12.1% | -32.9% | +| 日经225ETF | 513520.SH | 104.5% | 11.0% | -29.3% | +| 德国DAX ETF | 513030.SH | 94.5% | 9.5% | -37.4% | +| 30年国债ETF | 511090.SH | 14.9% | 4.9% | -11.4% | +| **纳指100ETF** | **513100.SH** | **-12.1%** | **-1.8%** | **-85.5%** | + +**关键发现:纳指100ETF买入持有竟然亏损12%**,但纳指100指数同期涨了约170%。这是因为QDII额度限制导致溢价暴涨暴跌,ETF价格严重偏离净值。 + +### 1.3 持仓时间分布 + +| ETF | 持有天数 | 占比 | 主要持有年份 | +|---|---|---|---| +| 纳指100ETF | 300天 | 16.9% | 2023-2024 | +| 创业板ETF | 284天 | 16.0% | 2020-2021, 2025 | +| 原油LOF | 277天 | 15.6% | 2021-2022-2023 | +| 黄金ETF | 230天 | 13.0% | 2019, 2024-2025 | +| 红利低波ETF | 190天 | 10.7% | 2022, 2025-2026 | +| 有色金属ETF | 149天 | 8.4% | 2021-2022 | +| 德国DAX ETF | 145天 | 8.2% | 2022-2025 | +| 日经225ETF | 128天 | 7.2% | 2020-2021 | +| 30年国债ETF | 42天 | 2.4% | 2025-2026 | + +### 1.4 高收益的五个原因 + +| 原因 | 贡献估计 | 未来可复制? | +|---|---|---| +| **全球低相关资产配置** | ~30% | ✅ 可以 | +| **2019-2025极端事件密集** | ~25% | ❓ 不确定 | +| **QDII溢价意外套利** | ~15% | ❌ 不可复制 | +| **标的池前视选择偏差** | ~5% | ❌ 不可复制 | +| **动量因子本身的alpha** | ~10% | ⚠️ 部分可以 | + +#### 事件日历 + +| 年份 | 事件 | 策略收益 | 主要持仓 | +|---|---|---|---| +| 2019 | 贸易战 | 30.6% | 黄金 | +| 2020 | 疫情 | 39.7% | 创业板 | +| 2021 | 流动性泛滥 | 42.9% | 创业板+原油 | +| 2022 | 俄乌战争 | **52.0%** | 原油+红利低波 | +| 2023 | AI起步 | 17.3% | 原油+纳指 | +| 2024 | AI牛市+降息预期 | 41.0% | 纳指+黄金 | +| 2025 | DeepSeek+关税战 | **72.3%** | 创业板+黄金 | + +### 1.5 真实可期的CAGR + +综合来看,**未来可期的CAGR大约在 10-15% 范围**,而非回测的44%。 + +--- + +## 二、这个持仓池是后视镜特意设计的吗? + +### 2.1 原始策略溯源 + +策略来源:聚宽 https://www.joinquant.com/post/1399(《多因子策略入门》) + +**原始策略只有4只ETF**: + +```python +g.etf_pool = [ + '518880.XSHG', # 黄金ETF + '513100.XSHG', # 纳指100 + '159915.XSHE', # 创业板100 + '510180.XSHG', # 上证180 +] +``` + +### 2.2 扩展过程 + +后续版本有人扩展到9只,新增了: + +| 新增ETF | 上市日期 | 添加原因推测 | +|---|---|---| +| 513520 日经225 | 2019-06 | 日经从2020起暴涨 | +| 513030 德国DAX | 2014-09 | 欧洲2021-2024稳定涨 | +| 159980 有色金属 | 2019-12 | 2020-2021大宗超级周期 | +| 501018 南方原油 | 2016-06 | 2022俄乌战争暴涨 | +| 512890 红利低波 | 2019-01 | 2022-2024防守利器 | +| 511090 30年国债 | 2023-06 | 2023-2025债牛 | + +**每一个新增标的都恰好对应了某段时间的"明星资产"。** + +同时去掉了原版的上证180(510180),因为大盘蓝筹表现平庸。 + +### 2.3 三组对比实验 + +为验证"后视镜偏差",运行了三组实验(2019-2026,相同策略参数): + +| 实验 | ETF数 | 累计收益 | CAGR | Sharpe | 最大回撤 | Calmar | 调仓次 | +|---|---|---|---|---|---|---|---| +| **A: 原始4只** (聚宽原版) | 4 | 863% | **36.2%** | **1.50** | **-15.7%** | **2.31** | 150 | +| B: 扩展9只 (后视镜版) | 9 | 1175% | 41.6% | 1.42 | -19.5% | 2.13 | 245 | +| C: 反面池 (踩坑版) | 9 | 1310% | **43.5%** | 1.44 | -22.5% | 1.94 | 268 | + +**反面池包含**:中概互联、恒生ETF、纳指100、黄金、房地产、创业板、证券ETF、国债、原油 + +#### 年度收益对比 + +| 年份 | A: 原始4只 | B: 后视镜版 | C: 反面池 | +|---|---|---|---| +| 2019 | 29.8% | 30.6% | 18.8% | +| 2020 | 30.8% | 25.0% | 7.6% | +| 2021 | 20.6% | 42.9% | 38.0% | +| 2022 | 21.1% | 52.0% | 45.4% | +| 2023 | 9.2% | 15.2% | 18.1% | +| 2024 | 59.7% | 48.0% | 65.3% | +| 2025 | 83.1% | 71.8% | 92.7% | +| 2026 | 12.6% | 16.5% | 36.2% | + +#### 选池偏差量化 + +- 原始策略 CAGR: **36.23%** +- 后视镜版 CAGR: 41.55% → 选池偏差 = **+5.32%** +- 反面池 CAGR: 43.51% → 选池偏差 = **+7.28%** +- 选池影响范围: 36% ~ 44%(差距 7.3%) + +### 2.4 颠覆性发现 + +**1. 原始4只反而风险调整收益最好** +- 原版4只的 Sharpe=1.50、MaxDD=-15.7%、Calmar=2.31 **全面优于**后视镜版和反面池 +- 精简配置在风险调整后是最优的 + +**2. "反面池"竟然比"后视镜版"还高** +- 包含中概互联、房地产ETF的"踩坑版"CAGR=43.5% +- 动量策略会**自动避开表现差的标的**(中概、房地产动量为负时不会选中) +- 加入更多低相关标的 → 增加轮动空间 → 更容易找到赢家 +- **选池的好坏对动量策略影响远小于预期** + +**3. 高收益的真正来源不是选池,而是策略本身 + 时代红利** +- 原始4只就有 CAGR=36% +- 高收益核心:全球低相关资产 + 动量轮动 + 2019-2025极端事件密集 +- 选池偏差只贡献了 5-7% 的 CAGR 增量 + +**4. 更多标的 = 更高收益 但 更大回撤** +- 4只: CAGR=36%, MaxDD=-15.7%, Calmar=2.31 +- 9只(精选): CAGR=41%, MaxDD=-19.5%, Calmar=2.13 +- 9只(随机): CAGR=43%, MaxDD=-22.5%, Calmar=1.94 + +### 2.5 结论 + +**这9只ETF池不是"后视镜特别设计"的关键问题所在。** + +真正的高收益来源是: +1. 全球低相关资产配置(黄金/纳指/创业板 就够了) +2. 2019-2025 全球极端事件频发(贸易战→疫情→俄乌→AI) +3. 动量因子在极端市场中的天然优势 + +**真正该担心的是:未来市场是否还会如此"极端且轮动清晰"。** + +--- + +## 三、A股可交易的全球资产完整候选池 + +以下是从Tushare获取的完整候选池,按资产类别分组,每个方向取日均成交额最大的代表性ETF。 + +### 3.1 全球权益市场(14个方向) + +| 市场 | 方向 | 代码 | 名称 | 上市日期 | 日均额(万) | 同类数 | +|---|---|---|---|---|---|---| +| **美国** | 纳指100 | 159941.SZ | 纳指ETF广发 | 2015-07 | 89万 | 10只 | +| | 标普500 | 513500.SH | 标普500ETF博时 | 2014-01 | 29万 | 23只 | +| | 道琼斯 | 513400.SH | 道琼斯ETF鹏华 | 2024-02 | 20万 | 3只 | +| **港股** | 恒生指数 | 159920.SZ | 恒生ETF华夏 | 2012-10 | 53万 | 6只 | +| | 恒生科技 | 513130.SH | 恒生科技ETF | 2021-06 | 541万 | 52只 | +| | 恒生医疗 | 513060.SH | 恒生医疗ETF | 2021-03 | 74万 | 9只 | +| | 中概互联 | 513050.SH | 中概互联网ETF | 2017-01 | 254万 | 5只 | +| **日本** | 日经225 | 513520.SH | 日经ETF华夏 | 2019-06 | 41万 | 6只 | +| **欧洲** | 德国DAX | 159561.SZ | 德国ETF嘉实 | 2024-04 | 18万 | 3只 | +| | 法国CAC | 513080.SH | 法国ETF华安 | 2020-06 | 17万 | 3只 | +| **新兴市场** | 印度 | 164824.SZ | 印度基金LOF | 2018-08 | 6万 | 2只 | +| | 东南亚 | 513730.SH | 东南亚科技ETF | 2023-12 | 4万 | 3只 | +| | 沙特 | 520830.SH | 沙特ETF | 2024-07 | 18万 | 2只 | + +### 3.2 A股权益市场(16个方向) + +| 类别 | 方向 | 代码 | 名称 | 日均额(万) | +|---|---|---|---|---| +| **宽基** | 沪深300 | 510300.SH | 沪深300ETF | 389万 | +| | 中证500 | 510500.SH | 中证500ETF | 502万 | +| | 中证1000 | 512100.SH | 中证1000ETF | 254万 | +| | 创业板 | 159915.SZ | 创业板ETF易方达 | - | +| | 科创50 | 588460.SH | 科创50增强ETF | 4万 | +| | 上证50 | 510100.SH | 上证50ETF | 47万 | +| **行业** | 半导体 | 588170.SH | 科创半导体ETF | 78万 | +| | 新能源车 | 515030.SH | 新能源车ETF | 26万 | +| | 军工 | 512710.SH | 军工龙头ETF | 52万 | +| | 白酒 | 512690.SH | 酒ETF | 85万 | +| | 银行 | 512800.SH | 银行ETF | 72万 | +| | 证券 | 159841.SZ | 证券ETF | 27万 | +| | 煤炭 | 515220.SH | 煤炭ETF | 91万 | +| | 医疗 | 159506.SZ | 港股通医疗ETF | 37万 | +| | 房地产 | 512200.SH | 房地产ETF | 22万 | +| | 红利低波 | 512890.SH | 红利低波ETF华泰柏瑞 | - | + +### 3.3 商品(6个方向) + +| 方向 | 代码 | 名称 | 上市日期 | 日均额(万) | +|---|---|---|---|---| +| 黄金 | 518880.SH | 黄金ETF华安 | 2013-07 | 856万 | +| 白银 | 161226.SZ | 国投白银LOF | 2015-08 | 90万 | +| 原油 | 160723.SZ | 嘉实原油LOF | 2017-05 | 207万 | +| 有色金属 | 560860.SH | 工业有色ETF | 2023-03 | 60万 | +| 豆粕 | 159985.SZ | 豆粕ETF | 2019-12 | 81万 | +| 能源化工 | 159981.SZ | 能源化工ETF | 2020-01 | 259万 | + +### 3.4 固收(6个方向) + +| 方向 | 代码 | 名称 | 上市日期 | 日均额(万) | +|---|---|---|---|---| +| 国债 | 511100.SH | 国债ETF华夏 | 2023-12 | 1105万 | +| 30年国债 | 511090.SH | 30年国债ETF | 2023-06 | 418万 | +| 政金债 | 511580.SH | 国债政金债ETF | 2022-12 | 224万 | +| 可转债 | 511380.SH | 可转债ETF | 2020-04 | 1330万 | +| 信用债 | 511200.SH | 信用债ETF | 2025-02 | 569万 | +| 短融 | 511360.SH | 短融ETF | 2020-09 | 4972万 | + +### 3.5 另类(2个方向) + +| 方向 | 代码 | 名称 | 说明 | +|---|---|---|---| +| REITs | 508056.SH | 中金普洛斯REIT | 流动性低 | +| 货币 | 511880.SH | 银华日利ETF | 现金等价物 | + +### 3.6 总结 + +| 大类 | 方向数 | 说明 | +|---|---|---| +| 全球权益 | 14 | 美/港/日/欧/印度/沙特/东南亚 | +| A股权益 | 16 | 宽基6 + 行业10 | +| 商品 | 6 | 金/银/油/有色/豆粕/化工 | +| 固收 | 6 | 国债/长债/政金/转债/信用/短融 | +| 另类 | 2 | REITs + 货币 | +| **总计** | **44** | A股可交易的全球资产全版图 | + +--- + +## 四、关键结论 + +### 4.1 关于"ETF价格 vs 指数价格" + +| 方案 | 优点 | 缺点 | +|---|---|---| +| 用ETF价格 | 收益完全可兑现、反映真实交易 | 上市晚的标的有数据缺口 | +| 用指数价格 | 数据覆盖完整 | **收益不可兑现**(ETF未上市时无法交易) | + +**结论:ETF回测必须用ETF价格,可兑现性优先于数据完整性。** + +### 4.2 关于选池偏差 + +- 选池偏差对CAGR的影响仅 **5-7%** +- 动量策略对选池不敏感:差的标的动量自然为负,不会被选中 +- 原始4只的Calmar比率反而优于扩展9只 +- **策略核心是"全球低相关+动量轮动",不是"选对池子"** + +### 4.3 未来预期 + +| 场景 | 预期CAGR | 说明 | +|---|---|---| +| 持续高波动+低相关 | 15-20% | 类似2019-2025 | +| 正常市场 | 10-15% | 动量因子长期预期 | +| 全球资产同涨同跌 | 5-10% | "相关性归一"风险 | +| 长期震荡无趋势 | 0-5% | 动量策略最差场景 |