前言¶
做 ETF 盘面复盘时,常见做法是打开行情软件逐只翻,或自己写脚本去拉接口、拼表格。数据量一大,还要处理并发、缓存和无效代码批次,维护成本不低。下面介绍 SkillHub 社区 Skill「ETF每日报告V2.4」(坐标 @user_861fb6c9/etf,版本 2.4.0):把查询、排序、导出和可选的定时日报流程写进 SKILL.md 与配套 Python 脚本,让 Cursor、Claude Code 等支持 Skills 的 Agent 按文档执行,而不是每次从零描述需求。
这是什么¶
「ETF每日报告V2.4」是发布者 user_861fb6c9 在 SkillHub 上架的社区来源(source: community)Skill,分类为 data-analysis,子类包含「数据可视化」「报表生成」。SkillHub 页面未提供中文概述正文(hasOverview: false,摘要字段为空),能力以压缩包内的 SKILL.md、INSTALL_CRON.md 及 scripts/ 为准。
官方入口:
- API 地址:https://api.skillhub.cn/user_861fb6c9/etf
- SkillHub 页面:https://www.skillhub.cn/skills/user_861fb6c9/etf
标签标明 requires_api_key=false,安装本 Skill 本身不要求配置第三方 API Key;拉行情仍依赖可访问腾讯财经接口的网络环境。
核心功能¶
根据 v2.4.0 压缩包内容,当前交付物主要包括:
| 路径 | 作用 |
|---|---|
scripts/etf_ranking_v2.4.py |
主力查询:并发拉取、筛选、涨跌幅排行 |
scripts/etf_daily_report_v2.4.py |
调用排行脚本,支持 --send-email 发邮件日报 |
scripts/extended_etf_codes.py |
ETF 代码列表 |
etf.sh |
封装调用 etf_ranking_v2.4.py 的 Shell 入口 |
SKILL.md |
Agent 遵循的使用与性能说明 |
INSTALL_CRON.md |
Cron / 定时任务与邮件环境变量说明 |
行情与筛选(etf_ranking_v2.4.py)
- 从
extended_etf_codes中的代码出发,按MAINSTREAM_PREFIXES筛到约 830 只主流 ETF,减少无效请求。 - 通过腾讯财经接口
qt.gtimg.cn批量查询(文档写明编码 GBK,字段含涨跌幅与成交额等)。 - 默认过滤成交额大于 500 万元的标的;支持空批次记录文件
empty_batches.json,跳过历史空批次。 - 可配置并发线程(文档示例
concurrency=20)、失败重试与约 5 分钟 TTL 的缓存。
输出
每次运行可生成带时间戳的文本报告、csv 与 json(文件名模式见 SKILL.md:etf_ranking_YYYYMMDD_HHMMSS.txt 等)。
日报与自动化
etf_daily_report_v2.4.py通过子进程调用etf_ranking_v2.4.py,可用--top N控制榜单长度。- 邮件依赖环境变量
EMAIL_TO、SMTP_USER、SMTP_PASS,可选SMTP_SERVER(默认smtp.qq.com)、SMTP_PORT(默认465)。未配置时脚本会跳过发送并打印提示。 INSTALL_CRON.md给出交易日 14:30 的 crontab 示例,以及 OpenClaw 风格scheduled_tasksJSON 示例(是否适用取决于你实际使用的 Agent 是否支持该配置)。
文档中的性能数据
SKILL.md 在 Linux、Python 3.11、约 830 只主流 ETF 的测试环境下记录 v2.4 单次查询约 0.79 秒,相对 v2.1 约 25.36 秒有数量级差异。这是你本机复现时应对照的目标,而非 SkillHub 平台的实测保证。
安装与启用¶
SkillHub 推荐的安装方式是让 Agent 阅读官方安装说明并安装指定坐标:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_861fb6c9/etf。
若已安装 SkillHub CLI,可按 skillhub.cn/install/skillhub.md 将 Skill 装进当前 Agent 的 skills 目录(--dir 必填,否则默认 ./skills/ 可能不会被识别):
command -v skillhub && skillhub --version
skillhub install @user_861fb6c9/etf --dir ~/.cursor/skills/
常用目录(同一文档摘录):
- Cursor:
~/.cursor/skills/ - Claude Code:
~/.claude/skills/ - Codex:
~/.codex/skills/或项目下.agents/skills/
SkillHub 详情页还提供 Zip 直链(页面标注版本 2.4.0):
https://api.skillhub.cn/api/v1/download?slug=@user_861fb6c9/etf
解压后把目录放到上述 skills 路径,或保留在项目内并在对话中让 Agent 读取该目录下的 SKILL.md。
运行依赖
脚本使用 Python 3,并 import requests、pandas 等库。etf.sh 与部分示例里带有 PYTHONPATH=/mnt/workspace/lib/python3.11/site-packages 前缀,那是作者环境中的路径;在本机应改为已安装依赖的 Python 环境,或自行 pip install 所需包。
文档中的示例路径多为 /root/.openclaw/skills/etf-analysis/;安装到 Cursor 后,请把命令里的路径换成你实际的 Skill 目录。
典型用法¶
1. 命令行查询涨跌幅 TOP(默认 TOP 15)
在 Skill 根目录执行(将 SKILL_ROOT 换成你的安装路径):
export SKILL_ROOT="$HOME/.cursor/skills/@user_861fb6c9/etf"
python3 "$SKILL_ROOT/scripts/etf_ranking_v2.4.py"
python3 "$SKILL_ROOT/scripts/etf_ranking_v2.4.py" --top 10
或使用包内启动脚本:
cd "$SKILL_ROOT"
./etf.sh --top 20
2. 生成日报并尝试发邮件
先配置邮箱(勿把真实密码写进仓库):
export EMAIL_TO="your@example.com"
export SMTP_USER="your@example.com"
export SMTP_PASS="your_smtp_auth_code"
python3 "$SKILL_ROOT/scripts/etf_daily_report_v2.4.py" --top 10 --send-email
3. 交易日定时任务(摘自 INSTALL_CRON.md)
crontab -e
添加(路径需按本机修改):
30 14 * * 1-5 cd /path/to/skill && python3 scripts/etf_ranking_v2.4.py --top 10 >> /tmp/etf_daily.log 2>&1
4. 在 Agent 对话中的用法
安装并让 Agent 加载该 Skill 后,可直接用自然语言描述需求,例如:「按 SKILL.md 跑一遍 v2.4 排行,TOP 10,并把生成的 csv 路径告诉我。」Agent 应依据 SKILL.md 选择 etf_ranking_v2.4.py 及参数,而不是臆造未在包内出现的脚本名。
适用场景与注意¶
适合谁
- 需要快速看主流 ETF 涨跌幅排行、并导出 txt/csv/json 做二次分析的人。
- 希望在 Agent 会话里用固定流程复用查询逻辑,而不是每次重写爬虫的开发者。
- 有 Linux/macOS 类环境、能跑 Python 3 和 cron 的用户(Windows 需自行适配路径与计划任务)。
限制与注意
- SkillHub 概述为空,首次使用应阅读包内
SKILL.md;SKILL.md中提到的部分旧文件名(如etf_ranking_pro.py)未出现在当前 2.4.0 Zip 清单中,以实际包内文件为准。 - 行情来自腾讯财经公开接口,非交易日、盘前或接口异常时可能出现数据为空,文档在
INSTALL_CRON.md故障排查里也有说明。 - 邮件功能依赖 SMTP 与授权码,未配置时只会本地输出。
- 社区 Skill,发布者未在 SkillHub 标记为官方认证作者;页面安全扫描结果为「安全,无风险」,使用前仍建议自行审阅脚本。
- SkillHub 统计(页面侧栏数据):下载约 2715 次、安装约 15 次、收藏 3;抓取元数据评分 100000。这些数据只反映平台统计,不代表投资收益或数据准确性。
结尾¶
「ETF每日报告V2.4」把主流 ETF 批量查询、成交额过滤、涨跌幅排行、文件导出和可选邮件日报收敛到一套 Skill 与脚本里,适合挂在支持 Skills 的 Agent 上做 repeatable 的盘面整理。安装与坐标以 SkillHub 为准:
https://www.skillhub.cn/skills/user_861fb6c9/etf
API:https://api.skillhub.cn/user_861fb6c9/etf