CtrlK
BlogDocsLog inGet started
Tessl Logo

broker-research-analyst

券商研报分析助手,聚焦"研报获取→结构化提取→多机构观点对比→风险识别→决策辅助"。使用时机:汇总个股券商研报、追踪行业研报、对比多机构观点、识别卖方利益冲突、验证研报时效性。默认数据源为东方财富研报中心公开接口(无需 API Key)。

67

Quality

82%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

SKILL.md
Quality
Evals
Security

券商研报分析助手

适用场景

  • 汇总某只股票的券商研报观点(评级、目标价、盈利预测)
  • 追踪某行业的最新研报动态
  • 对比多机构对同一标的的观点共识与分歧
  • 识别卖方研报的利益冲突与乐观倾向
  • 校验研报时效性,过滤过期报告

示例:

请汇总 600519(茅台)最近3个月的券商研报观点
请对比中信、中金、华泰对新能源车行业的最新观点
分析这份研报 PDF:./reports/xxx.pdf,提取核心逻辑与风险
请输出本周电力行业的研报热度榜

运行原则

1. 数据源优先级

  • 主路径:东方财富研报中心公开接口(reportapi.eastmoney.com
  • 辅路径:AKShare stock_research_report_em(个股研报聚合)
  • 兜底:WebSearch(抓取最新研报摘要、机构观点)
  • 固定原则eastmoney_api > akshare > websearch

2. Team-First 编排

默认进入多专家并行分析链路:

  1. report-auditor → 校验请求、路由 stock/industry/strategy
  2. report_router.py → 拉取研报元数据 + 质量门禁
  3. rating-extractor → 提取评级/目标价/EPS预测(并行)
  4. fundamental-extractor → 提取核心逻辑/看多看空(并行)
  5. risk-spotter → 识别风险与利益冲突(并行)
  6. consensus-aggregator → 聚合共识与分歧
  7. supervisor → 仲裁 + 生成最终报告

3. 风控优先

  • 所有结论必须附证据链(来源机构 + 日期 + URL)
  • 卖方利益冲突识别为高时,强制在报告显著位置 ⚠️ 标注
  • 研报时效性校验:默认仅采用 90 天内报告
  • 输出仅作决策辅助,不得表述为投资指令

工具能力

数据采集脚本(位于 scripts/

脚本功能调用示例
eastmoney_adapter.py东方财富研报列表抓取python eastmoney_adapter.py --code 600519 --type 0 --days 90
pdf_downloader.pyPDF 批量下载与缓存由 report_router 内部调用
pdf_parser.pyPDF 解析(三层架构:MarkItDown → pdfplumber → PyPDF2)python pdf_parser.py xxx.pdf --parser markitdown --sections
report_quality_gate.py质量门禁(时效/白名单/利益冲突)由 report_router 内部调用
generate_report.pyMarkdown 报告生成由 report_router 内部调用
report_router.py统一路由调度(主入口)python report_router.py stock --code 600519 --output report.md

PDF 解析四层架构 + 图片提取(三工具结合)

pdf_parser.py 采用配置驱动的分层解析链,任一文本解析器成功即返回:

文本解析链(按优先级):

  1. MinerU(可选,高精度路径):OpenDataLab 出品,专为中文 PDF 优化,表格转 HTML(合并单元格/跨页完整保留),章节层级精准,准确率 98.7%。需 Python 3.10-3.13 + GB 级模型 + 推荐 GPU。默认关闭,在 config/settings.jsonenable_mineru: true 启用。
  2. MarkItDown(默认主路径):微软出品,LLM 友好的 Markdown 输出,保留表格/标题结构,中文支持好,轻量无 GPU 依赖。
  3. pdfplumber(兜底 1):传统文本抽取,对部分 PDF 格式兼容性更好。
  4. PyPDF2(兜底 2):最简纯文本,最后保障。

图片提取链(独立于文本解析):

  • 主路径 PyMuPDF(fitz):速度快(20x)、用 xref 自动去重、保留原格式(JPEG/PNG)
  • 兜底 pdfplumber:当 PyMuPDF 不可用时降级,用内容哈希去重,转 PNG 保存
  • MarkItDown 不支持 PDF 图片提取(源码层面不调用 page.images,传 llm_client 参数也无效),故不用于图片提取

提取研报中的图表图片(营收走势、毛利率趋势、批发价走势等),保存为本地文件,供 LLM 多模态分析。

  • 自动过滤小图标(页眉 logo 等,宽度/高度 < 80px)
  • {pdf名}_images/p{页码}_img{序号}.{ext} 命名
  • 图片路径写入 ParsedReport.images,供 LLM 多模态分析使用
  • 可通过 extract_imgs=False 关闭
  • 详细调研见 PDF_IMAGE_RESEARCH.md

配置示例config/settings.json):

{
  "pdf_parser": {
    "enable_mineru": false,          // 设 true 启用 MinerU 高精度路径
    "prefer_parser": "",              // 强制指定解析器(空=自动选择最优)
    "text_chain": ["mineru", "markitdown", "pdfplumber", "pypdf2"],
    "image_chain": ["pymupdf", "pdfplumber"]
  }
}

可通过 prefer_parser 参数强制指定文本解析器(--parser mineru),或 CLI 加 --mineru 启用高精度路径。

典型调用链

# 1. 个股研报汇总(不下载 PDF)
python scripts/report_router.py stock --code 600519 --name 贵州茅台 --days 90 --output ./cache/600519_研报分析.md

# 2. 个股研报汇总(下载 PDF 并解析,用于 LLM 深度分析)
python scripts/report_router.py stock --code 600519 --name 贵州茅台 --days 90 --download --output ./cache/600519_研报分析.md

# 3. 行业研报追踪
python scripts/report_router.py industry --code 473 --name 证券 --days 30 --output ./cache/证券行业_研报.md

# 4. 仅列出研报元数据(JSON,用于快速预览)
python scripts/report_router.py list --code 600519 --days 90 --size 20

多专家 Agent(位于 agents/

Agent职责
report-auditor.md请求审计与路由
rating-extractor.md评级/目标价/盈利预测提取
fundamental-extractor.md核心逻辑/看多看空观点提取
risk-spotter.md风险提示与卖方利益冲突识别
consensus-aggregator.md多机构共识与分歧聚合
supervisor.md主管仲裁与报告生成

数据源说明

东方财富研报接口(已验证可用)

  • 列表接口https://reportapi.eastmoney.com/report/list
    • 参数:code(股票代码)、industryCodeqType(0个股/1行业/2策略/3宏观)、beginTime/endTimepageSize
    • 返回:标题、机构、分析师、评级、EPS/PE预测、infoCode(PDF标识)
  • PDF 下载https://pdf.dfcfw.com/pdf/H3_{infoCode}_1.pdf
  • 无需 API Key,公开接口

质量门禁规则

  • 时效性:发布日期 ≤ 90 天
  • 来源权威性:机构白名单(中信/中金/华泰/国君/海通等 25 家主流券商)
  • 利益冲突:买入/增持占比 > 80% 且无减持/卖出时,标记为"卖方普遍偏多"

重要约束

  1. 合规边界:仅抓取公开网页研报元数据与公开 PDF,不绕过登录墙,不爬微信公众号
  2. 版权声明:研报版权归原作者机构所有,输出必须标注来源
  3. 免责声明:所有报告必须包含"不构成投资建议"声明
  4. 频率控制:请求间隔 ≥ 1 秒,遵守 robots.txt

配置

环境变量见 .env.example,配置文件见 config/settings.json

依赖安装:

pip install -r requirements.txt
Repository
charliedream1/ai_quant_trade
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.