Skip to main content
Description

CI Tests Static Badge Static Badge License: MIT

Syndicate is an AI-powered stock trading agent with a built-in integration with Alpaca's brokerage API. It allows you to automatically monitor and trade a customizable watchlist of tickers with minimal manual intervention. The system is designed to combine multiple forms of analysis into a single, cohesive decision-making pipeline. It includes:

  • A news analyst that reads and summarizes recent news affecting your assets.
  • A fundamental analyst that evaluates company financials and balance sheets.
  • A technical analyst that interprets indicators and price action.
  • A trader that executes buy/sell decisions based on the combined recommendations of the analysts, while respecting deterministic guardrails defined by the user.

The package is open source and freely available via PyPI or this repository. However, it follows a bring-your-own-keys model: you will need active API credentials for both market data and an LLM provider to run it. Currently supported model providers include Anthropic, Google, OpenAI, Qwen, and Moonshot.

Syndicate also ships with a terminal user interface (TUI), making setup, configuration, and monitoring straightforward and intuitive—even for first-time users.

Prerequisites

Syndicate relies on a few external services to function properly:

  • A UNIX operating system to schedule jobs (i.e. linux, macos)
  • A brokerage account with Alpaca (for trading, account data, news, and real-time quotes)
  • An API key from Alpha Vantage (for technical indicators and supplementary market data)
  • API access to at least one supported LLM provider

You can sign up for Alpaca and Alpha Vantage and obtain free API keys using the links provided in this document. Most users can get started entirely on free tiers.

Installation

You can install the package from pypi just as you would any other:

pip install syndicate-trading

or, download the build artifacts from this repo:

pip install git+https://github.com/mskmay66/syndicate@v0.1.0

Setup

Configuring your syndicate agen is easy, simply open a terminal and run:

syndicate

You will then be confronted with the TUI which should look something like this:

From there simply press the s key to toggle to the setup screen. This is what you should see (minus my setup, yours should be blank)

From here just follow the prompts from the TUI to fill things out, if you are confused about what anything means, read on and it will be explained.

How to Configure your Agent

There are lot of choices you need to make when you first confiure your agent, let's go through them one by one.

1. What stocks do you want to follow?

Choose the tickers you want the agent to monitor and trade. This can be a focused list (e.g., a few tech stocks) or a broader portfolio. Keep in mind that more tickers = more API usage and potentially higher LLM costs.

2. What model do you want to use?

If you already have access to a supported provider, this may be an easy choice. Otherwise, consider:

  • Performance: Some models are better at reasoning over financial data.
  • Cost: Pricing varies significantly between providers.
  • Latency: Faster models may be preferable for frequent trading cycles.

For a deeper comparison, see this paper: 👉 https://arxiv.org/html/2510.02209v1

TLDR: Models like Qwen and Kimi tend to perform well for structured reasoning tasks, but the “best” choice depends on your priorities (cost vs performance).

3. How do I get all these keys?

📊 Alpha Vantage API Key (Market Data)

  1. Go to the Alpha Vantage signup page: 👉 https://www.alphavantage.co/support/#api-key
  2. Enter your email and request a free API key.
  3. Your key will be shown immediately and also sent to your email.

Notes:

  • Free tier includes rate limits (typically 5 requests/minute, 500/day).
  • No credit card required.
  • Provides technical indicators, time series data, and more

📈 Alpaca API Keys (Trading)

  1. Create an account at Alpaca: 👉 https://app.alpaca.markets/signup
  2. After signing in, navigate to the API Keys section: 👉 https://app.alpaca.markets/paper/dashboard/overview

Notes:

  • Use Paper Trading mode for testing (no real money).

Configuring Guardrails

These settings control how your agent behaves in live markets and are critical for managing risk.

  • Execution Frequency: Determines how often the agent runs. Syndicate creates a background cron job for you.
    • Use preset intervals (e.g., hourly, daily), or
    • Select Custom to provide your own cron expression.
  • Position Concentration: Limits how much of your portfolio can be allocated to a single asset.
  • Stop Loss (%): Defines the maximum acceptable loss per position before exiting.
  • Take Profit (%): Specifies when gains should be locked in automatically.

These controls ensure that, regardless of model output, trading behavior stays within predictable and user-defined risk bounds.

Paper Trading

Alpaca supports paper trading, allowing you to test strategies without risking real money.

You can enable this via the toggle at the bottom of the setup screen. This is highly recommended when:

First configuring your agent Testing new strategies or guardrails Evaluating different models

Changing Settings

To update your configuration:

  1. Return to the setup screen (s)
  2. Modify any fields
  3. Press f to save and apply changes

Your previous settings will be preloaded for convenience.

Tracking Your Agent

To monitor your agent in real time, open the TUI’s main screen. This serves as your central dashboard, giving you a clear view into both performance and decision-making.

From here, you can:

  • Track your portfolio performance over time
  • Review recent trades and transactions
  • Interact directly with your trading team through an integrated LLM-powered chatbot

The chatbot allows you to ask questions about recent decisions, market conditions, or portfolio state—making the system more transparent and easier to reason about.

Here’s what the main screen looks like:

TradingAgents

The agent framework used in this project is inspired by the excellent TradingAgents repository.

Syndicate extends this work by adding automated trade execution, enabling a fully end-to-end pipeline from analysis → decision → execution. If you’re interested in the analysis side without automated trading, that project is worth exploring.

Metadata

Release files for syndicate-trading 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for syndicate-trading 0.1.0
File Size Uploaded
syndicate_trading-0.1.0.tar.gz 605.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for syndicate-trading 0.1.0
File Interpreter ABI Platform
syndicate_trading-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 653.5 kB

Release files / syndicate_trading-0.1.0.tar.gz

Download URL syndicate_trading-0.1.0.tar.gz
Size 605.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8ea45f5253c9e5f64daf9b85908f3dc471552b741a1f1b42f1a07546b472229f
BLAKE2b-256 checksum
How to use checksums
6a038f951081c21f1a25863774cec681b7a51e8a433bb0b9846599ae91317faa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 25, 2026.

Transparency log

Release files / syndicate_trading-0.1.0-py3-none-any.whl

Download URL syndicate_trading-0.1.0-py3-none-any.whl
Size 48.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
803c7ebf4d541d4a97377f290885905e67f193eba1a2cb0b03fb87c7e04f8e93
BLAKE2b-256 checksum
How to use checksums
902554143876fdaf3a1404acbd64a22be6e5531cdaf05f9284f57a2c2d2cd92e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page