For educational and research purposes only, not investment advice.
Trading Agents Lab
see it running

A look inside the lab.

Trading Agents Lab is a desktop application built on top of a multi-agent LLM research framework. The framework itself is open source and runs as a Python terminal program. The desktop app keeps that engine intact and adds a watchlist, persistent history, cost guard, settings UI for multiple LLM providers, optional Clawless connector, outbound webhooks, and the kind of moment-by-moment streaming output you can actually watch without a debugger open.

The screenshots on this page show a single Diligence run on NVDA. The numbers, dates, and decision text are illustrative output from one run on one day. They are not investment advice, not a recommendation, not a forecast.

Educational and research purposes only. Output below is illustrative, captured from one debate on one day. Past performance does not indicate future results. Users are solely responsible for their own trading decisions.
01 · start a debate

Pick a ticker, pick a date.

The Analyze page is the entry point. Type a ticker, pick the as-of date, choose your LLM provider, and the engine wires up a fresh debate. The header status strip shows which engine is configured, which data adapter is live, which LLM is on, and whether the optional Clawless connector is reachable. The session card below the form prints the latest close, the period change, range, and average volume, sourced from the data adapter you configured.

Trading Agents Lab Analyze page with the NVDA ticker filled in, OpenAI gpt-5.4 selected, and a session summary card showing the latest close and period change.
Analyze · NVDA · OpenAI gpt-5.4 · Alpaca data
02 · analysts surface signals

Analyst phase, three perspectives.

The first wave is the analyst team. A technical analyst, a fundamental analyst, and a news analyst each look at the ticker independently and stream their findings into the page. You read along as they form their views. Output is tagged by role so you can follow which analyst said what.

Analyst phase mid-stream, with technical, fundamental, and news analyst messages each tagged with their role and printing reasoning live.
Analysts · technical · fundamental · news
03 · researchers debate

Bull and bear go to debate.

Once the analysts finish, a bull researcher and a bear researcher pick up their findings and argue opposing positions. A research manager moderates the back and forth and pushes them to address each other's strongest points. The debate is the part of the system that surfaces what would normally be hidden assumptions.

Researcher phase showing the bull and bear researchers exchanging arguments, with the research manager pushing the debate forward.
Researchers · bull · bear · research manager
04 · risk committee + portfolio manager

A decision lands, with the math in view.

A three-seat risk committee (conservative, neutral, aggressive) reviews the debate and weighs the trade-offs. The Portfolio Manager reads everything and produces the final decision card: action, confidence, and the one-paragraph reasoning that ties the inputs together. The inline disclaimer ships on the same card as the recommendation because the recommendation cannot live without it.

Decision card from the NVDA Diligence run, showing HOLD action with 76% confidence and the Portfolio Manager reasoning, with a not-financial-advice disclaimer printed inline.
Decision · HOLD · 76% confidence · inline disclaimer

Illustrative output from one run. Not advice. Not a recommendation. Not a forecast.

05 · watchlist

Queue the tickers you care about.

The Watchlist holds your tracked tickers, equities and crypto in the same list. Hit Analyze on any row to drop into the Analyze page with the ticker pre-filled. The batch runner can sweep an entire watchlist sequentially and fire your configured webhooks as each Diligence run completes.

Watchlist with a mix of equities and crypto: NVDA, JPM, BAC, ETH, BTC. Each row has Analyze and Remove buttons.
Watchlist · equities + crypto in one list
06 · history

Every run stays on your machine.

History persists every Diligence run to a local SQLite database in the app's user-data directory. Sort by date, ticker, or cost. Click into a row to re-read the full debate transcript and decision card. Nothing is uploaded, nothing is synced to a server, nothing leaves the laptop.

History page listing past Diligence runs with timestamps, tickers, and a sessions count card.
History · local SQLite · nothing leaves the laptop
07 · settings

Bring your own providers.

The Settings surface is where the desktop app earns its keep. Configure LLM providers (OpenAI, Anthropic, OpenRouter, Gemini, xAI Grok, MiniMax, or a local runtime like Ollama or LM Studio), pick your data adapter, set hard spend caps on the Cost Guard, and optionally wire up the Clawless gateway. Credentials are encrypted at rest via your OS keychain (Keychain on macOS, DPAPI on Windows, Secret Service on Linux). Nothing ships to RBJ Global. Nothing ships to anywhere except the providers you chose.

