QuantGPT: An LLM Agent That Mines and Submits Factors to WorldQuant BRAIN
Agent-driven alpha factory — LLM autonomously designs, backtests, and submits factors to WorldQuant BRAIN
At a glance
- What is it?
- QuantGPT wraps a Claude-driven MCP toolset around factor backtesting, anti-overfit checks and WorldQuant BRAIN submission. The design is interesting; the README is also the only real documentation of what it does in production.
- Who is it for?
- Adopt QuantGPT only if you already have a WorldQuant BRAIN account and are comfortable letting an agent spend backtest quota unsupervised; the README's own numbers (370+ backtests, three submitted factors) are self-reported and you should reproduce one factor end to end from docs/QUICKSTART.md before trusting the pipeline. If you need auditable factor research without a third-party cloud in the loop, this is the wrong tool.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 119 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The Problem: Factor Research Is a Loop, Not a Library Call
Most open source quant tooling stops at the backtest. You write an expression, you run it against a price panel, you get an IC series and a turnover number, and then you decide what to try next. The deciding is the expensive part. QuantGPT's README frames the gap directly: traditional tools follow a pattern where a human invents the factor, the tool backtests it, and the human reads the output. QuantGPT inverts the roles so that, in the project's phrasing, the agent is the researcher and the human is the reviewer. The intended user is someone who already understands factor construction and wants to compress the hypothesis-test-discard cycle, not someone learning what an IC is. The repository topics confirm the target: a-shares, factor-investing, quantitative-finance, worldquant. This is infrastructure for people who submit alphas to a platform and want more attempts per hour.
The MCP Tool Surface Is the Actual Product
The architecture diagram in the README lists fifteen MCP tools exposed to a Claude client (Claude Code or Claude Desktop). They split into four groups. Backtesting and scoring: run_backtest for full-market grouped backtests, score_factor producing a 0 to 100 composite, diagnose_factor for failure-mode analysis. Validation: run_anti_overfit with four checks, run_rolling_validation for walk-forward, validate_expression for syntax, plus list_operators and list_universes to expose sixty-plus operators and the available stock pools. Submission: wq_brain_submit, wq_brain_batch_submit, wq_brain_submit_by_ids, wq_brain_list_alphas, wq_brain_check_alphas and wq_brain_finalize_submissions. That last group is the interesting design decision. The agent does not merely propose factors; it can push them to WorldQuant BRAIN without a human in the loop. The README describes the loop as Phase 0 context loading from a knowledge base, Phase 1 factor design with one to three candidates per hypothesis, Phase 2 batch backtesting at ten to twenty concurrent jobs, then scoring, anti-overfit testing and iteration. Knowledge accumulates in three directories: rules for verified rules, findings for empirical discoveries, failures for disproven paths. Persisting the failures is the part most homegrown setups skip, and it is what makes a later session cheaper than the first.
Two Validation Layers, One of Which You Do Not Control
QuantGPT separates local scoring from external verification. Locally, factors get the 0 to 100 composite score plus four anti-overfit checks and walk-forward validation. Factors that reach what the README calls A-grade are automatically uploaded to QuantGPT Cloud (quant-gpt.com), a hosted service that reruns IC, IR and turnover independently, tracks out-of-sample performance, and runs self-correlation checks to catch duplicates. The README also mentions a dual-model cross-validation step on each conclusion. This two-layer split is a reasonable response to a real problem: an agent optimizing against its own scorer will find the scorer's blind spots. But it also means the strongest claim in the project, that results are reproducible and auditable, depends on a service the repository does not contain. You can read the code that decides to upload. You cannot read what happens after. Treat the Cloud step as a dependency with its own availability and terms, not as a feature of the MIT-licensed code.
Getting It Running: Python 3.10, FastAPI, React, and a Claude Client
The badges specify Python 3.10 or newer, FastAPI 0.110 or newer, and a React 18 with TypeScript frontend, which tells you the project ships both a service and a UI rather than a single script. The entry point in the README is docs/QUICKSTART.md, with docs/ARCHITECTURE.md, docs/API_DOC.md, docs/MCP_GUIDE.md and docs/FACTOR_MINING.md as the deeper references. The MCP guide is the file that matters most, because the agent only reaches the fifteen tools through an MCP connection from Claude Code or Claude Desktop; without that wiring you have a backtest service with no autonomous driver. The WorldQuant BRAIN integration is described as optional (the diagram labels it as such), so the local mining loop should function before you supply BRAIN credentials. The README does not print the literal install commands, environment variable names or config keys in the excerpt available here, so the exact values have to come from QUICKSTART.md and MCP_GUIDE.md. That is a documentation gap worth noting: a project whose selling point is zero-human-intervention research should show the connection setup on the front page, not three links deep.
Where the Design Bites: Quota, Overfitting and Self-Reported Numbers
The most concrete limitation is not in the code, it is in the platform. Submitting to WorldQuant BRAIN consumes a finite resource, and the agent's autonomy is exactly the property that makes runaway submission possible. The README lists wq_brain_batch_submit for parameter sweeps and wq_brain_finalize_submissions as a confirmation step, which suggests the authors thought about this, but nothing in the material describes a hard cap, a budget check or a dry-run mode. The second limitation is statistical. Four anti-overfit checks and a walk-forward pass reduce the chance of a spurious factor; they do not eliminate it, and an agent generating candidates in batches of ten to twenty will produce many more trials than a human would. The README's production table cites 370+ cumulative backtest tasks and three factors that passed WorldQuant in-sample tests with the best Fitness at 1.26. Those are the project's own figures, presented without an out-of-sample track record for the submitted factors, and the README does not state how many candidates were discarded to get three. A third gap: the README is largely in Chinese, so an English-speaking contributor faces a translation step before touching the docs. None of this makes the approach wrong. It makes the README an advertisement as much as a specification.
Compared with a Plain Backtesting Library
The honest alternative is a conventional backtesting library driven by a human, or a general-purpose LLM assistant wired to one. The difference is not natural language versus code, and the README says so explicitly. It is where the decisions live. With a library, you choose the hypothesis, you choose when to stop iterating, and you choose which candidates to submit. With QuantGPT, those choices are delegated to the agent, and the human reviews the output. That trade is only worth making if your bottleneck is the number of hypotheses you can test per day rather than the quality of the hypotheses themselves. A researcher with strong priors about a market will likely find the agent's mutation and crossover engines (the README names MutationEngine with eight mutation directions, CrossoverEngine, MetaEvolutionSelector and TrajectoryAnalyzer) less useful than simply writing the factor they already have in mind. Conversely, someone exploring a wide, shallow space across many operator combinations gets more from automation. The project's own framing, that this is a decision-rights difference rather than an interface difference, is the clearest thing in the README and also the fairest way to decide whether you want it.
Maintenance, Licence and What the MIT Grant Does Not Cover
The repository is MIT licensed, not archived, and last pushed in May 2026, with CI configured through GitHub Actions. There are no retrieved releases, so expect to track the main branch rather than pin a version, which raises the cost of upgrading: no changelog means you diff the tree. The MIT grant covers the code in this repository. It does not cover QuantGPT Cloud, which is a separate hosted service with its own terms, and it does not cover WorldQuant BRAIN, which is a third-party platform with its own account requirements and submission rules. If you fork this and strip out the Cloud upload path, you lose the independent verification layer and are left with local scoring only, which is a materially weaker claim. If you keep it, you are sending factor expressions to an external endpoint. Both are legitimate choices; the README does not discuss either, and that silence is the thing to resolve before deploying this anywhere that handles proprietary research. The knowledge base directories (rules, findings, failures) are plain files in the repository, which is good for auditability and also means every research session is a commit.
Editorial conclusion
Adopt QuantGPT only if you already have a WorldQuant BRAIN account and are comfortable letting an agent spend backtest quota unsupervised; the README's own numbers (370+ backtests, three submitted factors) are self-reported and you should reproduce one factor end to end from docs/QUICKSTART.md before trusting the pipeline. If you need auditable factor research without a third-party cloud in the loop, this is the wrong tool.
Community notes