feat(spot): 3단계 운영 파이프라인 — composite_v3 + MTF paper/live

MTF 필터 백테스트, paper/live 체결, 빗썸 Private API 연동 및 운영 스크립트·설계 문서를 추가해 2단계 전략을 실거래 단계에 연결한다.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
xavis
2026-06-12 18:27:34 +09:00
parent 2d515dd669
commit 58802bdc5f
19 changed files with 1485 additions and 10 deletions

View File

@@ -0,0 +1,150 @@
# 현물 3단계 설계 가이드 — 실거래 운영
> 2단계 검증 전략(`composite_v3` + MTF 필터)을 빗썸 현물에 연결하는 운영 단계
> 작성 기준: 2026-06-12 · 기본 모드: **paper**
---
## Plan (계획)
### 목적
2단계에서 도출한 **인과 기법 + MTF 필터**를 실시간(또는 모의) 운영 파이프라인에 연결하고, **live 전환 전** 필터 효과를 백테스트로 재검증한다.
### 파이프라인
```
캔들 증분 동기화 (00_download.py)
composite_v3 신호 생성 (3분봉)
signal_type 추론 (기여 기법 → B/B*/B^/Bd/S/Sd)
HtfTrendGate (60분·일봉 극단 차단)
MtfSignalFilter (mtf_rules_v3.json)
paper / live 체결 (구간별 매수 상한 동일)
```
### 운영 모드
| 모드 | 설명 | 기본값 |
|------|------|--------|
| **paper** | DB 캔들·신호 가격 기준 모의 체결 | **권장·기본** |
| **live** | 빗썸 Private API 시장가 주문 | API 키 필요, 신중히 사용 |
---
## Do (실행)
### 스크립트
| 순서 | 스크립트 | 역할 |
|------|----------|------|
| 3-1 | `3_run_filtered_backtest.py` | MTF 필터 전/후 3년 sim 비교 |
| 3-2 | `3_run_operations.py` | paper/live 1회 tick (신호·체결) |
| 일괄 | `3_run_stage3_all.sh` | 3-1 + 3-2 paper |
```bash
cd DeepCoin
export PYTHONPATH=src
# MTF 필터 백테스트
python scripts/3_run_filtered_backtest.py
# paper 운영 1회
python scripts/3_run_operations.py
# 일괄
bash scripts/3_run_stage3_all.sh
```
### 주요 환경 변수
| 변수 | 설명 | 기본값 |
|------|------|--------|
| `OPS_MODE` | `paper` / `live` | `paper` |
| `OPS_TECHNIQUE_ID` | 운영 기법 | `composite_v3` |
| `OPS_MIN_SCORE` | composite 최소 점수 (선택) | 기법 기본 2.5 |
| `OPS_MTF_ENABLED` | MTF 필터 | `true` |
| `OPS_TREND_GATE_ENABLED` | 고TF 게이트 | `true` |
| `OPS_DAILY_MAX_TRADES` | 일일 체결 상한 | `20` |
| `OPS_MIN_ORDER_KRW` | 최소 주문 원화 | `5000` |
| `OPS_STATE_JSON` | 운영 상태 | `data/spot/operations/ops_state.json` |
| `BITHUMB_ACCESS_KEY` | live API (선택) | — |
| `BITHUMB_SECRET_KEY` | live API (선택) | — |
### 산출물
| 파일 | 내용 |
|------|------|
| `docs/spot/3_operations/filtered_backtest_report.json` | 필터 전/후 sim |
| `docs/spot/3_operations/ops_report.json` | 최근 tick 리포트 |
| `data/spot/operations/ops_state.json` | 포트폴리오·체결 이력 |
### 소스 모듈
| 모듈 | 경로 |
|------|------|
| 신호 파이프라인 | `src/deepcoin/operations/signal_pipeline.py` |
| signal_type 추론 | `src/deepcoin/operations/signal_type.py` |
| 체결 엔진 | `src/deepcoin/operations/trade_engine.py` |
| paper/live | `src/deepcoin/operations/executor.py` |
| 러너 | `src/deepcoin/operations/runner.py` |
| 빗썸 Private | `src/deepcoin/api/bithumb_private.py` |
---
## Check (검토)
### 초기 백테스트 결과 (BTC · 3년 · composite_v3)
| 구분 | 신호 수 | 3년 sim 수익률 |
|------|---------|----------------|
| MTF 필터 **전** | 12,262 | **-97.5%** |
| MTF 필터 **후** | 1,215 | **+3.37%** |
MTF 필터가 composite_v3의 과다 신호·역추세 진입을 상당 부분 걸러냅니다. live 전환 전 paper 운영으로 추가 검증이 필요합니다.
### live 전환 전 체크리스트
- [ ] `3_run_filtered_backtest.py` — 필터 후 sim이 raw 대비 개선되는지 확인
- [ ] 최소 1주일 **paper** 운영 (`--loop 180` 등)
- [ ] `OPS_DAILY_MAX_TRADES`·`OPS_MIN_SCORE` 튜닝
- [ ] 빗썸 API 키 **출금 비활성**·IP 제한 설정
- [ ] 소액으로 live 테스트
### 2단계 대비 3단계 차이
| 항목 | 2단계 | 3단계 |
|------|-------|-------|
| 목적 | 기법 평가·순위 | **운영 연결** |
| 신호 | 39종 개별 | **composite_v3 + MTF** |
| 체결 | 일괄 sim | **tick 단위 paper/live** |
| MTF | 분석·규칙 | **실시간 필터** |
---
## Act (개선)
### 권장 튜닝
1. `OPS_MIN_SCORE` 상향 (예: 3.5~4.0) — 신호 과다·스킵 감소
2. `OPS_DAILY_MAX_TRADES` 하향 — 과매매 방지
3. 텔레그램 알림 연동 (선택)
4. 슬리피지 가정 paper 백테스트 확장
### 하지 말아야 할 것
- 백테스트 미검증 상태에서 **live 풀오토**
- 2단계 sim 1위(`fractal_swing`) 그대로 운영
- API 키를 Git에 커밋
---
## 변경 이력
| 날짜 | 내용 |
|------|------|
| 2026-06-12 | 3단계 초版 — paper/live 파이프라인, MTF 필터 백테스트, 운영 스크립트 |