summaryrefslogtreecommitdiff
path: root/services
AgeCommit message (Collapse)Author
16 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
16 hoursrefactor: remove all crypto/Binance code, update to US stock symbolsTheSiahxyz
17 hoursrefactor: complete US stock migrationTheSiahxyz
- Data collector: Alpaca REST polling (replaces Binance WebSocket) - Order executor: Alpaca submit_order (replaces ccxt) - Claude stock screener: daily MOC candidate analysis - Remove ccxt/websockets dependencies - Default universe: AAPL, MSFT, GOOGL, AMZN, TSLA + 28 more - 399 tests passing, lint clean
17 hoursrefactor: update data-collector and order-executor for Alpaca APITheSiahxyz
17 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
17 hoursfeat(strategy): add Market on Close (MOC) strategy for US stocksTheSiahxyz
17 hoursrefactor: replace Binance/ccxt with Alpaca API client for US stocksTheSiahxyz
17 hoursfeat: wire sentiment into engine + add EMA/bullish candle entry filtersTheSiahxyz
17 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
17 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)
18 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
18 hoursfeat(strategy): add RSI divergence detection and MACD signal-line crossoverTheSiahxyz
18 hoursfeat(strategy): add EMA pullback entry and VWAP daily reset with deviation bandsTheSiahxyz
18 hoursfeat(strategy): add Volume Profile HVN/LVN and Combined adaptive weightingTheSiahxyz
18 hoursfeat(strategy): add Grid trend guard and Bollinger squeeze detectionTheSiahxyz
18 hoursfeat(risk): add drawdown-based position reduction and consecutive loss pauseTheSiahxyz
18 hoursfeat(risk): add portfolio exposure, correlation risk, and VaR checksTheSiahxyz
32 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
32 hoursfeat(strategy): apply filters, conviction scoring, and ATR stops to all ↵TheSiahxyz
strategies
32 hoursfeat(strategy): add ADX regime filter, volume confirmation, and ATR stops to ↵TheSiahxyz
BaseStrategy
32 hoursfeat(strategy): add technical indicators library (ATR, ADX, RSI, MACD, ↵TheSiahxyz
Bollinger, Stochastic, OBV)
32 hoursfeat(shared): add conviction, stop_loss, take_profit to Signal modelTheSiahxyz
32 hoursfeat(backtester): Phase 1 complete — realistic backtesting engineTheSiahxyz
- Slippage modeling (configurable per-trade, buy higher/sell lower) - Trading fee deduction (maker/taker configurable) - Stop-loss and take-profit auto-execution per position - Short selling support (allow_short flag) - Walk-forward analysis engine (in-sample/out-of-sample, efficiency ratio) - Daily equity curve Sharpe/Sortino with risk-free rate adjustment - Recovery factor, consecutive win/loss streaks, fee-aware PnL - 312 tests passing
33 hoursfeat(backtester): add slippage, fees, stop-loss/take-profit, and short sellingTheSiahxyz
33 hoursfeat(backtester): add walk-forward analysis engineTheSiahxyz
33 hoursfeat(backtester): improve metrics with daily Sharpe, recovery factor, ↵TheSiahxyz
consecutive stats
33 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
33 hoursfix: lint cleanup after medium priority tasksTheSiahxyz
33 hoursfeat(broker): add Redis consumer groups for reliable message processingTheSiahxyz
33 hourstest: add CLI command tests and API router testsTheSiahxyz
33 hoursfeat(portfolio): track realized PnL on sell ordersTheSiahxyz
33 hoursfix: lint cleanup after critical and high priority fixesTheSiahxyz
33 hoursfix: WS factory, backtester config, CI docker builds, health port docsTheSiahxyz
33 hoursfix: snapshot delay, env fields, alembic creds, API healthcheck and error ↵TheSiahxyz
handling
33 hoursfix(strategy-engine): process multiple symbols concurrently with asyncio.gatherTheSiahxyz
33 hoursfix: lint cleanup for API, combined strategy, and formattingTheSiahxyz
33 hoursfeat(risk): add trailing stop, volatility sizing, and position limitsTheSiahxyz
33 hoursfeat(strategy): add combined strategy with weighted signal votingTheSiahxyz
33 hoursfeat: add FastAPI REST API serviceTheSiahxyz
34 hoursfeat: add multi-exchange support via ccxt factoryTheSiahxyz
34 hoursfeat(security): add bearer token auth for health/metrics endpointsTheSiahxyz
34 hoursfeat(portfolio): add periodic portfolio snapshots and daily Telegram summaryTheSiahxyz
34 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
34 hourstest: add edge case tests for zero volume, empty data, extreme valuesTheSiahxyz
34 hoursfeat(strategy): add parameter validation to all strategiesTheSiahxyz
34 hoursfix: lint fixes for integration tests and backtester noqa annotationsTheSiahxyz
34 hoursfix: clean up backtester strategy loading and update DockerfilesTheSiahxyz
34 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
35 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
35 hoursfeat(backtester): integrate detailed metrics and rich reporterTheSiahxyz
- Add timestamp field to SimulatedTrade, pass candle.open_time from engine - Engine now builds TradeRecord list and computes DetailedMetrics - Reporter uses rich tables for summary and monthly returns display - Add export_csv() and export_json() functions - Update reporter tests for rich output and export functions