Model or dataset
BruceLanLan/augur avatar
BruceLanLan/augur

BruceLanLan/augur: 18 Investor Personas Vote on the Same Stock

🦉 Augur — 多智能体投资分析系统。13位虚拟投资大师独立分析,加权共识机制,Bloomberg风格Web仪表盘。

615 stars103 forksPythonMIT

At a glance

What is it?
Augur runs a multi-agent investment analysis pipeline in Python, with 18 investor persona agents, a weighted consensus and Kelly position sizing, and a Bloomberg-style dashboard. It is a research workflow, not a trading system.
Who is it for?
Adopt Augur if you want a structured, multi-perspective read on a ticker and are comfortable reading the persona definitions in src/skills/ before trusting a score. Do not adopt it as an execution or risk system: there is no order routing, and the consensus number is a weighted average of model outputs, not a forecast.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 14 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Augur actually solves, and who it is for

Single-model stock analysis collapses into one voice. Ask a general assistant about a ticker and you get one blended answer with no visible disagreement. Augur's premise is that disagreement is the useful part. The README frames it directly: put Warren Buffett, Ray Dalio, 段永平 and Cathie Wood in the same room and they will not agree, and that is the point.

The system ships 18 persona agents grouped into four schools: classic value (Buffett, Graham, Munger, Fisher), growth and innovation (Lynch, Wood, Thiel, Aschenbrenner), macro and cycles (Dalio, Soros, Marks, ARPS Crypto/Gold), Chinese value (段永平, 张磊, 李录, 但斌, 大宇 BTCdayu), plus one special-strategy agent, Serenity, focused on AI compute supply chains. Each persona scores a ticker from 0 to 10 and emits BUY, NEUTRAL or SELL.

The intended user is someone who already reads filings and wants a second, structured pass: an individual investor, an analyst building a screening funnel, or a developer wiring investment prompts into an agent workflow. The README states that Chinese personas converse fully in Chinese, which matters if your research notes are in that language. It is not aimed at anyone expecting a black-box signal to trade on.

How the persona agents, consensus and Kelly sizing fit together

The pipeline is a chain, not a single prompt. Six stages are named in the README: fetch, analyze, consensus, committee, debate, sentiment. The CLI exposes them as steps you can run individually or as one call.

Fetch pulls live quotes and financial indicators. Analyze dispatches the ticker to the persona agents, each producing a score and a signal. Consensus takes those outputs, applies weights, and returns a weighted verdict plus a Kelly position suggestion derived from the confidence of that consensus. Committee runs a smaller preset group that gives independent opinions and then a final ruling. Debate picks two to four masters and generates multi-round bull and bear arguments. Sentiment reads social signals.

The weighting has a visible consequence. The README describes a settings page where you enable a subset of masters, and states that weights are automatically renormalized. So the consensus is not a fixed formula: disabling Cathie Wood changes the denominator, and the resulting score is not comparable to a run with all 18 enabled. That is a design trade-off worth knowing before you compare two analyses.

A single command runs the whole chain, and the README notes that a failing step does not interrupt the run.

Installing Augur and running your first analysis

The repository offers a clone-and-install path. The README's 30-second section gives this sequence, which installs the package in editable mode with the data extras:

bash
git clone https://github.com/BruceLanLan/augur.git && cd augur
pip install -e ".[data]"
augur serve --open

The data extra pulls yfinance, pandas and requests, per pyproject.toml. Without it you get the core CLI but not the market data path. The final command starts the dashboard and opens a browser; the Dockerfile exposes port 8000 for it and 8900 for the REST API.

For a first analysis without the dashboard, the README gives three commands. The first runs all masters against one ticker, the second returns the weighted verdict, and the third runs the full chain:

bash
augur analyze AAPL
augur consensus NVDA
augur workflow TSLA --steps fetch,analyze,consensus,committee

Expect a scored verdict rather than prose. The dashboard's stock analysis page is documented to show an Augur score from 0 to 10, a BUY/NEUTRAL/SELL signal, a Kelly position suggestion, a one-line ruling called The Oracle of Augur, and a bull/bear split such as 13 Bullish / 5 Neutral / 0 Bearish.

If you want the agents inside Claude Desktop, the README gives this configuration and notes that Claude Code discovers .mcp.json automatically after cloning:

json
{
  "mcpServers": {
    "augur": { "command": "augur", "args": ["mcp-server"] }
  }
}

Before trusting any of it, run the troubleshooting command the README lists last:

bash
augur doctor

Where Augur breaks down or is the wrong tool

The consensus is a weighted average of language-model outputs, not an independent estimate. If several personas share a training-data bias about a sector, the weighting will not cancel it out; it will concentrate it. The README presents the bull/bear distribution as a feature, and it is informative, but a 13/5/0 split says the agents agreed, not that the thesis is right.

