Quantitative · Agentic · Research-grade

One hundred stocks. Three uncorrelated tracks. Five agents in three stages. One consensus decision.

QARSA is a multi-agent quantitative trading research platform. It mines patterns, trains models, and stages a structured debate between six specialised agents — then writes a single, auditable decision per symbol, per cycle.

Statusv6.4 · running
RouteIBKR paper · gated
Updated2026-05-11
Operatorsingle human-in-the-loop
100
Stocks evaluated
A curated U.S. equity watchlist, point-in-time integrity.
13 + 7
Models · Active + dormant
Six statistical, seven ML; seven DL waiting for V7.
120
Rule grammar per symbol
Survivors pass a Bonferroni-corrected Sharpe floor.
01 · The thesis

A trading decision should survive three independent attempts to talk it out of itself.

Three uncorrelated lines of evidence. A structured debate. One auditable output.

Most automated trading systems pick a method — rules, models, or narrative — and live with its failure mode. QARSA runs all three in parallel and only acts when they agree.

Track 1 is inductive: mine the price tape for rules that historically worked. Track 2 is deductive: train statistical and ML models to forecast the next move. Track 3 is narrative: read structured opinions from a stack of LLM-driven analyst agents.

Their failure modes are uncorrelated. When one is wrong, the other two usually disagree. That is the entire reason this system exists.

TRACK 1 · INDUCTIVE Rule-mined strategies TRACK 2 · DEDUCTIVE Model predictions TRACK 3 · NARRATIVE V5 meta-synthesis CONSENSUS GATE Five-agent debate A · B · F → C · D → E CONSENSUSDECISION enter · no_enter · skip
02 · The tracks

Three machines, asking different questions of the same tape.

TRACK 1 · INDUCTIVE

Rule discovery

Enumerate a 120-rule grammar per symbol — entry × regime × hold. Walk-forward each one. Survivors must beat a 200-permutation random benchmark at Bonferroni α/120, clear a Sharpe > 1.0 risk gate, and produce at least ten trades.

Output → strategy_candidates
Read by → Agent A · Hindsight Strategist
TRACK 2 · DEDUCTIVE

Model layer

Thirteen active model classes — six statistical, seven ML — trained under a strict walk-forward harness: 6mo train, 5d embargo, 3mo test, ~7 folds. Best fold by Sharpe is refit on its training window and joblib-dumped as a production artifact.

Output → walk_forward_runs · MLflow
Read by → Agent B · Model Ensemble
TRACK 3 · NARRATIVE

V5 meta-synthesis

A separate stack of V4 analyst agents — regime, risk, behavioral, pattern librarian — each emit structured opinions into a shared memory graph. The V5 layer reads the latest meta-synthesis label and maps it to a long-or-flat vote.

Output → agent_memory_nodes
Read by → Agent F · V5 Meta-Synthesis
The three are uncorrelated in their failure modes. That is what makes the consensus design valuable.
From the QARSA design brief
03 · The five-agent debate

Six agents. Three sequential stages.

Stage 1 votes independently. Stage 2 argues both sides. Stage 3 scores a five-dimension rubric and emits the final decision. Latency p50 is under three seconds for the LLM voices.

A
STAGE 1 · INDEPENDENT

Hindsight Strategist

Reads strategy_candidates under a rolling 365-day window with point-in-time integrity. Proposes long entries from rule-mined survivors.

long · flat
B
STAGE 1 · INDEPENDENT

Model Ensemble

Reads the walk_forward_runs survivor pool. Picks the highest-Sharpe model by regime and emits a long-or-flat vote.

long · flat
F
STAGE 1 · INDEPENDENT

V5 Meta-Synthesis

Reads agent_memory_nodes for the latest V4 Meta-Synthesis or Stock Intelligence label and maps BULLISH/BEARISH to long-or-flat.

long · flat
C
STAGE 2 · ADVOCATES

Bull Advocate

Sees the three stage-1 votes. Builds the strongest possible long case using LLM reasoning over the stack. Structurally optimistic by design.

bull narrative
D
STAGE 2 · ADVOCATES

Bear / Market Color

Provides downside risk, sentiment, macro context. Holds a hard veto that fires when trailing 60-day drawdown is ≤ −15%.

long · flat · veto
E
STAGE 3 · ARBITER

Arbiter

Sees all five non-arbiter votes. Scores a five-dimension rubric and emits the final ConsensusDecision with Kelly-from-edge position sizing.

enter · no_enter · skip
04 · The arbiter rubric

Five dimensions, weighted. One number.

0.55
Entry threshold
Statistical strength0.30
Regime fit0.20
Risk / Reward0.15
Correlation0.15
Drawdown impact0.20

Weighted score is compared against the 0.55 entry threshold. Above it, the same number feeds Kelly-from-edge sizing — capped at 25% Kelly and 10% per name.

05 · Return tiers

Tier governs the consensus required for entry.

Higher historical returns demand stronger agreement. Returns above 100% per year require unanimity and a non-veto from the Bear — because returns that large are usually too good to be true.

A
10 – 25% annual
≥ 3 / 5 long
Bread-and-butter mean reversion and trend on stable names.
B
26 – 75% annual
≥ 3 / 5 long
Where most of the platform's tradeable population lives.
C
76 – 99% annual
≥ 4 / 5 long
Rare. Usually a tech-momentum or post-earnings drift window.
D
100%+ annual
5 / 5 long · D non-veto
The system demands unanimity for a reason.
Z
< 10% / gate-failed
Not tradeable
Kept for telemetry. 200%/yr with 60% DD lands here, not D.
06 · The operator surface

A monitoring layer designed for trust before action.

Page 22 is six tabs — Today, Decisions, Agents, Strategies, Models, Trace. Every chart carries a plain-English LLM-written explanation. Routing to a brokerage stays gated until the operator explicitly arms it.

qarsa.local / page 22 · today · cycle.morning · 09:38 ET open dashboard →
WATCHLIST · AGENT VOTE MATRIX
Twenty symbols × five agents · cleared at the gate
A
B
F
C
D
TIER
DEC
DECISION SPLIT
Three of twenty cleared the gate
20 DECISIONS 3 enter 13 no_enter 4 skip
AI · Read this chart

Three symbols cleared the gate this cycle — NVDA, AVGO and AMD — at tier B+ with at least 4 of 5 long votes. The Bear vetoed TSLA on a 60-day drawdown breach.

07 · Safety rails

Three gates stand between a decision and a real order.

RAIL 01 · ALWAYS ON

The D-veto

Agent D forces no_enter when the symbol's trailing 60-day drawdown breaches the −15% floor. Cannot be disabled.

RAIL 02 · STRUCTURAL

Per-position cap

Position size is computed Kelly-from-edge, clamped at 25% of full Kelly and 10% of portfolio NAV per name. Enforced before the decision is written.

RAIL 03 · OPERATOR-ARMED

IBKR route gate

The brokerage route is off by default. ConsensusDecisions are logged and stop. There is no path to a real order without an explicit arming flip in Page 21.

08 · The calibration loop

A system that gets to know its own mistakes.

Post-close, the calibration engine joins ConsensusDecisions with realised outcomes and proposes per-symbol threshold overrides for the V4 agent stack. Only symbols with at least ten trades are adjusted — the floor that keeps the loop from chasing noise.

Today the loop calibrates V4 thresholds. V6 ConsensusDecision outcomes feed in next.