summaryrefslogtreecommitdiff
path: root/docs/TODO.md
blob: 9e24ac2c6d34455d7e3f56cbc5c1b12d8dc26d26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# Trading Platform — TODO

> Last updated: 2026-04-01

## Current State

- **243 tests passing**, lint clean
- 5 microservices + CLI + shared library
- 7 trading strategies (RSI, Grid, MACD, Bollinger, EMA Crossover, VWAP, Volume Profile)
- Operations infra: SQLAlchemy ORM, Alembic, structlog, Telegram, resilience, Prometheus
- Edge case coverage, parameter validation, DB transaction safety

---

## Completed

### Critical (Deployment Blockers) — All Done
- [x] Alembic 초기 마이그레이션 (6 테이블)
- [x] Docker Compose 헬스체크 포트 노출 (8080-8083)
- [x] numpy 의존성 추가

### High Priority — All Done
- [x] CLI 명령어 구현 (backtest, strategy, portfolio, data)
- [x] Backtester sys.path 해킹 제거 (STRATEGIES_DIR 환경변수)
- [x] Integration tests (7개: strategy flow, order flow, portfolio, backtest)
- [x] Dockerfile 의존성 정리 + PYTHONPATH 설정

### Medium Priority — All Done
- [x] Edge case tests (30개: zero volume, empty data, extreme values, reset, notifier)
- [x] DB transaction rollback + transaction() context manager
- [x] Portfolio snapshots (주기적 저장 + Telegram 일일 요약)
- [x] Strategy parameter validation (41 tests, 7 strategies)
- [x] VWAP division by zero 버그 수정

---

## Remaining — Low Priority (향후 개선)

### 12. Grafana Dashboard Provisioning
- Prometheus는 설정됨, Grafana는 빈 상태
- **TODO:** `monitoring/grafana/dashboards/` 에 JSON 대시보드 추가

### 13. Multi-Exchange Support
- 현재 Binance 전용
- ccxt 라이브러리로 다른 거래소 추가 가능
- 설정으로 거래소 선택 필요

### 14. REST API / Web Dashboard
- 현재 CLI만 제공
- FastAPI 기반 REST API 추가 가능
- 실시간 대시보드 (WebSocket)

### 15. 전략 조합 프레임워크
- 여러 전략 시그널에 가중치 부여
- 최종 시그널 생성 엔진

### 16. Advanced Risk Management
- 상관관계 기반 포지션 제한
- 변동성 기반 동적 포지션 사이징
- 트레일링 스탑로스

### 17. 로그 집계 / 분산 추적
- ELK 스택 또는 Loki로 로그 집계
- OpenTelemetry 분산 추적

### 18. CI/CD Pipeline
- GitHub Actions / GitLab CI
- 자동 테스트 + 린트 + Docker 빌드
- 자동 배포

### 19. Docker Compose E2E 테스트
- 실제 Redis/PostgreSQL로 전체 파이프라인 검증
- `docker compose up` 후 candle → signal → order 흐름 테스트

### 20. 보안 강화
- /health, /metrics 엔드포인트 인증
- API 키 암호화 저장
- Rate limiting on all external APIs

---

## Quick Start (개발 환경)

```bash
# 1. 환경 설정
cp .env.example .env
# .env에 BINANCE_API_KEY, BINANCE_API_SECRET 입력

# 2. 의존성 설치
pip install -e shared/

# 3. 인프라 실행
make infra

# 4. DB 마이그레이션
make migrate

# 5. 테스트
make test

# 6. 서비스 실행
make up

# 7. 모니터링 (선택)
docker compose --profile monitoring up -d

# 8. CLI 사용
trading strategy list
trading backtest run --strategy rsi --symbol BTCUSDT --from 2025-01-01 --to 2025-12-31
trading portfolio show
```