run_committee
Run a four-role LLM investment committee on any ticker: macro, quant, and risk agents debate, then a CIO issues a BUY/HOLD/SELL verdict with memo for human decision support.
Instructions
Run the 4-role LLM investment committee on a symbol (Direct path): Macro Strategist, Quant Analyst, and Risk Officer debate from isolated evidence, then a CIO synthesizes one calibrated BUY/HOLD/SELL-style verdict with a written memo.
Requires a backend LLM key (e.g. DEEPSEEK_API_KEY) and takes 30-90s on
a cache miss. If the symbol was already analyzed today, the cached
verdict is returned instantly unless force is set. Sends MCP progress
notifications per debate phase when the client asks for them. Decision
support only — the human always executes.
Args: symbol: Any yfinance ticker (US / HK / A-share / ETF / crypto / commodities), e.g. "AAPL", "GC=F", "510300.SS". force: Re-run even if a verdict already exists for today. max_rounds: Cross-challenge debate rounds (default 1).
Returns:
Object with decision_id, cached flag, verdict and
confidence_lookup (show this to the user instead of the
self-reported confidence). The shape differs by path:
- cached: false (fresh run): verdict is an object (verdict,
confidence, suggested allocation, ...).
- cached: true (today's transcript): verdict is the verdict string,
with confidence, alloc_cny, alloc_currency alongside, plus the
CIO memo as cio_memo and the deterministic input_health block
(empty inputs, rewrite rules applied, forced HOLD) — no need to call
explain_decision just to read them.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Re-run even if a verdict already exists for today. | |
| symbol | Yes | Any yfinance ticker (US / HK / A-share / ETF / crypto / commodities), e.g. 'AAPL', 'GC=F', '510300.SS'. | |
| max_rounds | No | Cross-challenge debate rounds. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |