EvoQuant README

The project's README from github.com/CamusGIT/EvoQuant. As one markdown file: README.md.

EvoQuant

An autonomous research agent for quantitative science.

EvoQuant is a self-evolving AI research agent specialized in quantitative investment research. It runs the full research loop autonomously — digesting research reports into structured knowledge, navigating a local papers library, generating and ranking research ideas, and executing real factor experiments on offline market data with rigorous IC-style evaluation.

Where general-purpose "AI scientist" frameworks target broad academic discovery, EvoQuant is purpose-built for the quant research workflow: alpha factor research, alpha generation methodology, and portfolio strategy research, with reproducible experiment runtimes and quantitative metrics (IC / ICIR / RANKIC / coverage) as first-class citizens.

🎯 Why EvoQuant?

Most autonomous research agents assume an open ecosystem — public papers with reference implementations on GitHub. Quantitative research rarely works that way: much of the field's methodology lives in broker research reports (研报) — unstructured PDFs that almost never ship with open-source code.

EvoQuant is designed for exactly this gap:

✨ Features

🏗️ Architecture

EvoQuant is built on a DeepAgents / LangGraph core: a main agent orchestrates specialized sub-agents, middleware and tools around a persistent state graph.

flowchart TB
    subgraph Surfaces["🎛️ Surfaces"]
        CLI["CLI / TUI"]
        WEB["WebUI"]
        CH["Channels<br/>(Telegram · Slack · Feishu · …)"]
        CRON["Scheduler<br/>(cron-style tasks)"]
    end

    subgraph Core["🧠 Agent Core (LangGraph gateway)"]
        MAIN["Main Agent<br/>plan · orchestrate · summarize"]
        SUB["Sub-Agents<br/>research · code · debug · analyze · write"]
        MEM["Memory<br/>observation graph<br/>(distill · link · recall)"]
        MW["Middleware<br/>context editing · adaptive tools"]
    end

    subgraph Capabilities["⚙️ Capabilities"]
        SKILLS["Skills<br/>(SKILL.md knowledge packs)"]
        TOOLS["Tools + MCP"]
        LLM["LLM Providers<br/>(multi-provider registry)"]
    end

    subgraph Workspace["📁 Research Workspace (workdir)"]
        KB["knowledge base<br/>(markdown papers · JSONL)"]
        EXP["experiments/<br/>(panels · artifacts · results)"]
        CODE["code-repo/<br/>(offline data packages)"]
    end

    Surfaces --> Core
    MAIN --> SUB
    MAIN <--> MEM
    MW --> MAIN
    Core --> Capabilities
    SKILLS --> Workspace
    SUB --> Workspace

Key ideas

Layer Role
Surfaces (CLI/TUI, WebUI, channels, scheduler) One agent session, many frontends — all routed through a UI-agnostic LangGraph gateway.
Main agent + sub-agents The main agent plans and delegates; sub-agents own focused tasks (literature work, coding, debugging, analysis, writing).
Skills Installable knowledge packs (skills/<name>/SKILL.md + references/assets/scripts) that give the agent domain procedures — loaded on demand when a query matches.
Memory Cross-cycle research memory: feasible/unsuccessful directions, distilled strategies, linked observations.
Research workspace A per-cycle workdir holding the local knowledge base, experiment outputs, and the offline code-repo data packages the runtime discovers at run time.

The quant research loop

