Alpaca Multi-Agent Trading Workbench

Run a multi-role research workflow and connect its stock and crypto decisions to Alpaca accounts.

Stars
★ 277
Last updated
11d ago
License
Apache-2.0
Primary language
Python

At a glance

How it runs
CLIWeb appLibrary / SDK
Works with
Portable with changesOpenAI APIClaude API (Partial support)
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
PythonAlpaca API keysFinnhub API keyFRED API keyCoinDesk/CryptoCompare API keyShell / CLINetwork accessLocal filesystem
Typical use
A quantitative researcher wants several analyst roles to examine market, news, fundamental, and macro signals for a stock such as NVDA.
Not a fit if
  • Users unwilling to configure Alpaca and financial data API credentials
  • Teams seeking unattended real-money trading without human review

What does this agent do, and when should you use it?

AlpacaTradingAgent is a LangGraph-based multi-agent trading framework for users who want to connect to Alpaca accounts for equities and crypto. Its components include five analysts, bullish and bearish researchers, a Trader, and risk and portfolio management roles; analysts can run in parallel across market, social sentiment, news, fundamental, and macro inputs. Use it as a Python package, through the CLI, or in a Dash web UI; Docker Compose is also documented for launching the UI. It supports Alpaca paper and live accounts, recurring analysis, and optional automatic execution. It requires Alpaca plus relevant data and model-provider credentials, and the repository says it is for education and research, not investment advice.

Provide a ticker or crypto symbol such as BTC/USD and an analysis date through the CLI, Web UI, or Python interface. TradingAgentsGraph.propagate uses the configuration to call market data, news, social sentiment, fundamental, and macro sources; five analysts can run in parallel, researchers debate the findings, and the Trader produces a BUY/HOLD/SELL or LONG/NEUTRAL/SHORT decision. With Alpaca credentials configured, the interface can show positions and orders, place trades, or liquidate positions; scheduled analysis and optional auto-execution are available. Completed decisions can be written to a Markdown memory log, and failed LangGraph runs can optionally resume from SQLite checkpoints.

  1. A quantitative researcher wants several analyst roles to examine market, news, fundamental, and macro signals for a stock such as NVDA.
  2. An Alpaca user wants to analyze a mixed portfolio of equities and crypto such as BTC/USD in a paper account.
  3. A developer wants to call TradingAgentsGraph.propagate from a Python program and consume its decision output.
  4. A trader wants a Dash interface for per-symbol progress, reports, charts, current positions, and recent orders.
  5. A user who needs recurring market-hours analysis wants to schedule runs and choose whether recommendations may execute automatically.

How do you install or deploy this agent?

You need a Python environment and the relevant API credentials. The README identifies Alpaca for trading, Finnhub for stock news and data, FRED for macro analysis, and CoinDesk/CryptoCompare for crypto news. LLM choices include cloud providers and local OpenAI-compatible endpoints. Clone the project, install dependencies, and create the environment file:

git clone https://github.com/huygiatrng/AlpacaTradingAgent.git
cd AlpacaTradingAgent
pip install -r requirements.txt
cp env.sample .env

Fill in the required keys in .env; set ALPACA_USE_PAPER=True for paper trading. Without valid Alpaca keys, the app falls back to demo mode without trading capabilities. To build and launch the Web UI with Docker Compose after configuring .env:

docker compose up -d --build

How do you use this agent?

Start the CLI:

python -m cli.main

Start the Dash Web UI:

python run_webui_dash.py

The CLI prompts for assets and supports provider, model, and provider-specific settings. A first Python call looks like this:

from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG

ta = TradingAgentsGraph(debug=True, config=DEFAULT_CONFIG.copy())
_, decision = ta.propagate("NVDA", "2024-05-10")
print(decision)

Use the BTC/USD format for crypto. Configure Alpaca credentials and the account mode before trading in either a paper or live account; automatic execution is optional.

What are this agent's strengths and limitations?

Pros
  • Five analyst roles cover market conditions, social sentiment, news, fundamentals, and macro data, with parallel execution available.
  • Analyzes equities and crypto, including mixed symbol inputs in one session.
  • Offers CLI, Python usage, and a Dash UI, with Alpaca paper and live trading integration.
  • Documents several cloud LLM providers and local OpenAI-compatible endpoints, plus custom model IDs.
Limitations
  • The full data and trading workflow depends on external services and credentials such as Alpaca, Finnhub, FRED, and CoinDesk/CryptoCompare.
  • A run makes calls across multiple analyst roles and data APIs; the README notes model and API costs may apply.
  • Live trading, margin, and auto-execution create real trading risk; the project does not guarantee performance or provide investment advice.
  • The README provides no independent performance benchmark or live-return evidence, and notes outcomes can vary with models, data, and nondeterminism.

How does this agent compare with similar options?

