summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
22 hoursfix: lint cleanup after medium priority tasksTheSiahxyz
22 hoursfeat(broker): add Redis consumer groups for reliable message processingTheSiahxyz
22 hourstest: add CLI command tests and API router testsTheSiahxyz
22 hoursfeat(portfolio): track realized PnL on sell ordersTheSiahxyz
22 hoursfix: lint cleanup after critical and high priority fixesTheSiahxyz
22 hoursfix: WS factory, backtester config, CI docker builds, health port docsTheSiahxyz
22 hoursfix: snapshot delay, env fields, alembic creds, API healthcheck and error ↵TheSiahxyz
handling
22 hoursfix(strategy-engine): process multiple symbols concurrently with asyncio.gatherTheSiahxyz
22 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
23 hoursdocs: mark all tasks completed, update project statusTheSiahxyz
23 hoursfix: lint cleanup for API, combined strategy, and formattingTheSiahxyz
23 hoursfeat(risk): add trailing stop, volatility sizing, and position limitsTheSiahxyz
23 hoursfeat(strategy): add combined strategy with weighted signal votingTheSiahxyz
23 hoursfeat: add FastAPI REST API serviceTheSiahxyz
23 hoursfeat: add multi-exchange support via ccxt factoryTheSiahxyz
23 hoursfeat(security): add bearer token auth for health/metrics endpointsTheSiahxyz
23 hourstest: add Docker Compose E2E test scriptTheSiahxyz
23 hoursfeat(monitoring): add Grafana dashboard provisioningTheSiahxyz
23 hoursci: add Gitea Actions workflow and CI scriptTheSiahxyz
23 hoursfeat(monitoring): add Loki + Promtail for log aggregationTheSiahxyz
23 hoursdocs: update TODO — mark Critical, High, Medium as completedTheSiahxyz
23 hoursfeat(portfolio): add periodic portfolio snapshots and daily Telegram summaryTheSiahxyz
23 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
23 hourstest: add edge case tests for zero volume, empty data, extreme valuesTheSiahxyz
23 hoursfix(shared): add transaction rollback on DB errorsTheSiahxyz
23 hoursfeat(strategy): add parameter validation to all strategiesTheSiahxyz
23 hoursfix: lint fixes for integration tests and backtester noqa annotationsTheSiahxyz
23 hourstest: add integration tests for strategy, order, portfolio, and backtest flowsTheSiahxyz
23 hoursfeat(cli): implement backtest, strategy, portfolio, and data commandsTheSiahxyz
23 hoursfix: clean up backtester strategy loading and update DockerfilesTheSiahxyz
23 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
23 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.
24 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
24 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
24 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.
24 hoursfeat(strategy): add Volume Profile strategyTheSiahxyz
24 hoursfeat(strategy): add Bollinger Bands strategyTheSiahxyz
24 hoursfeat(strategy): add VWAP strategyTheSiahxyz
24 hoursfeat(strategy): add MACD strategyTheSiahxyz
24 hoursfeat(strategy): add EMA Crossover strategyTheSiahxyz
24 hoursfeat(strategy): add warmup_period to BaseStrategy and YAML config loadingTheSiahxyz
24 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().
24 hoursfeat(shared): add health checks and Prometheus metricsTheSiahxyz
24 hoursfeat(shared): add Telegram notification serviceTheSiahxyz
24 hoursfeat(shared): add retry with backoff and circuit breakerTheSiahxyz
24 hoursfeat(shared): add structlog-based structured loggingTheSiahxyz
24 hoursfeat: rewrite database layer from asyncpg to SQLAlchemy 2.0 async ORMTheSiahxyz
Replace raw asyncpg SQL with SQLAlchemy async engine, async_sessionmaker, and ORM operations. Uses session.merge for candle upserts, session.add for signal/order inserts, update() for status changes, select() for queries. Auto-converts postgresql:// URLs to postgresql+asyncpg://. Keeps init_tables() as backward-compatible alias for connect().
24 hoursfeat: add SQLAlchemy ORM models and Alembic migration setupTheSiahxyz
Add SA 2.0 declarative models (CandleRow, SignalRow, OrderRow, TradeRow, PositionRow, PortfolioSnapshotRow) mirroring existing asyncpg tables. Set up Alembic with async PostgreSQL support and add migrate/migrate-down/ migrate-new Makefile targets. Update shared dependencies with sqlalchemy, alembic, structlog, prometheus-client, pyyaml, aiohttp, and rich.
24 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
24 hourschore: add .worktrees/ to gitignoreTheSiahxyz