Data coverage is narrower than the persona list suggests. The analysis path depends on the data extra, which is yfinance-based. Anything yfinance does not carry, including many non-US listings, will degrade the analysis silently rather than fail loudly. The README claims A-share, US and Hong Kong tickers, and the Chinese personas are documented as conversing in Chinese, but the data layer behind them is not described in the same detail.

One feature is off by default and worth noting. The README describes augur guidance as AI-extracted management outlook and states it is disabled by default, pointing to a later section for the reason. If you want that signal you must enable it deliberately.

Finally, this is an analysis system. It computes a score and a notional Kelly fraction. There is no order routing, no broker integration, and no portfolio execution described anywhere in the documentation. Treating a BUY signal as an instruction rather than an input is the main way to misuse it.

Augur compared with a plain LLM prompt or a scripted screener

The obvious alternative is a single well-written prompt against a frontier model. That approach is cheaper and simpler, and for a quick sanity check on one ticker it is probably enough. The difference is structure: a single prompt gives you one blended view with no attribution, while Augur gives you per-persona scores, a visible bull/bear distribution, and a factor breakdown. The README describes a compare view where you place two to five masters side by side on five dimensions (valuation, growth, quality, momentum, safety) and expand the detail table to see which factors, such as PE or moat, produced each score. That attribution is the part a single prompt does not give you.

The second alternative is a deterministic screener with fixed rules. A screener is reproducible and auditable; Augur is not, because the same ticker can produce different persona reasoning across runs. What Augur adds is qualitative reasoning about moats, management and cycle position, which a numeric screen cannot express. The trade-off is that you cannot diff two Augur runs the way you can diff two screener outputs.

A third option is the committee and debate modes rather than full consensus. If your goal is to surface disagreement rather than resolve it, running augur committee with a preset such as the classic value group is closer to the intent than averaging all 18.

Maintenance, upgrade cost and the MIT licence

The repository is not archived, and the last push was on 2026-07-28. That is roughly two months before the date of writing, so the project is current, but the documentation shows no retrieved releases and no release notes, which means upgrade guidance has to come from CHANGELOG.md in the repository rather than from a published release feed.

The version is pinned in pyproject.toml at 10.15.0, and the README badge shows the same number. The README documents an upgrade path, and it is narrow:

bash
augur update

It states plainly that this command does git pull plus reinstall and applies only to git clone installations. If you installed from a wheel or run the Docker image, that command is not your upgrade path and the documentation does not describe one. The Dockerfile builds from requirements.txt and pyproject.toml, so a container upgrade means rebuilding.

Dependencies are split into extras: data, mcp, llm, telegram, slack. The MCP extras carry a python_version marker of at least 3.10, while the package itself declares requires-python >=3.8. That mismatch is a real constraint: on Python 3.8 or 3.9 you can install Augur but not its MCP server, so the Claude Desktop and Hermes integrations are unavailable. The Dockerfile uses Python 3.11 and installs the data, mcp, telegram and slack extras.

Augur is MIT licensed, which permits commercial use and modification provided the copyright notice and permission notice are retained. That is a statement about the licence text, not legal advice; if the analysis output feeds a regulated activity, get your own review.

Editorial conclusion

Adopt Augur if you want a structured, multi-perspective read on a ticker and are comfortable reading the persona definitions in src/skills/ before trusting a score. Do not adopt it as an execution or risk system: there is no order routing, and the consensus number is a weighted average of model outputs, not a forecast. Before relying on any signal, run augur doctor, check which data extras you installed, and read personas/ to see what each master actually weighs. The repository's last push was on 2026-07-28, so pin the version you install.

Frequently asked questions

How do I install BruceLanLan/augur and start the dashboard?

Clone the repository, then run pip install -e ".[data]" to get the package plus the yfinance, pandas and requests data extras. The README then gives augur serve --open, which starts the dashboard and opens a browser.

How do I use BruceLanLan/augur from the command line?

The README gives augur analyze AAPL to run all 18 masters on one ticker, augur consensus NVDA for the weighted verdict plus a Kelly position suggestion, and augur workflow TSLA --steps fetch,analyze,consensus,committee to run the full chain in one call.

Can I use BruceLanLan/augur with Claude Desktop or another MCP client?

Yes. The README shows adding an mcpServers entry named augur with command augur and args ["mcp-server"], and notes that Claude Code discovers .mcp.json automatically after cloning. The MCP extras require Python 3.10 or later.

Does BruceLanLan/augur place trades or manage a portfolio?

No. The documentation describes analysis, scoring, consensus and Kelly position suggestions only; there is no broker integration or order routing documented. The CLI has a portfolio command that returns Kelly allocation suggestions, which is advice output rather than execution.

How do I upgrade BruceLanLan/augur after installing it?

The README documents augur update, which it describes as git pull plus reinstall, and states that it applies only to git clone installations. For Docker deployments the documentation does not describe an upgrade command.

Official sources

  1. BruceLanLan/augur on GitHub
  2. Issues
  3. License: MIT
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/brucelanlan-augur.svg)](https://hysenlabs.com/projects/brucelanlan-augur)