返回 Skill 列表
extension
分类: 数据与分析无需 API Key

热点基金分析

热点基金分析技能:基于多维度数据计算综合权重,生成含趋势图的交互式HTML报告。支持通过东方财富API获取真实基金历史涨幅数据。

person作者: user_0e3266b7hubcommunity

热点基金 (fund-trending-topic)

概述

从多维度数据源获取热点话题和基金数据,计算每个话题的综合权重,并关联对应的股票和基金,最终生成一份完整的交互式 HTML 分析报告。

当前版本 (v2.0):已接入东方财富 API,可获取真实基金历史涨幅数据。

核心功能

  1. 真实基金数据 — 通过东方财富 API 获取真实基金净值和涨幅数据(近1周/1月/3月/6月/1年)
  2. 综合权重计算热度×3.0 + 趋势×2.5 + 相关度×2.0 + 涨幅×1.5
  3. 趋势图 Dashboard — 每个板块独立展示相关基金的历史涨幅走势(折线+渐变面积图)
  4. 交互式报告 — 4个 Tab 页,支持全选/反选、权重 Tooltip、ECharts 可视化
  5. 容错机制 — 如果 API 获取失败,自动使用模拟数据继续生成报告

使用方法

方法 1:命令行运行(推荐)

# 使用真实基金数据生成报告(默认)
python3 scripts/generate_report.py --output ./report.html

# 指定输出路径(使用绝对路径或相对路径)
python3 scripts/generate_report.py --output /Users/yourname/report.html

# 不使用真实数据(使用模拟数据)
python3 scripts/generate_report.py --no-real-data --output ./report.html

# 查看帮助
python3 scripts/generate_report.py --help

方法 2:在 WorkBuddy 对话中使用

直接对 WorkBuddy 说:

生成热点基金报告

WorkBuddy 会:

  1. 调用生成脚本
  2. 自动获取真实基金数据(通过东方财富 API)
  3. 生成完整 HTML 报告
  4. 展示 HTML 报告

数据获取说明

真实基金数据获取

脚本通过东方财富 API 获取真实数据:

  • API 地址: https://fund.eastmoney.com/pingzhongdata/{code}.js
  • 获取内容: 基金名称、近1月/近3月/近6月/近1年真实收益率
  • 近1周数据: 基于近1月数据估算(API 不直接提供)
  • 数据延迟: 可能有 15 分钟延迟(非实时)

热点话题数据

当前版本: 基于内置模板(包含 2026 年 7 月主流板块和基金代码)

未来版本: 计划接入 WebSearch 自动获取实时热点话题

数据真实性保证

真实数据:

  • 基金代码:真实存在的 ETF 基金
  • 基金净值:通过东方财富 API 实时获取
  • 基金涨幅:基于真实历史净值计算

⚠️ 注意事项:

  • 东方财富 API 可能有访问频率限制
  • 建议每次生成报告间隔 ≥ 5 分钟
  • 热点话题当前基于模板(非自动获取)

报告结构

报告包含 4 个 Tab 页:

| Tab | 内容 | |:---|:---| | 📊 权重排名 TOP10 | 按综合权重排序的热点话题排名表 | | 🔍 详细分析 | 每个话题的催化事件、关联股票、相关基金及历史表现 | | 📈 趋势图 | 按权重排序,每个板块一个 Dashboard,展示相关基金近1周/1月/3月/6月/1年涨幅 | | 📊 可视化 | 综合权重柱状图、四维雷达图、各维度分解对比 |

趋势图 Dashboard 功能

  • 全选/反选按钮: 快速显示/隐藏所有基金折线
  • 图例交互: 点击图例可单独显示/隐藏某只基金
  • Tooltip: 悬停查看具体数值
  • 渐变面积图: 参考 fund-trend-screener 样式

权重公式

综合权重 = 热度 × 3.0 + 未来趋势 × 2.5 + 基金相关度 × 2.0 + 基金涨幅 × 1.5
  • 热度 (0-100): 话题的市场关注度
  • 趋势 (0-100): 话题的未来发展趋势
  • 相关度 (0-100): 话题与基金的关联程度
  • 涨幅 (真实数值): 相关基金的平均涨幅(通过 API 获取)

依赖

必需依赖

| 依赖 | 用途 | 安装方式 | |:---|:---|:---| | Python 3.9+ | 运行生成脚本 | 系统自带或 install_binary | | requests | HTTP 请求(获取东方财富 API 数据) | pip install requests | | re | 正则表达式(解析 API 响应) | Python 标准库(无需安装) | | ECharts 5 | HTML 报告图表渲染 | CDN 自动加载(无需安装) |

可选依赖(未来版本)

| 依赖 | 用途 | 说明 | |:---|:---|:---| | westock-data | 获取真实股票/基金数据 | 已安装技能,需要 MCP 连接 | | WebSearch/WebFetch | 获取实时热点新闻 | WorkBuddy 内置工具(未来版本接入) |

自定义数据源

修改热点话题模板

编辑 scripts/generate_report.py 中的 topics 列表(约第 108-340 行):

{
    "name": "你的话题名称",
    "heat": 80,          # 热度 (0-100)
    "trend": 85,         # 趋势 (0-100)
    "fund_rel": 90,      # 相关度 (0-100)
    "fund_codes": ["588730", "588510"],  # 真实基金代码
    "stocks": ["股票1", "股票2"],
    "catalysts": [("催化事件", "2026-07")],
    "sentiment": "看好",
    "color": "#dd6b20",
}

注意:

  • fund_retfunds 字段会在运行时自动从 API 获取,无需手动设置
  • fund_codes 字段用于指定需要获取数据的基金代码

添加新板块

topics 列表中添加新的话题字典,确保包含 fund_codes 字段。

输出文件

| 文件 | 说明 | |:---|:---| | trending_topics_report.html | 主报告文件(如果未指定 --output) | | scripts/generate_report.py | 报告生成脚本(支持真实数据获取) |

目录结构

fund-trending-topic/
├── scripts/
│   └── generate_report.py          # 主生成脚本(支持真实数据获取)
├── references/
│   └── README.md                   # 数据源和字段说明
└── SKILL.md                        # 本文件

版本历史

v2.0 (2026-07-01)

  • ✅ 接入真实数据源(东方财富 API)
  • ✅ 自动获取基金历史涨幅(近1月/3月/6月/1年)
  • ✅ 容错机制(API 失败时自动使用模拟数据)
  • ✅ 支持 --output 参数指定输出路径
  • ✅ 支持 --no-real-data 参数禁用真实数据获取

v1.0 (2026-07-01)

  • 初始版本
  • 硬编码热点话题数据
  • 模拟基金历史涨幅数据

限制与免责声明

  • 本报告仅供研究参考,不构成任何投资建议
  • 基金数据来自东方财富网,可能有 15 分钟延迟
  • 投资有风险,决策需谨慎
  • 东方财富 API 可能有访问频率限制

相关技能

| 技能 | 关系 | |:---|:---| | fund-trend-screener | 同类技能,专注于基金趋势筛选和轮动池 | | westock-data | 获取真实股票/基金数据(未来版本接入) | | wb-finance-skill | 综合金融分析入口 |

故障排除

API 请求超时

如果看到 ✗ XXXXX 失败: HTTPSConnectionPool... Read timed out 错误:

  1. 检查网络连接
  2. 增加超时时间(修改脚本第 30 行 timeout=15 为更大值)
  3. 使用 --no-real-data 参数禁用真实数据获取

报告生成失败

  1. 确保 Python 版本 ≥ 3.9
  2. 确保已安装 requests 库:pip install requests
  3. 检查输出路径是否有写入权限