Autonomous Alpha Research with LLM Agents — A Design That Doesn’t Fool Itself

Thesis: The hard part of automating alpha research isn’t generating ideas. LLMs are already good at that. The hard part is running a noisy, expensive, easily-overfit search loop without the agent declaring victory on noise. The proposer is easy; the skeptic is the product.

1. The real bottleneck

Quant research is a generate → test → learn loop over an enormous space: features × transformations × horizons × symbols × model forms × gating conditions. An LLM is well-suited to three parts of that loop — proposing hypotheses, writing the code/config to test them, and interpreting results in prose. What it is not natively good at is the part that actually protects you: statistical discipline. Point a tireless agent at a noisy objective and it will find a Sharpe-6 backtest by lunch. It will also be wrong.

So the design question is not “can an LLM propose features” (yes, trivially) but “can you build a loop where the agent’s output is trustworthy enough to act on.” Everything below is in service of that.

2. Why a computation-graph substrate is the enabler

This is feasible in a real stack — and not in a pile of notebooks — for one structural reason: the research pipeline has to be machine-manipulable. In our case the substrate is a graph of typed computation nodes (Variables, PricingModels) wired by name, configured by JSON, fed by a simulator, and fit by a declarative pipeline. On top of that sit three things an agent can read and write:

The agent doesn’t “do machine learning.” It reads the catalog, emits a config that wires existing nodes (or proposes a new one), launches a sim, and parses the result. The graph is the interface. If your research surface isn’t declarative and introspectable like this, step one isn’t “add an LLM” — it’s “make your pipeline addressable.”

3. The loop

   ┌── PROPOSE ──┐    economic hypothesis + mechanism (not a grid point)
   │             ▼
   │          WIRE        emit Variable/sim_cfg; verify it actually references live data
   │             ▼
   │           RUN        vargen → fit → sim, parallelized, with OOS + regime splits
   │             ▼
   │         EVALUATE     parse trade_stats: Sharpe, edge/trade, turnover, cost
   │             ▼
   │         CRITIQUE     adversarial agent: overfit? regime artifact? wiring stale?
   │             ▼
   └── REMEMBER ──┘    journal the outcome (winner/loser/gotcha) → ground next round

The proposer must justify a mechanism, not just a number — hypothesis-driven, never a blind grid sweep. Grids are how you manufacture false positives at scale; a required economic rationale is a cheap, powerful prior that prunes the search to defensible regions.

4. The skeptic is the product

This is where a serious system lives or dies. Every guardrail below exists because the field (and most practitioners, painfully) has been burned by its absence:

If the loop in §3 is the body, this section is the immune system. A system without it doesn’t produce alpha; it produces confident garbage faster than a human could.

5. Multi-agent topology

The reason to split roles is that self-confirmation is the enemy. One agent that both proposes and judges will rationalize its own ideas. So:

A panel of independent skeptics with different lenses (statistical, microstructure-cost, wiring, regime) catches failure modes that a single redundant verifier won’t.

6. What the LLM is genuinely good and bad at here

Honesty about this is what makes the design credible:

Good at Bad/dangerous at
Breadth of ideation; connecting to economic mechanism Statistical discipline — will call noise a win
Reading the catalog/journal; codegen and config Knowing what’s been tried (needs journal grounding)
Interpreting results in prose; writing them up Distinguishing real edge from regime artifact
Never getting bored across thousands of runs Latency/physics realism (the move was gone before you saw it)

The division of labor follows directly: the LLM owns generation, translation, and interpretation; the acceptance decision stays with the guardrails and a human gate.

7. Where to stop on the autonomy ladder

The realistic product is an alpha-research copilot that turns the crank and presents pre-vetted, adversarially-tested candidates for a human’s final judgment — not a fire-and-forget money printer.

8. Measure the researcher, not just the alpha

Treat the research agent as a system with its own metrics: fraction of proposals that survive OOS, dollars of validated edge per compute-hour, and — most important — the realized false-discovery rate (how many “winners” later fail forward). If you can measure the loop, you can improve the loop: tune the proposer’s priors, sharpen the skeptic, prune dead branches of the search.

9. The open problem

The unsolved core is automated overfitting control at scale. Throughput is the agent’s gift and its curse: the same machinery that explores the space exhaustively also snoops the data exhaustively. The teams that win this won’t be the ones with the cleverest proposer — ideas are cheap and getting cheaper. They’ll be the ones with the most ruthless, well-instrumented skeptic. Autonomous alpha research is, in the end, an exercise in building a machine that is very hard to fool — including by itself.


I’ve built this pipeline end to end: feature research, model fitting, bit-identical research-to-production inference, a microstructure-realistic simulator, exchange certification, and live systematic trading. The guardrails above aren’t theoretical — each one is a scar.