159 lines
3.8 KiB
Markdown
159 lines
3.8 KiB
Markdown
# Phase별 `.env` 권장값
|
|
|
|
프로젝트 루트 `.env`에 **해당 Phase 블록만** 반영하세요. API 키·토큰은 기존 값 유지.
|
|
|
|
**일정:** Phase C ~2026-06-05 (금) → Phase B-1 ~2026-06-06 (토)부터
|
|
|
|
---
|
|
|
|
## 공통 (C·B 모두 동일)
|
|
|
|
```env
|
|
SYMBOL=WLD
|
|
CHART_LOOKBACK_DAYS=365
|
|
|
|
# 인과 sim · hybrid live sizing (필수)
|
|
GT_SIGNAL_CAUSAL=1
|
|
SIM_CAUSAL_TIER=1
|
|
SIM_PRIMARY_SIZING=auto
|
|
|
|
# hybrid DD (캘리브 결과 — 변경 시 04_hybrid_dd_calibrate 재실행)
|
|
# docs/04_matching/hybrid_dd_calibration.json 과 동기
|
|
CAUSAL_GT_DD_LARGE_PCT=5.0
|
|
CAUSAL_GT_DD_MEDIUM_PCT=2.0
|
|
|
|
# GT tier (sim·live hybrid)
|
|
GT_BUY_PCT_LARGE_LEG=1.0
|
|
GT_BUY_PCT_SMALL_LEG=0.05
|
|
GT_BUY_PCT_MEDIUM_LEG=0.25
|
|
GT_LARGE_LEG_TOP_PCT=0.2
|
|
GT_MIN_ORDER_KRW=5000
|
|
|
|
# monitor 규칙 (04 matched_rules — 코드에서 로드, env 변경 불필요)
|
|
MATCH_MONITOR_MAX_PER_SIDE=1
|
|
|
|
# conviction tier — 코드 기본 enhanced=False 유지, env로 켜지 않음
|
|
SIM_TIER_CONVICTION_DD_PCT=10.0
|
|
```
|
|
|
|
---
|
|
|
|
## Phase C — 알림만 (월~금, 주문 없음)
|
|
|
|
**적용 기간:** ~2026-06-05
|
|
**실행:** `python scripts/05_run_monitor.py`
|
|
|
|
```env
|
|
# === Phase C ===
|
|
LIVE_TRADING_ENABLED=0
|
|
|
|
# 05 알림
|
|
MONITOR_ALERT_COOLDOWN_MIN=180
|
|
MONITOR_ALERT_KRW_AMOUNT=100000
|
|
MONITOR_LOOP_SLEEP_SEC=180
|
|
|
|
# 06 dry-run용 (C에서도 06 --once 가능, 주문 없음)
|
|
LIVE_ORDER_KRW=100000
|
|
LIVE_DAILY_KRW_MAX=300000
|
|
LIVE_COOLDOWN_MIN=180
|
|
LIVE_MAX_TRADES_PER_DAY=10
|
|
LIVE_DAILY_LOSS_LIMIT_KRW=50000
|
|
LIVE_SLIPPAGE_PCT=0.05
|
|
LIVE_BUY_PCT_LARGE=1.0
|
|
LIVE_BUY_PCT_SMALL=0.05
|
|
```
|
|
|
|
### Phase C 확인 명령
|
|
|
|
```bash
|
|
python scripts/06_verify_live_dryrun.py
|
|
python scripts/05_run_monitor.py --once
|
|
python scripts/06_execute_live.py --once
|
|
```
|
|
|
|
---
|
|
|
|
## Phase B-1 — 소액 실거래 (토요일~)
|
|
|
|
**적용 시점:** 2026-06-06 (토) 00:00 이후 (금요일 C Go 후)
|
|
**실행:** `python scripts/06_execute_live.py`
|
|
|
|
```env
|
|
# === Phase B-1 ===
|
|
LIVE_TRADING_ENABLED=1
|
|
|
|
LIVE_ORDER_KRW=100000
|
|
LIVE_DAILY_KRW_MAX=1000000
|
|
LIVE_MAX_TRADES_PER_DAY=15
|
|
LIVE_COOLDOWN_MIN=180
|
|
LIVE_DAILY_LOSS_LIMIT_KRW=100000
|
|
LIVE_SLIPPAGE_PCT=0.05
|
|
LIVE_BUY_PCT_LARGE=1.0
|
|
LIVE_BUY_PCT_SMALL=0.05
|
|
|
|
MONITOR_ALERT_COOLDOWN_MIN=180
|
|
MONITOR_LOOP_SLEEP_SEC=180
|
|
```
|
|
|
|
| 항목 | 값 | 설명 |
|
|
|------|-----|------|
|
|
| 초기 자금 | ₩1,000,000 | 빗썸 가용 KRW |
|
|
| 일 매수 한도 | ₩1,000,000 | large tier 일부 가능, sim(무한)보다 보수 |
|
|
| 일 손실 중단 | ₩100,000 | -10% 일손실 시 당일 추가 주문 중단 |
|
|
| 1회 참고 | ₩100,000 | 매도 시 참고; **매수는 hybrid tier가 산출** |
|
|
|
|
### B-1 오픈 당일
|
|
|
|
```bash
|
|
python scripts/06_verify_live_dryrun.py
|
|
python scripts/06_execute_live.py --once
|
|
python scripts/06_execute_live.py
|
|
```
|
|
|
|
---
|
|
|
|
## Phase B-2 — sim hybrid 근접 (B-1 Go 후, 2~4주)
|
|
|
|
> +1,000% 경로. **리스크·MDD·슬리피지 감수 가능할 때만.**
|
|
|
|
```env
|
|
# === Phase B-2 ===
|
|
LIVE_TRADING_ENABLED=1
|
|
|
|
LIVE_ORDER_KRW=100000
|
|
LIVE_DAILY_KRW_MAX=5000000
|
|
LIVE_MAX_TRADES_PER_DAY=30
|
|
LIVE_COOLDOWN_MIN=120
|
|
LIVE_DAILY_LOSS_LIMIT_KRW=300000
|
|
LIVE_SLIPPAGE_PCT=0.05
|
|
LIVE_BUY_PCT_LARGE=1.0
|
|
LIVE_BUY_PCT_SMALL=0.05
|
|
```
|
|
|
|
| sim 대비 | B-1 | B-2 |
|
|
|----------|-----|-----|
|
|
| 일한도 | 100만 | 500만 |
|
|
| large tier 1회 ~100% | 종종 스킵 | 대부분 가능 |
|
|
| +1000% 가능성 | 낮음 | sim에 근접 (보장 없음) |
|
|
|
|
---
|
|
|
|
## 절대 변경하지 말 것
|
|
|
|
```env
|
|
# conviction tier 배포 금지 — live_trader는 enhanced=False 고정
|
|
# GT_SIGNAL_CAUSAL=0 ← hybrid sizing 꺼짐, sim과 불일치
|
|
# SIM_PRIMARY_SIZING=causal_tier ← 구 +75% 경로
|
|
```
|
|
|
|
---
|
|
|
|
## Phase 전환 체크
|
|
|
|
| 전환 | 조건 | `.env` 변경 |
|
|
|------|------|-------------|
|
|
| C → B-1 | 금요일 C Go | `LIVE_TRADING_ENABLED=1`, B-1 한도 |
|
|
| B-1 → B-2 | 2~4주 검증 Go | `LIVE_DAILY_KRW_MAX` 등 B-2 값 |
|
|
|
|
상세: [DEPLOYMENT_CHECKLIST.md](./DEPLOYMENT_CHECKLIST.md)
|