Self-hosted AI investment committee
Four independent LLM roles challenge each other and a CIO synthesizes one verdict — the decision stays yours.
Installs the MCP server (18 tools auto-registered) + committee skills. Then say “set up invest” to onboard. No API key needed (Coordinator path).
Why OpenInvest
At a Sharpe around 1, proving skill from returns takes decades (t = SR·√T). So instead of selling untestable P&L, OpenInvest grades calibration — and rejects the parts that don’t hold up.
After band calibration (γ=1.1), P10–P90 coverage moves into the pre-registered [75%, 85%] band: 76/72/69% → 80/76/74% across 30/60/90-day horizons.
TradingAgents-style analyst agents scored 50.3 / 57.4 / 64.7% on 30-day direction — all below the 71–73% naive baseline. 0 of 3 passed the pre-registered gate.
At effective n=1, probability-band coverage collapses to 42%. We suppress single-sample point estimates instead of dressing them up as precision.
Raw LLM confidence clusters at 0.60 (median, n≈2,100). We correct that bias before any verdict reaches you.
Three analysts argue from different evidence, cross-challenge in round 2, and a CIO synthesizes one verdict.
Product Philosophy
OpenInvest is not another AI assistant, and it is not trying to replace your agent.
We believe the future belongs to increasingly capable personal agents such as Claude Code, Codex, Hermes, OpenClaw, and future Agent OSs. These agents already understand their users far better than a standalone investment application ever could. They naturally accumulate long term context, remember past conversations, observe user behavior, and evolve alongside their owners.
Instead of rebuilding these capabilities, OpenInvest focuses on one thing only: becoming the world's best investment decision engine.
In other words, OpenInvest generates high quality decisions, while your agent helps you make high quality choices.
We do not want to compete with the rapidly evolving agent ecosystem by building another chat interface or another memory system. Instead, OpenInvest is designed to become the decision infrastructure that powers those agents.
As agents become smarter, OpenInvest becomes more valuable. Every improvement in the agent ecosystem immediately benefits OpenInvest users without requiring OpenInvest to reinvent conversation, memory, or personalization.
OpenInvest doesn't build another AI agent. It builds the decision engine that AI agents deserve.
Evidence
Figures are recomputed from the public research archive. Look-ahead-prone windows are flagged; we show where the committee trails, not just where it leads.
The defensive edge
When gold fell through 2022, the committee stayed +1.95% while buy-and-hold turned negative and trend / regime rules lost ~6%.
Walk-forward replay on GC=F, 2022 (pre-training-cutoff, no look-ahead). n=251 trading days.
experiments/ta-analysts/baselines/gold_fourth_arm_result.json
The committee leads in the 2022 bear and edges ahead in the bull — and, honestly, trails buy-and-hold in the sharp 2020 V-shaped crash.
† 2024–26 bull carries LLM look-ahead (upper-bound only). * 2020 / 2022 are clean. Sharpe ratio, GC=F.
experiments/ta-analysts/baselines/gold_fourth_arm_result.json
Fundamental, news and sentiment analysts all missed our pre-registered hit-rate gate — a naive “always-majority” baseline beat every one.
30-day directional hit-rate, Wilson 95% CI, n≈244/analyst. The single-sided bull window makes the ~73% baseline a high bar by design.
docs/wiki/16-ta-analysts-experiment.md
Across windows × models, exactly one analyst cell ever cleared the gate. We require replication before believing a result — 孤证不立.
Gate = Wilson CI lower bound above both the naive baseline and the mechanical mapping.
docs/wiki/16-ta-analysts-experiment.md


![Band calibration (γ=1.1) lifts P10–P90 coverage into the pre-registered [75%, 85%] band at every horizon.](/figures/figure6_coverage_by_window.png)
![Pre-registered out-of-sample acceptance: the calibration layer lifts coverage into [75,85]% and improves Brier at every horizon (fit 2007–17, OOS 2018–26).](/figures/table2_calibration.png)






Methodology & Deep Dive
A rigorous walk-through of the architectural decisions, math, and validation results that power our calibrated committee.
To fix the LLM’s zero-session memory, a three-stage nightly job consolidates historical decisions. We apply volatility-aware opportunity cost thresholds to HOLD verdicts to counter over-conservatism.
Starts at midnight. Reads all past verdicts and subsequent market price movements, tagging each with the true market regime on that decision day, generating short-term-recall files.
Instead of untestable point estimates, we query 20+ years of historical data for the active regime. Paths are sorted into 4 mutually-exclusive categories using volatility units.
The same prompts run through two distinct implementations. Disagreements between Claude and DeepSeek are used as a model divergence validation signal rather than a bug.
Local sandboxed subprocesses. Zero-cost execution powered by user subscription.
ThreadPool execution for cron-based automation and real-time live SSE stream.
We optimize prompts and allocation rules programmatically. Rather than hiding failed assumptions, we document them to ensure scientific integrity.
λ = eff_n / (eff_n + k)k = 80Small-sample shrinkage — pull thin conditional buckets toward the asset’s unconditional distribution.
q′ = γ · qγ = 1.1 · P10/P90Bandwidth expansion on the P10/P90 & downside quantiles — fixes the structural under-coverage.
t ≈ SR · √TSharpe 1 → ~4 yrWhy we grade calibration, not P&L: proving Sharpe-1 skill takes years; calibration is testable today.
Intellectual Honesty: Optuna revealed that multi-round debate is a placebo (1 round = 3 rounds in performance). TradingAgents subagents also performed below naive baselines. Focus remains on calibrated CIO veto rights.
We use YAML frontmatter for schema validation (Pydantic) and the Markdown body for direct LLM ingestion. Atomic transactions are secured via fcntl file locks.
Fcntl read-modify-write (RMW) locking prevents race conditions between chat bots, schedulers, and APIs.
Browse and read the raw, unedited Markdown documentation and Architecture Decision Records (ADRs) directly from our codebase.