Files
etf/docs/etf_pool_selection.md
aszerW a600a71aa3 docs(etf_pool_selection): 添加ETF候选池筛选报告
详细记录10个指数的ETF筛选过程:
- 每个指数的匹配规则、候选总数、Top4列表(含规模/成交额/费率)
- 完整的组内相关性矩阵(基于单位净值日收益率)
- 异常ETF排除记录(增强策略型、沪港通型)
- 原油商品价格型vs股票型的排除分析(R²对比)
- 最终候选池汇总
2026-06-20 23:14:28 +08:00

16 KiB
Raw Blame History

轮动策略 ETF 候选池筛选报告

文档版本: v1.0
创建日期: 2026-06-20
数据来源: rotation/results/etf_basic_full.csvTushare etf_basic + enrich_etf_data 增强)


一、筛选目标

config_simple.yaml 中每个指数/商品标的,从全市场 A 股场内 ETF 中筛选出跟踪同一底层资产、市值最大的 Top4 ETF 作为候选交易标的池。


二、筛选方法

2.1 数据源

  • 基础数据: Tushare etf_basic 接口,共 1601 只场内基金ETF + LOF
  • 增强字段: 通过 enrich_etf_data.py 补充基金规模亿份×NAV、日均成交额、最新净值等
  • 净值数据: Tushare fund_nav 接口,取 unit_nav(单位净值)计算收益率

2.2 匹配规则

