福利加码,Gate 广场明星带单交易员三期招募开启!
入驻发帖 · 瓜分$30,000月度奖池 & 千万级流量扶持!
如何参与:
1️⃣ 报名成为跟单交易员:https://www.gate.com/copytrading/lead-trader-registration/futures
2️⃣ 报名活动:https://www.gate.com/questionnaire/7355
3️⃣ 入驻Gate广场,持续发布交易相关原创内容
丰厚奖励等你拿:
首发优质内容即得$30 跟单体验金
每双周瓜分$10,000U内容奖池
Top 10交易员额外瓜分$20,000U登榜奖池
精选帖推流、首页推荐、周度明星交易员曝光
详情:https://www.gate.com/announcements/article/50291
ETF筛选流程与核心要点整理
获取ETF列表:通过get_all_securities([‘etf’])获取全市场ETF,筛选2013年1月1日前成立的(start_date < 2023-01-01),确保历史数据充足。
排除低流动性ETF:手动剔除成交额均值过低的特定ETF(如159003.XSHE招商快线ETF、159005.XSHE汇添富快钱ETF等,成交额均值≤2.92kw)。
数据范围:获取截至当前日期(today)前240个交易日的收盘价数据。
收益率处理:计算日收益率(pchg = close.pct_change()),形成ETF收益率矩阵(prices,行=交易日,列=ETF代码)。
聚类目标:将走势相似的ETF聚为一类,减少重复标的。
参数设置:聚类数n_clusters=30(避免簇太少导致不相似ETF误聚),使用KMeans算法,随机种子random_state=42。
簇内筛选:每个簇保留成立时间最早的ETF,原因:
成立早→成交额通常更大(流动性更好);
成立早→历史数据更多(利于模型训练)。
计算聚类轮廓系数:0.4511880967361387(中等水平,说明簇内紧密度与簇间分离度尚可,但需进一步优化)。
相关系数矩阵:计算ETF收益率的相关系数矩阵(corr = prices[df.code].corr())。
高相关对处理:筛选相关系数>0.85的ETF对,每对中仅保留成立时间更早的ETF,剔除其余(如剔除159922.XSHE、512100.XSHG等)。
设定阈值:剔除2020年后成立的ETF(如513060.XSHG恒生医疗、515790.XSHG光伏ETF等),确保剩余ETF历史数据更丰富(适用于模型训练场景)。
国债ETF特殊处理:若用于模型训练,需剔除511010.XSHE国债ETF——其走势接近直线(类似余额宝),波动极小,会干扰模型对波动特征的学习,且无预测必要性。
下跌ETF的取舍:结果中可能包含长期下跌ETF(如医药ETF、地产ETF),是否剔除取决于策略目标:
若追求稳健收益可剔除;
若策略在含下跌ETF时仍表现良好,可能说明策略鲁棒性强(但需注意“未来函数”风险,无法预知下跌ETF是否反转)。
可视化验证:绘制剩余ETF走势图(如2017年以来收盘价),人工检查相关性是否符合预期(低相关且分布合理)。
最终筛选逻辑总结
通过“初始过滤→聚类去重→相关系数二次过滤→(可选)成立时间过滤”四步,得到流动性好、走势低相关、历史数据充足的ETF池,核心目标是为策略或模型提供多样化、高质量的基础标的。