fix: resolve all remaining TODOs, add dev mode auth bypass
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- Learning engine: expand default weights from 3 to all 9 strategies - Learning engine: resolve placeholder strategy_id with DB lookup - Learning engine: pass strategy_sources from trade execution - Trade executor: respect trading:paused Redis flag in RiskManager - Portfolio sync: compute actual daily P&L from day-start snapshot - Portfolio API: cumulative P&L from first snapshot, read pause flag - Portfolio metrics: compute max drawdown and avg hold duration - Add strategy_sources field to TradeExecution schema - Add dev_mode config (TRADING_DEV_MODE) to bypass auth for local dev - Dashboard: VITE_DEV_MODE bypasses ProtectedRoute and 401 redirects - Vite proxy target configurable via VITE_API_TARGET - Add top-level README.md and remaining-work-plan.md - Update CLAUDE.md with correct counts and remove stale TODOs - 404 tests passing Made-with: Cursor
This commit is contained in:
parent
4094e4b10f
commit
a3cdd0f1a5
16 changed files with 511 additions and 45 deletions
81
README.md
Normal file
81
README.md
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
# Trading Bot
|
||||
|
||||
Automated stock trading bot combining news sentiment analysis with technical strategies. Built as event-driven Python microservices communicating via Redis Streams, with a React/TypeScript dashboard and Alpaca paper trading.
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
RSS/Reddit ─→ news_fetcher ─→ [news:raw] ─→ sentiment_analyzer ─→ [news:scored] ┐
|
||||
│
|
||||
Alpaca OHLCV ─→ market_data ─→ [market:bars] ────────────────────────────────────┤
|
||||
│
|
||||
signal_generator ←──────────────────┘
|
||||
│
|
||||
[signals:generated]
|
||||
│
|
||||
trade_executor ─→ [trades:executed] ─→ learning_engine
|
||||
│ │
|
||||
Alpaca API Redis (weights)
|
||||
```
|
||||
|
||||
**Services**: news-fetcher, sentiment-analyzer, signal-generator, trade-executor, learning-engine, market-data, api-gateway, dashboard
|
||||
|
||||
**9 Trading Strategies**: Momentum, Mean Reversion, News-Driven, Value, MACD Crossover, Bollinger Breakout, VWAP, Liquidity, MA Stack — combined via weighted ensemble with multi-armed bandit weight adjustment.
|
||||
|
||||
## Tech Stack
|
||||
|
||||
- **Backend**: Python 3.12, FastAPI, SQLAlchemy 2.0 (async), Pydantic v2, alpaca-py
|
||||
- **Frontend**: React 19, TypeScript, Vite, Tailwind CSS, TanStack Query, TradingView lightweight-charts
|
||||
- **ML**: transformers (FinBERT), Ollama (local LLM fallback)
|
||||
- **Database**: PostgreSQL 16 + TimescaleDB, Alembic migrations (16 tables)
|
||||
- **Messaging**: Redis Streams + pub/sub
|
||||
- **Auth**: WebAuthn/Passkeys + JWT sessions
|
||||
- **Observability**: OpenTelemetry + Prometheus metrics
|
||||
- **CI/CD**: Woodpecker → Docker → Kubernetes
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
# Full stack with Docker Compose
|
||||
docker compose up -d
|
||||
|
||||
# Seed default strategies
|
||||
docker compose exec api-gateway python -m scripts.seed_strategies
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
# Create virtual environment
|
||||
python3 -m venv .venv && source .venv/bin/activate
|
||||
|
||||
# Install all dependencies
|
||||
pip install -e ".[api,news,sentiment,trading,backtester,dev]"
|
||||
|
||||
# Run unit tests (404 tests)
|
||||
python -m pytest tests/ -v -m "not integration"
|
||||
|
||||
# Run integration tests (requires Redis + PostgreSQL)
|
||||
python -m pytest tests/ -v -m integration
|
||||
|
||||
# Dashboard development
|
||||
cd dashboard && npm install && npm run dev
|
||||
```
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
trading-bot/
|
||||
├── shared/ # Shared libraries (config, DB, Redis, models, schemas, broker, strategies, fundamentals)
|
||||
├── services/ # 7 microservices (news_fetcher, sentiment_analyzer, signal_generator,
|
||||
│ # trade_executor, learning_engine, market_data, api_gateway)
|
||||
├── backtester/ # Historical replay engine with simulated broker
|
||||
├── dashboard/ # React 19 / TypeScript / Vite frontend
|
||||
├── docker/ # Dockerfiles and nginx configs
|
||||
├── scripts/ # Seed scripts and smoke tests
|
||||
├── tests/ # 404 unit + 9 integration tests
|
||||
├── alembic/ # Database migrations
|
||||
├── docker-compose.yml # Full stack orchestration
|
||||
├── .woodpecker.yml # CI/CD pipeline
|
||||
└── pyproject.toml # Python monorepo with optional dependency groups
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue