From 37c9cb4879fff1fa8b26f54f9450aee5a6e1c9fb Mon Sep 17 00:00:00 2001 From: TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> Date: Wed, 1 Apr 2026 18:13:35 +0900 Subject: docs: final TODO — all issues resolved, only future enhancements remain MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/TODO.md | 115 ++++++++++++++++++++--------------------------------------- 1 file changed, 39 insertions(+), 76 deletions(-) (limited to 'docs/TODO.md') diff --git a/docs/TODO.md b/docs/TODO.md index 3cf4e31..04f7a0c 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -4,88 +4,51 @@ ## Current State -- **298 tests passing**, lint clean -- 6 microservices + CLI + shared library -- 8 strategies, REST API, full monitoring stack, CI/CD, multi-exchange, advanced risk -- Redis consumer groups, realized PnL, bearer auth, E2E test script -- **95% production-ready** +- **298 tests**, lint clean, 0 TODO/FIXME in codebase +- **134 Python files**, 54 commits +- **Production-ready** — 모든 known issues 해결 완료 + +### 구현 완료 목록 + +| 카테고리 | 내용 | +|----------|------| +| **서비스 (6)** | data-collector, strategy-engine, order-executor, portfolio-manager, backtester, api (FastAPI) | +| **전략 (8)** | RSI, Grid, MACD, Bollinger Bands, EMA Crossover, VWAP, Volume Profile, Combined | +| **DB** | SQLAlchemy 2.0 async, Alembic 마이그레이션, transaction rollback | +| **메시징** | Redis Streams + consumer groups (pending recovery) | +| **모니터링** | Prometheus, Grafana (provisioned dashboard), Loki + Promtail | +| **알림** | Telegram (시그널, 주문, 에러, 일일 요약) | +| **리스크** | 포지션 한도, 일일 손실 한도, trailing stop, volatility sizing, max open positions | +| **보안** | Bearer token auth on /health /metrics | +| **CI/CD** | Gitea Actions, scripts/ci.sh, scripts/e2e-test.sh | +| **CLI** | backtest, strategy, portfolio, data, trade, service | +| **테스트** | unit (238), integration (7), edge cases (30), validation (41), API (8) | --- -## Remaining Issues (3개) +## Remaining — Future Enhancement Ideas -### 1. API Strategies 엔드포인트 경로 버그 -- **파일:** `services/api/src/trading_api/routers/strategies.py:10` -- **문제:** `parents[5]`가 잘못된 디렉토리를 참조 — Docker에서 `/api/v1/strategies` 404 -- **수정:** `parents[5]` → 올바른 경로로 수정, 또는 `STRATEGIES_DIR` 환경변수 사용 +아래는 현재 기능 완성 상태에서 추가로 개선할 수 있는 항목들입니다. 필수가 아닌 선택 사항이며, 필요에 따라 진행하면 됩니다. -### 2. Alembic URL이 localhost 하드코딩 -- **파일:** `shared/alembic.ini:3` -- **문제:** Docker 환경에서 postgres 호스트는 `postgres`이지 `localhost`가 아님 -- **참고:** `env.py`에서 `DATABASE_URL` 환경변수를 이미 읽지만, 환경변수 미설정 시 alembic.ini 기본값 사용 -- **수정:** Docker에서 `make migrate` 시 `DATABASE_URL` 환경변수 전달 필요 (문서화) +### 사용자 경험 +- [ ] **README.md** — 프로젝트 소개, 아키텍처 다이어그램, 설치/실행 가이드 +- [ ] **WebSocket 실시간 대시보드** — 포지션, PnL, 시그널을 실시간 웹으로 확인 +- [ ] **백테스트 시각화** — matplotlib/plotly로 수익 곡선, drawdown 차트, 진입/청산 포인트 표시 +- [ ] **알림 채널 확장** — Discord, Slack webhook 지원 -### 3. Risk Config 필드 분산 -- **파일:** `shared/src/shared/config.py` vs `services/order-executor/src/order_executor/config.py` -- **문제:** `risk_trailing_stop_pct`, `risk_max_open_positions`, `risk_volatility_lookback`, `risk_volatility_scale`가 shared Settings에 없고 ExecutorConfig에만 존재 -- **영향:** 다른 서비스에서 이 설정 접근 불가 -- **수정:** shared Settings 기본 클래스로 이동 +### 트레이딩 기능 +- [ ] **주문 유형 확장** — LIMIT, STOP_LIMIT, OCO (One-Cancels-the-Other) +- [ ] **멀티 타임프레임 전략** — 1h 추세 + 5m 진입 등 복합 타임프레임 +- [ ] **머신러닝 시그널 필터** — 전략 시그널을 ML 모델로 필터링 +- [ ] **백테스트 결과 DB 저장** — 백테스트 실행/결과를 DB에 저장하고 비교 +- [ ] **DCA (Dollar Cost Averaging) 전략** — 정기적/조건부 분할 매수 ---- - -## All Completed (27 items) - -### Critical -- [x] Alembic 초기 마이그레이션 -- [x] Docker health 포트 노출 -- [x] numpy 의존성 -- [x] Strategy engine 멀티 심볼 버그 -- [x] Snapshot 첫 실행 지연 -- [x] API 헬스체크 + 에러 처리 - -### High -- [x] CLI 명령어 구현 -- [x] Backtester sys.path 수정 -- [x] Integration tests -- [x] Dockerfile 정리 -- [x] WS factory 추상화 -- [x] Backtester config 상속 -- [x] CI Docker 빌드 -- [x] Health port 문서화 - -### Medium -- [x] Edge case tests (30개) -- [x] DB transaction rollback -- [x] Portfolio snapshots + Telegram 요약 -- [x] Strategy parameter validation (41 tests) -- [x] CLI + API 테스트 추가 -- [x] Realized PnL 추적 -- [x] Redis consumer groups - -### Low -- [x] Grafana dashboard -- [x] Multi-exchange support -- [x] REST API (FastAPI) -- [x] Strategy combination framework -- [x] Advanced risk management -- [x] Loki + Promtail -- [x] CI/CD + E2E test script -- [x] Security (bearer auth) - ---- - -## Future Ideas (미계획) - -- README.md 작성 -- WebSocket 실시간 대시보드 -- 백테스트 시각화 (matplotlib/plotly 차트) -- OpenTelemetry 분산 추적 -- 멀티 타임프레임 전략 -- 머신러닝 시그널 필터 -- 주문 유형 확장 (LIMIT, STOP_LIMIT, OCO) -- Kubernetes 배포 -- 알림 채널 확장 (Discord, Slack) -- 백테스트 결과 DB 저장 및 비교 +### 인프라 +- [ ] **Kubernetes 배포** — Helm chart + HPA autoscaling +- [ ] **OpenTelemetry 분산 추적** — 서비스 간 request tracing +- [ ] **비 Binance 거래소 WebSocket** — ccxt pro 또는 거래소별 WS 구현 +- [ ] **DB 파티셔닝** — candles 테이블 시계열 파티셔닝 (대용량 데이터) +- [ ] **Secrets Manager** — API 키를 환경변수 대신 Vault/SOPS로 관리 --- @@ -99,6 +62,6 @@ make migrate # DB 마이그레이션 make test # 298 tests make up # 서비스 시작 make e2e # E2E 테스트 -make ci # CI (lint + test) curl localhost:8000/health # API 확인 +curl localhost:8000/api/v1/strategies # 전략 목록 ``` -- cgit v1.2.3