Skip to main content

Trading strategy backtester, paper trader, and research CLI powered by Alpaca Markets

Project description

AlpaTrade

PyPI License: MIT

Trading strategy backtester, paper trader, and research CLI powered by Alpaca Markets.

AlpaTrade CLI

Screenshots

Web UI — Backtest Streaming

Backtest Streaming

Web UI — News Research

News Research

Web UI — Trade History

Trade History

Web UI — Command Reference

Command Reference

Install

pip install alpatrade

Quick Start

# Create .env with your API keys
cat > .env << 'EOF'
ALPACA_PAPER_API_KEY=your_key
ALPACA_PAPER_SECRET_KEY=your_secret
MASSIVE_API_KEY=your_massive_key
DATABASE_URL=postgresql://user:pass@host/dbname
EOF

# Launch the CLI
alpatrade

Features

  • Parameterized backtesting — grid search over dip threshold, take profit, hold days, and stop loss to find optimal strategy parameters ranked by Sharpe ratio
  • Paper trading — continuous background trading on Alpaca's paper API with daily P&L email reports
  • Market research — news, company profiles, financials, technicals, analyst ratings, and valuation comparisons
  • Multi-agent system — backtest, validate, paper trade, reconcile, and report via an orchestrated agent pipeline
  • Extended hours & intraday exits — pre/after-market trading (4AM-8PM ET) and 5-minute bar TP/SL timing
  • Interactive CLI — prompt_toolkit-powered terminal with dropdown auto-completion, streaming log output, and Plotly equity curve charts

Commands

agent:backtest lookback:1m          Run parameterized backtest
agent:paper duration:7d             Paper trade in background
agent:full lookback:1m duration:1m  Full cycle (BT > Validate > PT > Validate)
agent:validate run-id:<uuid>        Validate a backtest or paper trade run
agent:reconcile window:7d           Reconcile DB vs Alpaca positions

news:TSLA                           Company news headlines
price:TSLA                          Quote and technicals
financials:AAPL                     Income and balance sheet
analysts:AAPL                       Ratings and price targets
valuation:AAPL,MSFT                 Side-by-side valuation comparison
movers                              Top market gainers and losers

trades                              Recent trades from DB
runs                                Recent backtest/paper runs
agent:top                           Rank strategies by Avg Annual Return
agent:top strategy:btd              Filter by slug prefix

Strategy Slugs

Each backtest variation gets a human-readable slug that encodes the strategy type, parameters, and lookback period into a compact identifier. Slugs let you compare configurations at a glance and filter results with agent:top or agent:report.

Format

{strategy}-{param1}-{param2}-...-{lookback}

Buy the Dip (btd)

Token Meaning
btd Strategy: buy_the_dip
{n}dp Dip threshold %
{n}sl Stop loss %
{n}tp Take profit %
{n}d Hold (days)
{period} Lookback (e.g. 1m, 3m)

Example: btd-7dp-05sl-1tp-1d-3m = 7% dip, 0.5% stop loss, 1% take profit, 1 day hold, 3-month lookback

Momentum (mom)

Token Meaning
mom Strategy: momentum
{n}lb Lookback period (days)
{n}mt Momentum threshold %
{n}d Hold (days)
{n}tp Take profit %
{n}sl Stop loss %
{period} Lookback

Example: mom-20lb-5mt-5d-10tp-5sl-1m

VIX Fear Index (vix)

Token Meaning
vix Strategy: vix
{n}t VIX threshold
{type} Hold type (e.g. on = overnight)

Example: vix-20t-on

Box-Wedge (bwg)

Token Meaning
bwg Strategy: box_wedge
{n}r Risk %
{n}ct Contraction threshold %

Example: bwg-2r-5ct

Environment Variables

Variable Required Description
ALPACA_PAPER_API_KEY Yes Alpaca paper trading API key
ALPACA_PAPER_SECRET_KEY Yes Alpaca paper trading secret
MASSIVE_API_KEY Yes Polygon-compatible market data key
DATABASE_URL Yes PostgreSQL connection string
XAI_API_KEY No XAI Grok for AI research commands
EODHD_API_KEY No EOD Historical Data (intraday prices)
POSTMARK_API_KEY No Email notifications for paper trading

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alpatrade-0.1.2.tar.gz (134.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alpatrade-0.1.2-py3-none-any.whl (147.4 kB view details)

Uploaded Python 3

File details

Details for the file alpatrade-0.1.2.tar.gz.

File metadata

  • Download URL: alpatrade-0.1.2.tar.gz
  • Upload date:
  • Size: 134.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.3

File hashes

Hashes for alpatrade-0.1.2.tar.gz
Algorithm Hash digest
SHA256 2476968aeebfff6869137d3924f7eff7911d93f371d633848a5b09b0d90d07ef
MD5 09583be249cd93b86c94d2628ca5e9c7
BLAKE2b-256 2ccb7f828440dc9064bce588d39cd1a900296fe74585ab16c49b5fd36b890526

See more details on using hashes here.

File details

Details for the file alpatrade-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: alpatrade-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 147.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.3

File hashes

Hashes for alpatrade-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 980292619315bc8aa84aa86712006ac8806aecf1711f81e3f237c09fb4113956
MD5 36f41448e5104d90aee91a1add214f6c
BLAKE2b-256 0b95a7c5b1a86a163a2f7780db1369871891187822030db321dd57c78c89d3ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page