AI Hedge Fund simulates decisions and places no trades
The current application builds a fund mandate, asks LLM personas and quantitative models for stock views, combines those views under portfolio and risk rules, and simulates the resulting positions. The README says plainly that it does not make trades. You can use an interactive terminal app or run a saved mandate from the command line, where a full cycle record goes to standard output as JSON and a short summary goes to standard error.
A mandate defines strategies, staff, risk, capital, and rebalance cadence. Tickers arrive at run time, so the same fund design can be pointed at AAPL and MSFT without editing its mandate. Saved files live under ~/.hedge-fund/mandates/. The backtester repeats the same cycle over historical dates and draws an equity curve against the chosen benchmark. Those mechanics make the project useful for learning even when its investor branding feels theatrical.
Two external services sit behind the first useful run
Market prices, fundamentals, and earnings come from Financial Datasets. The investor agents also need one supported model provider, with Anthropic, OpenAI, DeepSeek, Google, xAI, Kimi, and TypeSafe listed in the README. The application asks for credentials when first needed and saves them in ~/.hedge-fund/.env; exported shell values override that file. This is a quick start, though it sends financial inputs and prompts to external services.
Cost and routing can interrupt the experience. Issue 706 shows a user receiving HTTP 402 because the Financial Datasets balance was $0, even after the free tier had worked earlier. Issue 711 reports that OPENAI_BASE_URL and OPENAI_API_BASE were ignored for a Groq endpoint, causing a request for its model to reach OpenAI and fail with 404. Both reports are concrete reasons to test provider behavior before preparing a class or demo.
What happened when we ran it
Our sandbox installed AI Hedge Fund in 28 seconds, pulling 113 packages and consuming 473 MB on disk. The build completed in 1 second. commit 154a8b2 was a 0.9 MB checkout with 96 files and roughly 11,346 lines of source. The lab used 3 CPUs, 8 GB of RAM, Python 3.12, and no secrets.
No test script or target was available to the lab runner, so tests were skipped. The measured checkout also had no tests directory and no CI workflow files. That result does not say tests failed. It says we had no automated test result to use when judging the current commit. The repository's development history and pull requests may contain contributor-run checks, but those are not a substitute for a repeatable gate on the reviewed tree.
Pip-audit found 8 known vulnerabilities in the installed environment. Our supplied log does not identify their packages or severity, so this review makes no claim about exploitability. For an educational local run with API credentials and saved mandates, the prudent response is to inspect, update, and re-audit the environment before use. The 473 MB footprint is also worth noting if you planned to create many disposable environments for a workshop.
Backtesting ships before the safeguards are finished
Version 2 has a shared cycle for data, analyst signals, portfolio construction, risk checks, simulated execution, and a saved receipt. The roadmap marks the whole-fund backtester and simulated broker as shipped. It also says each run currently starts again from the mandate's cash because the ledger can write a receipt but cannot yet read the newest receipt to carry positions and net asset value forward.
Several phrases in the vision document describe a future system. The paper broker, live broker plugins, scheduler, validation gate, and autonomous research loop are planned rather than current. Point-in-time data correctness is still marked in progress. That last item matters most for interpretation: a polished historical equity curve is not proof until data availability, filing dates, survivorship, costs, and overfitting controls have all been tested. The project itself lists CPCV and probability-of-backtest-overfitting work as planned.
LLM personas provide hypotheses, not investor replicas
The fund can staff strategies with stylized versions of public investor philosophies. These agents return a conviction between -1 and +1 plus written reasoning. Quant models share the same signal interface, which lets a strategy blend both kinds of output. The vision document says the personas are approximations, not the real people and not endorsements. That qualification should stay visible whenever results are shown.
There is a good engineering instinct beneath the role play. The stated design keeps language models away from order placement. Deterministic code converts views into target positions, while hard risk limits can clamp or reject them. Yet some of those safeguards are incomplete in the roadmap, and there is no real broker today. Treat each generated thesis as an input to inspect, never as validated expertise borrowed from the investor whose name appears on the agent.
Release 2.3.0 is active, with 164 open items to sort
GitHub recorded the last push on September 18, 2026, the same day v2.3.0 was released. That release added TypeSafe's Jev provider plus newer hosted models. The repository had 63,532 stars and 164 open issues and pull requests when fetched. A large audience and same-day release indicate strong interest and current maintenance; the combined open count also means users will need to distinguish accepted behavior from proposed fixes and outside contributions.
The roadmap is the project's best document because it labels shipped, in-progress, and planned work. Read it before the vision page, then keep the README's educational disclaimer in view. AI Hedge Fund is compelling source material for how a simulated fund might be decomposed. Our 8 audit findings, absent lab test target, external data dependency, and unfinished validation path make the practical boundary equally clear: experiment with fake money and verify every result yourself.