由于 Tushare 的 index_code 字段包含交易所后缀(如 GDAXI.GYHSI.HI),不可直接精确匹配。采用以下策略:

  1. 先反查: 用当前 trade_source ETF 反查其在 CSV 中的真实 index_codeindex_name
  2. 精确匹配: 对 index_code 有值的 ETFindex_code 精确匹配
  3. 关键词匹配: 对 index_code 为 NaN 的(如原油 LOFindex_name 关键词模糊匹配
  4. 人工校验: 排除增强策略型、沪港通型等底层资产不同的 ETF

2.3 排序规则

fund_scale_yi(基金规模,亿元)降序排列,取 Top4。不足 4 只则按实际数量。

2.4 异常排除

异常 ETF 原因 替换为
159977.SZ 天弘创业板ETF 增强策略型,与其他纯跟踪 ETF 相关性仅 0.83 159957.SZ 华夏创业板ETF
513660.SH 华夏沪港通恒生ETF 沪港通机制,净值计算方式不同,与其他恒生 ETF 相关性仅 0.27 513210.SH 易方达恒生ETF

三、各指数筛选过程与原始数据

3.1 创业板指 (399006.SZ)

匹配规则: index_code = 399006.SZ
候选总数: 17 只
Top4 选取:

排名 代码 名称 规模(亿) 日均成交(万) 费率
1 159915.SZ ★ 易方达创业板ETF 448.9 567,036 0.15%
2 159952.SZ 广发创业板ETF 87.7 59,444 0.15%
3 159957.SZ 华夏创业板ETF 21.5 20,636 0.15%
4 159948.SZ 南方创业板ETF 47.6 11,196 0.15%

注: 原始 Top3 为 159977.SZ天弘创业板ETF因增强策略型排除替换为 159957.SZ

相关性矩阵 (1568 共同交易日):

159915 159952 159957 159948
159915 1.0000 1.0000 0.9999 1.0000
159952 1.0000 1.0000 0.9999 1.0000
159957 0.9999 0.9999 1.0000 0.9999
159948 1.0000 1.0000 0.9999 1.0000
  • 平均相关性: 0.9999
  • 最低相关性: 0.9999(广发 vs 华夏)

3.2 红利低波 (H30269.CSI)

匹配规则: index_code = H30269.CSI
候选总数: 6 只
Top4 选取:

排名 代码 名称 规模(亿) 日均成交(万) 费率
1 512890.SH ★ 华泰柏瑞中证红利低波动ETF 324.1 84,666 0.50%
2 563020.SH 易方达中证红利低波动ETF 111.8 29,589 0.15%
3 159547.SZ 华夏中证红利低波动ETF 14.0 14,909 0.15%
4 560150.SH 红利TK 7.3 1,079 0.40%

相关性矩阵 (539 共同交易日):

512890 563020 159547 560150
512890 1.0000 0.9893 0.9965 0.9932
563020 0.9893 1.0000 0.9863 0.9838
159547 0.9965 0.9863 1.0000 0.9908
560150 0.9932 0.9838 0.9908 1.0000
  • 平均相关性: 0.9900
  • 最低相关性: 0.9838(易方达 vs 红利TK

3.3 黄金 (Au99.99.SGE / SHAU.SGE)

匹配规则: index_code IN (Au99.99.SGE, SHAU.SGE)
候选总数: 14 只Au99.99 基准 7 只 + SHAU 基准 7 只)
Top4 选取:

排名 代码 名称 规模(亿) 日均成交(万) 费率 基准
1 518880.SH ★ 华安黄金ETF 965.5 322,467 0.50% Au99.99
2 159937.SZ 博时黄金ETF 433.6 74,446 0.50% Au99.99
3 159934.SZ 易方达黄金ETF 367.9 89,130 0.50% Au99.99
4 518800.SH 国泰黄金ETF 353.6 55,747 0.50% Au99.99

相关性矩阵 (1568 共同交易日):

518880 159937 159934 518800
518880 1.0000 0.9999 0.9920 0.9899
159937 0.9999 1.0000 0.9920 0.9899
159934 0.9920 0.9920 1.0000 0.9821
518800 0.9899 0.9899 0.9821 1.0000
  • 平均相关性: 0.9910
  • 最低相关性: 0.9821(易方达 vs 国泰)

3.4 德国DAX (GDAXI.GY)

匹配规则: index_code = GDAXI.GY
候选总数: 2 只(全市场仅此 2 只跟踪 DAX
Top4 选取:

排名 代码 名称 规模(亿) 日均成交(万) 费率
1 159561.SZ 嘉实德国DAXETF(QDII) 20.9 12,446 0.50%
2 513030.SH ★ 华安德国(DAX)ETF 18.3 8,875 0.80%

相关性矩阵 (522 共同交易日):

159561 513030
159561 1.0000 0.9947
513030 0.9947 1.0000
  • 平均相关性: 0.9947

3.5 有色金属 (IMCI.SHF)

匹配规则: index_code = IMCI.SHF
候选总数: 1 只(全市场仅此 1 只跟踪有色金属期货价格指数)
Top4 选取:

排名 代码 名称 规模(亿) 日均成交(万) 费率
1 159980.SZ ★ 大成有色金属期货ETF 61.0 46,989 0.60%

注: 其余有色金属 ETF 跟踪的是股票指数(如中证有色金属矿业/工业主题),底层资产不同,不纳入候选。


3.6 恒生指数 (HSI.HI)

匹配规则: index_code = HSI.HI
候选总数: 5 只
Top4 选取:

排名 代码 名称 规模(亿) 日均成交(万) 费率
1 159920.SZ ★ 华夏恒生ETF 93.3 33,200 0.60%
2 513600.SH 南方恒生指数ETF 17.1 10,292 0.50%
3 159271.SZ 鹏华恒生ETF 2.3 520 0.50%
4 513210.SH 易方达恒生ETF(QDII) 0.6 732 0.50%

注: 原始 Top2 为 513660.SH华夏沪港通恒生ETF因沪港通机制排除替换为 513210.SH

相关性矩阵 (209 共同交易日):

159920 513600 159271 513210
159920 1.0000 0.9988 0.9941 1.0000
513600 0.9988 1.0000 0.9952 0.9989
159271 0.9941 0.9952 1.0000 0.9942
513210 1.0000 0.9989 0.9942 1.0000
  • 平均相关性: 0.9969
  • 最低相关性: 0.9941(华夏 vs 鹏华)

3.7 恒生科技 (HSTECH.HI)

匹配规则: index_code = HSTECH.HI
候选总数: 13 只
Top4 选取:

排名 代码 名称 规模(亿) 日均成交(万) 费率
1 513180.SH 华夏恒生科技ETF(QDII) 444.0 341,088 0.50%
2 513130.SH ★ 华泰柏瑞恒生科技ETF(QDII) 392.9 384,592 0.20%
3 513010.SH 易方达恒生科技ETF(QDII) 282.9 128,761 0.20%
4 159740.SZ 大成恒生科技ETF(QDII) 171.9 134,470 0.50%

相关性矩阵 (1231 共同交易日):

513180 513130 513010 159740
513180 1.0000 0.9953 0.9999 0.9998
513130 0.9953 1.0000 0.9953 0.9953
513010 0.9999 0.9953 1.0000 0.9998
159740 0.9998 0.9953 0.9998 1.0000
  • 平均相关性: 0.9976
  • 最低相关性: 0.9953(华泰柏瑞 vs 易方达/大成)

3.8 日经225 (N225.JT)

匹配规则: index_code = N225.JT
候选总数: 4 只
Top4 选取:

排名 代码 名称 规模(亿) 日均成交(万) 费率
1 513880.SH 华安日经225ETF 27.9 47,208 0.20%
2 513520.SH ★ 华夏野村日经225ETF 24.7 55,341 0.20%
3 513000.SH 易方达奥明日经225ETF(QDII) 23.1 29,234 0.20%
4 159866.SZ 日经ETF工银 13.5 33,442 0.20%

相关性矩阵 (1268 共同交易日):

513880 513520 513000 159866
513880 1.0000 0.9336 0.9850 0.9915
513520 0.9336 1.0000 0.9442 0.9384
513000 0.9850 0.9442 1.0000 0.9873
159866 0.9915 0.9384 0.9873 1.0000
  • 平均相关性: 0.9634
  • 最低相关性: 0.9336(华安 vs 华夏)
  • 说明: 华安日经225使用野村指数版本华夏使用野村另一版本两者在净值披露时点上略有差异

3.9 纳指100 (NDX.NASDAQ)

匹配规则: index_code = NDX.NASDAQ
候选总数: 12 只
Top4 选取:

排名 代码 名称 规模(亿) 日均成交(万) 费率
1 159941.SZ 广发纳指100ETF 339.8 251,747 0.80%
2 513100.SH ★ 国泰纳斯达克100(QDII-ETF) 190.9 116,472 0.60%
3 513300.SH 华夏纳斯达克100ETF(QDII) 129.6 88,050 0.60%
4 159501.SZ 嘉实纳斯达克100ETF(QDII) 120.1 25,504 0.50%

相关性矩阵 (736 共同交易日):

159941 513100 513300 159501
159941 1.0000 0.9996 0.9891 0.9976
513100 0.9996 1.0000 0.9889 0.9975
513300 0.9891 0.9889 1.0000 0.9870
159501 0.9976 0.9975 0.9870 1.0000
  • 平均相关性: 0.9933
  • 最低相关性: 0.9870(华夏 vs 嘉实)

3.10 原油 (CL=F → WTI 原油价格)

匹配规则: index_name 包含 WTI原油价格 / BRENT原油 / 标普高盛原油商品 / 原油价格收益率
候选总数: 3 只(全市场仅 3 只跟踪原油商品价格的 LOF
Top4 选取:

排名 代码 名称 规模(亿) 日均成交(万) 费率 跟踪基准
1 160723.SZ ★ 嘉实原油(QDII-LOF-FOF) 14.8 70,634 1.00% WTI×100%
2 161129.SZ 易方达原油(QDII-LOF-FOF) 7.18 58,148 1.00% 标普高盛原油×100%
3 501018.SH 南方原油(QDII-LOF-FOF) 13.36 70,781 1.00% WTI×60%+BRENT×40%

注: 其余 17 只石油天然气 ETF 跟踪的是石油公司股票指数(非商品价格),不纳入候选。

相关性矩阵 (1567 共同交易日):

160723 161129 501018
160723 1.0000 0.9572 0.9581
161129 0.9572 1.0000 0.9802
501018 0.9581 0.9802 1.0000
  • 平均相关性: 0.9651
  • 最低相关性: 0.9572(嘉实 vs 易方达)
  • 三者的年化 TE两两之间: 6.67%~9.64%,全区间累计收益差约 20%

石油天然气股票型 ETF 排除分析

全市场另有 17 只石油天然气相关 ETF/LOF但它们跟踪的是石油天然气公司股票指数(非商品价格),与 WTI 原油价格的相关性远低于商品价格型 LOF。

以 160723.SZ嘉实原油/WTI净值为基准与 17 只石油股票型 ETF 计算相关性:

排名 代码 名称 相关系数 累计收益
1 160416.SZ 华安标普全球石油LOF 0.6321 0.400 +89.5%
2 162719.SZ 广发道琼斯美国石油LOF 0.5579 0.311 +165.0%
3 159518.SZ 嘉实标普石油天然气QDII 0.5550 0.308 +5.1%
4 513350.SH 富国标普石油天然气QDII 0.5527 0.306 +10.3%
5 162411.SZ 华宝标普石油天然气上游LOF 0.5430 0.295 +99.7%
6 159588.SZ 景顺石油天然气ETF 0.3971 0.158 +21.4%
7-13 其余 7 只 国证石油天然气系列ETF 0.20~0.38 0.04~0.14 -14%~+29%

对照:商品价格型 LOF

代码 名称 相关系数 累计收益
161129.SZ 易方达原油 0.9572 0.916 +28.3%
501018.SH 南方原油 0.9581 0.918 +35.1%

排除决策依据

  1. 相关性断崖式下降:商品价格型 R²=0.92,股票型最高仅 R²=0.40,差距 2.3 倍
  2. 累计收益严重偏离WTI 累计 +48%,石油股票型从 -14% 到 +165% 不等,完全不可互换
  3. 底层资产本质不同:石油股票受公司基本面、分红、管理层等因素影响,与原油价格的联动远不如期货合约直接

结论:当前 3 只商品价格型 LOF160723/161129/501018已是原油方向的最优选择无需补充石油股票型 ETF。


四、汇总

4.1 各指数组内相关性总览

指数 ETF数 共同天数 平均相关 最低相关 最高相关 状态
创业板指 4 1568 0.9999 0.9999 1.0000
红利低波 4 539 0.9900 0.9838 0.9965
黄金 4 1568 0.9910 0.9821 0.9999
德国DAX 2 522 0.9947 0.9947 0.9947
有色金属 1 仅1只
恒生指数 4 209 0.9969 0.9941 1.0000
恒生科技 4 1231 0.9976 0.9953 0.9999
日经225 4 1268 0.9634 0.9336 0.9915
纳指100 4 736 0.9933 0.9870 0.9996
原油 3 1567 0.9651 0.9572 0.9802

4.2 最终候选池

指数 当前ETF 候选池
创业板指 159915.SZ 159915.SZ, 159952.SZ, 159957.SZ, 159948.SZ
红利低波 512890.SH 512890.SH, 563020.SH, 159547.SZ, 560150.SH
黄金 518880.SH 518880.SH, 159937.SZ, 159934.SZ, 518800.SH
德国DAX 513030.SH 159561.SZ, 513030.SH
有色金属 159980.SZ 159980.SZ
恒生指数 159920.SZ 159920.SZ, 513600.SH, 159271.SZ, 513210.SH
恒生科技 513130.SH 513180.SH, 513130.SH, 513010.SH, 159740.SZ
日经225 513520.SH 513880.SH, 513520.SH, 513000.SH, 159866.SZ
纳指100 513100.SH 159941.SZ, 513100.SH, 513300.SH, 159501.SZ
原油 160723.SZ 160723.SZ, 161129.SZ, 501018.SH

五、关键决策记录

5.1 原油只选商品价格型,不选石油股票型

全市场有 20+ 只石油天然气相关 ETF/LOF但底层资产完全不同

  • 商品价格型3 只): 直接投资 WTI/BRENT 原油期货合约
  • 石油股票型17 只): 投资石油天然气上市公司股票

配置中 CL=F 对应 WTI 原油期货价格,因此只纳入商品价格型的 3 只。

5.2 有色金属只有 1 只候选

全市场跟踪有色金属期货价格指数IMCI.SHF的 ETF 仅 159980.SZ 一只。其余 23 只跟踪的是有色金属股票指数(如中证有色金属矿业/工业/细分主题),底层资产是股票而非期货,不纳入。

5.3 德国DAX 只有 2 只候选

全市场跟踪 DAX 指数的 ETF 仅 2 只,无其他欧洲宽基可替代(法国 CAC40 是不同指数)。

5.4 排除增强策略型 ETF

159977.SZ天弘创业板ETF是增强策略型与其他纯被动跟踪 ETF 的相关性仅 0.83,替换为 159957.SZ华夏创业板ETF纯被动型

5.5 排除沪港通型 ETF

513660.SH华夏沪港通恒生ETF通过沪港通机制投资净值计算方式与直接投资的恒生 ETF 完全不同,与其他恒生 ETF 相关性仅 0.27,替换为 513210.SH易方达恒生ETF


六、复现方法

# 数据源
rotation/results/etf_basic_full.csv

# 筛选脚本(交互式)
/Users/aszer/miniforge3/envs/qa/bin/python3

# 关键步骤:
# 1. 用 trade_source ETF 反查 index_code含交易所后缀
# 2. 按 index_code 精确匹配 + index_name 关键词匹配
# 3. 按 fund_scale_yi 降序取 Top4
# 4. 排除增强策略型、沪港通型等异常 ETF
# 5. 用 fund_nav 获取 unit_nav计算日收益率生成相关性矩阵