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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
# US Stock Trading Platform — TODO
> Last updated: 2026-04-02
## Current State
- **375 tests**, lint clean
- **US 주식 전용** (Alpaca API, 수수료 0%)
- 6 microservices + CLI + shared library
- MOC (Market on Close) 전략 + 기술적 전략 7개
- Prometheus/Grafana/Loki 모니터링, CI/CD, Telegram 알림
- Claude 기반 종목 스크리너
---
## Architecture
```
Alpaca API → data-collector (REST polling)
→ Redis Streams → strategy-engine (MOC + 기술전략)
→ signals → order-executor (Alpaca 주문)
→ orders → portfolio-manager (포지션 추적)
Claude API → stock_screener.py (종목 분석/추천)
FastAPI → REST API (/api/v1/portfolio, orders, strategies)
```
## 핵심 매매 전략: MOC (Market on Close)
```
[매일 ET 15:50] Claude 종목 분석 → 매수 종목 선정
[ET 15:50~16:00] 장 마감 직전 매수 (MOC 주문)
[다음날 ET 9:35~10:00] 시가 매도
조건: 양봉 + 볼륨 > 평균 + RSI 30~60 + EMA 위 + 모멘텀 양호
손절: -2%, 포지션당 자본금 20%, 최대 5종목
```
---
## Remaining Work
### 즉시 해야 할 것
#### 1. MOC 백테스트 스크립트
- [ ] `scripts/backtest_moc.py` — 합성 데이터로 MOC 전략 파라미터 최적화
- [ ] 5개 주식 (AAPL, MSFT, TSLA, NVDA, AMZN) 대상 90일 백테스트
- [ ] RSI 범위, 손절률, EMA period 그리드 서치
- [ ] Makefile target: `make backtest-moc`
#### 2. 실제 데이터 백테스트
- [ ] Alpaca API로 과거 데이터 다운로드 → DB 저장
- [ ] 실제 데이터 기반 MOC 전략 검증
- [ ] Walk-forward analysis로 과적합 확인
#### 3. Paper Trading 배포
- [ ] `.env` 설정 (ALPACA_PAPER=true)
- [ ] `make up` → 전 서비스 실행
- [ ] 2-4주 모의 매매 → 실제 성과 확인
- [ ] Telegram 알림으로 매일 결과 수신
---
### 개선 사항
#### 4. Claude 스크리너 고도화
- [ ] SEC 공시 분석 (10-K, 10-Q, 8-K)
- [ ] 실적 서프라이즈 감지 (EPS beat/miss)
- [ ] 섹터 로테이션 분석
- [ ] 뉴스 감성 분석 (Yahoo Finance, MarketWatch)
#### 5. 주문 유형 확장
- [ ] Limit order 지원
- [ ] 프리마켓/애프터마켓 주문
- [ ] 분할 매수/매도
#### 6. 추가 전략
- [ ] ORB (Opening Range Breakout) — 장 시작 30분 전략
- [ ] Gap & Go — 갭 상승 종목 추격 전략
- [ ] Earnings Play — 실적 발표 전후 전략
#### 7. 리스크 관리 개선
- [ ] 섹터 집중도 제한 (같은 섹터 3개 이상 금지)
- [ ] 실적 발표일 매매 회피
- [ ] 시장 전체 하락 시 매매 중단 (SPY RSI 기반)
---
## Quick Start
```bash
# 1. 환경 설정
cp .env.example .env
# ALPACA_API_KEY, ALPACA_API_SECRET 입력
# ANTHROPIC_API_KEY 입력 (Claude 스크리너용)
# 2. 의존성 설치
pip install -e shared/
# 3. 인프라 실행
make infra # Redis + PostgreSQL
make migrate # DB 마이그레이션
# 4. 테스트
make test # 375 tests
# 5. 종목 스크리닝
make screen # Claude가 33개 종목 분석 → Top 5 추천
# 6. 서비스 실행
make up # 전 서비스 시작 (paper trading)
# 7. 모니터링
docker compose --profile monitoring up -d
# Grafana: http://localhost:3000
# API: http://localhost:8000/api/v1/strategies
# 8. CLI
trading strategy list
trading backtest run --strategy moc --symbol AAPL --timeframe 1Day
trading portfolio show
```
---
## Completed (Infrastructure)
- [x] Alpaca API 클라이언트 (paper + live)
- [x] MOC 전략 (종가 매수 / 시가 매도)
- [x] Claude 종목 스크리너 (33개 유니버스)
- [x] Data collector (Alpaca REST polling)
- [x] Order executor (Alpaca submit_order)
- [x] SQLAlchemy ORM + Alembic 마이그레이션
- [x] structlog 구조화 로깅
- [x] Telegram 알림
- [x] Retry + Circuit Breaker
- [x] Prometheus + Grafana + Loki
- [x] Redis consumer groups
- [x] Portfolio snapshots + realized PnL
- [x] Bearer token auth
- [x] CI/CD (Gitea Actions)
- [x] E2E test script
- [x] FastAPI REST API
- [x] 백테스터 (슬리피지, 수수료, SL/TP, 공매도, walk-forward)
- [x] 기술 지표 라이브러리 (ATR, ADX, RSI, MACD, Bollinger, Stochastic, OBV)
- [x] 포트폴리오 VaR, 상관관계, drawdown 기반 리스크
- [x] 375 tests, lint clean
|