summaryrefslogtreecommitdiff
path: root/services/strategy-engine/src/strategy_engine
AgeCommit message (Collapse)Author
12 hoursrefactor: specialize exception handling across all servicesTheSiahxyz
12 hoursfix: deduplicate LLM JSON parsing and reuse aiohttp sessions in stock selectorTheSiahxyz
Extract _extract_json_array() to eliminate duplicate JSON parsing logic between _parse_llm_selections() and LLMCandidateSource._parse_candidates(). Add session reuse in StockSelector via _ensure_session()/close() methods instead of creating new aiohttp.ClientSession per HTTP call. Pass shared session to LLMCandidateSource.get_candidates().
12 hoursfeat: add graceful shutdown with SIGTERM/SIGINT handlers to all servicesTheSiahxyz
13 hoursfeat: add config validation, SecretStr for secrets, API security fieldsTheSiahxyz
14 hoursrefactor: remove dead code (SentimentData, CircuitBreaker, TradeRow, unused ↵TheSiahxyz
configs) - Remove SentimentData class and tests (superseded by SentimentAggregator) - Remove CircuitBreaker, CircuitState, retry_with_backoff and tests (never used) - Remove TradeRow ORM model and tests (no DB methods reference it) - Remove unused config fields: circuit_breaker_*, selector_candidates_time, selector_filter_time
14 hoursstyle: fix lint and formatting issues across news collector and sharedTheSiahxyz
14 hoursfeat: integrate stock selector into strategy engine schedulerTheSiahxyz
14 hoursfeat: implement 3-stage stock selector (sentiment → technical → LLM)TheSiahxyz
Adds SentimentCandidateSource (DB scores), LLMCandidateSource (Claude news analysis), and StockSelector orchestrating candidate merge, RSI/EMA20/volume technical filter, and LLM final 2-3 pick selection with Redis publish and DB persistence.
18 hoursrefactor: purge all remaining crypto/Binance referencesTheSiahxyz
- Replace BTCUSDT/SOLUSDT/ETHUSDT with AAPL/MSFT in all test files - Update backtester default symbol to AAPL - Update strategy-engine default symbols to US stocks - Update project description and CLI help text - Remove empty superpowers docs directory - Zero crypto references remaining in codebase
18 hoursrefactor: remove all crypto/Binance code, update to US stock symbolsTheSiahxyz
18 hoursrefactor: migrate to US stocks with Alpaca APITheSiahxyz
- Replace Binance/ccxt with Alpaca REST client (paper + live) - Add MOC (Market on Close) strategy for overnight gap trading - Wire sentiment into strategy engine main loop - Add EMA + bullish candle entry filters to Asian RSI - Remove crypto-specific exchange factory - Update config: Alpaca keys replace Binance keys - 399 tests passing, lint clean
18 hoursrefactor: replace Binance/ccxt with Alpaca API client for US stocksTheSiahxyz
18 hoursfeat: wire sentiment into engine + add EMA/bullish candle entry filtersTheSiahxyz
34 hoursfix: lint cleanup after critical and high priority fixesTheSiahxyz
34 hoursfix: WS factory, backtester config, CI docker builds, health port docsTheSiahxyz
34 hoursfix(strategy-engine): process multiple symbols concurrently with asyncio.gatherTheSiahxyz
35 hoursfix: lint cleanup for API, combined strategy, and formattingTheSiahxyz
35 hoursfeat(security): add bearer token auth for health/metrics endpointsTheSiahxyz
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
36 hoursfeat(strategy): add warmup_period to BaseStrategy and YAML config loadingTheSiahxyz
36 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().
36 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