refactor: GT·시뮬·운영 3축 정리 및 hybrid 실거래 정합
Phase C/dry-run·미사용 모듈·재생성 HTML을 제거하고, 운영 체결을 sim_causal_hybrid와 동일한 hybrid 로직으로 통합한다. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,274 +1,115 @@
|
||||
# DeepCoin 배포 체크리스트 (C → B)
|
||||
# DeepCoin 배포 체크리스트 (GT → Simulation → Operations)
|
||||
|
||||
- **목표:** 초기 ₩400,000 (`GT_INITIAL_CASH_KRW`) → **+1,000% 이상** (인과적 hybrid primary 경로)
|
||||
- **일정:** **금요일까지 Phase C** (알림·dry-run 사전 테스트) → **토요일부터 Phase B-1** (소액 실거래)
|
||||
- **기준일:** 2026-06-01 (월) 작성 · C 종료 2026-06-05 (금) · B-1 시작 2026-06-06 (토)
|
||||
- **설계:** [ARCHITECTURE.md](../reference/ARCHITECTURE.md)
|
||||
- **초기 자금:** ₩400,000 (`GT_INITIAL_CASH_KRW`)
|
||||
- **운영 배분:** `sim_causal_hybrid` (= `06_execute_live`)
|
||||
|
||||
---
|
||||
|
||||
## 1. 현재 설계 (한 장 요약)
|
||||
## 1. 한 장 요약
|
||||
|
||||
```text
|
||||
[Ground Truth] 사후 ZigZag 타점 → +4,291% (벤치마크·미래 허용)
|
||||
[Ground Truth] 사후 ZigZag · 미래 허용 → 벤치마크 PnL
|
||||
↓
|
||||
[Monitor 규칙] buy_compound_tight + sell_mtf_cross_all_tf (과거 지표만)
|
||||
[Simulation] monitor_rules · 인과 스캔 · 40만·현금/보유 제약
|
||||
↓
|
||||
[배분 hybrid] DD tier + past-leg tier (enhanced=False) → sim +1,121%
|
||||
↓
|
||||
[06 live_trader] LIVE_TRADING_ENABLED=1 일 때만 빗썸 주문
|
||||
[Operations] 동일 규칙·hybrid · LIVE=1 · 빗썸 실주문
|
||||
```
|
||||
|
||||
| 리포트 경로 | PnL | 배포 |
|
||||
|-------------|-----|------|
|
||||
| GT oracle | +4,291% | 아님 (상한) |
|
||||
| **sim_primary (hybrid)** | **+1,121%** | **예** |
|
||||
| sim_sized | +75% | 아님 |
|
||||
| sim_causal_gt | +15% | 아님 |
|
||||
| sim_tier_enhanced (conviction) | -51% | **금지** |
|
||||
| sim_fixed_order | -94% | 비교용 |
|
||||
| 경로 | 배포 |
|
||||
|------|------|
|
||||
| GT oracle | 아님 |
|
||||
| **sim_causal_hybrid** | **예** (시뮬·운영 공통) |
|
||||
| sim_tier_enhanced | **금지** |
|
||||
|
||||
---
|
||||
|
||||
## 2. 요청 항목 대비 달성 현황
|
||||
## 2. Ground Truth
|
||||
|
||||
### A. Ground Truth · 매수 배분
|
||||
|
||||
| # | 요청 | 상태 |
|
||||
|---|------|------|
|
||||
| A1 | GT 재생성 | 완료 |
|
||||
| A2 | 1회 10만 캡 제거 | 완료 |
|
||||
| A3 | 총자산×배분, 한도=보유 현금 | 완료 |
|
||||
| A4 | GT HTML | 완료 |
|
||||
|
||||
### B. 시뮬 개선
|
||||
|
||||
| # | 요청 | 상태 |
|
||||
|---|------|------|
|
||||
| B1 | GT 일반화 | 부분 (monitor 규칙이 primary) |
|
||||
| B2 | sim 매수 상한 제거 | 완료 (hybrid) |
|
||||
| B3 | 전기간 복리 carry | 완료 |
|
||||
| B4 | GT 배분 분석·DD 캘리브 | 완료 (large 5%, medium 2%) |
|
||||
| B5 | sim 상한 제거 | hybrid 완료 |
|
||||
| B6 | LIVE_DAILY_KRW_MAX sim 제거 | sim hybrid 완료 / **live는 Phase B에서 조정** |
|
||||
| B7 | GT식 large leg | 완료 |
|
||||
| B8 | 복리 구조 | hybrid 완료 / conviction 실패 |
|
||||
|
||||
### C. 인과성
|
||||
|
||||
| # | 요청 | 상태 |
|
||||
|---|------|------|
|
||||
| C1 | GT=미래 OK, sim=과거만 | 완료 |
|
||||
| C2 | 인과 sim 재실행 | 완료 |
|
||||
| C3 | 복리 총자산 배분 | 완료 |
|
||||
| C4 | HTML 비교 | 완료 |
|
||||
|
||||
### D. +1,000% 목표
|
||||
|
||||
| # | 요청 | 상태 |
|
||||
|---|------|------|
|
||||
| D1 | 1000% 설계 | 완료 |
|
||||
| D2 | Option C 300% | 완료 (+1,121%) |
|
||||
| D3 | Phase2 +1000% Go | **시뮬 Go** |
|
||||
| D4 | holdout/fee/WF | 완료 |
|
||||
| D5 | 슬리피지 | Go이나 +28%로 급감 (주의) |
|
||||
| D6 | 실현=sim | **미달** (mark·슬리피지·live 한도) |
|
||||
|
||||
### E. 배포·운영
|
||||
|
||||
| # | 요청 | 상태 |
|
||||
|---|------|------|
|
||||
| E1 | live_trader hybrid 정합 | 완료 |
|
||||
| E2 | conviction 배포 | 금지 |
|
||||
| E3 | git push | 완료 |
|
||||
| E4 | Phase A dry-run | 완료 |
|
||||
| E5 | Phase C (알림) | **진행 중** |
|
||||
| E6 | Phase B (live) | 토요일 예정 |
|
||||
- [ ] `01_download.py` 완료 (주봉·월봉 포함)
|
||||
- [ ] `02_ground_truth.py` — `CHART_LOOKBACK_DAYS` 의도 확인
|
||||
- [ ] `03_analyze_enrich.py` + `03_analyze_trades.py` + `03_gt_mtf_profile.py`
|
||||
- [ ] `05_chart_truth.py` — HTML·JSON 정합
|
||||
- [ ] `GENERAL_ANALYSIS_INTERVALS`에 `10080,43200` 포함
|
||||
|
||||
---
|
||||
|
||||
## 3. Phase 로드맵 (C → B-1 → B-2)
|
||||
## 3. Simulation
|
||||
|
||||
```text
|
||||
Phase C (월~금) 알림만 · 주문 없음 · 신호·슬리피지 관찰
|
||||
↓ 금요일 Go 판정
|
||||
Phase B-1 (토~ ) LIVE ON · 소~중간 한도 · hybrid tier 부분 체결
|
||||
↓ 2~4주 검증
|
||||
Phase B-2 (검증 후) sim에 근접한 한도 · +1000% 경로 추격 (리스크↑)
|
||||
```
|
||||
|
||||
| Phase | 기간 | 스크립트 | LIVE_TRADING | 목적 |
|
||||
|-------|------|----------|--------------|------|
|
||||
| **C** | ~금 6/5 | `05_run_monitor.py` | **0** | 신호 품질·빈도·텔레그램 |
|
||||
| **B-1** | 토 6/6~ | `06_execute_live.py` | **1** | 소액 실체결·tier·로그 검증 |
|
||||
| **B-2** | B-1 Go 후 | `06_execute_live.py` | **1** | sim hybrid에 근접한 배분 |
|
||||
- [ ] `GT_SIGNAL_CAUSAL=1`
|
||||
- [ ] `04_match_rules.py` — `monitor_rules` 2개 (`buy_compound_tight`, `sell_mtf_cross_all_tf`)
|
||||
- [ ] `04_simulation_report.py` — `simulation_report.html` 확인
|
||||
- [ ] hybrid Go/No-Go·holdout·MDD 검토 ([SIMULATION.md](../reference/SIMULATION.md))
|
||||
- [ ] conviction tier 미배포 확인
|
||||
|
||||
---
|
||||
|
||||
## 4. Phase C — 금요일까지 사전 테스트
|
||||
## 4. Operations
|
||||
|
||||
### 4.1 `.env` (Phase C)
|
||||
|
||||
`.env`에 아래를 적용하세요. 전체 예시는 `docs/05_ops/env.recommended.md` 참고.
|
||||
### 4.1 `.env`
|
||||
|
||||
```env
|
||||
# === Phase C: dry-run (금~금, 시뮬 정합) ===
|
||||
LIVE_TRADING_ENABLED=0
|
||||
GT_SIGNAL_CAUSAL=1
|
||||
SIM_PRIMARY_SIZING=auto
|
||||
MONITOR_ALERT_COOLDOWN_MIN=3
|
||||
MONITOR_LOOP_SLEEP_SEC=180
|
||||
LIVE_DAILY_KRW_MAX=4000000
|
||||
LIVE_MAX_TRADES_PER_DAY=999
|
||||
LIVE_COOLDOWN_MIN=3
|
||||
```
|
||||
|
||||
### 4.2 매일 실행
|
||||
|
||||
```bash
|
||||
# 프로젝트 루트, conda activate ncue (또는 scripts/run.ps1)
|
||||
# 05/06 시작 시 OPS_SYNC_ON_START=1 이면 누락 봉 자동 증분 (00_sync_ops와 동일)
|
||||
python scripts/01_download.py # 1일 1회 전체 점검 (선택)
|
||||
python scripts/06_verify_live_dryrun.py # tier·설정 점검 (1일 1회)
|
||||
python scripts/05_run_monitor.py # 상시 알림 (또는 --once 수동)
|
||||
python scripts/06_execute_live.py --once # dry-run (주문 없음, 선택)
|
||||
```
|
||||
|
||||
### 4.3 Phase C 일별 기록 (금요일까지)
|
||||
|
||||
| 날짜 | download | verify | monitor | 발화 buy | 발화 sell | 메모 |
|
||||
|------|----------|--------|---------|----------|-----------|------|
|
||||
| 6/1 (월) | | PASS | | | | Phase A 완료 |
|
||||
| 6/2 (화) | | | | | | |
|
||||
| 6/3 (수) | | | | | | |
|
||||
| 6/4 (목) | | | | | | |
|
||||
| 6/5 (금) | | | | | | **C Go/No-Go** |
|
||||
|
||||
기록 파일: `docs/05_ops/live_verification_20260601.md` (매일 갱신)
|
||||
|
||||
### 4.4 Phase C 금요일 Go/No-Go 기준
|
||||
|
||||
**GO (토요일 B-1 진행)** — 아래 **전부** 충족:
|
||||
|
||||
- [ ] 5일간 `05` 크래시·API 오류 없음
|
||||
- [ ] monitor 규칙 2개만 발화 (`buy_compound_tight`, `sell_mtf_cross_all_tf`)
|
||||
- [ ] `06_verify_live_dryrun.py` PASS
|
||||
- [ ] 텔레그램 알림 수신 정상
|
||||
- [ ] 발화 빈도가 비정상적으로 과다/과소 아님 (참고: sim 전기간 buy ~1,608 / 365일)
|
||||
- [ ] 빗썸 API 키·잔고 조회 정상
|
||||
|
||||
**NO-GO** — 하나라도 해당 시 토요일 live 연기:
|
||||
|
||||
- API/DB 장애 지속
|
||||
- 규칙 외 신호
|
||||
- verify FAIL
|
||||
|
||||
---
|
||||
|
||||
## 5. Phase B-1 — 토요일부터 소액 실거래
|
||||
|
||||
### 5.1 `.env` (Phase B-1)
|
||||
|
||||
```env
|
||||
# === Phase B-1: 소액 live (토~) ===
|
||||
LIVE_TRADING_ENABLED=1
|
||||
GT_SIGNAL_CAUSAL=1
|
||||
SIM_PRIMARY_SIZING=auto
|
||||
|
||||
# hybrid tier: large 구간 일부 체결 가능, sim보다 보수적
|
||||
LIVE_ORDER_KRW=40000
|
||||
GT_INITIAL_CASH_KRW=400000
|
||||
LIVE_DAILY_KRW_MAX=400000
|
||||
LIVE_DAILY_LOSS_LIMIT_KRW=40000
|
||||
LIVE_MAX_TRADES_PER_DAY=15
|
||||
LIVE_COOLDOWN_MIN=3
|
||||
LIVE_DAILY_LOSS_LIMIT_KRW=40000
|
||||
LIVE_SLIPPAGE_PCT=0.05
|
||||
MONITOR_LOOP_SLEEP_SEC=180
|
||||
```
|
||||
|
||||
| 변수 | B-1 값 | 의미 |
|
||||
|------|--------|------|
|
||||
| `LIVE_DAILY_KRW_MAX` | **400,000** | 일 40만 (초기 1배, sim full tier보다 낮음) |
|
||||
| `LIVE_DAILY_LOSS_LIMIT_KRW` | **100,000** | 일 -10만 시 당일 중단 |
|
||||
| `LIVE_MAX_TRADES_PER_DAY` | 15 | sim 거래 빈도 대비 여유 |
|
||||
전체: [env.recommended.md](env.recommended.md)
|
||||
|
||||
### 5.2 토요일 오픈 당일
|
||||
### 4.2 기동 순서
|
||||
|
||||
```bash
|
||||
python scripts/06_verify_live_dryrun.py
|
||||
python scripts/06_execute_live.py --once # 1회 수동 확인
|
||||
python scripts/06_execute_live.py # 상시 (systemd/cron)
|
||||
python scripts/00_sync_ops.py
|
||||
python scripts/06_verify_live.py
|
||||
python scripts/check_balance.py
|
||||
python scripts/06_execute_live.py --once
|
||||
python scripts/06_execute_live.py
|
||||
```
|
||||
|
||||
- [ ] `data/ops/live_trades.jsonl` 체결·dry_run 기록
|
||||
- [ ] `data/ops/live_sizing_state.json` leg 상태 갱신
|
||||
- [ ] Kill switch: `LIVE_TRADING_ENABLED=0` + 프로세스 중지
|
||||
### 4.3 Go/No-Go (운영)
|
||||
|
||||
### 5.3 Phase B-1 Go/No-Go (2~4주 후)
|
||||
**GO**
|
||||
|
||||
**B-2 승격 후보:**
|
||||
- [ ] `06_verify_live.py` PASS
|
||||
- [ ] 시뮬 hybrid 검토 완료
|
||||
- [ ] 빗썸 API·잔고 정상
|
||||
- [ ] `--once` 후 `data/ops/live_trades.jsonl` 확인
|
||||
|
||||
- [ ] 일 손실 한도 위반 없음
|
||||
- [ ] hybrid planned vs 실체결 금액 오차 허용 범위
|
||||
- [ ] 슬리피지·스킵 사유 기록
|
||||
- [ ] 실계좌 PnL이 sim 대비 **완전히 다르더라도** tier 동작이 의도대로
|
||||
**NO-GO**
|
||||
|
||||
- verify FAIL
|
||||
- monitor_rules ≠ 2개
|
||||
- `GT_SIGNAL_CAUSAL=0`
|
||||
|
||||
### 4.4 Kill switch
|
||||
|
||||
- `06` 프로세스 중지
|
||||
- 빗썸 수동 청산
|
||||
|
||||
---
|
||||
|
||||
## 6. Phase B-2 — sim hybrid 근접 (검증 후)
|
||||
## 5. 주기적 유지보수
|
||||
|
||||
> +1,000% 경로 추격. **본인 리스크 허용 범위에서만** 적용.
|
||||
|
||||
```env
|
||||
# === Phase B-2: sim 정합 (B-1 Go 후) ===
|
||||
LIVE_TRADING_ENABLED=1
|
||||
LIVE_DAILY_KRW_MAX=5000000
|
||||
LIVE_MAX_TRADES_PER_DAY=30
|
||||
LIVE_DAILY_LOSS_LIMIT_KRW=300000
|
||||
LIVE_COOLDOWN_MIN=120
|
||||
```
|
||||
|
||||
- large tier 1회 ~총자산 100% 매수 가능 → **MDD sim 19%·슬리피지 +28% 스트레스 참고**
|
||||
- conviction tier(`enhanced=True`) **절대 사용 금지**
|
||||
|
||||
---
|
||||
|
||||
## 7. Kill switch
|
||||
|
||||
| 방법 | 동작 |
|
||||
| 주기 | 작업 |
|
||||
|------|------|
|
||||
| `.env` | `LIVE_TRADING_ENABLED=0` 후 프로세스 재시작 |
|
||||
| 프로세스 | `06_execute_live.py` 중지 |
|
||||
| 빗썸 | 앱/웹 수동 청산 |
|
||||
| 일 1회 | `01_download` (또는 06 자동 sync) |
|
||||
| 주 1회 | `06_verify_live` |
|
||||
| 월 1회 | `02`~`04` 재실행·시뮬 Go 재확인 |
|
||||
|
||||
---
|
||||
|
||||
## 8. +1,000% 목표 현실 점검
|
||||
## 6. 스크립트 인덱스
|
||||
|
||||
| 항목 | sim | live (B-1) | live (B-2) |
|
||||
|------|-----|------------|------------|
|
||||
| hybrid large tier | 대부분 체결 | **일한도로 일부 스킵** | sim에 근접 |
|
||||
| 복리 | 전기간 | 동일 로직 | 동일 |
|
||||
| 슬리피지 | 5% 스트레스 +28% | **실측 필요** | 실측 필요 |
|
||||
| 미청산 mark | +1,121%에 포함 | **실현 PnL 별도** | 동일 |
|
||||
| 축 | 스크립트 |
|
||||
|----|----------|
|
||||
| GT | `02`, `03_*`, `05_chart_truth` |
|
||||
| Sim | `04_match_rules`, `04_simulation_report` |
|
||||
| Ops | `06_verify_live`, `06_execute_live` |
|
||||
|
||||
**+1,000%는 B-2까지 올라가도 보장되지 않습니다.** B-1에서 tier·슬리피지·PnL을 먼저 검증하세요.
|
||||
|
||||
---
|
||||
|
||||
## 9. 관련 문서·스크립트
|
||||
|
||||
| 경로 | 용도 |
|
||||
|------|------|
|
||||
| `docs/05_ops/env.recommended.md` | Phase별 `.env` 전체 예시 |
|
||||
| `docs/05_ops/live_verification_*.md` | 일별 검증 기록 |
|
||||
| `docs/reference/LIVE_TRADING.md` | 06 실거래 가이드 |
|
||||
| `docs/reference/RISK.md` | 리스크·한도 |
|
||||
| `scripts/06_verify_live_dryrun.py` | Phase A/C 점검 |
|
||||
| `scripts/05_run_monitor.py` | Phase C 알림 |
|
||||
| `scripts/06_execute_live.py` | Phase B 주문 |
|
||||
|
||||
---
|
||||
|
||||
## 10. 변경 이력
|
||||
|
||||
| 날짜 | 내용 |
|
||||
|------|------|
|
||||
| 2026-06-01 | C→B-1→B-2 로드맵·체크리스트 최초 작성 |
|
||||
스크립트 목록: `scripts/README.md`, `docs/reference/ARCHITECTURE.md`
|
||||
|
||||
@@ -1,108 +1,43 @@
|
||||
# Phase별 `.env` 권장값
|
||||
# 운영 `.env` 권장값 (Operations)
|
||||
|
||||
프로젝트 루트 `.env`에 **해당 Phase 블록만** 반영하세요. API 키·토큰은 기존 값 유지.
|
||||
|
||||
**일정:** Phase C ~2026-06-05 (금) → Phase B-1 ~2026-06-06 (토)부터
|
||||
설계: [ARCHITECTURE.md](../reference/ARCHITECTURE.md). dry-run·Phase C 블록은 **사용하지 않습니다**.
|
||||
|
||||
---
|
||||
|
||||
## 공통 (C·B 모두 동일)
|
||||
## 공통 (GT · Simulation · Operations)
|
||||
|
||||
```env
|
||||
SYMBOL=WLD
|
||||
CHART_LOOKBACK_DAYS=365
|
||||
|
||||
# 인과 sim · hybrid live sizing (필수)
|
||||
# 10TF (주·월봉 포함)
|
||||
GENERAL_ANALYSIS_INTERVALS=3,5,10,15,30,60,240,1440,10080,43200
|
||||
TREND_INTERVALS=60,240,1440,10080,43200
|
||||
|
||||
# 인과 sim · live hybrid (필수)
|
||||
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 과 동기
|
||||
# hybrid DD (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
|
||||
# 시뮬·GT·paper·live hybrid 배분 공통 초기 자금
|
||||
GT_INITIAL_CASH_KRW=400000
|
||||
|
||||
# 원화 한도 비율 (초기 40만 기준, 100만 시대 대비 ×0.4)
|
||||
# | 변수 | 비율 | 값 |
|
||||
# | MONITOR_ALERT_KRW_AMOUNT, LIVE_ORDER_KRW | ×10% | 40,000 |
|
||||
# | LIVE_DAILY_LOSS_LIMIT_KRW (Phase C) | ×5% | 20,000 |
|
||||
# | LIVE_DAILY_KRW_MAX (Phase C) | ×10 | 4,000,000 |
|
||||
# | LIVE_DAILY_KRW_MAX (B-1) | ×1 | 400,000 |
|
||||
|
||||
# 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`
|
||||
## Operations (실거래)
|
||||
|
||||
```env
|
||||
# === Phase C ===
|
||||
LIVE_TRADING_ENABLED=0
|
||||
|
||||
# 05 알림 · 06 루프 — 3분봉 1주기(180초)
|
||||
MONITOR_ALERT_COOLDOWN_MIN=3
|
||||
MONITOR_ALERT_KRW_AMOUNT=40000
|
||||
MONITOR_LOOP_SLEEP_SEC=180
|
||||
|
||||
# 06 dry-run (시뮬 정합: 일한도·거래횟수 무제한, 쿨다운=봉간격 3분)
|
||||
# LIVE=0 + paper 모드 시 06은 _can_trade에서 LIVE 한도 검사 생략.
|
||||
LIVE_ORDER_KRW=40000
|
||||
LIVE_DAILY_KRW_MAX=4000000
|
||||
LIVE_COOLDOWN_MIN=3
|
||||
LIVE_MAX_TRADES_PER_DAY=999
|
||||
LIVE_DAILY_LOSS_LIMIT_KRW=20000
|
||||
LIVE_SLIPPAGE_PCT=0.05
|
||||
LIVE_BUY_PCT_LARGE=1.0
|
||||
LIVE_BUY_PCT_SMALL=0.05
|
||||
```
|
||||
|
||||
| 항목 | Phase C 값 | 설명 |
|
||||
|------|------------|------|
|
||||
| `GT_INITIAL_CASH_KRW` | **400,000** | 시뮬·GT·paper·06 배분 시작 자금 |
|
||||
| `MONITOR_ALERT_KRW_AMOUNT` | **40,000** | 초기 자금의 10% (알림 참고) |
|
||||
| `LIVE_ORDER_KRW` | **40,000** | fallback·참고 (실매수는 hybrid 산출) |
|
||||
| `LIVE_DAILY_KRW_MAX` | **4,000,000** | 초기×10 — Phase C hybrid 전액 매수 여유 |
|
||||
| `LIVE_DAILY_LOSS_LIMIT_KRW` | **20,000** | 초기×5% — 일 손실 중단 |
|
||||
| `LIVE_MAX_TRADES_PER_DAY` | 999 | 분할 매수·매도 횟수 제한 없음 |
|
||||
| `LIVE_COOLDOWN_MIN` | **3** | 규칙별 최소 1봉(3분) — 시뮬 발화 간격과 동일 |
|
||||
| `MONITOR_ALERT_COOLDOWN_MIN` | **3** | 동일 규칙 텔레그램도 1봉당 1회 수준 |
|
||||
| `MONITOR_LOOP_SLEEP_SEC` | **180** | 06/05 루프 주기 = 3분 |
|
||||
| `MATCH_LIVE_CACHE_SEC` | **180** | `live_eval` 캐시 ≤ 루프 주기 (06은 `force_refresh` 사용) |
|
||||
|
||||
### 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=40000
|
||||
@@ -111,71 +46,43 @@ LIVE_MAX_TRADES_PER_DAY=15
|
||||
LIVE_COOLDOWN_MIN=3
|
||||
LIVE_DAILY_LOSS_LIMIT_KRW=40000
|
||||
LIVE_SLIPPAGE_PCT=0.05
|
||||
LIVE_BUY_PCT_LARGE=1.0
|
||||
LIVE_BUY_PCT_SMALL=0.05
|
||||
|
||||
MONITOR_ALERT_KRW_AMOUNT=40000
|
||||
MONITOR_ALERT_COOLDOWN_MIN=3
|
||||
MONITOR_LOOP_SLEEP_SEC=180
|
||||
MATCH_LIVE_CACHE_SEC=180
|
||||
```
|
||||
|
||||
| 항목 | 값 | 설명 |
|
||||
| 변수 | 값 | 설명 |
|
||||
|------|-----|------|
|
||||
| 초기 자금 | ₩400,000 | 빗썸 가용 KRW (`GT_INITIAL_CASH_KRW`) |
|
||||
| 일 매수 한도 | ₩400,000 | 초기 1배 — large tier 1회분 |
|
||||
| 일 손실 중단 | ₩40,000 | 초기 10% |
|
||||
| 1회 참고 | ₩40,000 | 알림·fallback; **매수는 hybrid tier** |
|
||||
| `GT_INITIAL_CASH_KRW` | 400,000 | 시뮬·운영 배분 기준 |
|
||||
| `LIVE_DAILY_KRW_MAX` | 400,000 | 일 매수 한도 (large tier 1회와 정합) |
|
||||
| `LIVE_DAILY_LOSS_LIMIT_KRW` | 40,000 | 일 손실 중단 |
|
||||
|
||||
### B-1 오픈 당일
|
||||
### 기동 확인
|
||||
|
||||
```bash
|
||||
python scripts/06_verify_live_dryrun.py
|
||||
python scripts/06_verify_live.py
|
||||
python scripts/check_balance.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=40000
|
||||
LIVE_DAILY_KRW_MAX=2000000
|
||||
LIVE_MAX_TRADES_PER_DAY=30
|
||||
LIVE_COOLDOWN_MIN=3
|
||||
LIVE_DAILY_LOSS_LIMIT_KRW=120000
|
||||
LIVE_SLIPPAGE_PCT=0.05
|
||||
LIVE_BUY_PCT_LARGE=1.0
|
||||
LIVE_BUY_PCT_SMALL=0.05
|
||||
```
|
||||
|
||||
| sim 대비 | B-1 | B-2 |
|
||||
|----------|-----|-----|
|
||||
| 일한도 | 40만 | 200만 |
|
||||
| large tier 1회 ~100% | 종종 스킵 | 대부분 가능 |
|
||||
| +1000% 가능성 | 낮음 | sim에 근접 (보장 없음) |
|
||||
시뮬 hybrid에 근접하려면 `LIVE_DAILY_KRW_MAX` 등을 올릴 수 있으나 **MDD·슬리피지·실계좌 검증 후**에만 적용합니다.
|
||||
|
||||
---
|
||||
|
||||
## 절대 변경하지 말 것
|
||||
|
||||
```env
|
||||
# conviction tier 배포 금지 — live_trader는 enhanced=False 고정
|
||||
# GT_SIGNAL_CAUSAL=0 ← hybrid sizing 꺼짐, sim과 불일치
|
||||
# SIM_PRIMARY_SIZING=causal_tier ← 구 +75% 경로
|
||||
# LIVE_TRADING_ENABLED=0 → 06 기동 불가 (dry-run 제거됨)
|
||||
# GT_SIGNAL_CAUSAL=0 → sim·live 불일치
|
||||
# conviction tier 배포 금지 (enhanced=False 고정)
|
||||
# 시뮬 sim_causal_hybrid 정합: fire_outcomes monitor 발화 부트스트랩
|
||||
LIVE_HYBRID_BOOTSTRAP_FIRES=1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 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)
|
||||
체크리스트: [DEPLOYMENT_CHECKLIST.md](./DEPLOYMENT_CHECKLIST.md)
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
# Live Phase A — dry-run 검증
|
||||
|
||||
- 일시: 2026-06-01 23:36:56
|
||||
- 결과: **PASS**
|
||||
|
||||
## Plan (목적)
|
||||
|
||||
- hybrid primary(`enhanced=False`) live_trader 경로가 시뮬과 정합인지 확인
|
||||
- conviction tier(`enhanced=True`) 미사용 확인
|
||||
- 실거래 한도가 hybrid tier와 어떻게 상호작용하는지 기록
|
||||
|
||||
## Do (실행)
|
||||
|
||||
```bash
|
||||
python scripts/06_verify_live_dryrun.py
|
||||
python scripts/06_execute_live.py --once
|
||||
```
|
||||
|
||||
## Check (점검 결과)
|
||||
|
||||
- GT_SIGNAL_CAUSAL=True
|
||||
- LIVE_TRADING_ENABLED=False
|
||||
- monitor_rules: buy_compound_tight, sell_mtf_cross_all_tf
|
||||
- hybrid DD: {'dd_large_pct': 5.0, 'dd_medium_pct': 2.0}
|
||||
|
||||
## Act (다음 단계)
|
||||
|
||||
1. `05_run_monitor.py` 1~2일 병행 (알림만)
|
||||
2. `.env` 파일럿 한도 확정 후 `LIVE_TRADING_ENABLED=1`
|
||||
3. 1~2주 실계좌 PnL·슬리피지 기록 (본 문서 갱신)
|
||||
|
||||
## Kill switch
|
||||
|
||||
- `LIVE_TRADING_ENABLED=0` + 06 프로세스 중지
|
||||
- 빗썸 앱 수동 청산
|
||||
@@ -1,35 +0,0 @@
|
||||
# Live Phase A — dry-run 검증
|
||||
|
||||
- 일시: 2026-06-02 22:17:49
|
||||
- 결과: **PASS**
|
||||
|
||||
## Plan (목적)
|
||||
|
||||
- hybrid primary(`enhanced=False`) live_trader 경로가 시뮬과 정합인지 확인
|
||||
- conviction tier(`enhanced=True`) 미사용 확인
|
||||
- 실거래 한도가 hybrid tier와 어떻게 상호작용하는지 기록
|
||||
|
||||
## Do (실행)
|
||||
|
||||
```bash
|
||||
python scripts/06_verify_live_dryrun.py
|
||||
python scripts/06_execute_live.py --once
|
||||
```
|
||||
|
||||
## Check (점검 결과)
|
||||
|
||||
- GT_SIGNAL_CAUSAL=True
|
||||
- LIVE_TRADING_ENABLED=False
|
||||
- monitor_rules: buy_compound_tight, sell_mtf_cross_all_tf
|
||||
- hybrid DD: {'dd_large_pct': 5.0, 'dd_medium_pct': 2.0}
|
||||
|
||||
## Act (다음 단계)
|
||||
|
||||
1. `05_run_monitor.py` 1~2일 병행 (알림만)
|
||||
2. `.env` 파일럿 한도 확정 후 `LIVE_TRADING_ENABLED=1`
|
||||
3. 1~2주 실계좌 PnL·슬리피지 기록 (본 문서 갱신)
|
||||
|
||||
## Kill switch
|
||||
|
||||
- `LIVE_TRADING_ENABLED=0` + 06 프로세스 중지
|
||||
- 빗썸 앱 수동 청산
|
||||
@@ -1,35 +0,0 @@
|
||||
# Live Phase A — dry-run 검증
|
||||
|
||||
- 일시: 2026-06-03 13:34:09
|
||||
- 결과: **PASS**
|
||||
|
||||
## Plan (목적)
|
||||
|
||||
- 06 dry-run/live 체결이 `hybrid_sim_execution`(sim_causal_hybrid)과 정합인지 확인
|
||||
- conviction tier(`enhanced=True`) 미사용 확인
|
||||
- 실거래 한도가 hybrid tier와 어떻게 상호작용하는지 기록
|
||||
|
||||
## Do (실행)
|
||||
|
||||
```bash
|
||||
python scripts/06_verify_live_dryrun.py
|
||||
python scripts/06_execute_live.py --once
|
||||
```
|
||||
|
||||
## Check (점검 결과)
|
||||
|
||||
- GT_SIGNAL_CAUSAL=True
|
||||
- LIVE_TRADING_ENABLED=True
|
||||
- monitor_rules: buy_compound_tight, sell_mtf_cross_all_tf
|
||||
- hybrid DD: {'dd_large_pct': 5.0, 'dd_medium_pct': 2.0}
|
||||
|
||||
## Act (다음 단계)
|
||||
|
||||
1. `05_run_monitor.py` 1~2일 병행 (알림만)
|
||||
2. `.env` 파일럿 한도 확정 후 `LIVE_TRADING_ENABLED=1`
|
||||
3. 1~2주 실계좌 PnL·슬리피지 기록 (본 문서 갱신)
|
||||
|
||||
## Kill switch
|
||||
|
||||
- `LIVE_TRADING_ENABLED=0` + 06 프로세스 중지
|
||||
- 빗썸 앱 수동 청산
|
||||
Reference in New Issue
Block a user