券商研报分析助手,聚焦"研报获取→结构化提取→多机构观点对比→风险识别→决策辅助"。使用时机:汇总个股券商研报、追踪行业研报、对比多机构观点、识别卖方利益冲突、验证研报时效性。默认数据源为东方财富研报中心公开接口(无需 API Key)。
65
79%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Critical
Do not install without reviewing
Fix and improve this skill with Tessl
tessl review fix ./egs_skill/broker-research-analyst/SKILL.md示例:
请汇总 600519(茅台)最近3个月的券商研报观点
请对比中信、中金、华泰对新能源车行业的最新观点
分析这份研报 PDF:./reports/xxx.pdf,提取核心逻辑与风险
请输出本周电力行业的研报热度榜reportapi.eastmoney.com)stock_research_report_em(个股研报聚合)eastmoney_api > akshare > websearch默认进入多专家并行分析链路:
report-auditor → 校验请求、路由 stock/industry/strategyreport_router.py → 拉取研报元数据 + 质量门禁rating-extractor → 提取评级/目标价/EPS预测(并行)fundamental-extractor → 提取核心逻辑/看多看空(并行)risk-spotter → 识别风险与利益冲突(并行)consensus-aggregator → 聚合共识与分歧supervisor → 仲裁 + 生成最终报告scripts/)| 脚本 | 功能 | 调用示例 |
|---|---|---|
eastmoney_adapter.py | 东方财富研报列表抓取 | python eastmoney_adapter.py --code 600519 --type 0 --days 90 |
pdf_downloader.py | PDF 批量下载与缓存 | 由 report_router 内部调用 |
pdf_parser.py | PDF 解析(三层架构:MarkItDown → pdfplumber → PyPDF2) | python pdf_parser.py xxx.pdf --parser markitdown --sections |
report_quality_gate.py | 质量门禁(时效/白名单/利益冲突) | 由 report_router 内部调用 |
generate_report.py | Markdown 报告生成 | 由 report_router 内部调用 |
report_router.py | 统一路由调度(主入口) | python report_router.py stock --code 600519 --output report.md |
pdf_parser.py 采用配置驱动的分层解析链,任一文本解析器成功即返回:
文本解析链(按优先级):
config/settings.json 中 enable_mineru: true 启用。图片提取链(独立于文本解析):
提取研报中的图表图片(营收走势、毛利率趋势、批发价走势等),保存为本地文件,供 LLM 多模态分析。
{pdf名}_images/p{页码}_img{序号}.{ext} 命名ParsedReport.images,供 LLM 多模态分析使用extract_imgs=False 关闭配置示例(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 20agents/)| 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(股票代码)、industryCode、qType(0个股/1行业/2策略/3宏观)、beginTime/endTime、pageSizehttps://pdf.dfcfw.com/pdf/H3_{infoCode}_1.pdf环境变量见 .env.example,配置文件见 config/settings.json。
依赖安装:
pip install -r requirements.txt6565e03
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.