summaryrefslogtreecommitdiff
path: root/services
AgeCommit message (Collapse)Author
10 hoursfeat(strategy): add EMA pullback entry and VWAP daily reset with deviation bandsTheSiahxyz
10 hoursfeat(strategy): add Volume Profile HVN/LVN and Combined adaptive weightingTheSiahxyz
10 hoursfeat(strategy): add Grid trend guard and Bollinger squeeze detectionTheSiahxyz
10 hoursfeat(risk): add drawdown-based position reduction and consecutive loss pauseTheSiahxyz
10 hoursfeat(risk): add portfolio exposure, correlation risk, and VaR checksTheSiahxyz
25 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
25 hoursfeat(strategy): apply filters, conviction scoring, and ATR stops to all ↵TheSiahxyz
strategies
25 hoursfeat(strategy): add ADX regime filter, volume confirmation, and ATR stops to ↵TheSiahxyz
BaseStrategy
25 hoursfeat(strategy): add technical indicators library (ATR, ADX, RSI, MACD, ↵TheSiahxyz
Bollinger, Stochastic, OBV)
25 hoursfeat(shared): add conviction, stop_loss, take_profit to Signal modelTheSiahxyz
25 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
25 hoursfeat(backtester): add slippage, fees, stop-loss/take-profit, and short sellingTheSiahxyz
25 hoursfeat(backtester): add walk-forward analysis engineTheSiahxyz
25 hoursfeat(backtester): improve metrics with daily Sharpe, recovery factor, ↵TheSiahxyz
consecutive stats
25 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
25 hoursfix: lint cleanup after medium priority tasksTheSiahxyz
25 hoursfeat(broker): add Redis consumer groups for reliable message processingTheSiahxyz
25 hourstest: add CLI command tests and API router testsTheSiahxyz
25 hoursfeat(portfolio): track realized PnL on sell ordersTheSiahxyz
25 hoursfix: lint cleanup after critical and high priority fixesTheSiahxyz
26 hoursfix: WS factory, backtester config, CI docker builds, health port docsTheSiahxyz
26 hoursfix: snapshot delay, env fields, alembic creds, API healthcheck and error ↵TheSiahxyz
handling
26 hoursfix(strategy-engine): process multiple symbols concurrently with asyncio.gatherTheSiahxyz
26 hoursfix: lint cleanup for API, combined strategy, and formattingTheSiahxyz
26 hoursfeat(risk): add trailing stop, volatility sizing, and position limitsTheSiahxyz
26 hoursfeat(strategy): add combined strategy with weighted signal votingTheSiahxyz
26 hoursfeat: add FastAPI REST API serviceTheSiahxyz
26 hoursfeat: add multi-exchange support via ccxt factoryTheSiahxyz
26 hoursfeat(security): add bearer token auth for health/metrics endpointsTheSiahxyz
26 hoursfeat(portfolio): add periodic portfolio snapshots and daily Telegram summaryTheSiahxyz
26 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
26 hourstest: add edge case tests for zero volume, empty data, extreme valuesTheSiahxyz
26 hoursfeat(strategy): add parameter validation to all strategiesTheSiahxyz
26 hoursfix: lint fixes for integration tests and backtester noqa annotationsTheSiahxyz
26 hoursfix: clean up backtester strategy loading and update DockerfilesTheSiahxyz
26 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
27 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
27 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
27 hoursfeat(backtester): add detailed metrics (Sharpe, Sortino, drawdown)TheSiahxyz
Add metrics.py with TradeRecord/DetailedMetrics dataclasses and compute_detailed_metrics() that pairs BUY/SELL trades FIFO, computes win/loss stats, profit factor, equity curve, max drawdown, Sharpe, Sortino, Calmar ratios, and monthly returns.
27 hoursfeat(strategy): add Volume Profile strategyTheSiahxyz
27 hoursfeat(strategy): add Bollinger Bands strategyTheSiahxyz
27 hoursfeat(strategy): add VWAP strategyTheSiahxyz
27 hoursfeat(strategy): add MACD strategyTheSiahxyz
27 hoursfeat(strategy): add EMA Crossover strategyTheSiahxyz
27 hoursfeat(strategy): add warmup_period to BaseStrategy and YAML config loadingTheSiahxyz
27 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().
27 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