Files
Bithumb/docs/reference/LIVE_TRADING.md
dsyoon c6888c9228 40만 원 기준 시뮬·dry-run 정합 및 hybrid 체결 엔진 통합.
초기 자금 GT_INITIAL_CASH_KRW=400000과 원화 한도 비율(알림·LIVE_ORDER·일한도·손실한도)을 맞추고, dry-run/live 체결을 sim_causal_hybrid(replay)와 동일 경로로 통합한다. 시뮬 리포트 갱신, Phase C 슈퍼바이저·매수매도 리허설 스크립트를 추가한다.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-03 11:31:24 +09:00

4.8 KiB
Raw Blame History

2~3단계 — dry-run·실거래 (hybrid primary)

운영 모델 (시뮬과 동일)

dry-run(Phase C)과 실거래(Phase B) 모두 시뮬 sim_primary = sim_causal_hybrid 와 같은 경로이다.

구분 내용
신호 matched_rules.jsonmonitor_rules 2개
매수 규칙 buy_compound_tight
매도 규칙 sell_mtf_cross_all_tf
배분 hybrid DD tier + past-leg, enhanced=False
금지 sim_tier_enhanced (conviction), GT oracle 타점

코드: deepcoin/ops/hybrid_sim_execution.py (build_monitor_hybrid_sized_trades, enhanced=False) → live_trader.py

Phase C — dry-run (주문 없음, 3단계 전)

정의: 빗썸 시장가 주문 없음. 신호·tier·알림·로그만 검증.

항목 설정
LIVE_TRADING_ENABLED 0
스크립트 05_run_monitor.py, 06_verify_live_dryrun.py, 06_execute_live.py --once
기간 배포 체크리스트 기준 ~Phase C 종료(금요일 Go/No-Go)
# .env: LIVE_TRADING_ENABLED=0, GT_SIGNAL_CAUSAL=1, SIM_PRIMARY_SIZING=auto
python scripts/01_download.py              # 1일 1회
python scripts/06_verify_live_dryrun.py    # 설정·tier·규칙 점검
python scripts/05_run_monitor.py           # 텔레그램 알림 (상시)
python scripts/06_execute_live.py --once   # dry_run 로그만 (선택)
  • 06은 발화 시 모의 계좌(paper_portfolio.json)만 갱신, 빗썸 API 주문 없음
  • 체결 배분은 시뮬과 동일하게 signal_history 전체를 replay_paper_portfolio로 재생
  • 구버전 paper는 paper_fires.jsonlwould_trade=true로 이력 복원 가능

상세: DEPLOYMENT_CHECKLIST.md §4 · env.recommended.md Phase C

Phase B — 실거래 (3단계 오픈)

정의: 실제 KRW가 빗썸 주문으로 나간다. 05 알림만으로는 3단계가 아니다.

선행 조건

  1. SIMULATION.md — 시뮬 GO (완료)
  2. Phase C GO (5일 모니터·verify·알림 안정)
  3. env.recommended.md Phase B-1 .env
  4. RISK.md, OPERATIONS.md 숙지

실행

python scripts/06_verify_live_dryrun.py   # B-1 당일 재확인

# LIVE_TRADING_ENABLED=1 확인 후
python scripts/06_execute_live.py --once
python scripts/06_execute_live.py          # 상시

환경 변수

변수 Phase C Phase B-1 (예) 설명
LIVE_TRADING_ENABLED 0 1 1일 때만 실주문
GT_SIGNAL_CAUSAL 1 1 hybrid sizing
SIM_PRIMARY_SIZING auto auto primary=hybrid
GT_INITIAL_CASH_KRW 400000 400000 시뮬·paper·hybrid 배분 시작 자금
LIVE_ORDER_KRW 40000 40000 초기×10% · fallback 참고
MONITOR_ALERT_KRW_AMOUNT 40000 40000 알림 참고(초기×10%)
LIVE_DAILY_KRW_MAX 4000000 (초기×10) 400000 C: hybrid 여유 · B-1: 1일 1배
LIVE_DAILY_LOSS_LIMIT_KRW 20000 40000 C: 초기×5% · B-1: ×10%
LIVE_COOLDOWN_MIN 3 (1봉) 3 MATCH_PRIMARY_INTERVAL과 동일
LIVE_MAX_TRADES_PER_DAY 999 (시뮬 정합) 15 C: 횟수 제한 없음
MONITOR_LOOP_SLEEP_SEC 180 180 루프 3분 = 3분봉 주기
MATCH_LIVE_CACHE_SEC 180 180 live_eval 캐시 ≤ 루프 주기
MONITOR_ALERT_COOLDOWN_MIN 3 (1봉) 3 규칙당 알림 최소 간격

Phase별 전체 블록: env.recommended.md

주문·배분 동작

  • 공통: 발화 이력 → size_monitor_signals / replay_paper_portfolio (시뮬 sim_causal_hybrid와 동일)
  • 매수: EV/WF 통과 규칙만 → _can_trade (live: 일한도·3분 쿨다운 / dry-run: 쿨다운만) → planned amount_krw 시장가 매수
  • 매도: 시뮬 분할 sell_qty (leg 마지막 매도는 잔량 전량) → 시장가 매도
  • 스킵: 시뮬 배분 0, 보유 없음, 일한도, 미승인 규칙, 규칙 쿨다운(3분)

로그

경로 내용
data/ops/live_trades.jsonl 06 실주문 (JSONL)
data/ops/paper_fires.jsonl Phase C 모의 체결 시도
data/ops/paper_portfolio.json dry-run 모의 잔고·signal_history
data/ops/live_signal_history.json live 발화 이력 (시뮬 배분용)
docs/05_ops/live_verification_*.md Phase C/B 일별 기록

4단계 연결

오픈 후 1~2주 실계좌 PnL·슬리피지·장애를 verification 문서에 기록 → B-2 한도 검토.

관련 문서