flowchart LR
    A["📄 quant-paper-extractor<br/>PDF → markdown → JSONL"] --> B["📚 local-paper-navigator<br/>paper search · reading"]
    B --> C["💡 research-ideation<br/>literature tree · ELO tournament"]
    C --> D["🧪 quant-experiment-runtime<br/>panel · entry point · IC metrics"]
    D --> E["🧠 memory<br/>(what worked / what failed)"]
    E -.-> C
  1. Ingest — quant-paper-extractor converts quant research report PDFs into structured JSONL records (strategy, method, experiment, result) for the local knowledge base.
  2. Ground — local-paper-navigator searches the papers library by keyword/abstract/full-text, disambiguates queries, and reads papers with an L1/L2/L3 strategy.
  3. Ideate — research-ideation builds challenge-insight trees, generates anchor-first ideas, refines them in persona-driven tracks, and ranks them with an ELO tournament (Final = Novelty + Relevance + Clarity − Difficulty).
  4. Execute — quant-experiment-runtime discovers offline datasets under code-repo/, builds panels, runs a Research Artifact through its Python entry point, and evaluates IC / ICIR / RANKIC / coverage.
  5. Evolve — outcomes feed persistent memory, so the next cycle starts from what worked and avoids known dead ends.

📄 Feeding the knowledge base

The papers library lives at the repo root papers/ — mounted at /papers/, served through the paper_search / paper_read / paper_section tools:

papers/
  raw/{paperId}.pdf       ← drop research report PDFs here (any filename)
  markdown/{paperId}.md   ← auto-created: full-text markdown per report
  cards/{paperId}.jsonl   ← auto-created: structured JSONL knowledge records
  context_brief.md / index.jsonl / manifest.jsonl

Three steps: drop PDFs into papers/raw/ → tell the agent 「入库」 → start a new session (the paper tools mount at agent startup). The CLI prints a hint at startup whenever papers/raw/ holds PDFs that have not been ingested yet.

📦 Skills

All skills live under EvoQuant/skills/ and are self-contained (SKILL.md + references/ + assets/ + scripts/).

Quant Research Core

Skill Description
quant-paper-extractor Convert quant research report PDFs to markdown and structured JSONL records
local-paper-navigator Search and read papers from a local papers library with ranked retrieval
research-ideation Quant-focused ideation: scope selection → literature grounding → ELO-ranked proposals
quant-experiment-runtime Experiment executor: dataset discovery, panel build, IC/ICIR/RANKIC evaluation
research-survey Structured literature survey synthesis from collected papers
paper-graph Genealogical lineage map of a research field as Mermaid diagrams

Research Workflow

Skill Description
experiment-pipeline Structured 4-stage experiment execution with attempt budgets
experiment-craft Experiment debugging, logging and iteration
experiment-iterative-coder Iterative code refinement (plan → code → evaluate → refine)
paper-planning Research paper planning and outline generation
paper-writing Section-by-section paper drafting
paper-review Adversarial self-review before submission
paper-rebuttal Rebuttal writing after peer review
academic-slides Academic presentation and research talk creation
evo-memory Persistent research memory and self-evolution
evomath-tao Rigorous proof and grading workflow for mathematical claims

Productivity & Tooling

Skill Description
paper-figures Publication-ready matplotlib figures
nano-banana AI-generated slides and illustrations via Gemini image generation
find-skills Discover agent skills from the open ecosystem
skill-creator Create, improve and evaluate skills

📦 Installation

Requires Python 3.11+ (< 3.14). We recommend uv.

# Install uv (if you don't have it)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Clone and run from source
git clone https://github.com/CamusGIT/EvoQuant.git
cd EvoQuant
uv sync
uv run evoquant

Or install as a tool from git:

uv tool install "git+https://github.com/CamusGIT/EvoQuant"
evoquant
🐳 Docker
docker compose up

🔑 Configuration

cp .env.example .env

Pick one LLM provider and fill in your key (Anthropic, OpenAI, Google, MiniMax, NVIDIA, OpenRouter, …). See .env.example for all options, including optional web search and channel credentials.

⚡ Quick Start

uv run evoquant

Drop quant research report PDFs into papers/raw/ to feed the knowledge base (see Feeding the knowledge base) — the CLI reminds you at startup until they are ingested. Then, in a session:

"入库 / ingest the new PDFs in papers/raw/."                  # quant-paper-extractor
"Find papers about cross-sectional momentum."                # local-paper-navigator
"I want a research direction in alpha factor research."      # research-ideation
"Run the proposed factor on the offline dataset and report IC/ICIR."  # quant-experiment-runtime

