A modern, feature-rich trading dashboard for Alpaca Markets
Trade stocks and options with real-time data, advanced charts, and portfolio analytics.
- Dual Account Support - Seamlessly switch between paper and live trading
- Stock & Options Trading - Multiple order types with real-time quotes
- Advanced Charts - Interactive candlesticks with technical indicators (RSI, MACD, Bollinger Bands)
- Portfolio Analytics - Real-time P&L, position tracking, and performance metrics
- Secure Authentication - Bcrypt-hashed passwords with multi-user support
- Dark Theme - Modern UI with yellow/gold accents
- Python 3.12+ (Production uses 3.14) or Docker
- Alpaca API keys (Get them here)
# Clone repository
git clone https://github.com/rcland12/alpaca-ui.git
cd alpaca-ui
# Install dependencies
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env with your Alpaca API keys
# Generate authentication credentials
python app/utils/generate_password_hash.py
# Run application
cd app && streamlit run main.pyAccess at http://localhost:8501
docker-compose updocker pull rcland12/alpaca-ui:latest
docker run -p 8501:8501 \
-e ALPACA_API_KEY_PAPER=your_key \
-e ALPACA_API_SECRET_PAPER=your_secret \
-e AUTH_USER_ADMIN=your_bcrypt_hash \
rcland12/alpaca-ui:latestdocker pull ghcr.io/rcland12/alpaca-ui:latestComprehensive documentation is available in the Wiki:
# Install dev dependencies
pip install -r requirements.txt
pip install pytest pytest-cov pytest-mock ruff black isort mypy bandit safety
# Run tests
pytest -v
# Run tests with coverage
pytest --cov=app --cov-report=html --cov-report=term
# Format code
black .
isort .
# Lint code
ruff check .
# Security scan
bandit -r app -f screen
safety checkThis project includes:
- Bandit security scanning
- Trivy container scanning
- CodeQL analysis
- Dependabot updates
See Security Policy for reporting vulnerabilities.
Contributions welcome! Please read our Contributing Guide first.
MIT License - see LICENSE file for details.
Trading involves substantial risk. This software is for educational purposes only. Always test with paper trading first.
Built with Streamlit • Powered by Alpaca Markets
Made with ❤️ for the trading community
