summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
36 hoursfeat(backtester): add walk-forward analysis engineTheSiahxyz
36 hoursfeat(backtester): improve metrics with daily Sharpe, recovery factor, ↵TheSiahxyz
consecutive stats
36 hoursdocs: trading strategy upgrade plan (4 phases)TheSiahxyz
Phase 1: Backtester realism (slippage, fees, stops, shorts, walk-forward) Phase 2: Strategy infrastructure (ATR stops, ADX regime filter, volume confirmation, conviction scoring, indicator library) Phase 3: Individual strategy upgrades (divergence, filters, adaptive params) Phase 4: Advanced risk management (portfolio VaR, dynamic sizing, scenarios)
37 hoursdocs: final TODO — all issues resolved, only future enhancements remainTheSiahxyz
37 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
37 hoursdocs: update TODO — 3 remaining issues identified from deep analysisTheSiahxyz
37 hoursfix: lint cleanup after medium priority tasksTheSiahxyz
37 hoursfeat(broker): add Redis consumer groups for reliable message processingTheSiahxyz
37 hourstest: add CLI command tests and API router testsTheSiahxyz
37 hoursfeat(portfolio): track realized PnL on sell ordersTheSiahxyz
37 hoursfix: lint cleanup after critical and high priority fixesTheSiahxyz
37 hoursfix: WS factory, backtester config, CI docker builds, health port docsTheSiahxyz
37 hoursfix: snapshot delay, env fields, alembic creds, API healthcheck and error ↵TheSiahxyz
handling
37 hoursfix(strategy-engine): process multiple symbols concurrently with asyncio.gatherTheSiahxyz
37 hoursdocs: comprehensive TODO update with deep analysis findingsTheSiahxyz
Critical: multi-symbol bug, snapshot delay, missing env fields, API healthcheck/error handling, alembic creds mismatch High: binance-only WS, backtester config, CI docker builds Medium: test coverage gaps, realized PnL, test warnings
37 hoursdocs: mark all tasks completed, update project statusTheSiahxyz
37 hoursfix: lint cleanup for API, combined strategy, and formattingTheSiahxyz
37 hoursfeat(risk): add trailing stop, volatility sizing, and position limitsTheSiahxyz
37 hoursfeat(strategy): add combined strategy with weighted signal votingTheSiahxyz
37 hoursfeat: add FastAPI REST API serviceTheSiahxyz
37 hoursfeat: add multi-exchange support via ccxt factoryTheSiahxyz
37 hoursfeat(security): add bearer token auth for health/metrics endpointsTheSiahxyz
37 hourstest: add Docker Compose E2E test scriptTheSiahxyz
37 hoursfeat(monitoring): add Grafana dashboard provisioningTheSiahxyz
37 hoursci: add Gitea Actions workflow and CI scriptTheSiahxyz
37 hoursfeat(monitoring): add Loki + Promtail for log aggregationTheSiahxyz
37 hoursdocs: update TODO — mark Critical, High, Medium as completedTheSiahxyz
37 hoursfeat(portfolio): add periodic portfolio snapshots and daily Telegram summaryTheSiahxyz
38 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
38 hourstest: add edge case tests for zero volume, empty data, extreme valuesTheSiahxyz
38 hoursfix(shared): add transaction rollback on DB errorsTheSiahxyz
38 hoursfeat(strategy): add parameter validation to all strategiesTheSiahxyz
38 hoursfix: lint fixes for integration tests and backtester noqa annotationsTheSiahxyz
38 hourstest: add integration tests for strategy, order, portfolio, and backtest flowsTheSiahxyz
38 hoursfeat(cli): implement backtest, strategy, portfolio, and data commandsTheSiahxyz
38 hoursfix: clean up backtester strategy loading and update DockerfilesTheSiahxyz
38 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
38 hoursdocs: add comprehensive TODO with remaining work and prioritiesTheSiahxyz
Categorized into Critical (deployment blockers), High/Medium/Low priority items with estimated effort and quick start guide.
38 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
38 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
38 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.
38 hoursfeat(strategy): add Volume Profile strategyTheSiahxyz
38 hoursfeat(strategy): add Bollinger Bands strategyTheSiahxyz
38 hoursfeat(strategy): add VWAP strategyTheSiahxyz
38 hoursfeat(strategy): add MACD strategyTheSiahxyz
38 hoursfeat(strategy): add EMA Crossover strategyTheSiahxyz
39 hoursfeat(strategy): add warmup_period to BaseStrategy and YAML config loadingTheSiahxyz
39 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().
39 hoursfeat(shared): add health checks and Prometheus metricsTheSiahxyz
39 hoursfeat(shared): add Telegram notification serviceTheSiahxyz