dfdamiao/quant-paper-analyzer
GitHub: dfdamiao/quant-paper-analyzer
从 arXiv 抓取量化金融论文,利用多种 LLM 进行结构化分析与交易相关性评分,并生成可视化报告的自动化工具。
Stars: 0 | Forks: 0
# quant-paper-analyzer
从 **arXiv** 获取量化金融研究论文,并使用 **LLM**(Claude、Gemini、Mistral、Groq 或 Perplexity)进行分析和评分。分析器会提取论文文本,请求 LLM 生成结构化的 JSON 拆解(贡献、方法论、发现、交易适用性、实施陷阱等),并由评分器根据交易相关性对论文进行排名。
## 功能简介
- **获取** arXiv API 上的最新 q-fin 论文。
- **提取** PDF 文本(PyMuPDF / pdfplumber / PyPDF2,支持可选的 OCR)。
- 使用 LLM 将每篇论文**分析**为结构化的 JSON,并通过多密钥轮换在各提供商之间分摊速率限制。
- 对论文进行**评分**(V2:严格聚焦于交易,自动拒绝非交易类工作)并生成 HTML 报告。
## 安装
```
git clone https://github.com/dfdamiao/quant-paper-analyzer.git
cd quant-paper-analyzer
pip install -e .
# 扫描 PDF 的可选 OCR(也需要 `tesseract` 系统 binary):
pip install -e ".[ocr]"
```
Python >= 3.11。
## 自备 LLM 密钥
本仓库不附带任何密钥。请通过环境变量提供您自己的密钥(以逗号分隔;多个密钥会轮流使用以分摊速率限制):
```
export PAPERSCOPE_ANTHROPIC_API_KEYS="sk-ant-..." # Claude
export PAPERSCOPE_GEMINI_API_KEYS="..." # Gemini
```
或者将 `config.example.json` 复制为 `config.json` 并填写 `llm_api_keys`。参见 `paperscope/settings.py`。
| `--provider` | 模型(默认,轮换使用) | 获取密钥 |
|---|---|---|
| `anthropic` | Claude Sonnet / Haiku / Opus | https://console.anthropic.com/settings/keys |
| `gemini` | Gemini 2.5 Flash / Flash-Lite / Pro | https://aistudio.google.com/apikey |
| `google` | Gemma 3(免费,高 RPM) | https://aistudio.google.com/apikey |
| `mistral` | Mistral Large / Medium | https://console.mistral.ai/ |
| `groq` | Llama 3.x / 4 | https://console.groq.com/keys |
| `perplexity` | Sonar Pro | https://www.perplexity.ai/settings/api |
`gemini` 和 `google` 共享同一个 Google AI Studio 密钥:如果未设置 gemini 专用密钥,`gemini` 运行时会回退到 `google` 密钥。可以使用 `--model` 覆盖任何提供商的模型(例如 `--model claude-opus-4-8`);当前的 Claude ID 列表见 https://docs.anthropic.com/en/docs/about-claude/models。
## 快速开始
```
# 列出 arXiv 上最近的 q-fin 论文(无需 key):
python -m examples.fetch_arxiv
# 使用 LLM 分析文件夹中的 PDF(需要为所选的 provider 提供 key):
python -m paperscope.academic_paper_analyzer \
--papers-dir ./arxiv_papers --output-dir ./paper_analyses --provider anthropic
# 或者使用 Gemini / Mistral / 等。:
python -m paperscope.academic_paper_analyzer \
--papers-dir ./arxiv_papers --output-dir ./paper_analyses --provider gemini
# 为分析评分并生成 HTML 报告:
python -m paperscope.paper_scorer_v2 --analyses-dir ./paper_analyses --output paper_scores_v2.json
python -m paperscope.generate_scored_papers_html --scores paper_scores_v2.json --min-tier 2
```
## Prompt 注入安全
论文 PDF 属于外部的不可信内容。`LLMClient._create_analysis_prompt` 会将提取的文本包裹在 `[PAPER_START]` / `[PAPER_END]` 之间,并添加 `ABSOLUTE RULE` 前缀,指示模型将该区块严格视为数据,绝不执行其中的任何指令。如果您扩展了 prompt,请保留此包裹结构。
## 注意事项
- 原内部工具中的 SSRN 浏览器爬虫已被刻意移除;此处支持的来源是 arXiv(一种公开、符合服务条款的 API)。
- 使用 LLM 会产生费用,并受各提供商服务条款的约束。您需对自己的密钥和使用情况负责。
## 许可证
MIT,详见 [LICENSE](LICENSE)。
标签:AI评分, DLL 劫持, PDF解析, Python, 大语言模型, 学术论文分析, 无后门, 逆向工具, 金融量化