Skip to content
Quon — ai-stock-agent mascotai-stock-agent/ dashboard

What ai-stock-agent does (and doesn't)

A multi-agent LLM trading research tool focused on Mag7 + AI pure-play US equities. This page summarizes what ships today and links to the deeper surfaces.

All numbers shown here come from paper-trading and historical backtests. They are research output, not investment advice, not a recommendation to buy or sell any security, and not a promise of future performance.

What it does

  • Runs a multi-agent LLM debate (Bull / Bear / Technical / Fundamental / Risk Manager / Trader) over Mag7 + AI pure-play US equities every trading day.
  • Pulls free market data (OHLCV via yfinance), basic fundamentals, and news via a pluggable composite source (yfinance + Yahoo Finance RSS + optional local fixtures).
  • Computes technical signals (RSI / MACD / Bollinger / ATR / optional Ichimoku / ADX / OBV / Stochastic) and feeds the snapshot to the agents.
  • Clips every agent decision through Kelly sizing and hard caps (per-symbol, per-sector, gross exposure, minimum cash buffer).
  • Enforces a kill switch (daily loss limit) and a drawdown halt that cancel further orders for the day, before they reach the broker.
  • Records every decision and order as a paper trade and writes a Markdown + JSON tear sheet for every backtest.

What it does NOT do

  • Does not place real trades by default. Switching to live trading requires explicit env flags and real broker credentials, neither of which is set.
  • Does not recommend that you buy or sell any particular ticker. The agent decisions are research artifacts, not personalized advice.
  • Does not promise future returns. Past backtest performance is historical only and can change with any strategy or universe edit.
  • Does not collect or share personal data beyond what an optional subscribe form receives (and even that is disabled in production today — see /subscribe).

Demo flow

  1. 1. Data + news ingest

    Per symbol, the pipeline pulls OHLCV from yfinance and fans out to every enabled news source (yfinance, Yahoo Finance RSS, optional JSONL fixtures). Failures of any one source do not stop the debate.

    src/ai_stock_agent/data/news

  2. 2. Multi-agent debate

    Bull / Bear / Technical / Fundamental analysts emit briefs grounded in the snapshot. Risk Manager critiques them. Trader synthesizes the result into strict JSON: action, conviction, target weight, rationale.

    src/ai_stock_agent/agents

  3. 3. Risk guardrails

    Kelly sizing shrinks the trader's target. Position cap, sector cap, gross exposure cap, and minimum cash buffer re-clip whatever Kelly produced. Kill switch and drawdown halt run before any order is submitted.

    src/ai_stock_agent/risk/guardrails.py

  4. 4. Paper execution + run report

    Orders go through the Broker abstraction. Default mode is paper — either in-process or Alpaca paper. Every run writes a JSON report that this dashboard ingests at build time.

    /runs

  5. 5. Backtest tear sheet

    ai-stock-agent backtest --report writes a Markdown summary plus a JSON sidecar (vol / VaR / monthly heatmap / yearly returns / trade stats / per-symbol). The dashboard renders any archived tear sheet under /backtest/<id>.

    /backtest/history

  6. 6. Follow updates

    Four pull-based broadcast channels are wired: GitHub Releases, GitHub Discussions Announcements, the /feed.xml RSS feed (live on this site), and an optional email subscribe form (disabled in production today; can switch to Buttondown without code changes).

    /subscribe

Latest research run

Equity
$104,330.05
Cash
$69,696.68
67% of equity
Decisions
15
Paper orders
0

Generated 6/26/2026, 7:00:26 PM · not halted · full debate transcript →

No-token paper demo status

The dashboard reads these fields straight from the runtime block written by the Python pipeline for every run. They confirm that the most recent run went through the deterministic demo provider — no paid LLM API call, no live broker order.

Latest run id
20260626-190026
Generated
6/26/2026, 7:00:26 PM
LLM provider
demo
Broker
in-process-paper
Live trading
false (paper only)
Mode
paper
Decisions
15
Paper orders
0
Latest paper orders
no orders submitted this run

Update cadence

Hourly local demo run (no paid LLM call, no real broker order). Daily Vercel deploy from this repo. The latest run shown above is whichever hourly job finished most recently.

Every value here comes from the runtime block in the run JSON — not inferred from environment, not guessed from headers. If the block is missing, the dashboard shows "unrecorded" rather than fabricating posture.

Run cadence

The demo lane records no-token paper runs over time.

Hourly local run, daily production deploy.

Legend

  • demo + paper + orders
  • demo + paper + cash kept
  • halted
  • live trading
  • unrecorded (legacy run)

Last 24 hours

One cell per hour, oldest on the left. Color reflects the dominant posture for any run that landed in that hour; cells with no run stay muted. Same demo + paper + no paid LLM contract as the strip above.

11
no run this hour

Recent backtests

Read deeper