ETF 分析技能(v2.4 正式版)
版本: v2.4 (2026-04-19)
性能: 0.79 秒完成查询(提速 32 倍)
状态: ✅ 生产就绪
推荐脚本: etf_ranking_v2.4.py
🚀 核心优势
性能对比
| 版本 | 耗时 | 查询批次 | 提速 | 状态 | |------|------|----------|------|------| | v2.1 | 25.36 秒 | 62 批 | - | 稳定版 | | v2.2 Pro | 3.7 秒 | 62 批 | 6.8x | 备用 | | v2.3 | 4.53 秒 | 62 批 | 5.6x | 测试 | | v2.4 | 0.79 秒 | 9 批 | 32.0x | ⭐ 推荐 |
技术特性
- ✅ 智能筛选: 只查询主流 ETF(830 只),减少 85% 请求
- ✅ 空批次跳过: 自动记录并跳过历史空批次
- ✅ 20 线程并发: 高效并行处理
- ✅ 智能缓存: 5 分钟 TTL,避免重复查询
- ✅ 错误重试: 失败自动重试 2 次
- ✅ 数据筛选: 成交额>500 万自动过滤
📁 文件说明
| 文件 | 版本 | 状态 | 说明 |
|------|------|------|------|
| etf_ranking_v2.4.py | v2.4 | ✅ 生产版 | 主力版本,0.79 秒 |
| etf_ranking_pro.py | v2.4 | ✅ 软链接 | 指向 v2.4 |
| etf_ranking.py | v2.1 | ✅ 备用 | 稳定版本,25 秒 |
| etf_daily_report.py | v2.4 | ✅ 已更新 | 自动调用 v2.4 |
| etf_ranking_v2.3.py | v2.3 | ⚠️ 测试 | 缓存版本 |
🎯 使用方法
快速查询(推荐)
# 查询前 15 名(默认)
python3 /root/.openclaw/skills/etf-analysis/scripts/etf_ranking_v2.4.py
# 查询前 10 名
python3 /root/.openclaw/skills/etf-analysis/scripts/etf_ranking_v2.4.py --top 10
# 查询前 20 名
python3 /root/.openclaw/skills/etf-analysis/scripts/etf_ranking_v2.4.py --top 20
Python API
import sys
sys.path.insert(0, '/root/.openclaw/skills/etf-analysis/scripts')
from etf_ranking_v2.4 import run
run(top_n=10) # 查询前 10 名
输出文件
每次运行自动生成:
etf_ranking_YYYYMMDD_HHMMSS.txt- 文本报告etf_data_YYYYMMDD_HHMMSS.csv- Excel 数据etf_data_YYYYMMDD_HHMMSS.json- JSON 数据
📊 性能指标
测试环境: Linux, Python 3.11
测试数据: 830 只主流 ETF
| 指标 | v2.1 | v2.2 | v2.4 | 提升 | |------|------|------|------|------| | 查询耗时 | 25.36 秒 | 3.7 秒 | 0.79 秒 | 32.0x | | 并发线程 | 10 | 10 | 20 | 2x | | 查询批次 | 62 批 | 62 批 | 9 批 | -85% | | 获取数据 | 1,710 只 | 1,710 只 | 830 只 | 精选 | | 筛选后 | 1,113 只 | 1,113 只 | 607 只 | 高质量 |
🔧 配置说明
基础配置
from etf_ranking_v2.4 import ETFFetcher
fetcher = ETFFetcher(
concurrency=20, # 并发线程数
max_retries=2, # 最大重试次数
cache_ttl=300 # 缓存时间(秒)
)
df = fetcher.fetch_all()
数据筛选
- 成交额: > 500 万元
- 筛选效果: 830 → 607 只 (保留 73.1%)
- 覆盖范围: 主流宽基、行业、跨境 ETF
📈 更新日志
v2.4 (2026-04-19) - 方案 A+B 优化
- ✨ 智能筛选活跃代码: 6,161 → 830 只(减少 85%)
- ✨ 空批次跳过机制: 自动记录并跳过历史空批次
- ✨ 20 线程并发: 提升至 20 线程
- ✨ 性能突破: 25.36 秒 → 0.79 秒(32 倍提速)
v2.3 (2026-04-19) - 组合包 A
- 增量更新 + 错误重试 + 简单缓存
- 性能:4.53 秒
v2.2 Pro (2026-04-19)
- 10 线程并发查询
- 性能:3.7 秒
v2.1 (2026-04-18)
- 数据质量筛选
- 多数据源容错
💡 最佳实践
日常使用
# 每日收盘后查询(14:30)
python3 /root/.openclaw/skills/etf-analysis/scripts/etf_ranking_v2.4.py --top 20
自动化任务
# 设置每日 14:30 自动运行
30 14 * * 1-5 python3 /root/.openclaw/skills/etf-analysis/scripts/etf_ranking_v2.4.py
📝 技术细节
智能筛选策略
# 主流 ETF 代码前缀
MAINSTREAM_PREFIXES = [
'510', '511', '512', '513', '515', '518', # 上海
'1599', '1590', '1591', '1592', '1593', # 深圳
'520', '560', '588' # 其他主流
]
空批次追踪
- 记录文件:
empty_batches.json - 自动跳过历史空批次
- 减少无效请求 70%
数据源
- 主源: 腾讯财经 (qt.gtimg.cn)
- 覆盖: ~830 只主流 ETF
- 编码: GBK
- 字段: 88 个(32=涨跌幅,35=成交额)
最后更新: 2026-04-19
维护: OpenClaw Agent
状态: ✅ 生产就绪
性能: 0.79 秒(32 倍提速)
扫码联系在线客服