summaryrefslogtreecommitdiff
path: root/services/strategy-engine
AgeCommit message (Collapse)Author
14 hoursfeat: optimize Dockerfiles with multi-stage builds, non-root user, .dockerignoreTheSiahxyz
14 hourschore: pin all service dependencies with upper boundsTheSiahxyz
14 hoursfeat: add config validation, SecretStr for secrets, API security fieldsTheSiahxyz
15 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
15 hoursstyle: fix lint and formatting issues across news collector and sharedTheSiahxyz
15 hoursfeat: integrate stock selector into strategy engine schedulerTheSiahxyz
15 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.
19 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
19 hoursrefactor: remove all crypto/Binance code, update to US stock symbolsTheSiahxyz
19 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
20 hoursfeat(strategy): add Market on Close (MOC) strategy for US stocksTheSiahxyz
20 hoursrefactor: replace Binance/ccxt with Alpaca API client for US stocksTheSiahxyz
20 hoursfeat: wire sentiment into engine + add EMA/bullish candle entry filtersTheSiahxyz
20 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(strategy): add Asian Session RSI strategy for SOL/USDT scalpingTheSiahxyz
Simple time-based + RSI strategy for small capital day trading: - Trading window: KST 9:00-11:00 (UTC 0:00-2:00) - Entry: RSI(14) < 25 + volume above average - Exit: +1.5% TP, -0.7% SL, or session end time exit - Risk: max 3 trades/day, pause after 2 consecutive losses - Config: ~$75 per trade (10% of 100만원 capital)
20 hoursfeat(strategy): Phase 3 complete — individual strategy upgradesTheSiahxyz
- RSI: bullish/bearish divergence detection (conviction 0.9) - MACD: signal-line crossover + zero-line distance conviction - Grid: trend break exit + out-of-range guard - Bollinger: squeeze detection + breakout signals + %B conviction - EMA Crossover: pullback entry mode (wait for EMA retest) - VWAP: daily reset + 1σ/2σ deviation bands + band-based conviction - Volume Profile: HVN/LVN node detection for stronger signals - Combined: adaptive weighting based on sub-strategy win rates - 363 tests passing
20 hoursfeat(strategy): add RSI divergence detection and MACD signal-line crossoverTheSiahxyz
20 hoursfeat(strategy): add EMA pullback entry and VWAP daily reset with deviation bandsTheSiahxyz
20 hoursfeat(strategy): add Volume Profile HVN/LVN and Combined adaptive weightingTheSiahxyz
20 hoursfeat(strategy): add Grid trend guard and Bollinger squeeze detectionTheSiahxyz
35 hoursfeat(strategy): Phase 2 complete — strategy infrastructure upgradeTheSiahxyz
- Technical indicators library (ATR, ADX, RSI, MACD, Bollinger, Stochastic, OBV) - Signal model: conviction score, stop_loss, take_profit fields - BaseStrategy: ADX regime filter, volume confirmation, ATR-based stops - All 8 strategies upgraded with filters, conviction scoring, ATR stops - Combined strategy uses conviction-weighted scoring - 334 tests passing
35 hoursfeat(strategy): apply filters, conviction scoring, and ATR stops to all ↵TheSiahxyz
strategies
35 hoursfeat(strategy): add ADX regime filter, volume confirmation, and ATR stops to ↵TheSiahxyz
BaseStrategy
35 hoursfeat(strategy): add technical indicators library (ATR, ADX, RSI, MACD, ↵TheSiahxyz
Bollinger, Stochastic, OBV)
36 hoursfix: lint cleanup after critical and high priority fixesTheSiahxyz
36 hoursfix: WS factory, backtester config, CI docker builds, health port docsTheSiahxyz
36 hoursfix(strategy-engine): process multiple symbols concurrently with asyncio.gatherTheSiahxyz
36 hoursfix: lint cleanup for API, combined strategy, and formattingTheSiahxyz
36 hoursfeat(strategy): add combined strategy with weighted signal votingTheSiahxyz
36 hoursfeat(security): add bearer token auth for health/metrics endpointsTheSiahxyz
36 hoursfeat: medium priority improvementsTheSiahxyz
- Add 30 edge case tests (zero volume, empty data, extreme values, strategy reset, notifier failures) - Fix VWAP division by zero on zero-price candles - Add DB transaction rollback on errors + transaction() context manager - Add parameter validation to all 7 strategies with 41 validation tests - Fix lint issues across test files
36 hourstest: add edge case tests for zero volume, empty data, extreme valuesTheSiahxyz
36 hoursfeat(strategy): add parameter validation to all strategiesTheSiahxyz
37 hoursfix: clean up backtester strategy loading and update DockerfilesTheSiahxyz
37 hoursfix: resolve critical deployment blockersTheSiahxyz
- Add Alembic initial migration (6 tables: candles, signals, orders, trades, positions, portfolio_snapshots) - Expose health ports (8080-8083) in docker-compose with healthchecks - Add numpy dependency to strategy-engine pyproject.toml
37 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(strategy): add Volume Profile strategyTheSiahxyz
37 hoursfeat(strategy): add Bollinger Bands strategyTheSiahxyz
37 hoursfeat(strategy): add VWAP strategyTheSiahxyz
37 hoursfeat(strategy): add MACD strategyTheSiahxyz
37 hoursfeat(strategy): add EMA Crossover strategyTheSiahxyz
37 hoursfeat(strategy): add warmup_period to BaseStrategy and YAML config loadingTheSiahxyz
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().
38 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