The project says it is an independent enhancement inspired by Tauric Research's TradingAgents, adding real-time Alpaca integration, crypto support, automated trading capabilities, and a web interface.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Alpaca Multi-Agent Trading Workbench This agent 48 · Major gaps CLIFree + model costs ★ 277 11d ago Python OpenAI API
Blave Agent 87 · Good Desktop appFreemium ★ 113 today Python Codex · Claude Code
Lumibot Trading Framework 57 · Major gaps Library / SDKFree + model costs ★ 2.1k today Python Codex · Claude Code
QuantDinger AI Trading OS 89 · Good Self-hosted serviceFree + model costs ★ 13k today Python Codex · Claude Code · OpenAI API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
48/ 100 5-point scale 2.4 / 5
Trust 11/29
Reliability 5/14
Adaptability 10/18
Convention 10/18
Effectiveness 7/13
Verifiability 5/8
Why each dimension lost points
Trust11 / 29 · 1.9/5

The README documents paper/live modes, API configuration, trading, auto-execution, liquidation, and external data/LLM services, making some data flows traceable; it also credits the upstream TradingAgents project. The supplied evidence does not explain least-privilege scopes, detailed secret protection, or per-order confirmation, while the UI supports auto-execution and one-click liquidation and no undo/recovery path is shown. The dependency list gives version ranges but no vulnerability review or security policy.

Reliability5 / 14 · 1.8/5

The README describes parallel agents, checkpoint resume, and structured-output fallback. The workflow specifies read-only repository permissions and pytest on Python 3.11/3.12, and the supplied tests cover backtest boundaries. However, the README gives inconsistent default model names (gpt-5.4-nano/mini versus a package-use recommendation of gpt-5-nano), and several dependencies are not pinned, so consistency, availability, and failure messaging earn only partial credit. No successful execution is inferred.

Adaptability10 / 18 · 2.8/5

The materials identify Alpaca research/education users and cover stocks, crypto, paper and live trading, multiple LLM providers, CLI, Web UI, and several configuration and path boundaries. Trigger scope is mostly stated as product and UI capabilities; the evidence does not sufficiently define when analysis should start, exactly when auto-trading triggers, or unsuitable scenarios, so trigger precision is only partial.

Convention10 / 18 · 2.8/5

The README provides navigation, installation, configuration, CLI/Web UI instructions, Python examples, prompt customization, and limitations; LICENSE contains the Apache-2.0 text. There is no version history or changelog. Contribution and upstream-credit sections exist, but the evidence does not identify a maintenance owner, support commitment, or update path. Inconsistent model naming in the README limits naming stability.

Effectiveness7 / 13 · 2.7/5

Multi-asset analysis, analyst debate, structured trading decisions, reports, checkpointing, and backtest-related materials indicate practical value for the stated workflow, with readable reports and BUY/HOLD/SELL or LONG/NEUTRAL/SHORT decisions. Cost-benefit earns partial credit: the README notes many API calls and suggests lower-cost models, but supplies no cost estimates, performance results, or evidence of trading returns.

Verifiability5 / 8 · 3.1/5

Several feature claims have matching details in README configuration, commands, examples, and CI/test materials; the tests include backtest and memory-teaching boundary cases, and CI says the suite is intended to run offline. The materials also state that performance and trading outcomes vary and that hypothetical evaluation is not realized account profit. Many product capabilities remain README claims, however, and static evidence cannot establish runtime behavior.

Risks and how to mitigate them
  • Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
  • The materials describe live trading, automatic order execution, and one-click liquidation. Start in paper mode and verify account settings and confirmation controls before enabling live or automatic execution.
  • Do not treat model decisions or historical/hypothetical backtest returns as investment advice or realized account performance; the README says trading is risky and outcomes depend on models, data, and time periods.
  • API keys are configured through a local environment file; the supplied materials do not describe encryption, access controls, or rotation.
Evidence confidence: Low Reviewed Oct 16, 2026 Reviewed revision 93a81064e319
See the full review method →

FAQ

Can I try it without connecting an Alpaca account?
The README says it falls back to demo mode without valid Alpaca keys, but that mode has no trading capabilities.
What costs should I expect?
The repository uses the Apache-2.0 license; model and data API charges depend on the services selected. The README recommends low-cost models for testing but gives no exact price.
How do I keep tests from using real money?
Set ALPACA_USE_PAPER=True for Alpaca paper trading. Set it to False for live trading with real money.
Can it place trades automatically?
Scheduled analysis and optional auto-execution are documented. Users choose whether to enable execution. Trading is unavailable without Alpaca credentials.
Are the logged evaluations realized profits?
No. The README says later evaluations in the persistent log use hypothetical fixed-horizon asset returns, not realized account profits.
View on GitHub ↗ Install ↓

Related agents