# DeepCoin 아키텍처 — Ground Truth · Simulation · Operations 프로젝트는 **세 축만** 사용합니다. 예전 Phase A/B/C·dry-run·paper 모의 체결은 제거되었습니다. ```mermaid flowchart TB subgraph data [공통 데이터] DL[01_download] DB[(coins.db)] DL --> DB end subgraph gt [Ground Truth] GT02[02_ground_truth] GT03[03 분석·프로필] GT05[05_chart_truth] DB --> GT02 GT02 --> GJSON[ground_truth_trades.json] GT03 --> GJSON GJSON --> GT05 end subgraph sim [Simulation] M04[04_match_rules] S04[04_simulation_report] GJSON --> M04 DB --> M04 M04 --> MR[matched_rules.json] MR --> S04 S04 --> SR[simulation_report.*] end subgraph ops [Operations] V06[06_verify_live] E06[06_execute_live] MR --> E06 SR --> V06 E06 --> BT[빗썸 API] end ``` --- ## 1. Ground Truth (정답) ### Plan — 목적 - **벤치마크** 매수·매도 타점·leg·비중 (운영 목표 수익의 상한 참고). - **미래 데이터 허용**: ZigZag·피벗은 사후 라벨링 (`ground_truth.py`). - 시뮬·운영 규칙의 **교사 신호**가 아님 (oracle 직접 매매 금지). ### Do — 실행 | 순서 | 스크립트 | 산출 | |------|----------|------| | (선행) | `01_download.py` | `data/coins.db` (3m~일봉 + 주·월봉) | | 1 | `02_ground_truth.py` | `data/ground_truth/ground_truth_trades.json` | | 2 | `03_analyze_enrich.py` | `docs/03_analysis/latest/*` (10TF 지표) | | 3 | `03_analyze_trades.py` | `general_analysis_trades.csv` (GT 타점 스냅샷) | | 4 | `03_gt_mtf_profile.py` | `gt_mtf_profile.json` (규칙 후보 입력) | | 5 | `05_chart_truth.py` | `docs/02_ground_truth/wld_ground_truth_chart.html` | 패키지: `deepcoin/ground_truth/`, `deepcoin/analysis/` ### Check — 핵심 설정 | 변수 | 의미 | |------|------| | `CHART_LOOKBACK_DAYS` | GT·스캔 구간 (기본 365) | | `GT_INITIAL_CASH_KRW` | GT 포트폴리오 시뮬 초기 자금 (40만) | | `GT_*` | ZigZag·분할 매수·leg 티어 | ### Act — 갱신 시 GT 파라미터·구간 변경 후 **02 → 03* → 05** 순 재실행. --- ## 2. Simulation (시뮬레이션) ### Plan — 목적 - GT 프로필에서 **규칙 후보** 생성 → 전 구간 **발화 스캔** → EV·holdout 검증. - **과거 데이터만** 사용 (`GT_SIGNAL_CAUSAL=1`, `enrich_scan_frame_gt_signals(causal=True)`). - 초기 자금 **40만 원**, **현금 있을 때만 매수**, **보유 있을 때만 매도** (`gt_allocation` / `HybridSimPortfolio`). ### Do — 실행 | 순서 | 스크립트 | 산출 | |------|----------|------| | 1 | `04_match_rules.py` | `matched_rules.json`, `fire_outcomes.csv` | | 2 | `04_simulation_report.py` | `simulation_report.json/html`, Go/No-Go | | (선택) | `04_hybrid_dd_calibrate.py` | `hybrid_dd_calibration.json` | | (선택) | `04_causal_gt_calibrate.py` | `causal_gt_calibration.json` | 패키지: `deepcoin/matching/` ### Check — 운영 규칙·배분 | 항목 | 값 | |------|-----| | `monitor_rules` | `buy_compound_tight`, `sell_mtf_cross_all_tf` (주봉 w1 조건 포함 가능) | | **권장 primary** | `sim_causal_hybrid` (hybrid DD tier, `enhanced=False`) | | **배포 금지** | `sim_tier_enhanced` (conviction) | | Go/No-Go | holdout EV, MDD, fee stress — [SIMULATION.md](SIMULATION.md) | ### Act — 재검증 데이터·GT·`GENERAL_ANALYSIS_INTERVALS` 변경 시 **04_match → 04_simulation** 재실행. 운영 전 **simulation_report.html** 에서 hybrid Go/No-Go 확인. --- ## 3. Operations (운영) ### Plan — 목적 - 시뮬과 **동일 규칙·동일 hybrid 배분**으로 빗썸 **실주문**. - `LIVE_TRADING_ENABLED=1` **필수**. dry-run·paper 없음. ### Do — 실행 | 순서 | 스크립트 | 역할 | |------|----------|------| | (선행) | `00_sync_ops.py` | 운영 전 봉 동기화 | | 1 | `06_verify_live.py` | 설정·규칙·한도·tier 점검 | | 2 | `check_balance.py` | 빗썸 KRW·보유 확인 | | 3 | `06_execute_live.py` | 실거래 루프 (`--once` 1회 테스트) | | (선택) | `05_run_monitor.py` | 알림만 (주문 없음) | 패키지: `deepcoin/ops/live_trader.py`, `hybrid_sim_execution.py` ### Check — 제약 (시뮬과 동일) | 제약 | 구현 | |------|------| | 초기 자금 | `GT_INITIAL_CASH_KRW=400000` (배분 기준) | | 매수 | 가용 현금·수수료, `LIVE_DAILY_KRW_MAX`, EV/WF 통과 매수만 | | 매도 | 보유 수량, `plan_live_hit` → `sell_qty` | | 이력 | `LIVE_HYBRID_BOOTSTRAP_FIRES=1` → `fire_outcomes` monitor 발화 + 운영 체결분 | | 인과 | 발화 시점까지 OHLC·지표만 (`live_eval` + causal GT signals) | ### Act — Kill switch 1. `06_execute_live` 프로세스 중지 2. 빗썸 앱 수동 청산 3. 필요 시 `01`~`04` 재실행 후 규칙·시뮬 재승인 --- ## 스크립트 번호 ↔ 축 (빠른 참조) | 축 | 스크립트 | |----|----------| | **데이터** | `01_download`, `00_sync_ops` | | **GT** | `02`, `03_*`, `05_chart_truth` | | **Sim** | `04_match_rules`, `04_simulation_report`, `04_*_calibrate` | | **Ops** | `06_verify_live`, `06_execute_live`, `check_balance`, `05_run_monitor` | | **검증** | `verify_env.py`, `test_buy_sell_rehearsal.py` | --- ## 데이터·미래 사용 정책 | 축 | 미래 데이터 | |----|-------------| | Ground Truth | **허용** (라벨링·벤치마크) | | Simulation | **금지** (발화·스캔·배분 tier는 과거 leg·DD만) | | Operations | **금지** (Simulation과 동일 규칙·엔진) | --- ## 관련 문서 | 문서 | 내용 | |------|------| | [GROUND_TRUTH.md](GROUND_TRUTH.md) | GT 타점·배분 상세 | | [SIMULATION.md](SIMULATION.md) | Go/No-Go·portfolio_compare | | [LIVE_TRADING.md](LIVE_TRADING.md) | 06 실거래 | | [OPERATIONS.md](OPERATIONS.md) | 일상 루틴 | | [RISK.md](RISK.md) | 한도·Kill switch | | [DEPLOYMENT_CHECKLIST.md](../05_ops/DEPLOYMENT_CHECKLIST.md) | 기동 체크리스트 |