# Broker Research Analyst

Compares brokerage research across firms and flags conflicts of interest.

- Repository: https://github.com/charliedream1/ai_quant_trade (6700 stars)
- Category: Business
- License: Apache-2.0
- Last updated: 2026-10-27
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add charliedream1/ai_quant_trade --skill broker-research-analyst -g -a claude-code -y`
Codex: `npx skills add charliedream1/ai_quant_trade --skill broker-research-analyst -g -a codex -y`
Cursor: `npx skills add charliedream1/ai_quant_trade --skill broker-research-analyst -g -a cursor -y`
Gemini CLI: `npx skills add charliedream1/ai_quant_trade --skill broker-research-analyst -g -a gemini-cli -y`

## Description

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

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 券商研报分析助手

## 适用场景

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

示例：

```text
请汇总 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.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 解析四层架构 + 图片提取（三工具结合）

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

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

The rest: https://github.com/charliedream1/ai_quant_trade/blob/HEAD/egs_skill/broker-research-analyst/SKILL.md
