QuantMind is an agent-native knowledge extraction and retrieval framework for quantitative finance. It provides deterministic preprocess, typed knowledge structures, and retrieval layers for RAG and agentic RAG, with a Python package available via uv and editable install.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
QuantMind is an information processor for quantitative finance that refines raw financial information (papers, news, filings) into structured knowledge with provenance, timestamps, and sources. It supports agent-oriented workflows where a coding agent builds pipelines against repo contracts, skills, and deterministic verification, and it can be imported as a Python library.
How it works
Key components include:
- Deterministic preprocessing: fetch/parse/format/clean to produce source-faithful values.
- Config-driven operations: PaperFlow(cfg).build(input), collect_news, batch_run for applying operations over inputs.
- Typed knowledge structures: Paper with a tree of pages and flat cards for News, Earnings, Factor, Thesis; each artifact carries text, as_of timestamp, and source ref.
- Retrieval layers: rag/ (chunking + BM25 / similarity), library/ (persistence + search), mind/ (agentic, reasoning-based retrieval).
- Agent-oriented harness: AGENTS.md / CLAUDE.md contracts, contexts/ pages, portable skills, deterministic verify in scripts/verify.sh.
Getting started
- Agent path (recommended):
git clone https://github.com/LLMQuant/quant-mind.git
cd quant-mind && claude # or: codex
In session, instruct to build a source-first paper artifact and verify changes with scripts/verify.sh.
- Library path: use uv for package management and install in editable mode:
uv venv && source .venv/bin/activate
uv pip install -e .
Code examples show using PaperFlow with PaperStructureCfg or PaperSemanticCfg and ArxivIdentifier, demonstrating how to build a tree or a result with a global summary.
Getting started (continued) - code examples
import asyncio
from quantmind.configs import PaperStructureCfg
from quantmind.configs.paper import ArxivIdentifier
from quantmind.flows import PaperFlow
async def main() -> None:
flow = PaperFlow(PaperStructureCfg(model="gpt-5.6-luna"))
tree = await flow.build(ArxivIdentifier(id="1706.03762v7"))
print(tree.id, len(tree.nodes))
asyncio.run(main())
import asyncio
from quantmind.configs import PaperSemanticCfg
from quantmind.configs.paper import ArxivIdentifier
from quantmind.flows import PaperFlow
async def main() -> None:
flow = PaperFlow(PaperSemanticCfg(model="gpt-5.6-luna", chunk_size=512))
result = await flow.build(ArxivIdentifier(id="1706.03762v7"))
print(result.global_summary.summary)
print(result.source_revision.id, result.chunk_set.id)
asyncio.run(main())
import asyncio
from quantmind.flows import batch_run, collect_news
async def main() -> None:
# example usage for batching news collection
pass
asyncio.run(main())
- Resolve free-form intent with the magic flow:
from quantmind.flows import collect_news
from quantmind.magic import resolve_magic_input
async def main() -> None:
inp, cfg = await resolve_magic_input(
"Collect the last day of PR Newswire company news.",
target_flow=collect_news,
)
batch = await collect_news(inp, cfg=cfg)
print(f"documents={batch.success_count} complete={batch.complete}")
Recent releases
- None
Traction
- Stars: 2165
- Forks: 377
- Open issues: 33
Behind the repo
- The project is described as QuantMind, with integration to LLMQuant Data for production deployment.
Caveats
- License: MIT
- Language: Python
- Python version: 3.8+ (as indicated by README badges)
- Created: 2025-03-14
- Last push: 2026-07-23






