summaryrefslogtreecommitdiff
path: root/shared/src/shared
AgeCommit message (Collapse)Author
19 hoursrefactor: replace Binance/ccxt with Alpaca API client for US stocksTheSiahxyz
19 hoursfeat: add market sentiment filters (Fear & Greed, CryptoPanic, CryptoQuant)TheSiahxyz
- SentimentProvider: fetches Fear & Greed Index (free, no key), CryptoPanic news sentiment (free key), CryptoQuant exchange netflow (free key) - SentimentData: aggregated should_buy/should_block logic - Fear < 30 = buy opportunity, Greed > 80 = block buying - Negative news < -0.5 = block buying - Exchange outflow = bullish, inflow = bearish - Integrated into Asian Session RSI strategy as entry filter - All providers optional — disabled when API key missing - 14 sentiment tests + 386 total tests passing
20 hoursfeat(risk): add portfolio exposure, correlation risk, and VaR checksTheSiahxyz
34 hoursfeat(shared): add conviction, stop_loss, take_profit to Signal modelTheSiahxyz
35 hoursfix: resolve final 3 issues for production readinessTheSiahxyz
- Fix API strategies endpoint path resolution (use STRATEGIES_DIR env var) - Add DATABASE_URL env var override in alembic env.py - Move risk config fields to shared Settings base class - Remove duplicate fields from ExecutorConfig
35 hoursfix: lint cleanup after medium priority tasksTheSiahxyz
35 hoursfeat(broker): add Redis consumer groups for reliable message processingTheSiahxyz
35 hoursfix: lint cleanup for API, combined strategy, and formattingTheSiahxyz
35 hoursfeat: add multi-exchange support via ccxt factoryTheSiahxyz
35 hoursfeat(security): add bearer token auth for health/metrics endpointsTheSiahxyz
36 hoursfeat(portfolio): add periodic portfolio snapshots and daily Telegram summaryTheSiahxyz
36 hoursfix(shared): add transaction rollback on DB errorsTheSiahxyz
36 hoursfix: resolve lint issues and final integration fixesTheSiahxyz
- Fix ambiguous variable name in binance_rest.py - Remove unused volumes variable in volume_profile_strategy.py - Fix import ordering in backtester main.py and test_metrics.py - Auto-format all files with ruff
37 hoursfeat(services): integrate structlog, healthcheck, metrics, and TelegramTheSiahxyz
Replace logging.basicConfig/getLogger with structlog setup_logging in all four service entry points. Add HealthCheckServer, ServiceMetrics, and TelegramNotifier initialization to each service. Update OrderExecutor to accept a notifier parameter and send order notifications. Add RedisBroker.ping() for health checks. Update executor tests with notifier=AsyncMock().
37 hoursfeat(shared): add health checks and Prometheus metricsTheSiahxyz
37 hoursfeat(shared): add Telegram notification serviceTheSiahxyz
37 hoursfeat(shared): add retry with backoff and circuit breakerTheSiahxyz
37 hoursfeat(shared): add structlog-based structured loggingTheSiahxyz
37 hoursfeat: rewrite database layer from asyncpg to SQLAlchemy 2.0 async ORMTheSiahxyz
Replace raw asyncpg SQL with SQLAlchemy async engine, async_sessionmaker, and ORM operations. Uses session.merge for candle upserts, session.add for signal/order inserts, update() for status changes, select() for queries. Auto-converts postgresql:// URLs to postgresql+asyncpg://. Keeps init_tables() as backward-compatible alias for connect().
37 hoursfeat: add SQLAlchemy ORM models and Alembic migration setupTheSiahxyz
Add SA 2.0 declarative models (CandleRow, SignalRow, OrderRow, TradeRow, PositionRow, PortfolioSnapshotRow) mirroring existing asyncpg tables. Set up Alembic with async PostgreSQL support and add migrate/migrate-down/ migrate-new Makefile targets. Update shared dependencies with sqlalchemy, alembic, structlog, prometheus-client, pyyaml, aiohttp, and rich.
37 hoursfeat: initial trading platform implementationTheSiahxyz
Binance spot crypto trading platform with microservices architecture: - shared: Pydantic models, Redis Streams broker, asyncpg DB layer - data-collector: Binance WebSocket/REST market data collection - strategy-engine: Plugin-based strategy execution (RSI, Grid) - order-executor: Order execution with risk management - portfolio-manager: Position tracking and PnL calculation - backtester: Historical strategy testing with simulator - cli: Click-based CLI for all operations - Docker Compose orchestration with Redis and PostgreSQL - 24 test files covering all modules