ETF每日报告V2.4:在 Agent 里完成主流 ETF 涨跌幅排行与日报

前言

做 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)

  1. 从 extended_etf_codes 中的代码出发,按 MAINSTREAM_PREFIXES 筛到约 830 只主流 ETF,减少无效请求。
  2. 通过腾讯财经接口 qt.gtimg.cn 批量查询(文档写明编码 GBK,字段含涨跌幅与成交额等)。
  3. 默认过滤成交额大于 500 万元的标的;支持空批次记录文件 empty_batches.json,跳过历史空批次。
  4. 可配置并发线程(文档示例 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_tasks JSON 示例(是否适用取决于你实际使用的 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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye