summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
20 hoursfeat(backtester): add slippage, fees, stop-loss/take-profit, and short sellingTheSiahxyz
20 hoursfeat(backtester): add walk-forward analysis engineTheSiahxyz
20 hoursfeat(backtester): improve metrics with daily Sharpe, recovery factor, ↵TheSiahxyz
consecutive stats
20 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)
20 hoursdocs: final TODO — all issues resolved, only future enhancements remainTheSiahxyz
20 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
20 hoursdocs: update TODO — 3 remaining issues identified from deep analysisTheSiahxyz
20 hoursfix: lint cleanup after medium priority tasksTheSiahxyz
20 hoursfeat(broker): add Redis consumer groups for reliable message processingTheSiahxyz
20 hourstest: add CLI command tests and API router testsTheSiahxyz
20 hoursfeat(portfolio): track realized PnL on sell ordersTheSiahxyz
20 hoursfix: lint cleanup after critical and high priority fixesTheSiahxyz
20 hoursfix: WS factory, backtester config, CI docker builds, health port docsTheSiahxyz
20 hoursfix: snapshot delay, env fields, alembic creds, API healthcheck and error ↵TheSiahxyz
handling
20 hoursfix(strategy-engine): process multiple symbols concurrently with asyncio.gatherTheSiahxyz
20 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
21 hoursdocs: mark all tasks completed, update project statusTheSiahxyz
21 hoursfix: lint cleanup for API, combined strategy, and formattingTheSiahxyz
21 hoursfeat(risk): add trailing stop, volatility sizing, and position limitsTheSiahxyz
21 hoursfeat(strategy): add combined strategy with weighted signal votingTheSiahxyz
21 hoursfeat: add FastAPI REST API serviceTheSiahxyz
21 hoursfeat: add multi-exchange support via ccxt factoryTheSiahxyz
21 hoursfeat(security): add bearer token auth for health/metrics endpointsTheSiahxyz
21 hourstest: add Docker Compose E2E test scriptTheSiahxyz
21 hoursfeat(monitoring): add Grafana dashboard provisioningTheSiahxyz
21 hoursci: add Gitea Actions workflow and CI scriptTheSiahxyz
21 hoursfeat(monitoring): add Loki + Promtail for log aggregationTheSiahxyz
21 hoursdocs: update TODO — mark Critical, High, Medium as completedTheSiahxyz
21 hoursfeat(portfolio): add periodic portfolio snapshots and daily Telegram summaryTheSiahxyz
21 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
21 hourstest: add edge case tests for zero volume, empty data, extreme valuesTheSiahxyz
21 hoursfix(shared): add transaction rollback on DB errorsTheSiahxyz
21 hoursfeat(strategy): add parameter validation to all strategiesTheSiahxyz
21 hoursfix: lint fixes for integration tests and backtester noqa annotationsTheSiahxyz
21 hourstest: add integration tests for strategy, order, portfolio, and backtest flowsTheSiahxyz
21 hoursfeat(cli): implement backtest, strategy, portfolio, and data commandsTheSiahxyz
21 hoursfix: clean up backtester strategy loading and update DockerfilesTheSiahxyz
21 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
21 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.
22 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
22 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
22 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.
22 hoursfeat(strategy): add Volume Profile strategyTheSiahxyz
22 hoursfeat(strategy): add Bollinger Bands strategyTheSiahxyz
22 hoursfeat(strategy): add VWAP strategyTheSiahxyz
22 hoursfeat(strategy): add MACD strategyTheSiahxyz
22 hoursfeat(strategy): add EMA Crossover strategyTheSiahxyz
22 hoursfeat(strategy): add warmup_period to BaseStrategy and YAML config loadingTheSiahxyz
22 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().
22 hoursfeat(shared): add health checks and Prometheus metricsTheSiahxyz