Propose, Don't Judge: An Anytime-Valid Referee for LLM Agents That Mine Investment Factors
Organizations: DeepGrounding · AlphaAvatar
Abstract
Language-model agents now run the whole of quantitative factor research: they propose investment factors, backtest them, select the survivors and retire them. We ask which of those jobs an agent should keep. Our answer is governed self-evolution: the agent may propose, and a frozen statistical referee that the agent cannot touch must judge. The referee scores each candidate only on market outcomes revealed after submission, by betting, so its false-discovery guarantee holds at every stopping time for any proposal policy. We cross three proposers (a script, a bandit and a language model) with this referee and with three deliberately leaky ones, in a synthetic world with planted truth, a probe-authoring environment and a ten-year walk-forward on the CSI 500. Who judges sets the number of false admissions: the frozen referee admits 5-11 times fewer sub-threshold factors than the leaky referees under a scripted proposer, and no proposer closes that gap. Who proposes sets the yield: the language model beats the script, matches the bandit, and adds the one capability a bandit lacks, writing its own diagnostic probes. The certificate's price is time: an admitted true factor waits about 500 trading days, and the certified portfolio's Sharpe ratio therefore trails an ungated one. Judging belongs to the procedure; proposing and instrument-making belong to the agent.
Figures & tables
| Approach | Certifies | Anytime Valid | Adaptive Proposals | Growing Set | Retirement |
|---|---|---|---|---|---|
| Backtest Checklist | A batch of backtests | No | No | No | No |
| Batch Deflation | A batch of trials | No | Partial a | No | No |
| Agentic Miners | As the two rows above | No | No | No | Heuristic |
| Certified Self-Modification | The agent’s own modifications | Yes | Partial b | No c | No |
| This Paper | External hypotheses, scored after submission | Yes | Yes f | Yes d | Yes e |
| Referee | False Adm.: Round-Robin | Bandit | LLM (Gemini) | Yield: Round-Robin / Bandit / LLM |
|---|---|---|---|---|
| Frozen | 11.7 | 9.4 | 11.7 | 0.40 / 0.47 / 0.47 |
| Peeking | 86.2 | 38.4 | 37.4 | 0.41 / 0.50 / 0.55 |
| Adaptive Threshold | 105.2 | 51.0 | 43.5 | 0.39 / 0.44 / 0.48 |
| No Gate | 196.0 | 189.8 | 78.0 | 0.37 / 0.37 / 0.59 |
| Library | Contrast | Metric | DeepSeek | Gemini | GPT |
|---|---|---|---|---|---|
| Four-Family | LLM Round-Robin | Yield | (4/4) | (3/4) | (2/4) |
| Four-Family | LLM Bandit | Yield | |||
| Nine-Family | LLM Round-Robin | Yield | (4/4) | (3/4) | (1/4) |
| Nine-Family | LLM Bandit | Yield | (3/4) | ||
| Four-Family | LLM Round-Robin | False Adm. | (0/4) | (0/4) | (0/4) |
| Nine-Family | LLM Round-Robin | False Adm. |
| Family | Frozen: Held / Shelved / bp per Day | No Gate: Held / Shelved / bp per Day |
|---|---|---|
| Volatility | 473 / 1% / | 418 / 2% / |
| Liquidity | 314 / 0% / | 555 / 17% / |
| Short-Horizon Reversal | 539 / 30% / | 475 / 41% / |
| Momentum | 6 / 83% / | 892 / 44% / |
Appendix figures & tables24 assets
Supplementary material from the paper’s appendix.
Appendix
| Cost per Side | Certified Net SR | Ungated Net SR |
|---|---|---|
| 15 bp (registered) | ||
| 25 bp | ||
| 30 bp | ||
| 50 bp |
| Book | Convention | Net Sharpe | Cumulative Net Return |
|---|---|---|---|
| Certified | Registered | % | |
| Certified | Carry | % | |
| Certified | One-Day Lag | % | |
| Certified | Carry and Lag | % | |
| Ungated | Registered | % | |
| Ungated | Carry | % |
| Stream Transformation | Null False Acceptance, % | Median Days to Accept | Detector False Alarms on Alive Streams, % | Step-Decay Delay, Median Days |
|---|---|---|---|---|
| Raw daily rank-IC (conditional null) | 2.1 / 6.0 / 15.4 | 228 / 227 / 227 | 1.5 / 11.5 / 46 | 213 / 181 / 195 |
| Whitened, worst-case bound | 1.1 / 1.3 / 1.8 | 336 / 378 / 462 | 1.0 / 0.0 / 7.0 | 250 / 264 / 316 |
| Whitened, predictable bound (adopted) | 1.8 / 2.0 / 2.4 | 238 / 284 / 384 | 1.5 / 0.5 / 8.5 | 218 / 234 / 308 |
| Whitened with the true (oracle) | 2.1 / 1.3 / 0.9 | 228 / 344 / 536 | 1.5 / 0.5 / 6.5 | 213 / 246 / 333 |
| Family | Referee | Yield: Round-Robin / Bandit / LLM | False Admissions: Round-Robin / Bandit / LLM | Hidden Retries: False |
|---|---|---|---|---|
| Gemini | Frozen | 0.095 / 0.096 / 0.096 | 0.000 / 0.000 / 0.000 | 0.000 |
| Gemini | Peeking | 0.060 / 0.065 / 0.063 | 0.314 / 0.300 / 0.315 | 0.341 |
| Gemini | Adaptive Threshold | 0.081 / 0.087 / 0.087 | 0.272 / 0.273 / 0.263 | 0.281 |
| Gemini | No Gate | 0.042 / 0.034 / 0.043 | 0.838 / 0.848 / 0.836 | 0.820 |
| GPT | Frozen | 0.095 / 0.096 / 0.096 | 0.000 / 0.000 / 0.000 | 0.000 |
| GPT | Peeking | 0.060 / 0.065 / 0.061 | 0.314 / 0.300 / 0.318 | 0.341 |
| Family | Fixed Menu: Regret | Authored Probes: Regret | Paired Difference | Holm |
|---|---|---|---|---|
| DeepSeek | 0.616 0.098 | 0.228 0.064 | 0.001 | |
| Muse | 0.651 0.084 | 0.403 0.064 | 0.002 | |
| Gemini | 0.692 0.098 | 0.458 0.117 | 0.025 | |
| GPT | 0.526 0.078 | 0.459 0.097 | 1.000 | |
| Hunyuan | 0.663 0.097 | 0.642 0.109 | 1.000 | |
| GLM | 0.585 0.093 | 0.659 0.148 | 1.000 |
| Arm | Admitted | Edge | Edge | Edge | False Admissions | Retired by the End |
|---|---|---|---|---|---|---|
| Frozen, Round-Robin | 214.7 | 0.0 | 11.7 | 203.0 | 11.7 | 11.7 |
| Frozen, Bandit | 260.8 | 0.0 | 9.4 | 251.3 | 9.4 | 9.4 |
| Frozen, LLM (Gemini) | 257.0 | 0.0 | 11.7 | 245.3 | 11.7 | 11.7 |
| Frozen, LLM (DeepSeek) | 258.1 | 0.0 | 12.7 | 245.5 | 12.7 | 12.7 |
| Frozen, LLM (GPT) | 236.9 | 0.0 | 13.3 | 223.6 | 13.3 | 13.3 |
| Peeking, Round-Robin | 312.5 | 10.8 | 75.3 | 226.3 | 86.2 | 85.6 |
| Referee | Controller | Yield at 0.010 / 0.015 / 0.020 | False Admissions at 0.010 / 0.015 / 0.020 |
|---|---|---|---|
| Frozen | Round-Robin | 0.403 / 0.403 / 0.400 | 5.4 / 11.7 / 13.8 |
| Frozen | LLM (Gemini) | 0.471 / 0.471 / 0.466 | 5.7 / 11.7 / 14.7 |
| Peeking | Round-Robin | 0.407 / 0.406 / 0.402 | 78.5 / 86.2 / 90.2 |
| Peeking | LLM (Gemini) | 0.546 / 0.546 / 0.532 | 31.9 / 37.4 / 45.7 |
| Adaptive Threshold | Round-Robin | 0.390 / 0.390 / 0.387 | 97.1 / 105.2 / 108.2 |
| Adaptive Threshold | LLM (Gemini) | 0.478 / 0.478 / 0.476 | 37.5 / 43.5 / 47.0 |
| Referee | Controller | Admitted | False: Full | False: After | False at | Edge After | Yield: Full / After |
|---|---|---|---|---|---|---|---|
| Frozen | Round-Robin | 214.7 | 11.7 | 17.6 | 96.0 | 0.032 | 0.403 / 0.380 |
| Frozen | Bandit | 260.8 | 9.4 | 14.4 | 114.3 | 0.032 | 0.474 / 0.460 |
| Frozen | LLM (Gemini) | 254.8 | 11.7 | 15.8 | 111.7 | 0.032 | 0.466 / 0.458 |
| Peeking | Round-Robin | 312.4 | 86.2 | 91.2 | 180.4 | 0.023 | 0.406 / 0.390 |
| Peeking | Bandit | 342.8 | 38.4 | 52.6 | 170.5 | 0.027 | 0.495 / 0.457 |
| Peeking | LLM (Gemini) | 354.6 | 37.4 | 41.5 | 152.9 | 0.029 | 0.545 / 0.511 |
| Referee | Controller | Admitted | False: Full | False: After | Edge After | Yield: Full / After |
|---|---|---|---|---|---|---|
| Frozen | Round-Robin | 127.2 | 9.8 | 16.6 | 0.028 | 0.246 / 0.225 |
| Frozen | Bandit | 188.1 | 11.9 | 17.6 | 0.030 | 0.357 / 0.340 |
| Frozen | LLM (Gemini) | 198.6 | 14.6 | 20.3 | 0.030 | 0.377 / 0.364 |
| Peeking | Round-Robin | 256.9 | 127.3 | 131.8 | 0.016 | 0.244 / 0.233 |
| Peeking | Bandit | 295.8 | 97.0 | 107.2 | 0.020 | 0.360 / 0.330 |
| Adaptive Threshold | Round-Robin | 296.4 | 175.2 | 174.9 | 0.013 | 0.230 / 0.228 |
| Controller | Referee | Admitted | False: Full | False: After | Share False | Edge After | Yield | Wait |
|---|---|---|---|---|---|---|---|---|
| Round-Robin | Frozen (Recorded) | 214.7 | 11.7 | 17.6 | 0.08 | 0.032 | 0.403 | 439 |
| Round-Robin | Fixed 500 (Daily) | 208.0 | 16.4 | 22.2 | 0.11 | 0.029 | 0.358 | 500 |
| Round-Robin | Fixed 500 (At End) | 207.2 | 16.0 | 21.8 | 0.11 | 0.029 | – | – |
| Round-Robin | Fixed 250 (Daily) | 187.4 | 16.6 | 19.4 | 0.10 | 0.030 | 0.314 | 250 |
| Bandit | Frozen (Recorded) | 260.8 | 9.4 | 14.4 | 0.06 | 0.032 | 0.474 | 408 |
| Bandit | Fixed 500 (Daily) | 262.6 | 12.2 | 20.4 | 0.08 | 0.028 | 0.441 | 500 |
| Controller | Referee | Admitted | False: Full | False: After | Share False | Edge After | Yield | Wait |
|---|---|---|---|---|---|---|---|---|
| Round-Robin | Frozen (Recorded) | 127.2 | 9.8 | 16.6 | 0.12 | 0.028 | 0.246 | 543 |
| Round-Robin | Fixed 500 (Daily) | 150.2 | 41.4 | 49.7 | 0.33 | 0.021 | 0.214 | 500 |
| Round-Robin | Fixed 500 (At End) | 148.8 | 40.8 | 48.9 | 0.33 | 0.021 | – | – |
| Round-Robin | Fixed 250 (Daily) | 115.0 | 30.2 | 33.8 | 0.29 | 0.023 | 0.159 | 250 |
| Bandit | Frozen (Recorded) | 188.1 | 11.9 | 17.6 | 0.09 | 0.030 | 0.357 | 436 |
| Bandit | Fixed 500 (Daily) | 207.8 | 33.2 | 44.0 | 0.22 | 0.024 | 0.330 | 500 |
| Start | No Gate | Frozen | Frozen, Retirement Off | Retirement Off Minus Frozen | Fixed 500 (Daily) | Fixed 500 Minus Frozen |
|---|---|---|---|---|---|---|
| 2016 | ||||||
| 2017 | ||||||
| 2018 | ||||||
| 2019 |
| Family | Contrast | Yield Diff. Pre-2020 | Yield Diff. Post-2020 | False Adm. Diff. Pre-2020 | False Adm. Diff. Post-2020 |
|---|---|---|---|---|---|
| Gemini | LLM Round-Robin | ||||
| Gemini | LLM Bandit | ||||
| DeepSeek | LLM Round-Robin | ||||
| DeepSeek | LLM Bandit | ||||
| GPT | LLM Round-Robin | ||||
| GPT | LLM Bandit |
| Family | Retired | Share Retired | Days Held | IC While Held | IC After | After | After |
|---|---|---|---|---|---|---|---|
| Liquidity | 12.1 | 0.24 | 207 | 1.00 | 0.05 | ||
| Momentum | 0.5 | 1.00 | 354 | 0.89 | 0.22 | ||
| Reversal | 31.8 | 0.36 | 838 | 0.00 | 0.00 | ||
| All | 44.3 | 0.21 | 661 | 0.28 | 0.01 |
| Start | Frozen | No Gate | (a) | (b) | Breadth | Selection | Earliness |
|---|---|---|---|---|---|---|---|
| 2016 | |||||||
| 2017 | |||||||
| 2018 | |||||||
| 2019 |
| Family | Certified: Sleeves | First Held (Mean Day) | After 2020 | Ungated: Sleeves | First Held (Mean Day) | After 2020 |
|---|---|---|---|---|---|---|
| Growth | 42 | 1151 | 100% | 235 | 1365 | 83% |
| Investment | 0 | 412 | 1419 | 76% | ||
| Liquidity | 126 | 1511 | 100% | 213 | 1264 | 83% |
| Momentum | 0 | 354 | 1561 | 84% | ||
| Quality | 45 | 1177 | 100% | 306 | 1541 | 86% |
| Reversal | 237 | 1722 | 100% | 164 | 1266 | 100% |
| Family | Start | LLM Round-Robin Yield | Holm | LLM Bandit Yield | Holm |
|---|---|---|---|---|---|
| DeepSeek | 2016 | 0.006 | 0.124 | ||
| DeepSeek | 2017 | 0.005 | 1.000 | ||
| DeepSeek | 2018 | 0.034 | 1.000 | ||
| DeepSeek | 2019 | 0.012 | 1.000 | ||
| Gemini | 2016 | 0.122 | 1.000 | ||
| Gemini | 2017 | 0.008 | 1.000 |
| Family | Start | LLM Round-Robin Yield | Holm | LLM Bandit Yield | Holm |
|---|---|---|---|---|---|
| DeepSeek | 2016 | 0.000 | 0.178 | ||
| DeepSeek | 2017 | 0.003 | 1.000 | ||
| DeepSeek | 2018 | 0.001 | 0.072 | ||
| DeepSeek | 2019 | 0.009 | 1.000 | ||
| Gemini | 2016 | 0.000 | 0.012 | ||
| Gemini | 2017 | 0.001 | 0.260 |
| Controllers | Model Families | Referee Arms | Libraries | Starts Seeds | Cells |
|---|---|---|---|---|---|
| Round-Robin, Bandit | None | All Four | Both | 320 | |
| LLM | Gemini, DeepSeek, GPT | Frozen | Both | 120 | |
| LLM | Gemini | Peeking, Adaptive Threshold, No Gate | Four-Family | 60 | |
| LLM | DeepSeek, GPT | No Gate | Four-Family | 40 | |
| Total | 540 |
| Id | Date | What Changed | Affects |
|---|---|---|---|
| A1 | 2026-09-02 | LLM costs metered at billed prices; spend cap $335 | No (accounting) |
| A2 | 2026-09-02 | Deterministic iteration order; longer retry window | No (engineering) |
| A3 | 2026-09-03 | Escalation-price sensitivity computed by re-scoring recorded episodes | No (analysis) |
| A4 | 2026-09-04 | Abstract effort pins realised through the measured vendor map | No (runtime) |
| A6 | 2026-09-04 | Probe environment audited; two world defects fixed (world v2) | Probe Environment |
| A7 | 2026-09-05 | Real-data world specification on the CSI 500 | Real-Data World |
| Rung | Allocation Across Families | Response to an Alarm | Instruments | Inputs Beyond Family Statistics |
|---|---|---|---|---|
| Round-robin (C0) | Cycles through families | Scripted: retire and refill the same family | Fixed menu | None |
| Discounted-UCB bandit (C1) | Reward per family: admissions less retirements, discounted | Scripted, as C0 | Fixed menu | None |
| LLM controller (C2) | Reads statistics, family profiles and memory | Diagnosis (idiosyncratic death, crowding, regime shift, data breakage) or escalation; chooses the response | Authors, tests and mounts probes | Family profiles, memory, the reasons for retirements |
| Family | Signal (sign) | Parameters Drawn | Specs |
|---|---|---|---|
| Momentum | ( ) | , skip | 4,642 |
| Short-Horizon Reversal | ( after sign) | ; turnover-scaled or not | 56 |
| Volatility | (std, downside std or max) of daily returns over ( after sign) | ; three kinds | 363 |
| Liquidity | mean turnover over , or Amihud illiquidity ( after sign) | ; two kinds | 242 |
| Value | Book, earnings, sales or dividends to price, smoothed over ( ) | ; four kinds | 84 |
| Size | market capitalisation, circulating or total ( after sign) | ; two kinds | 42 |
Quantitative Finance
Quantitative finance uses mathematical models, statistics, and machine learning to value assets, measure risk, and guide trading and portfolio decisions.
See all 191 papers