Settings LLM Providers tab listing the supported provider families end to end: OpenAI (OAuth and API key), Anthropic, OpenRouter, Google Gemini, xAI Grok, MiniMax, and a local runtime, with connected providers showing green Connected pills.
Settings · LLM Providers
Settings Data Providers tab with Yahoo Finance active and Alpaca paper-data configured.
Settings · Data Providers
Settings Cost Guard tab with daily and per-session spend caps and the current-period spend visualization.
Settings · Cost Guard
Settings Clawless tab showing the optional gateway URL and token connected status.
Settings · Clawless (optional)
08 · channels

Take it on your phone.

The Channels tab is where the desktop app reaches out to meet you wherever you are. The first channel is a bidirectional Telegram bot. Message a ticker like NVDA from your phone and the Diligence runs on your laptop; the decision card lands back in the chat. Useful when you're at work, on a walk, or anywhere away from the desktop where you originally configured everything.

The bot connects outbound to Telegram via long polling. Nothing on your machine is exposed to the internet, no public URL, no relay server. An allowlist of chat IDs gates who can trigger a Diligence; messages from anyone else are silently dropped. A per-chat daily spend cap keeps a leaked bot token from draining your LLM budget.

Settings Channels tab showing the Telegram Bot panel with bot token, LLM provider dropdown, allowlist, daily cap, Stop bot button, and POLLING status pill.
Channels · Telegram bot · configure once on the desktop

Configure once. Use anywhere.

Paste the bot token from BotFather, pick the LLM provider, list the Telegram user IDs you want to allow, set a per-chat daily cap, hit Save and Start. The bot comes online and remembers your settings across engine restarts.

The first time you message the bot, you tap a button or type a ticker. The bot replies with a status, runs the Diligence on your laptop, and streams the result back.

Telegram chat showing the bot replying 'Trading Agents Lab is ready' with the current mode, plus a persistent two-by-two reply keyboard with Full debate mode, Summary mode, Current mode, and Help buttons.
Telegram · ready state with the persistent button grid

Two ways to read a debate.

In summary mode (the default), the bot sends short phase headers as the debate progresses and the final decision card when it lands. Three or four messages total. Useful when you just want the answer.

Telegram chat in summary mode showing the bot acknowledging the NVDA request, then phase headers as analysts, researchers, trader, and risk committee complete, then the final decision card with HOLD action and 72 percent confidence.
Summary mode · phase headers and the decision card

In full mode (toggle with the Full debate mode button or the slash-full command), the bot forwards every agent's reasoning as its own message. You read the technical analyst, fundamental analyst, news analyst, sentiment analyst, bull and bear researchers, research manager, trader, three risk seats, and the portfolio manager in real time. The same transcript a desktop user sees, just on your phone.

Telegram chat in full mode showing the technical analyst, fundamental analyst, and news analyst streaming their reasoning live.
Full mode · analyst phase streaming
Telegram chat in full mode showing the risk committee (conservative, neutral) and portfolio manager messages, followed by the final decision card.
Full mode · risk committee + decision card

Built-in commands.

Typing slash in the Telegram chat pops the autocomplete menu (analyze, full, summary, mode, help, start). The four most common actions live on the persistent button grid below the message input so you don't have to remember the syntax. Tap Help to see the full command list at any time.

Telegram chat showing the bot's slash-help reply with the full command list, current mode indication, and the persistent two-by-two reply keyboard below the input.
Help · full command list with current mode

Illustrative output from one run. Not advice. Not a recommendation. Not a forecast.

Try it for yourself.

The full app is free, open source, and runs locally on macOS and Linux. Bring your own LLM provider keys, configure your own data adapter, and run as many Diligence runs as your cost cap allows.

Reminder: everything shown on this page is educational output from a single run. Trading Agents Lab does not recommend any security, does not execute trades, and is not a substitute for licensed financial advice. Read the full disclaimer.