Skills load automatically when your request matches their descriptions. Install more with /install-skill, browse with the skill browser, or ask the agent directly.

🗺️ Roadmap

🤝 Contributing

Contributions are welcome — see CONTRIBUTING.md. The fastest way to extend EvoQuant is usually a new skill; see EvoQuant/skills/README.md for the skill anatomy and authoring guide.

📜 License

This project is licensed under the Apache License 2.0 — see LICENSE.

🙏 Acknowledgments

EvoQuant was built with reference to EvoScientist — an open-source multi-agent evolving AI scientist framework for end-to-end scientific discovery. EvoQuant reuses its agent core architecture (DeepAgents/LangGraph multi-agent runtime, memory, channels and skill system) and extends it into a domain-specific platform for autonomous quantitative research, with a rewritten skill suite for the quant research pipeline.

We thank the EvoScientist team for open-sourcing their work. The companion skill repository EvoSkills informed the design of several research-workflow skills included here.

If you use EvoQuant in your work, please also cite the original project it builds upon:

@article{evoscientist2026,
  title={EvoScientist: Towards Multi-Agent Evolving AI Scientists for End-to-End Scientific Discovery},
  author={Lyu, Yougang and Zhang, Xi and Yi, Xinhao and Zhao, Yuyue and Guo, Shuyu and Hu, Wenxiang and Piotrowski, Jan and Kaliski, Jakub and Urbani, Jacopo and Meng, Zaiqiao and Zhou, Lun and Yan, Xiaohui},
  journal={arXiv preprint arXiv:2603.08127},
  year={2026}
}

EvoQuant (CamusGIT/EvoQuant)

Searching Database…

这是什么?EvoQuant 是一个专为量化投资研究打造的自进化 AI 研究智能体,把从研读研究报告到在市场数据上运行真实因子实验的完整闭环自动化。
这是通用的 AI 科学家框架,还是更专门的东西?它是专门为量化研究而非宽泛的学术探索而构建的:专注于 alpha 因子研究、alpha 生成方法论和投资组合策略,用 IC/ICIR/RANKIC 指标评分,而不是通用基准。
怎么让它跑起来?它需要 Python 3.11+(也提供 Docker 路径);把研究报告 PDF 放进 papers/raw/,设置好 LLM 服务商密钥,然后启动 CLI/TUI 会话。
我可以用哪些 LLM 服务商,需要自己的 API 密钥吗?你需要自带 Anthropic、OpenAI、Google、MiniMax 或 NVIDIA 之一的密钥(也支持 OpenRouter);选择一个服务商并按 .env.example 填写。
它像其他 AI 科学家工具那样依赖带公开参考代码的论文吗?不——它恰恰是为相反的场景而建:券商研报(研报)是非结构化的 PDF,几乎从不附带开源代码,因此 EvoQuant 在严格的禁止捏造规则下从零重新实现文中所述的方法,并自行验证。
多智能体团队究竟是怎么运作的?EvoQuant 运行 6 个专门化子智能体(plan、research、code、debug、analyze、write),由主智能体在 DeepAgents/LangGraph 状态图上协调,每个子智能体负责研究闭环中专注的一环。
会话之间的研究发现会怎么处理?每轮的观察结果会被自动提炼进一个自连接的知识图谱(evo-memory),让后续研究周期建立在之前有效的基础上,并避开已知的死胡同。
我能在终端之外使用它吗?可以——除了 CLI/TUI 和用 --ui webui 启动的 WebUI,同一个智能体会话还可以通过 Telegram、Slack、飞书、微信或 Discord 运行。
它如何判断哪些研究想法真正值得执行?新想法必须继承锚定报告至少 70% 的方法,专注的创新增量不超过 30%,然后在 ELO 锦标赛中按新颖性 + 相关性 + 清晰度减去难度的方式竞争评分。
Creator
CamusGIT
Size
2.3 MB
Stars
141
Updated
CommitSep 02
Age
2mo
Commits · 90 Days